ANTLR4:零次或一次

时间:2018-02-15 14:27:19

标签: antlr grammar antlr4 antlr3

我正在使用ANTLR4和Java定义语法。对于整数,我想要一个数字,前面加一个减号。我知道可以这样做:

qml: currentIndex 0
qml: currentIndex 1
qml: currentIndex 2
qml: currentIndex -1
qml: currentIndex 2
qml: currentIndex -1
qml: currentIndex 0
qml: currentIndex 1

但我想知道是否有一个符号(类似于*)确保减号出现零次或一次:

integer: '-' (DIGIT)* | DIGIT* ;

1 个答案:

答案 0 :(得分:4)

是的,它是?,这意味着零或一次(可选)。此外,*表示零以上。您可能需要+,这意味着一次或多次

integer : '-'? DIGIT+ ;