aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2021-11-18 21:00:26 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2021-11-18 21:00:26 +0200
commit7a5d8e0727f15e02047548c6fc8878f766b3c25d (patch)
tree1cce2f34dd0a4e7f475c6ead106ed734db6627d8 /src
parent1ab85d33b4ba4c2b9a8fd7cee08ffb75dbce80c3 (diff)
Improve error reporting
Diffstat (limited to 'src')
-rw-r--r--src/main.rs10
1 files changed, 8 insertions, 2 deletions
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);