table

満足。
SECD: DESIGN ISSUES(http://hdl.handle.net/1880/46590) の Table-1: Abstract Machine Level Transitions がプログラムで書けた。

"           INITIAL STATE                                             TRANSFORMED STATE
S                  E   C                 D               S               E         C   D            
                                                                                                                                                                                                      • -
s e (nil . c) d -> (nil . s) e c d s e (ldc x . c) d -> (x . s) e c d s e (ld (m . n) . c) d -> (x . s) e c d where x = (locate m n e) s e (ldf c' . c) d -> ((c' . e) . s) e c d (x . s) e (sel ct cf . c) d -> s e cx (c . d) where cx = (if x ct cf) s e (join . c) (cr . d) -> s e cr d ((c' . e') v . s) e (ap . c) d -> nil (v . e') c' (s e c . d) (a b . s) e (cons . c) d -> ((a . b) . s) e c d ((a . b) . s) e (car . c) d -> (a . s) e c d ((a . b) . s) e (cdr . c) d -> (b . s) e c d (x . z) e' (rtn . c') (s e c . d) -> (x . s) e c d (a b . s) e (+ . c) d -> (x . s) e c d where x = (+ a b) (a b . s) e (- . c) d -> (x . s) e c d where x = (- a b) (a b . s) e (* . c) d -> (x . s) e c d where x = (* a b) (a b . s) e (= . c) d -> (x . s) e c d where x = (= a b) (a b . s) e (> . c) d -> (x . s) e c d where x = (> a b) (a b . s) e (< . c) d -> (x . s) e c d where x = (< a b)
                                                                                                                                                                                                      • -
"