如何更改Grammar-Kit生成的lexer Java文件生成的路径?

时间:2016-03-23 08:32:43

标签: intellij-plugin jflex grammar-kit

如何更改Grammar-Kit生成的JFlex lexer Java文件的路径?

我已Grammar-Kit's issue tracker询问,但未收到任何回复。

我已经厌倦了没有将lexer放入我生成的文件目录中(我可以轻松地将其与所有其他生成的文件一起删除,并将其从搜索中排除,以及IDE警告等)。

1 个答案:

答案 0 :(得分:1)

我也厌倦了没有被放入生成的文件目录中的词法分析器,所以我浏览了插件的源代码以得出答案。

Grammar-Kit使用自己的启发式方法来决定JFlex生成的词法分析器文件的位置,但在我们的两种情况下,启发式显然都选择错误。

如果您希望生成的词法分析器进入生成的文件夹,并且Grammar-Kit没有这样做,那是因为GK的设计方式,您的.flex文件不能在源内root。当然,.flex文件确实是源文件,但是出于GK的目的,它无法以这种方式标记 - 如果你想要它那么做正确的事情,并将其生成的.java文件放入指定的生成文件夹 [1]

相反,将.flex文件移出任何源文件夹,并转移到未标记为源目录的内容根目录。 GK现在应该 正确 [1] 。对于它自己的源文件.bnf文件,它不会表现得这么奇怪;仅限.flex文件。

[1] (实际上,在我的浏览中,我认为它可能看起来像硬编码专门进入一个名为'gen'的文件夹,但我只是快速浏览在任何一种情况下,生成一个名为'gen'的文件夹{大多数人为其生成的文件夹选择的名称}至少应该足够了,因为你生成的flex lexer将至少不再混合使用普通的源文件。)