parser: fix EOF being incorrectly returned if we already peeked it
This commit is contained in:
parent
92e02c8973
commit
103339d666
1 changed files with 3 additions and 1 deletions
|
|
@ -24,7 +24,9 @@ class Parser:
|
||||||
@property
|
@property
|
||||||
def token(self) -> Token:
|
def token(self) -> Token:
|
||||||
if self._EOF:
|
if self._EOF:
|
||||||
return self._token_cache[-1]
|
if self.pos >= len(self._token_cache):
|
||||||
|
return self._token_cache[-1]
|
||||||
|
return self._token_cache[self.pos]
|
||||||
|
|
||||||
while len(self._token_cache) <= self.pos:
|
while len(self._token_cache) <= self.pos:
|
||||||
tok = next(self.tokens)
|
tok = next(self.tokens)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue