在我的 SL.lex 文件中,我有这个小数的正则表达式:
Digit = [1-9]
Digit0 = 0|{Digit}
Num = {Digit} {Digit0}*
Frac = {Digit0}* {Digit}
Pos = {Num} | '.' {Frac} | 0 '.' {Frac} | {Num} '.' {Frac}
PosOrNeg = -{Pos} | {Pos}
Numbers = 0 | {PosOrNeg}
然后在
/* literals */
{Numbers} { return new Token(yytext(), sym.NUM, getLineNumber()); }
但是每次我尝试识别一个带点的数字时,它都会失败并且我得到一个错误。
代替 '。' 我也试过,,,,\\.
但每次都失败了\.
。"."