ANTLR4:表达式中的符号“*”和“+”
ANTLR4: Symbols '*' and '+' in the expressions
我正在学习如何通过 antlr 编写编译器程序。我环顾四周以了解一些相关信息,所以我最终找到了 this。
我想问的是,每个符号的作用是什么?
表达式中的'?'、'+'和'*',它们在做什么?
FLOAT
: [0-9]+ '.' {_input.LA(1) != '.'}?
| [0-9]* '.' [0-9]+
;
INT
: [0-9]+
;
你们知道从哪里开始学习这些表达吗?
这些符号是正则表达式的一部分,请参阅 tutorial python 中关于正则表达式的内容(所有语言都非常相似)。
*
表示匹配前一个事物零次或多次,例如,a*
将匹配
、a
、aa
、...
+
表示匹配前一个事物一次或多次,例如 a+
将匹配 a
, aa
, ...
?
表示匹配前一个事物零次或一次,例如 a?
将匹配
或 a
.
我正在学习如何通过 antlr 编写编译器程序。我环顾四周以了解一些相关信息,所以我最终找到了 this。
我想问的是,每个符号的作用是什么? 表达式中的'?'、'+'和'*',它们在做什么?
FLOAT
: [0-9]+ '.' {_input.LA(1) != '.'}?
| [0-9]* '.' [0-9]+
;
INT
: [0-9]+
;
你们知道从哪里开始学习这些表达吗?
这些符号是正则表达式的一部分,请参阅 tutorial python 中关于正则表达式的内容(所有语言都非常相似)。
*
表示匹配前一个事物零次或多次,例如,a*
将匹配
、a
、aa
、...
+
表示匹配前一个事物一次或多次,例如 a+
将匹配 a
, aa
, ...
?
表示匹配前一个事物零次或一次,例如 a?
将匹配
或 a
.