如何更改 Grammar-Kit 生成的词法分析器 Java 文件生成的路径?

How does one change the path that Grammar-Kit's generated lexer Java file is generated into?

如何更改 Grammar-Kit 生成的 JFlex 词法分析器 Java 文件生成的路径?

我已经在 Grammar-Kit's issue tracker 上询问过,但没有收到任何回复。

我厌倦了没有将词法分析器放入我生成的文件目录中(在那里我可以轻松地将它与所有其他生成的文件一起删除,并将其从搜索中排除,并且 IDE 警告等)。

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

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

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

相反,将您的 .flex 文件移出任何源文件夹,并移至未标记为源目录的内容根目录。 GK 现在应该主要 正常[1]。对于它自己的源文件,.bnf 文件,它的行为并不奇怪;仅使用 .flex 文件。

[1]: (实际上,在我的浏览中,我认为它可能看起来像是专门硬编码到一个名为 [=41 的文件夹中=],但我只是快速浏览了一下,所以这可能不准确。在任何一种情况下,生成一个名为 'gen' {大多数人为他们生成的文件夹选择的名称}的文件夹至少应该足够了,因为你生成的 flex 词法分析器将至少不再与你的普通源文件混合。)