Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
14 lines (10 sloc) 782 Bytes
(define (parse-verb-phrase)
  (amb (parse-word verbs)
       (list 'verb-phrase
             (parse-verb-phrase)
             (parse-prepositional-phrase))))

谓语部分可以是一个动词,或者是一个动词后跟一个或多个介词短语。

本题给出的方式是错误,最基本的情况the professor lectures都不满足。这是因为,第一次运行parse时能够产生出正确的结果,但是当执行try-again后,(parse-prepositional-phrase)执行时*unparsed*为空,这时会导致失败,然后又会去调用(parse-verb-phrase),这时上面的情况就会重复出现。

如果改变了amb求值器中表达式的顺序,程序的行为也还是错误,而且是更糟糕,因为在第一次尝试时就会出错。