eoc/test-c2.rkt

20 lines
400 B
Racket

#lang racket
(require "test-util.rkt")
(require "c2.rkt")
(test-eq (env-head-value `((a 1))) 1)
(test-eq (env-head-symbol `((a 1))) `a)
(test-eq (eval-symbol `((a 1)) `a) 1)
(test-eq
(let ([env `((a 1) (b 2))])
((interp-exp env) `(+ a (- b))))
-1)
(test-eq
((interp-exp `()) `(let ([a (+ 1 2)]) (+ a 3)))
6)
(test-eq
((interp-R1 `()) `(program `() (let ([a (+ 1 2)]) (+ a 3))))
6)