Ответ 1
Я установил плагин ANTLR на IntelliJ 14 и смог заставить его работать. Несколько мелочей сделали это сложнее, чем ожидалось.
- параметры плагина соответствуют ANTLR файлу (.g4), поэтому выделите файл .g4, который хотите сгенерировать, затем щелкните правой кнопкой мыши, чтобы настроить ANTLR. В противном случае контекстные меню, связанные с ANTLR, выделены серым цветом.
- параметр выходного каталога относится к вашему домашнему каталогу, поэтому, если вы устанавливаете выходной каталог и ничего не видите, попробуйте искать в своем домашнем каталоге или установить абсолютный путь. Если вы не устанавливаете выходной каталог вообще, он, похоже, генерирует артефакты Java относительно каталога проекта. Вот как я смог заставить его работать.
- щелкните правой кнопкой мыши на файле грамматики ANTLR и выберите "Сгенерировать ANTLR Recognizer" в контекстном меню. Опция Compile 'file.g4' в главном меню Build ничего не делает для меня.
- next отметьте выходной каталог (по умолчанию, каталог gen в корне проекта) как сгенерированный источник. Щелкните правой кнопкой мыши на gen и в нижней части контекстного меню должен быть "Mark Directory As", с "Generated Sources Root" в качестве подменю. Если вы не помечаете выходной каталог ANTLR как сгенерированные источники, IntelliJ не сможет найти файлы классов Java для lexer и parser, поэтому он не будет их компилировать, и он не очистит синтаксические ошибки в вашем другие файлы программ, в которых вы ссылаетесь на lexer/parser ANTLR.
- похоже, что плагин использует версию ANTLR, которую он содержит, а не версию ANTLR, которую вы используете в своем проекте в качестве библиотеки, поэтому с помощью плагина можно создать исходный код Java, который не будет компилироваться в вашем проекте.
Здесь вы можете увидеть простой пример проекта ANTLR Java: fooobar.com/questions/156768/...