File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22(provide Lit)
33
44;; type Expr = (Lit Integer)
5-
65(struct Lit (i) #:prefab )
6+
Original file line number Diff line number Diff line change 66(define rax 'rax )
77
88;; Expr -> Asm
9- (define (compile e)
9+ (define (compile e)
1010 (prog (Global 'entry )
1111 (Label 'entry )
1212 (compile-e e)
13- (Ret)))
14-
13+ (Ret)))
14+
1515;; Expr -> Asm
1616(define (compile-e e)
1717 (match e
Original file line number Diff line number Diff line change 77 (match e
88 [(Lit i) i]))
99
10-
Original file line number Diff line number Diff line change 77 (match s
88 [(? exact-integer?) (Lit s)]
99 [_ (error "Parse error " )]))
10+
Original file line number Diff line number Diff line change 22(require "../interp.rkt " )
33(require "../parse.rkt " )
44(require "test-runner.rkt " )
5-
5+
66(test (λ (e) (interp (parse e))))
77
Original file line number Diff line number Diff line change 77 (check-equal? (run 7 ) 7 )
88 (check-equal? (run -8 ) -8 )))
99
10-
You can’t perform that action at this time.
0 commit comments