Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to configure antlr4 plugin for Intellij IDEA

I looked all over the place for how to configure the antlr4 plugin for IntelliJ IDEA. But I can't find anything. I was only able to install the plugin. If I add .g4 files manually for a empty project I get the "Generate ANTLR Recognizer" option in right click menu. That is all. I thought It was very promising plugin. Can anyone please tell/direct me how to proceed with the plugin ?

Thank you

like image 975
Morpheus Avatar asked May 09 '14 15:05

Morpheus


People also ask

How do I download Antlr in IntelliJ?

To get antlr4, type “antlr4 plugin intelliJ” into your web browser, and the first link should be the plugins.jetbrains.com; if not look for that link then download it from there.


2 Answers

I installed the ANTLR plugin on IntelliJ 14 and was able to get it working. A couple little things made it harder than expected.

  • the plugin settings are per ANTLR file (.g4) so highlight the .g4 file you want to generate, then right click to configure ANTLR. Otherwise, the ANTLR related context menus are greyed out.
  • the output directory setting is relative to your home directory, so if you set the output directory and don't see anything, try looking in your home directory, or set an absolute path. If you don't set the output directory at all, it appears to generate the Java artifacts relative to the project directory. That's how I was able to get it working.
  • right click on the ANTLR grammar file and select Generate ANTLR Recognizer from the context menu. The Compile 'file.g4' option under the main Build menu does nothing for me.
  • next mark the output directory (by default, the gen directory in the project root) as generated source. Right click on gen and near the bottom of the context menu should be 'Mark Directory As', with 'Generated Sources Root' as a sub menu. If you don't mark the ANTLR output directory as generated sources, IntelliJ will not be able to find the Java class files for the lexer and parser, so it won't compile them, and it won't clear the syntax errors in your other program files where you reference the ANTLR lexer/parser.
  • it appears that the plugin uses the version of ANTLR it contains rather than the version of ANTLR you are using in your project as a library, so using the plugin it is possible to generate Java source code that will not compile within your project.

You can see a simple example of a Java ANTLR project here: https://stackoverflow.com/a/21552478/4239384

like image 87
J. Simpson Avatar answered Sep 24 '22 20:09

J. Simpson


Have you looked at the GitHub project page, IntelliJ Idea Plugin for ANTLR v4? You will find many screenshots with explanations.

Directly install from here: https://plugins.jetbrains.com/plugin/7358-antlr-v4-grammar-plugin/

You should also see tool windows such as the preview window.

like image 22
Terence Parr Avatar answered Sep 22 '22 20:09

Terence Parr