List of Operators |
|
(define (expression expr)
(define operators
(list (cons '+ +)
(cons '* *)))
(cond ...
((binop? expr)
(let ((op (binop.op expr)) ...)
(let ((procedure (assq op operators)))
(if procedure
((cdr procedure) rand-1 rand-2)
(error "Bad operator" expr)))))
...))
| Jim Miller |