*** empty log message ***
[bpt/guile.git] / module / system / il / glil.scm
index c54509d..cd2865f 100644 (file)
     (($ <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))