intellij 中的 ANTLR V4 插件提供了一个选项,可以使用右键单击窗口中的“测试规则”选项来测试语法中的解析器规则。然而,这个选项对于 Lexer 规则是灰色的。我如何使用此插件测试 Lexer 规则?
最佳答案
如果您按住 Ctrl 键并将鼠标悬停在预览面板源 View 中的输入上,您可以在指针下方获得标记的弹出式预览。你可以拉起 Intellij Plugin read.me on github并搜索“ctrl key”作为示例。您仍然需要选择一个解析规则进行调试以获得此输出。
将鼠标悬停在所有内容上以获取全貌很有用,但有点乏味。
您可能会发现使用 grun
更有用别名 -tokens
选项或 grun <GrammarName> tokens
替代方案(使用 tokens
而不是启动规则将只运行词法分析器并将 tokenStream 转储到 sysout)。它不是插件的一部分,但通常是从命令行(甚至是 IntelliJ 中的终端选项卡)验证词法分析器规则的非常有用的方法。您需要运行 antlr
命令生成您的源代码,并编译 java 源代码以运行 grun
别名。
(ANTLR home page 上的快速入门向您展示了如何设置 grun
别名。
关于intellij-idea - 我们如何使用 Intellij ANTLR V4 插件测试 ANTLR Lexer 规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69081085/