summaryrefslogtreecommitdiff
path: root/src/modules/generator/generator.scm
blob: ed00de5595f5ccc949674e7e790ac41e32a45475 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(define-module (modules generator generator)
  #:use-module (srfi srfi-9 gnu)
  #:use-module (modules ast syntax-tree)
  #:use-module (modules ast assembly-tree)
  #:export (g-program))


(define (g-program p)
  (g-subroutine (program-function p)))

(define (g-subroutine s)
  (g-instructions (subroutine-instructions s)))

(define (g-instructions lst)
  (define (g-instruction i)
    (set-instruction-destination i "foo"))
  (unless (null? lst)
    (begin (g-instruction (car lst))
           (g-instructions (cdr lst)))))