From 103339d6665a5734e62536821942e9b3a09bfbf0 Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Thu, 11 Apr 2024 20:21:45 +0200 Subject: [PATCH] parser: fix EOF being incorrectly returned if we already peeked it --- compiler/parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/parser.py b/compiler/parser.py index 89aef0c..edbf7df 100644 --- a/compiler/parser.py +++ b/compiler/parser.py @@ -24,7 +24,9 @@ class Parser: @property def token(self) -> Token: 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: tok = next(self.tokens)