当存在多个规则时检测哪个规则匹配

detecting which rule matched when multiple exists

我有一个带有两个可能扩展的 antlr4 规则:

expr := term + term | term * term ;

我想写一个访客访问这样的规则:

public T visitExpr (MyParser.ExprContext ctx) { ... }

visitExpr 中,我如何检测匹配的扩展规则?

标记感兴趣的子规则的独特之处:

expr : term p=PLUS term 
     | term m=MUL term 
     ;

或标记子规则

expr : term PLUS term #plus
     | term MUL term  #mult
     ;