diff options
author | Ben Bridle <bridle.benjamin@gmail.com> | 2023-05-06 16:19:15 +1200 |
---|---|---|
committer | Ben Bridle <bridle.benjamin@gmail.com> | 2023-05-06 16:19:15 +1200 |
commit | e38f108921c61e1e66d65a368f2a67a763d61e69 (patch) | |
tree | 2718330c1e9963a21bc08db3ddc18574b078d004 /src/main.rs | |
download | bedrock-asm-e38f108921c61e1e66d65a368f2a67a763d61e69.zip |
About to refactor parser to be a struct with a method for each stage
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..82bd92d --- /dev/null +++ b/src/main.rs @@ -0,0 +1,41 @@ +const SOURCE:&'static str = +// " +// %SCREEN-SHUNT 00; +// %SCREEN-DRAW 00; + +// @draw_horizontal_line ( len* clr -- ) +// (1) PSHr ( len* | clr ) +// (4) PSH:41 STD:SCREEN-SHUNT ( len* | clr ) +// &loop +// (2) SKDr:SCREEN-DRAW ( len* | clr ) +// (4) DEC* JKC*:~loop ( len* | clr ) +// (2) STD:SCREEN-SHUNT +// (3) POP POPr JMPr* +// "; + +" +%RED 1234; +%GREEN 5678 @test; +%BLUE 9ABC; + +@start + RED + start + GREEN + BLUE + $4 + @end +"; + +use bedrock_asm::*; + +fn main() { + println!("------- PROGRAM START -------"); + for line in SOURCE.lines() { + println!("{line}"); + } + println!("-------- PROGRAM END --------"); + println!(); + + parse(SOURCE); +} |