DrRacket 6.1 错误表示词法分析器未定义

g_l*_*g_l 2 racket

我试图仅制作字符和数字的词法分析器,但收到错误消息,指出词法分析器未定义。我将来会将它用于文件,但现在我正在使用键盘输入进行测试。这是我的代码:

    (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 是一个模块,但是我如何找到它或定义它?

soe*_*ard 5

添加(需要解析器工具/lex)

lex-sre 只是为正则表达式提供了一种替代表示法。