我有一个antlr4规则,有两个可能的扩展:
expr := term + term | term * term ;
我想写一个访问此规则的访问者:
public T visitExpr (MyParser.ExprContext ctx) { ... }
在visitExpr
内,如何检测哪个扩展规则匹配?
答案 0 :(得分:1)
标记与感兴趣的子规则不同的内容:
expr : term p=PLUS term
| term m=MUL term
;
或标记子规则
expr : term PLUS term #plus
| term MUL term #mult
;