(($ <glil-module> op module name)
`(,(symbol-append 'module- op) ,module ,name))
;; controls
- (($ <glil-label> label) `(label ,label))
+ (($ <glil-label> label) label)
(($ <glil-branch> inst label) `(,inst ,label))
(($ <glil-call> inst nargs) `(,inst ,nargs))))
(define (pprint-glil glil)
(let print ((code (unparse glil)) (column 0))
(display (make-string column #\space))
- (case (car code)
- ((@asm)
- (format #t "(@asm ~A\n" (cadr code))
- (let ((col (+ column 2)))
- (let loop ((l (cddr code)))
- (print (car l) col)
- (if (null? (cdr l))
- (display ")")
- (begin (newline) (loop (cdr l)))))))
- (else (write code))))
+ (cond ((and (pair? code) (eq? (car code) '@asm))
+ (format #t "(@asm ~A\n" (cadr code))
+ (let ((col (+ column 2)))
+ (let loop ((l (cddr code)))
+ (print (car l) col)
+ (if (null? (cdr l))
+ (display ")")
+ (begin (newline) (loop (cdr l)))))))
+ (else (write code))))
(newline))