Comments 8
Если уж используете antlr4-maven-plugin
и, собственно, maven
, то лучше уж использовать принятые соглашения: *.g4
располагать в src/main/antlr4/
, сгенерированные файлы будут лежать в target/generated-sources/antlr4/
, которую IDEA автоматически пометит как generated sources root.
Также, ANTLRInputStream
deprecated, так что лучше использовать CharStreams.from*
(CharStreams.fromString
в данном случае).
ни вручную, вообще их не видит, (да и не должна видеть эти файлы), так что вернула в gen, остальное исправлено
В target/generated-sources/antlr4/ Idea не помечает generated sources root, ни автоматически, ни вручную, вообще их не видит, (да и не должна видеть эти файлы)
У меня 2017.2.5 помечает автоматически. Вы уверены, что у вас maven-проект, а не что-нибудь другое, куда pom.xml
добавился позже? Если не удаётся пометить вручную — идите в youtrack.jetbrains.com, УМВР.
С чего вы взяли, что IDEA не должна их видеть я не понял. У меня аналогично видятся файлы в target/generated-sources/annotations
, сгенерированные org.immutables:value
.
Также, ANTLRInputStream deprecated
Устарел, но при этом не понятно как, например, на новом API просто заюзать регистронезависимый поток? А он много где используется: диалекты SQL, PHP. Автор ANTLR консервативен и без особо охоты мержит риквесты с фичами, однако из-за нововведений с юникодом приходится использовать такие вот deprecated классы.
А где в antlr4 ANTLRInputStream
даёт поддержку case insensitive? Мне пока не приходилось развлекаться с регистронезависимыми языками. Нельзя ли её сделать на уровне создания TokenStream
?
А где в antlr4 ANTLRInputStream даёт поддержку case insensitive? Мне пока не приходилось развлекаться с регистронезависимыми языками.
Пока что поддерживается в плагине antlr4test-maven-plugin и используется для грамматик в оффициальном репозитории.
Но, возможно, скоро он будет доступен и из коробки: https://github.com/antlr/antlr4/pull/2046
Нельзя ли её сделать на уровне создания TokenStream?
У меня пока что особо не получалось, вот даже вопрос на stackoverflow создавал.
Готовые грамматики для много чего — github.com/antlr/grammars-v4
Пошаговое руководство работы с Antlr4 с Maven проектом для Java через Intellij Idea