Ver Código Fonte

Implement null? predicate

Lucas Stadler 8 anos atrás
pai
commit
9373479351
1 arquivos alterados com 5 adições e 1 exclusões
  1. 5 1
      scm/inc/compiler.scm

+ 5 - 1
scm/inc/compiler.scm

59
        (emit-expr (primcall-operand1 x))
59
        (emit-expr (primcall-operand1 x))
60
        (emit "cmpl $0,  %eax") ; x == 0
60
        (emit "cmpl $0,  %eax") ; x == 0
61
        (emit-compare))
61
        (emit-compare))
62
       ((null?)
63
        (emit-expr (primcall-operand1 x))
64
        (emit "cmpl $~a, %eax" #b00101111)
65
        (emit-compare))
62
       ((integer?)
66
       ((integer?)
63
        (emit-expr (primcall-operand1 x))
67
        (emit-expr (primcall-operand1 x))
64
        (emit "andl $~a, %eax" #b11)
68
        (emit "andl $~a, %eax" #b11)
77
  (emit-expr x)
81
  (emit-expr x)
78
  (emit "ret"))
82
  (emit "ret"))
79
83
80
(compile-program '(boolean? #f))
84
(compile-program '(null? ()))