From 1395b9eac37187227874c2bf4e768680c7dffd32 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 13 Feb 2025 21:53:10 +0200 Subject: feat(assembler): Implement first step of parser --- assembler/src/main.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'assembler/src/main.rs') 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); } -- cgit v1.3.1-26-gb76a