Website Summary Files Commits Branches @commit @diff @stats
path: root / assembler / src / main.rs
diff options
context:
space:
mode:
Commit3ea01bbd75cc252453cd21074f56eb9cc6cff317 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-02-13 20:31:03 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-02-13 20:31:03 +0200
Filesc20d29c5c9aa100943fc82482b4d6778bed1235d /assembler/src/main.rs
tonkobali-3ea01bbd75cc252453cd21074f56eb9cc6cff317.tar
tonkobali-3ea01bbd75cc252453cd21074f56eb9cc6cff317.tar.gz
tonkobali-3ea01bbd75cc252453cd21074f56eb9cc6cff317.zip
Parentf685950f30bbcfca8ab3cdceb90f6deee09a45fb (diff)
feat(assembler): Implement lexer
1 files changed, 16 insertions, 1 deletions
-rw-r--r--assembler/src/main.rs17
diff --git a/assembler/src/main.rs b/assembler/src/main.rs
index e7a11a9..0cda74e 100644
--- a/assembler/src/main.rs
+++ b/assembler/src/main.rs
@@ -1,3 +1,18 @@
+mod lexer;
+
+use std::fs::File;
+use std::io::{BufRead, BufReader};
+
fn main() {
- println!("Hello, world!");
+ let file_path = "./example.s";
+
+ let file = File::open(file_path).unwrap();
+ let lines = BufReader::new(file).lines();
+
+ let mut tokens = Vec::new();
+ for line in lines.map_while(Result::ok) {
+ tokens.extend(lexer::split(line));
+ }
+
+ println!("{:#?}", tokens);
}