diff options
| -rw-r--r-- | samples/sample1.code | 2 | ||||
| -rw-r--r-- | src/main.rs | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/samples/sample1.code b/samples/sample1.code index dff751f..b941226 100644 --- a/samples/sample1.code +++ b/samples/sample1.code @@ -1,6 +1,6 @@ foo = "foo"; number-of-the-beast = 666; -my-number = number-of-the-beast; # value lookup +cool-number = number-of-the-beast; # value lookup num = int.zero; # builtin value int.double = int.multiply 2; list.multiply-all = reduce int.multiply 1; diff --git a/src/main.rs b/src/main.rs index 141c144..f8e18cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -203,8 +203,14 @@ fn main() { use std::fs; let unparsed_file = fs::read_to_string("samples/sample1.code").expect("cannot read file"); - let mut parse_tree = - parser::Parser::parse(parser::Rule::program, &unparsed_file).expect("unsuccessful parse"); + let parse_tree_result = parser::Parser::parse(parser::Rule::program, &unparsed_file); + + if parse_tree_result.is_err() { + println!("{}", parse_tree_result.unwrap_err()); + return; + } + + let mut parse_tree = parse_tree_result.unwrap(); // println!("parse tree = {:#?}", parse_tree); let syntax_tree: Program = ast::from_parse_tree(&mut parse_tree); |
