[rlox] Handle incomplete expression

This commit is contained in:
ctsk
2023-10-08 12:44:32 +02:00
parent 45014fbe77
commit 957463bf2f

View File

@@ -329,7 +329,9 @@ impl<'src> Parser<'src> {
} }
fn _expression(&mut self, chunk: &mut Chunk, min_prec: Precedence) { fn _expression(&mut self, chunk: &mut Chunk, min_prec: Precedence) {
match self.scanner.next().unwrap() { match self.scanner.next() {
None => panic!("Expected further tokens"),
Some(token) => match token {
Token { Token {
ttype: TokenType::Minus, ttype: TokenType::Minus,
span: _, span: _,
@@ -354,6 +356,7 @@ impl<'src> Parser<'src> {
assert_eq!(self.scanner.next().unwrap().ttype, TokenType::RightParen) assert_eq!(self.scanner.next().unwrap().ttype, TokenType::RightParen)
} }
_ => panic!("Expected '-' or number"), _ => panic!("Expected '-' or number"),
}
}; };
while let Some(op) = self.scanner.next_if(|token| { while let Some(op) = self.scanner.next_if(|token| {