语法无法识别|| (OR)运算符

Abhinav库马尔

我有以下语法:

 cond_stmt: ('('cond_stmt')'|('!' cond_stmt)| cond_expr|cond_or|cond_and) ;
 cond_or: cond_expr(OR cond_stmt)+;
 cond_and: cond_expr(AND cond_stmt)+;
 OR:'||';
 AND: '&&';
 BLANK: ['\b'|'\t'|' ']+ -> skip;

ANTLR可以&&像运算符一样识别条件语句,a>5 && b<6
但无法识别。a>5 || b<6
它忽略||运算符并说输入不可行。a>5b
如果条件语句之间没有空格,则可以识别它。
例如a>5||b<6被认可。

有谁知道为什么会这样吗?如果您发现语法有问题或有所改进,请立即告诉我。

Abhinav库马尔

谢谢@ enrico.bacis,您说对了,它现在已修复。

     **incorrect**
    BLANK: ['\b'|'\t'|' ']+ -> skip;
   **CORRECT**
    BLANK: ('\b'|'\t'|' ')+ -> skip ; 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模板运算符<<无法识别

来自分类Dev

Eslint无法识别“为”运算符

来自分类Dev

Intellij Scala无法识别运算符

来自分类Dev

python IN运算符的语法

来自分类Dev

无法重载“ <<”运算符

来自分类Dev

为什么我的重载乘法运算符无法识别?

来自分类Dev

C ++无法识别3points运算符

来自分类Dev

Eclipse上的Gradle,无法识别Diamond运算符?

来自分类Dev

模板类无法识别好友运算符

来自分类Dev

无法识别重载的运算符。错误 2

来自分类Dev

语法错误:无法分配给运算符

来自分类Dev

运算符>>和<<不被识别

来自分类Dev

运算符指针数组的新语法

来自分类Dev

= + Python运算符在语法上是正确的

来自分类Dev

运算符“ ANY”的SQLite语法

来自分类Dev

C标准-逗号运算符语法

来自分类Dev

使用+ =运算符的语法无效

来自分类Dev

RegEx语法中的“ OR”运算符

来自分类Dev

C标准-逗号运算符语法

来自分类Dev

Java Diamond运算符无法编译

来自分类Dev

无法使用位置运算符

来自分类Dev

Smartmatch运算符无法正常工作

来自分类Dev

C#运算符!无法应用

来自分类Dev

SQL NOT IN运算符无法正常工作

来自分类Dev

Java Diamond运算符无法编译

来自分类Dev

shell:=〜运算符无法正常工作

来自分类Dev

无法测试rxjava的合并运算符

来自分类Dev

带三元运算符的Walrus运算符的正确语法是什么?

来自分类Dev

运算符重载运算符 + 无法从指针转换为常量