From 94a3e3cbe2650fad2c6820ca51aa5befee4b6acc Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sun, 8 Feb 2026 14:31:50 +0100 Subject: [PATCH] fix(parser): minor improvements for incomplete statements --- src/parser/parser.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/parser/parser.py b/src/parser/parser.py index a4a1f2b..282ae19 100644 --- a/src/parser/parser.py +++ b/src/parser/parser.py @@ -18,7 +18,7 @@ class Parser: } STATEMENT_BOUNDARY: set[TokenType] = { - TokenType.FOR, TokenType.WHILE, TokenType.IF + TokenType.FOR, TokenType.WHILE, TokenType.IF, TokenType.CLASS, TokenType.FUN, TokenType.LET, TokenType.RETURN } def __init__(self, tokens: list[Token]): @@ -51,10 +51,10 @@ class Parser: return False return self.peek().type == token_type - def advance(self): - token: Token = self.peek() - self.current += 1 - return token + def advance(self) -> Token: + if not self.is_at_end(): + self.current += 1 + return self.previous() def match(self, *types: TokenType) -> bool: for token_type in types: