gpt4 book ai didi

java - 所有标签的访问者方法

转载 作者:行者123 更新时间:2023-11-30 06:39:10 25 4
gpt4 key购买 nike

我有一个带有替代标签的解析器规则。
我想在任何标签被良好访问时实现访问者方法:

someRule
: 'a' #aLabel
| 'b' #bLabel
| 'c' #cLabel
;

我需要这样的方法:

T visitSomeRule(SomeRuleContext ctx)

最佳答案

使用像您这样的标签,您最终会得到类似的结果:

override VisitAlabel(aLabelRuleContext) {....}
override VisitBlabel(bLabelRuleContext) {....}
override VisitClabel(cLabelRuleContext) {....}

但是,添加替代标签会导致 ANTLR4 无法生成上面示例中的通用上下文类 SomeRuleContext。两者不可能混合。非此即彼。如果您想访问 SomeRuleContext,则必须删除标签并检查 SomeRuleContext 处理程序内的替代上下文。

我的资料来源:这方面的经验以及 Terence Parr 的《The Definitive ANTLR4 Reference》,第 120 页。

关于java - 所有标签的访问者方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44691715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com