diff options
author | bd <bdunahu@operationnull.com> | 2025-04-11 00:19:36 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-04-11 00:19:36 -0400 |
commit | 57bf0a940b3d1fdbe13684f545f0ce8707cdcd35 (patch) | |
tree | e33f252030e580cc7e60df69f413aa5a19ee4b3e /t | |
parent | c02164cfee4d8c3d3eca76fa8cc60b6ca60c2ca0 (diff) |
Add comments to parsing
Diffstat (limited to 't')
-rw-r--r-- | t/parse.lisp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/t/parse.lisp b/t/parse.lisp index bd5ee97..993447f 100644 --- a/t/parse.lisp +++ b/t/parse.lisp @@ -78,6 +78,18 @@ (esrap:parse 'parse:str->ast (format nil ".DATA~%~%.TEXT~t~%JMP 3($3)~t JRL FOO~t~%PUSH $5~%"))))) +(test esrap-instr-type-comments + (is (equal + '(emit::p + (emit::d) + (emit::x + (emit::j "JMP" (emit::rr 3) (emit::imm 3)) + (emit::j "JRL" (emit::rr 0) (emit::l "FOO" 17)) + (emit::j "PUSH" (emit::rr 5) (emit::imm 0)))) + (esrap:parse 'parse:str->ast (format nil ".DATA~%.TEXT;; dot dot dot +~tJMP 3($3) ;; this does things +~tJRL FOO~%~tPUSH $5~%"))))) + (test esrap-data-singleton (is (equal '(emit::p @@ -86,7 +98,7 @@ JRL FOO~t~%PUSH $5~%"))))) (emit::x)) (esrap:parse 'parse:str->ast (format nil ".DATA~%~tA 1~%.TEXT~%"))))) -(test esrap-data-loadedp +(test esrap-data-loaded (is (equal '(emit::p (emit::d @@ -131,11 +143,11 @@ H 3 5~%.TEXT~%"))))) (emit::i "ADDI" (emit::rr 0) (emit::rr 5) (emit::imm (emit::var "S"))) (emit::i "ADDI" (emit::rr 0) (emit::rr 10) (emit::imm (emit::var "ARR"))) (emit::i "ADDI" (emit::rr 0) (emit::rr 6) (emit::imm (emit::var "I"))) - (emit::j "JRL" (emit::rr 0) (emit::l "CMP" 20)) + (emit::j "JRL" (emit::rr 0) (emit::l "CMP" 23)) (emit::r "ADD" (emit::rr 10) (emit::rr 6) (emit::rr 9)) (emit::i "ADDI" (emit::rr 6) (emit::rr 6) (emit::imm 1)) (emit::r "CMP" (emit::rr 6) (emit::rr 5) (emit::rr 0)) - (emit::j "BGT" (emit::rr 0) (emit::l "L" 24)))) + (emit::j "BGT" (emit::rr 0) (emit::l "L" 27)))) (esrap:parse 'parse:str->ast (format nil " .DATA ARR 1 2 3 4 |