summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorDavid Li <li.davidm96@gmail.com>2017-11-26 19:33:36 -0500
committerDavid Li <li.davidm96@gmail.com>2017-11-26 19:33:36 -0500
commitc8f4b4d23a55b73cc7d1aa7e4db4a37100c4116d (patch)
treef311d25e328914fa12531309d0b93f259bf222f8 /src/main.rs
parent376a1217a63291fb6714430b1a4dfd64909906c9 (diff)
Thread the current level through the program
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index e4b0cd5..f3128a2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -14,6 +14,8 @@ fn main() {
let mut handle = stdin.lock();
loop {
let mut translate = semantic::translate::Translate::<semantic::frame::Amd64Frame>::new();
+ let mut toplevel = semantic::translate::Level::Top;
+ let mut level = translate.make_level(&mut toplevel, vec![]);
let mut input = String::new();
print!("taiga> ");
io::stdout().flush().unwrap();
@@ -22,7 +24,7 @@ fn main() {
let program = taiga::parse_Program(&input);
println!("{:?}", program);
if let Ok(program) = program {
- let result = semantic::analysis::translate(&mut translate, &program);
+ let result = semantic::analysis::translate(&mut translate, &mut level, &program);
println!("{:?}", result);
}
}