当存在多个规则时检测哪个规则匹配
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
;
我有一个带有两个可能扩展的 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
;