Website Summary Files Commits Branches @commit @diff @stats
path: root / assembler / src / main.rs
diff options
context:
space:
mode:
1 files changed, 12 insertions, 0 deletions
-rw-r--r--assembler/src/main.rs12
diff --git a/assembler/src/main.rs b/assembler/src/main.rs
index 0cda74e..ebd8177 100644
--- a/assembler/src/main.rs
+++ b/assembler/src/main.rs
@@ -1,18 +1,30 @@
mod lexer;
+mod parser;
use std::fs::File;
use std::io::{BufRead, BufReader};
+use parser::Program;
+
+pub(crate) type Word = i64;
+
fn main() {
let file_path = "./example.s";
+ /* Read */
let file = File::open(file_path).unwrap();
let lines = BufReader::new(file).lines();
+ /* Lex */
let mut tokens = Vec::new();
for line in lines.map_while(Result::ok) {
tokens.extend(lexer::split(line));
}
println!("{:#?}", tokens);
+
+ /* Parse */
+ let prog = Program::new(tokens);
+
+ println!("{:#?}", prog);
}