;; an exp is either
;; - number
;; - (make-op exp (number number ->
number) exp)
(define-struct op (left fun right))
Translate the following Scheme expressions into exp
s. Be careful about the order of the arguments to make-op
.
(+ 1 2) (+ (* 2 3) 4) (* (* 3 2) (+ 2 3))
Solution
(make-op 1 + 2) (make-op (make-op 2 * 3) + 4) (make-op (make-op 3 * 2) * (make-op 2 + 3))