From 3bb2e6516ec2c7b7c194266ba7d0d7c5e4a06b13 Mon Sep 17 00:00:00 2001 From: elkowar <5300871+elkowar@users.noreply.github.com> Date: Fri, 16 Jul 2021 14:45:37 +0200 Subject: [PATCH] add error handling --- src/lib.rs | 1 + src/parser.lalrpop | 49 +++++++++++++++++++++++----------------------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 96fca9c..84702b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,5 @@ pub mod ast; +pub mod dynval; pub mod error; mod lalrpop_helpers; mod lexer; diff --git a/src/parser.lalrpop b/src/parser.lalrpop index d574c7c..f44a845 100644 --- a/src/parser.lalrpop +++ b/src/parser.lalrpop @@ -11,32 +11,33 @@ extern { type Error = LexicalError; enum Token { - "+" => Token::Plus, - "-" => Token::Minus, - "*" => Token::Times, - "/" => Token::Div, - "%" => Token::Mod, - "==" => Token::Equals, - "!=" => Token::NotEquals, - "&&" => Token::And, - "||" => Token::Or, - ">" => Token::GT, - "<" => Token::LT, - "?:" => Token::Elvis, - "=~" => Token::RegexMatch, + "+" => Token::Plus, + "-" => Token::Minus, + "*" => Token::Times, + "/" => Token::Div, + "%" => Token::Mod, + "==" => Token::Equals, + "!=" => Token::NotEquals, + "&&" => Token::And, + "||" => Token::Or, + ">" => Token::GT, + "<" => Token::LT, + "?:" => Token::Elvis, + "=~" => Token::RegexMatch, - "!" => Token::Not, + "!" => Token::Not, - "," => Token::Comma, - "?" => Token::Question, - ":" => Token::Colon, - "(" => Token::LPren, - ")" => Token::RPren, - "[" => Token::LBrack, - "]" => Token::RBrack, - "." => Token::Dot, - "true" => Token::True, - "false" => Token::False, + "," => Token::Comma, + "?" => Token::Question, + ":" => Token::Colon, + "(" => Token::LPren, + ")" => Token::RPren, + "[" => Token::LBrack, + "]" => Token::RBrack, + "." => Token::Dot, + + "true" => Token::True, + "false" => Token::False, "identifier" => Token::Ident(), "number" => Token::NumLit(),