fix(parser): minor improvements for incomplete statements
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user