【发布时间】:2011-08-26 15:54:54
【问题描述】:
有没有办法用可选的正负号以较少重复的方式表达这一点?
我想要完成的是如何在可选地具有指数和/或小数部分的数字文字上表示可选地提供正 +(默认)和负 - 符号。
NUMBER : ('+'|'-')? DIGIT+ '.' DIGIT* EXPONENT?
| ('+'|'-')? '.'? DIGIT+ EXPONENT?
;
fragment
EXPONENT : ('e' | 'E') ('+' | '-') ? DIGIT+
;
fragment
DIGIT : '0'..'9'
;
我希望能够识别NUMBER 模式,并且那时我不太关心这些数字的算术运算,我稍后会,但我正在尝试了解如何识别任何 NUMBER literals 数字看起来像:
123
+123
-123
0.123
+.123
-.123
123.456
+123.456
-123.456
123.456e789
+123.456e789
-123.456e789
以及我没有想到的任何其他标准格式。
【问题讨论】:
标签: numbers integer decimal grammar antlr3