parser: Fix lookahead of > 1 token
This commit is contained in:
parent
345a21916c
commit
beece25abe
1 changed files with 2 additions and 2 deletions
|
@ -69,7 +69,7 @@ impl parser for parser {
|
||||||
self.token = next.tok;
|
self.token = next.tok;
|
||||||
self.span = mk_sp(next.chpos, self.reader.chpos);
|
self.span = mk_sp(next.chpos, self.reader.chpos);
|
||||||
} else {
|
} else {
|
||||||
let next = vec::pop(self.buffer);
|
let next = vec::shift(self.buffer);
|
||||||
self.token = next.tok;
|
self.token = next.tok;
|
||||||
self.span = next.span;
|
self.span = next.span;
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ impl parser for parser {
|
||||||
while vec::len(self.buffer) < distance {
|
while vec::len(self.buffer) < distance {
|
||||||
let next = lexer::next_token(self.reader);
|
let next = lexer::next_token(self.reader);
|
||||||
let sp = mk_sp(next.chpos, self.reader.chpos);
|
let sp = mk_sp(next.chpos, self.reader.chpos);
|
||||||
self.buffer = [{tok: next.tok, span: sp}] + self.buffer;
|
vec::push(self.buffer, {tok: next.tok, span: sp});
|
||||||
}
|
}
|
||||||
ret self.buffer[distance - 1u].tok;
|
ret self.buffer[distance - 1u].tok;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue