ron*_*725 5 lex lexical-analysis flex-lexer
我正在为特定语言编写 lex,其中操作以前缀表示法进行:
(+ a b) --> (a + b)
一个整数的定义如下:一个整数可以具有负号( - ),但没有正号。符号和数字之间可以有或没有空格。如果值为 0,则只允许单个数字 0。否则,它与常见的整数定义相同(没有前导 0)。
lex 中的表达式顺序如下(第一个匹配规则):
[\-]?[ ]*((0)|([1-9][0-9]*))
"-"
有了这些定义,我想解析字符串- 5 3
即。(5-3)
电流输出
Integer : - 5,
Integer : 3
Run Code Online (Sandbox Code Playgroud)
期望的输出:
Operator : '-'
Integer : 5
Integer : 3
Run Code Online (Sandbox Code Playgroud)