fix(parser): minor improvements for incomplete statements

This commit is contained in:
2026-02-08 14:31:50 +01:00
parent d23875524e
commit 94a3e3cbe2

View File

@@ -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()
def advance(self) -> Token:
if not self.is_at_end():
self.current += 1
return token
return self.previous()
def match(self, *types: TokenType) -> bool:
for token_type in types: