summaryrefslogtreecommitdiff
path: root/src/backend/ast/ir.scm
blob: e4c17138f4812943fbe58a48aacf768a78ff555a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(define-module (backend ast ir)
  #:export (prog
            srout
            neg
            not
            mov
            stack
            reg
            imm
            tmp
            ret))

;;; Commentary:
;;;
;;; Nodes which exist to do nothing when evaluated.
;;;
;;; Code:

(define-syntax def-ir-nodes
  (syntax-rules ()
    ((_ names ...)
     (begin
       (define (names . args)
	 (cons 'names args)) ...))))

(def-ir-nodes
  prog srout neg not mov stack reg imm tmp ret)