代码之家  ›  专栏  ›  技术社区  ›  Doradus

如何从ANTLR4语法中检测死产品?

  •  1
  • Doradus  · 技术社区  · 7 年前

    我有一个ANTLR4语法,其中包含大量我不想使用的结果。我想把它们从语法文件中清除掉。ANTLR4似乎不允许您指定“目标”符号,但如果可以的话,我想确定并删除任何无法从该目标符号访问的产品。

    有没有办法识别这些类型的未使用产品,以便我可以从语法文件中删除它们?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Bart Kiers    7 年前

    ANTLR本身没有这样的功能。但是,IntelliJ的ANTLR插件在不使用产品时会发出警告:

    enter image description here

        2
  •  2
  •   Mike Lischke    7 年前

    将Visual Studio代码与我的 antlr4-vscode 扩展和启用代码镜头(首选项: antlr4.referencesCodeLens.enabled ). 它将为您提供每个规则的引用计数:

    enter image description here

    或者您可以直接运行 AntlrLanguageSupport.countReferences(fileName, symbol) 从底层 antlr4-graps 节点外壳中的库。更多API详细信息,请参阅 API doc file .