DECIMAL_LITERAL : ('0' | '1'..'9' ('0'..'9')*) (INTEGER_TYPE_SUFFIX)? ;
FLOATING_POINT_LITERAL
: ('0'..'9')+
(
DOT ('0'..'9')* (EXPONENT)? (FLOAT_TYPE_SUFFIX)?
| EXPONENT (FLOAT_TYPE_SUFFIX)?
| FLOAT_TYPE_SUFFIX
)
| DOT ('0'..'9')+ (EXPONENT)? (FLOAT_TYPE_SUFFIX)?
;
DECIMAL_LITERAL 匹配 c 语言中的 int 字面量,FLOATING_POINT_LITERAL 匹配 c 语言中的 float 字面量。但是当词法分析器遇到 float 时,例如 3.44,3 将匹配规则 DECIMAL_LITERAL。
我该怎么做才能让它识别浮点文字?