我尝试为IJ使用ANTLR插件,但有一个烦人的问题。我不知道,我做错了什么,但是除了生成 ANTLR 识别器(通常,但并非总是(之外,在更改词法器语法中的某些内容后,我必须重新启动 IJ 才能看到正确的解析树。在测试解析器之前已经尝试过"全部保存"或"同步",但没有任何帮助。有没有人遇到过这样的问题?
提前谢谢你。
正如 glytching 在他们的评论中所建议的那样,这是此 GitHub 问题中描述的问题:https://github.com/antlr/intellij-plugin-v4/issues/242
解决方案似乎是点击保存。另一位用户还提到从终端触摸文件。
这让我感到困惑,因为我使用的是 PyCharm,并且默认情况下它的设置方式似乎是在您工作时自动保存,所以我基本上从不以任何方式显式与 Save 交互。但是,在这种情况下,按Ctrl+S似乎确实有所作为(与仅让它自动保存相比(,它为我解决了问题。
为清楚起见,我的情况是:
- 我有一个语法分为几个部分(词法分析器、解析器和组合语法的混合(,这些部分被导入到"主要"语法中。
- 我正在与 ANTLR 预览窗互工作(OP 提到生成识别器,但我认为这个问题完全独立于运行 Antlr 生成器(。 如果我对导入的语法
- 之一进行更改并切换回主语法以在那里重新运行我的启动规则,它并不总是从导入的语法中获取更改。 在
- 更改导入的语法后按Ctrl+S,然后再切换回我的主语法,可以解决问题。