小编Flá*_*ruz的帖子

强制CL-Lex阅读整个单词

我正在使用CL-Lex实现词法分析器(作为CL-YACC的输入),我的语言有几个关键词,如"let"和"in".然而,虽然词法分析器识别出这样的关键词,但它确实太多了.当它找到诸如"init"之类的单词时,它将第一个标记返回为IN,而它应该为"init"字返回一个"CONST"标记.

这是词法分析器的简单版本:

(define-string-lexer lexer
     (...)
     ("in"   (return (values :in $@)))
     ("[a-z]([a-z]|[A-Z]|\_)"  (return (values :const $@))))
Run Code Online (Sandbox Code Playgroud)

如何强制词法分析器完全读取整个单词,直到出现一些空格?

lisp lexer

4
推荐指数
1
解决办法
715
查看次数

标签 统计

lexer ×1

lisp ×1