If you are working with language development and wants to use the new Netbeans 8 you can now download the new ANTLRWorksEditor Plugin
To do that follow the steps :
- Open the plugins windows Tools/Plugins
- Click in the name column to sort by plugin name. If the plugin ANTLRWorks Editor does not appear try to click at the button “Check for Newest“
- Select the plugin
- Click on install button.
- Accept the license and click on continue button.
After the plugin is installed
you now can create a file with the extension .g4 and see the plugin working. It will bring you to g4 files the syntax check and highlighting.
The plugin brings a very useful window to graphically show the syntax of your rules. Click on menu Window / Syntax Diagram.
The Netbeans Navigator window will now show specific information for the g4 files .
How get the ANTLR classes created automatically
If you want to have netbeans generating the ANTLR classes automatically, just follow the simple steps below.
Open your project folder and locate the build.xml file . Open it with a text editor (or just drag the file to Netbeans and use it)
Insert the snippet code in your build.xml file above the </project> tag.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<target name="-pre-compile" > <!-- Propriedades --> <property name="antlr.jar" location="PATH-TO-ANTLR-JAR_FILE"/> <property name="antlr.grammar" location="PATH-TO-YOUR-g4-FILE"/> <property name="antlr.parserdir" location="PATH-TO-WRITE-ANTLR-FILES"/> <!-- Cria o subdiretório parser --> <mkdir dir="${antlr.parserdir}"/> <echo level="info">Criando Classes ANTLR</echo> <!-- Gera os arquivos --> <java classname="org.antlr.v4.Tool" fork="true"> <arg line="-o ${antlr.parserdir}"/> <!-- Cria tb as casses para padrão Visitor --> <arg line="-visitor"/> <arg value="${antlr.grammar}"/> <classpath path="${antlr.jar}"/> </java> </target> |
build.xml sample after change:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
<?xml version="1.0" encoding="UTF-8"?> <!-- You may freely edit this file. See commented blocks below for --> <!-- some examples of how to customize the build. --> <!-- (If you delete it and reopen the project it will be recreated.) --> <!-- By default, only the Clean and Build commands use this build script. --> <!-- Commands such as Run, Debug, and Test only use this build script if --> <!-- the Compile on Save feature is turned off for the project. --> <!-- You can turn off the Compile on Save (or Deploy on Save) setting --> <!-- in the project's Project Properties dialog box.--> <project name="mlang" default="default" basedir="."> <description>Builds, tests, and runs the project mlang.</description> <import file="nbproject/build-impl.xml"/> <!-- There exist several targets which are by default empty and which can be used for execution of your tasks. These targets are usually executed before and after some main targets. They are: -pre-init: called before initialization of project properties -post-init: called after initialization of project properties -pre-compile: called before javac compilation -post-compile: called after javac compilation -pre-compile-single: called before javac compilation of single file -post-compile-single: called after javac compilation of single file -pre-compile-test: called before javac compilation of JUnit tests -post-compile-test: called after javac compilation of JUnit tests -pre-compile-test-single: called before javac compilation of single JUnit test -post-compile-test-single: called after javac compilation of single JUunit test -pre-jar: called before JAR building -post-jar: called after JAR building -post-clean: called after cleaning build products (Targets beginning with '-' are not intended to be called on their own.) Example of inserting an obfuscator after compilation could look like this: <target name="-post-compile"> <obfuscate> <fileset dir="${build.classes.dir}"/> </obfuscate> </target> For list of available properties check the imported nbproject/build-impl.xml file. Another way to customize the build is by overriding existing main targets. The targets of interest are: -init-macrodef-javac: defines macro for javac compilation -init-macrodef-junit: defines macro for junit execution -init-macrodef-debug: defines macro for class debugging -init-macrodef-java: defines macro for class execution -do-jar: JAR building run: execution of project -javadoc-build: Javadoc generation test-report: JUnit report generation An example of overriding the target for project execution could look like this: <target name="run" depends="mlang-impl.jar"> <exec dir="bin" executable="launcher.exe"> <arg file="${dist.jar}"/> </exec> </target> Notice that the overridden target depends on the jar target and not only on the compile target as the regular run target does. Again, for a list of available properties which you can use, check the target you are overriding in the nbproject/build-impl.xml file. --> <target name="-pre-compile" > <!-- Propriedades --> <property name="antlr.jar" location="C:\Aleks\Pessoal\blog\projetos\netbeans\mlang\lib\ANTLR4.2.1\antlr-4.2.1-complete.jar"/> <property name="antlr.grammar" location="src/mlang/grammar/ja.g4"/> <property name="antlr.parserdir" location="src/mlang/grammar/ANTLR"/> <!-- Cria o subdiretório parser --> <mkdir dir="${antlr.parserdir}"/> <echo level="info">Criando Classes ANTLR</echo> <!-- Gera os arquivos --> <java classname="org.antlr.v4.Tool" fork="true"> <arg line="-o ${antlr.parserdir}"/> <!-- Cria tb as casses para padrão Visitor --> <arg line="-visitor"/> <arg value="${antlr.grammar}"/> <classpath path="${antlr.jar}"/> </java> </target> </project> |