2016-03-23 1 views
1

Как изменить путь, сгенерированный в Java GF-файл JFlex lexer Grammar-Kit?Как изменить путь, из которого сгенерирован файл Java lexer Grammar-Kit?

Я спросил у Grammar-Kit's issue tracker, но не получил ответа.

Я устал от того, что lexer не был помещен в каталог сгенерированных файлов (где я мог бы легко удалить его вместе со всем другим сгенерированным файлом и исключить его из запросов и предупреждений IDE и т. Д.). ,

ответ

1

Я тоже устал от того, что лексер не был помещен в сгенерированный каталог файлов, поэтому я просмотрел исходный код плагина, чтобы найти ответ.

Grammar-Kit использует собственную эвристику, чтобы решить, где хранить файл lexer, созданный JFlex, но эта эвристика явно ошибочно выбирается в обоих случаях.

Если вы хотите, чтобы сгенерированный лексер находился в сгенерированной папке, а Grammar-Kit этого не делает, это связано с тем, что GK-код не может находиться внутри исходного корня. Конечно, файл .flex действительно является исходным файлом, но для целей GK он не может быть помечен таким образом - не если вы хотите, чтобы он сделал правильную вещь и поместил свой сгенерированный файл .java в вашу назначенную сгенерированную папку [1].

Вместо этого переместите файл .flex из любых исходных папок и в корневой каталог контента, который не помечен как исходный каталог. GK теперь должен вести себя в основном должным образом [1]. Для собственного исходного файла, файла .bnf, он не ведет себя таким странным образом; только с файлом .flex.

[1]: (на самом деле, в моем скимминга, я думаю, что это, возможно, выглядело как это жёстко специально, чтобы войти в папку с именем «ген», но я только быстро скользя, так что не может быть Точно. В любом случае генерация в папку с именем «gen» (имя, которое большинство людей выбирает для своей сгенерированной папки в любом случае) должно быть как минимум достаточным, так как ваш сгенерированный flex lexer, по крайней мере, не будет смешиваться с вашими обычными исходными файлами .)

+0

Hi *** self *** *! * – naki

+0

^--- К сожалению, SO не разрешил мне обратиться к себе в ответ :( – naki