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

时间:2018-01-23 22:34:11

标签: parsing antlr4

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

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

2 个答案:

答案 0 :(得分:2)

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

enter image description here

答案 1 :(得分:2)

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

enter image description here

或者您可以直接从节点shell中的基础antlr4-graps库运行AntlrLanguageSupport.countReferences(fileName, symbol)API doc file中的更多API详细信息。