Pull to refresh

Comments 8

Если уж используете antlr4-maven-plugin и, собственно, maven, то лучше уж использовать принятые соглашения: *.g4 располагать в src/main/antlr4/, сгенерированные файлы будут лежать в target/generated-sources/antlr4/, которую IDEA автоматически пометит как generated sources root.


Также, ANTLRInputStream deprecated, так что лучше использовать CharStreams.from* (CharStreams.fromString в данном случае).

В target/generated-sources/antlr4/ Idea не помечает generated sources root, ни автоматически,
ни вручную, вообще их не видит, (да и не должна видеть эти файлы), так что вернула в 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 создавал.

Понятно. Мне пока не актуально, но спасибо за развёрнутый ответ.

Sign up to leave a comment.

Articles