我下面“编程语言:适用和解释”另一个方案初学者问题
http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf(第21页)
现在我工作的第21页,所有的测试用例。 我只能通过第一个,而具有“with”的所有测试用例都失败了。我意识到我的解析器没有语句来处理“with”。
这是我在解析器时刻:
(define (parse sexp)
(cond
[(number? sexp)(num sexp)]
[(list? sexp)
(case (first sexp)
[(+) (add (parse (second sexp))
(parse (third sexp)))]
[(-) (sub (parse (second sexp))
(parse (third sexp)))])]))
所以,请你帮忙是因为它导致我上面的测试失败,这个解析功能? 谢谢。
不,这不是罗伯特所具有的问题 - 该部分讨论了替换函数实现中的问题,但在上面的解析器中,并没有第一个产生这种表达式的情况。 – 2010-01-26 19:52:39
哎呀!在查看他使用的参考资料之前,我应该更清楚地阅读他的代码。 – Don 2010-01-26 20:06:30