;; an exp is either
;; - number
;; - (make-op exp (number number -> number) exp)
(define-struct op (left fun right))
Translate the following Scheme expressions into exps. 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))