| Usage |
| |
| The Maven plugin for antlr is simple to use but is at its simplest when you use the default |
| layouts for your grammars, as so: |
| |
| +-- |
| src/main/ |
| | |
| +--- antlr3/... .g files organized in the required package structure |
| | |
| +--- imports/ .g files that are imported by other grammars. |
| +-- |
| |
| However, if you are not able to use this structure for whatever reason, you |
| can configure the locations of the grammar files, where library/import files |
| are located and where the output files should be generated. |
| |
| * Plugin Descriptor |
| |
| The current version of the plugin is shown at the top of this page after the <<Last Deployed>> date. |
| |
| The full layout of the descriptor (at least, those parts that are not standard Maven things), |
| showing the default values of the configuration options, is as follows: |
| |
| +-- |
| <plugin> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr3-maven-plugin</artifactId> |
| <version>3.1.3-1</version> |
| |
| <executions> |
| |
| <execution> |
| <configuration> |
| <goals> |
| <goal>antlr</goal> |
| </goals> |
| <conversionTimeout>10000</conversionTimeout> |
| <debug>false</debug> |
| <dfa>false</dfa> |
| <nfa>false</nfa> |
| <excludes><exclude/></excludes> |
| <includes><include/></includes> |
| <libDirectory>src/main/antlr3/imports</libDirectory> |
| <messageFormat>antlr</messageFormat> |
| <outputDirectory>target/generated-sources/antlr3</outputDirectory> |
| <printGrammar>false</printGrammar> |
| <profile>false</profile> |
| <report>false</report> |
| <sourceDirectory>src/main/antlr3</sourceDirectory> |
| <trace>false</trace> |
| <verbose>true</verbose> |
| </configuration> |
| </execution> |
| </executions> |
| |
| </plugin> |
| +-- |
| |
| Note that you can create multiple executions, and thus build some grammars with different |
| options to others (such as setting the debug option for instance). |
| |
| ** Configuration parameters |
| |
| *** report |
| |
| If set to true, then after the tool has processed an input grammar file |
| it will report variaous statistics about the parser, such as information |
| on cyclic DFAs, which rules may use backtracking, and so on. |
| |
| default-value="false" |
| |
| *** printGrammar |
| |
| If set to true, then the ANTLR tool will print a version of the input |
| grammar which is devoid of any actions that may be present in the input file. |
| |
| default-value = "false" |
| |
| *** debug |
| |
| If set to true, then the code generated by the ANTLR code generator will |
| be set to debug mode. This means that when run, the code will 'hang' and |
| wait for a debug connection on a TCP port (49100 by default). |
| |
| default-value="false" |
| |
| *** profile |
| |
| If set to true, then then the generated parser will compute and report on |
| profile information at runtime. |
| |
| default-value="false" |
| |
| *** nfa |
| |
| If set to true then the ANTLR tool will generate a description of the nfa |
| for each rule in <a href="http://www.graphviz.org">Dot format</a> |
| |
| default-value="false" |
| |
| protected boolean nfa; |
| |
| *** dfa |
| |
| If set to true then the ANTLR tool will generate a description of the DFA |
| for each decision in the grammar in <a href="http://www.graphviz.org">Dot format</a> |
| |
| default-value="false" |
| |
| *** trace |
| |
| If set to true, the generated parser code will log rule entry and exit points |
| to stdout as an aid to debugging. |
| |
| default-value="false" |
| |
| *** messageFormat |
| |
| If this parameter is set, it indicates that any warning or error messages returned |
| by ANLTR, shoould be formatted in the specified way. Currently, ANTLR supports the |
| built-in formats of antlr, gnu and vs2005. |
| |
| default-value="antlr" |
| |
| *** verbose |
| |
| If this parameter is set to true, then ANTLR will report all sorts of things |
| about what it is doing such as the names of files and the version of ANTLR and so on. |
| |
| default-value="true" |
| |
| *** conversionTimeout |
| |
| The number of milliseconds ANTLR will wait for analysis of each |
| alternative in the grammar to complete before giving up. You may raise |
| this value if ANTLR gives up on a complicated alt and tells you that |
| there are lots of ambiguties, but you know that it just needed to spend |
| more time on it. Note that this is an absolute time and not CPU time. |
| |
| default-value="10000" |
| |
| *** includes |
| |
| Provides an explicit list of all the grammars that should |
| be included in the generate phase of the plugin. Note that the plugin |
| is smart enough to realize that imported grammars should be included but |
| not acted upon directly by the ANTLR Tool. |
| |
| Unless otherwise specified, the include list scans for and includes all |
| files that end in ".g" in any directory beneath src/main/antlr3. Note that |
| this version of the plugin looks for the directory antlr3 and not the directory |
| antlr, so as to avoid clashes and confusion for projects that use both v2 and v3 grammars |
| such as ANTLR itself. |
| |
| *** excludes |
| |
| Provides an explicit list of any grammars that should be excluded from |
| the generate phase of the plugin. Files listed here will not be sent for |
| processing by the ANTLR tool. |
| |
| *** sourceDirectory |
| |
| Specifies the Antlr directory containing grammar files. For |
| antlr version 3.x we default this to a directory in the tree |
| called antlr3 because the antlr directory is occupied by version |
| 2.x grammars. |
| |
| <<NB>> Take careful note that the default location for antlr grammars |
| is now <<antlr3>> and NOT <<antlr>> |
| |
| default-value="<<<${basedir}/src/main/antlr3>>>" |
| |
| *** outputDirectory |
| |
| Location for generated Java files. For antlr version 3.x we default |
| this to a directory in the tree called antlr3 because the antlr |
| directory is occupied by version 2.x grammars. |
| |
| default-value="<<<${project.build.directory}/generated-sources/antlr3>>>" |
| |
| *** libDirectory |
| |
| Location for imported token files, e.g. <code>.tokens</code> and imported grammars. |
| Note that ANTLR will not try to process grammars that it finds in this directory, but |
| will include this directory in the search for .tokens files and import grammars. |
| |
| <<NB>> If you change the lib directory from the default but the directory is |
| still under<<<${basedir}/src/main/antlr3>>>, then you will need to exclude |
| the grammars from processing specifically, using the <<<<excludes>>>> option. |
| |
| default-value="<<<${basedir}/src/main/antlr3/imports>>>" |
| |