Website Summary Files Commits Branches @commit @diff @stats
path: root / assembler / src / parser
diff options
context:
space:
mode:
Commit2cf1097e124c5a0c5836987416b080b6aa4cdd0f (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-02-14 00:54:26 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-02-14 00:54:26 +0200
Files52a26a6c031336b925e4e77c4c54b81da46897dd /assembler/src/parser
tonkobali-2cf1097e124c5a0c5836987416b080b6aa4cdd0f.tar
tonkobali-2cf1097e124c5a0c5836987416b080b6aa4cdd0f.tar.gz
tonkobali-2cf1097e124c5a0c5836987416b080b6aa4cdd0f.zip
Parentc4b754fbbc144695c77b443771315f1a71efddde (diff)
feat(assembler): Crash on non-address c
1 files changed, 3 insertions, 0 deletions
-rw-r--r--assembler/src/parser/instruction.rs3
diff --git a/assembler/src/parser/instruction.rs b/assembler/src/parser/instruction.rs
index f78c9a6..c44c1de 100644
--- a/assembler/src/parser/instruction.rs
+++ b/assembler/src/parser/instruction.rs
@@ -2,6 +2,9 @@ use super::{ Instruction, Address };
impl Instruction {
fn new_subleq(a: &Address, b: &Address, c: &Address) -> Instruction {
+ if let Address::Constants(_) = c {
+ panic!("Constants cannot be the third subleq argument!");
+ }
Instruction {
name: "subleq".to_string(),
args: vec![a.clone(), b.clone(), c.clone()],