diff options
| -rw-r--r-- | src/compiler.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/compiler.rs b/src/compiler.rs index caa72cd..a8bd6ff 100644 --- a/src/compiler.rs +++ b/src/compiler.rs @@ -29,9 +29,9 @@ macro_rules! error { } macro_rules! expect { - ($thing:expr, $exp:pat, $msg:expr) => { + ($thing:expr, $exp_head:pat $( | $exp_rest:pat ),* , $msg:expr) => { match $thing.peek() { - $exp => { $thing.eat(); true }, + $exp_head $( | $exp_rest )* => { $thing.eat(); true }, _ => { error!($thing, $msg); false } , } }; @@ -733,7 +733,7 @@ impl Compiler { while self.peek() != Token::EOF { self.statement(&mut block); - expect!(self, Token::Newline, "Expect newline after expression."); + expect!(self, Token::Newline | Token::EOF, "Expect newline or EOF after expression."); } block.add(Op::Return, self.line()); |
