diff options
Diffstat (limited to 'src/backend/ast')
-rw-r--r-- | src/backend/ast/ir.scm | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/src/backend/ast/ir.scm b/src/backend/ast/ir.scm index 90617cd..129fcd2 100644 --- a/src/backend/ast/ir.scm +++ b/src/backend/ast/ir.scm @@ -1,19 +1,19 @@ (define-module (backend ast ir) #:export (prog-ir srout-ir - neg-ir - not-ir - plus-ir - minus-ir - mult-ir - div-ir - mod-ir mov-ir stack-ir reg-ir imm-ir tmp-ir - ret-ir)) + ret-ir + neg-ir + not-ir + plus-ir + minus-ir + mult-ir + div-ir + mod-ir)) ;;; Commentary: ;;; @@ -26,7 +26,31 @@ ((_ names ...) (begin (define (names . args) - (cons 'names args)) ...)))) + (cons 'names args)) ...)))) + +(define-syntax def-ir-syms + (syntax-rules () + ((_ names ...) + (begin + (define names + 'names) ...)))) (def-ir-nodes - prog-ir srout-ir neg-ir not-ir plus-ir minus-ir mult-ir div-ir mod-ir mov-ir stack-ir reg-ir imm-ir tmp-ir ret-ir) + prog-ir + srout-ir + instr-ir + mov-ir + stack-ir + reg-ir + imm-ir + tmp-ir) + +(def-ir-syms + ret-ir + neg-ir + not-ir + plus-ir + minus-ir + mult-ir + div-ir + mod-ir) |