2016-03-23 42 views

回答

1

我也厭倦了詞法分析器沒有被放入生成的文件目錄,所以我通過插件的源代碼瀏覽了一下以得出答案。

語法工具包使用自己的啓發式來決定粘貼JFlex生成的詞法分析器文件的位置,但啓發式顯然是在我們的兩種情況下錯誤選擇的。

如果您希望生成的詞法分析器進入生成的文件夾,並且語法工具包沒有這樣做,這是因爲GK的設計方式,您的.flex文件不能位於源根目錄中。當然,.flex文件實際上是源文件,但出於GK的目的,它不能以這種方式標記 - 不是如果您希望它做正確的事情並將其生成的.java文件放入您指定的生成文件夾中[1]

取而代之的是,將.flex文件移出任何源文件夾,並移入未標記爲源目錄的內容根目錄。 GK現在應該主要是[1]。對於它自己的源文件,.bnf文件,它不表現這種奇怪的方式;只與.flex文件。

[1](實際上,在我撇,我認爲它可能看起來像它的專門硬編碼進入一個名爲「根」文件夾,但我只是快速略讀,這樣可能不無論如何,生成一個名爲'gen'的文件夾(大多數人爲他們生成的文件夾選擇的名稱)至少應該足夠了,因爲生成的flex詞法分析器至少不會再與常規源文件混合在一起)

+0

嗨***自*** *!* – naki

+0

^---不幸的是,所以不會讓我在回答中解決我自己: – naki

相關問題