(define read-eval-print (sllgen:make-rep-loop "--> "
(lambda (pgm) (eval-program pgm))
(sllgen:make-stream-parser
the-lexical-spec
the-grammar)))
是否有人熟悉此类错误? 请帮助。
答案 0 :(得分:0)
您需要使用正确的语言。根据{{3}},您似乎需要使用#lang eopl
启动源文件:
#lang eopl
(define read-eval-print
(sllgen:make-rep-loop
"--> "
(lambda (pgm)
(eval-program pgm))
(sllgen:make-stream-parser
the-lexical-spec
the-grammar)))
当您执行此操作时,您当然会开始收到其他一些错误,例如,eval-program
未定义。如果你定义一个虚拟的,例如
(define (eval-program pgm)
(values))
然后你会收到错误
sllgen:make-stream-parser
:错误的扫描仪规范:the-lexical-spec
你需要用实际规范替换那个词法规范,并且类似地(我希望,尽管我没有探索这个),the-grammar
。上面链接的文档可能(或可能不)帮助您解决这些问题。看起来您可以从the documentation获取基于编程语言要点的书籍代码。
真正看起来最有希望的是像
这样的结果