我下面「編程語言:適用和解釋」另一個方案初學者問題
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