我如何引用在 ANTLR 中多次调用的同一规则?
How can I reference to same Rule being called more than once in ANTLR?
我有一个类似于下面的语法
E returns [String vals] :
E '+' E {$vals = $E.vals+$E.vals}|
E '-' E {$vals = $E.vals+$E.vals}
我想访问两个不同的 'E' 值,但我无法这样做。
我想区分 3 个 'E' 规则,一个是基础规则,另一个是被调用的规则。
我正在创建一个语法,我将使用它来评估某些表达式。
运算符'+'和'-'是一些任意运算符。
要在操作中引用同一规则的多次使用,您可以像这样为它们添加标签:
e1=exp op=('+'|'-') e2=exp {
// code that uses $e1 and $e2
}
我有一个类似于下面的语法
E returns [String vals] :
E '+' E {$vals = $E.vals+$E.vals}|
E '-' E {$vals = $E.vals+$E.vals}
我想访问两个不同的 'E' 值,但我无法这样做。 我想区分 3 个 'E' 规则,一个是基础规则,另一个是被调用的规则。
我正在创建一个语法,我将使用它来评估某些表达式。
运算符'+'和'-'是一些任意运算符。
要在操作中引用同一规则的多次使用,您可以像这样为它们添加标签:
e1=exp op=('+'|'-') e2=exp {
// code that uses $e1 and $e2
}