1

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

我已经询问了Grammar-Kit 的问题跟踪器,但没有收到任何回复。

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

4

1 回答 1

1

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

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

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

相反,请将您的 .flex 文件从任何源文件夹中移出,并移到未标记为源目录的内容根目录中。GK 现在应该表现得大部分正常[1]。对于它自己的源文件,.bnf文件,它的行为并不奇怪;仅与.flex文件。

[1]:(实际上,在我的浏览中,我认为它可能看起来像是专门硬编码到一个名为“gen”的文件夹中,但我只是快速浏览,所以这可能不准确。在任何一种情况下,生成进入一个名为“gen”的文件夹(大多数人为其生成的文件夹选择的名称)至少应该足够了,因为您生成的弹性词法分析器至少不再与您的正常源文件混合。)

于 2016-03-23T08:32:42.600 回答