Antlr4 如何在括号内定义替代标签n
这是我的解析器语法的一部分:Antlr4 如何在括号内定义替代标签n,antlr4,Antlr4,这是我的解析器语法的一部分: expression: multiplyingExpression ( PLUS multiplyingExpression #plus | MINUS multiplyingExpression #minus )*; 我想定义加减替代标签,显然它不允许我这样做 在#加号和@减号处,它给出了错误: 查找规则元素时在“#”处缺少RPAREN 有人知道如何在不改变规则定义结构的情况下实现这一点吗?alt标签只能在alt的外边缘(非
expression:
multiplyingExpression
(
PLUS multiplyingExpression #plus
| MINUS multiplyingExpression #minus
)*;
我想定义加减替代标签,显然它不允许我这样做
在#加号和@减号处,它给出了错误:
查找规则元素时在“#”处缺少RPAREN
有人知道如何在不改变规则定义结构的情况下实现这一点吗?alt标签只能在alt的外边缘(非嵌套)上定义。因此,如果不改变规则的结构,就无法实现这一点 可以做的是使用普通标签来有效地达到预期的效果
expression:
multiplyingExpression
( type+=PLUS multiplyingExpression
| type+=MINUS multiplyingExpression
)*;
结果是ExpressionContext
将包含列表类型代码>其连续值将通过推断识别匹配的ALT