aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorEdvard Thörnros <edvard.thornros@gmail.com>2021-01-09 17:30:09 +0100
committerEdvard Thörnros <edvard.thornros@gmail.com>2021-01-09 17:30:09 +0100
commitefaab433309170e8330a7722e90c26a93dbec252 (patch)
tree86794243d8351f5761cfac6ddb9cce67a2ee6359 /src/main.rs
parent158c2c284fa61be972dd868e2f262f9e04a0edb4 (diff)
downloadsylt-efaab433309170e8330a7722e90c26a93dbec252.tar.gz
Start on compiler
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/main.rs b/src/main.rs
index 72fb8a1..c9a7602 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,23 +1,11 @@
mod tokenizer;
mod vm;
+mod compiler;
fn main() {
- /*
let tokens = tokenizer::file_to_tokens("tests/simple.tdy");
- for token in tokens.iter() {
- println!("| {:?}", token);
- }
- */
+ let block = compiler::compile("main", tokens);
- let mut blocks = vm::Block::new("main");
- blocks.add(vm::Op::Constant(vm::Value::Bool(true)));
- blocks.add(vm::Op::Print);
- blocks.add(vm::Op::Constant(vm::Value::Int(123)));
- blocks.add(vm::Op::Constant(vm::Value::Int(123)));
- blocks.add(vm::Op::Add);
- blocks.add(vm::Op::Print);
- blocks.add(vm::Op::Return);
-
- vm::run_block(blocks);
+ vm::run_block(block);
}