0
我想將算術表達式解析爲一個二叉樹,表示爲(list left right value)。這是我的代碼:算術表達式解析
(define (parse exp)
(let loop ([e exp])
(cond
((and (list? e) (or (not (null? (car e))) (not (null? (caddr e)))))
(list (loop (car e)) (loop (caddr e)) (cadr e))))))
(parse '(1 + (2 * 3)))
結果是這樣,我不知道從void出現在哪裏。
'(#<void> (#<void> #<void> *) +)