私の 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()); }
しかし、ドットで数字を認識しようとするたびに失敗し、エラーが発生します。
それ以外の '。' \\.
、\.
、も試し"."
ましたが、毎回失敗します。