新计划和目前正在使用词法分析器。以下是我的代码,我收到错误 map:合同违规 预计:列表? 给出:# 说法位置:第二 其他参数...: #计划词汇分析器
#lang racket
(define tokens '((dog noun)
(cat noun)
(chases verb)
(the article)))
(define (getToken word)
(cadr (assq word tokens)))
(define ttw (lambda (l)
(map getToken l)))
(define (parse-sentence list)
(article list))
(define (article list)
(if (eq? (car list) 'article)
(begin
(display "Article: ")
(display (car list))
(noun (cdr list))
)
(begin
(display "Not an Article!!!")
(display (car list)))
))
(define (noun list)
(if (eq? (car list) 'noun)
(begin
(display "Noun:")
(display (car list))
(noun (cdr list))
)
"Not a noun!!!")
)
(begin
(display "Enter a Sentance in(): ")
(let ((input (read)))
(ttw (parse-sentence input))))
我输入(狗追猫了)
预期产量是多少? –