我试图仅制作字符和数字的词法分析器,但收到错误消息,指出词法分析器未定义。我将来会将它用于文件,但现在我正在使用键盘输入进行测试。这是我的代码:
(require parser-tools/lex-sre)
(define simpleCharNumLexer
(lexer
[(:+ (:or (char-range #\a #\z) (char-range #\A #\Z)))
; =>
(cons `(ID ,(string->symbol lexeme))
(analyze input-port))]
[(:: (:? #\-) (:+ (char-range #\0 #\9)))
; =>
(cons `(INT ,(string->number lexeme))
(analyze input-port))]))
Run Code Online (Sandbox Code Playgroud)
这是错误: 词法分析器:未定义;无法引用未定义的标识符
我使用 DrRacket 6.1 和 Pretty Big 作为语言环境。我认为 lexer 是一个模块,但是我如何找到它或定义它?