Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ANTLR规则上下文中获取标记的备选名称_Javascript_Antlr_Antlr4 - Fatal编程技术网

Javascript 在ANTLR规则上下文中获取标记的备选名称

Javascript 在ANTLR规则上下文中获取标记的备选名称,javascript,antlr,antlr4,Javascript,Antlr,Antlr4,有没有办法在规则上下文中获得匹配的带标签的备选名称 例: 我想从RuleContext 我有一个很大的语法,我正在开发一个访问者,因此我构建了一个工具来帮助我可视化正在实现的访问者方法的结果,以及缺少哪些方法(因为每个访问者方法的默认实现是调用visitChildren(ctx),我已经重写visitChildren,以返回“未实现:{ruleName}”消息 ANTLR生成的访问者代码为标记的备选方案生成特定的RuleContext(在上面的示例中,FooRuleContext和BarRule

有没有办法在
规则上下文
中获得匹配的带标签的备选名称

例:

我想从
RuleContext

我有一个很大的语法,我正在开发一个访问者,因此我构建了一个工具来帮助我可视化正在实现的访问者方法的结果,以及缺少哪些方法(因为每个访问者方法的默认实现是调用
visitChildren(ctx)
,我已经重写
visitChildren
,以返回“未实现:{ruleName}”消息

ANTLR生成的访问者代码为标记的备选方案生成特定的
RuleContext
(在上面的示例中,
FooRuleContext
BarRuleContext
)并为这些备选方案创建访问者方法(
visitFooRule
visitBarRule
),但这些上下文的基础规则索引仍然是父规则(在本例中,
myRule


除了调用
ctx.constructor.name

之外,我无法在生成的解析树或任何API类中找到上下文所指的特定备选方案的名称。我不完全确定您的意思,您能添加代码以澄清吗?编辑了更多详细信息我认为不可能获得这些名称,因为它们不是规则本身,只是帮助者。我不完全确定你的意思,你能添加代码来澄清吗?编辑了更多细节我认为不可能得到这些名称,因为它们不是规则本身,只是帮助者。
myRule:
   foo # fooRule
   | bar # barRule
;