現在のレキシカルアナライザで作業しています。以下は私のコードであり、エラーが発生しています map:契約違反 期待:リスト? は、与えられた:# 引数の位置:第2 その他の引数...: #Schemeのレキシカルパーサー
#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))))
私の入力は(犬が猫を追いかける)
期待される出力は何ですか? –