From 0881af52f16dc0b6a3900180cce5187d27373901 Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 18 Oct 2021 21:28:52 +0200 Subject: Simple AST walker. --- src/main.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 3fa6bbf..1825af5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,11 @@ +mod interpret; mod lex; mod parse; use lex::lexer::Lexer; -use crate::parse::parser::Parser; +use interpret::walker::Walker; +use parse::parser::Parser; fn main() { let source = "1 * 2 + 3 + (-1)"; @@ -11,5 +13,9 @@ fn main() { let lexer = Lexer::new(source); let mut parser = Parser::new(lexer); - println!("{}", parser.parse().expect("Failed parsing.")); + let node = parser.parse().expect("Failed parsing."); + + let walker = Walker::new(); + let result = walker.walk(&node).expect("Failed interpreting."); + println!("{}", result); } -- cgit 1.4.1