Nouveau sur schéma et travaille actuellement sur un analyseur lexical. Ci-dessous est mon code et je reçois l'erreur carte: violation du contrat prévu: liste? donnée: # position d'argument: 2e autres arguments ...: #Schéma Lexical Parser
#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))))
Mon entrée est (le chien chasse le chat)
Quelle est la sortie attendue? –