Home | History | Annotate | Download | only in apt
      1 Usage
      2 
      3  The Maven plugin for antlr is simple to use but is at its simplest when you use the default
      4  layouts for your grammars, as so:
      5 
      6 +--
      7  src/main/
      8       |
      9       +--- antlr3/... .g files organized in the required package structure
     10              |
     11              +--- imports/  .g files that are imported by other grammars.
     12 +--
     13 
     14  However, if you are not able to use this structure for whatever reason, you
     15  can configure the locations of the grammar files, where library/import files
     16  are located and where the output files should be generated.
     17 
     18 * Plugin Descriptor
     19 
     20  The current version of the plugin is shown at the top of this page after the <<Last Deployed>> date.
     21 
     22  The full layout of the descriptor (at least, those parts that are not standard Maven things),
     23  showing the default values of the configuration options, is as follows:
     24 
     25 +--
     26 <plugin>
     27     <groupId>org.antlr</groupId>
     28     <artifactId>antlr3-maven-plugin</artifactId>
     29     <version>3.1.3-1</version>
     30 
     31     <executions>
     32         
     33         <execution>
     34             <configuration>
     35                 <goals>
     36                     <goal>antlr</goal>
     37                 </goals>
     38                 <conversionTimeout>10000</conversionTimeout>
     39                 <debug>false</debug>
     40                 <dfa>false</dfa>
     41                 <nfa>false</nfa>
     42                 <excludes><exclude/></excludes>
     43                 <includes><include/></includes>
     44                 <libDirectory>src/main/antlr3/imports</libDirectory>
     45                 <messageFormat>antlr</messageFormat>
     46                 <outputDirectory>target/generated-sources/antlr3</outputDirectory>
     47                 <printGrammar>false</printGrammar>
     48                 <profile>false</profile>
     49                 <report>false</report>
     50                 <sourceDirectory>src/main/antlr3</sourceDirectory>
     51                 <trace>false</trace>
     52                 <verbose>true</verbose>
     53             </configuration>
     54         </execution>
     55     </executions>
     56 
     57 </plugin>
     58 +--
     59 
     60  Note that you can create multiple executions, and thus build some grammars with different
     61  options to others (such as setting the debug option for instance).
     62 
     63 ** Configuration parameters
     64 
     65 *** report
     66 
     67     If set to true, then after the tool has processed an input grammar file
     68     it will report variaous statistics about the parser, such as information
     69     on cyclic DFAs, which rules may use backtracking, and so on.
     70 
     71     default-value="false"
     72 
     73 *** printGrammar
     74 
     75     If set to true, then the ANTLR tool will print a version of the input
     76     grammar which is devoid of any actions that may be present in the input file.
     77 
     78     default-value = "false"
     79 
     80 *** debug
     81 
     82      If set to true, then the code generated by the ANTLR code generator will
     83      be set to debug mode. This means that when run, the code will 'hang' and
     84      wait for a debug connection on a TCP port (49100 by default).
     85      
     86      default-value="false"
     87      
     88 *** profile
     89 
     90      If set to true, then then the generated parser will compute and report on
     91      profile information at runtime.
     92      
     93      default-value="false"
     94      
     95 *** nfa
     96 
     97      If set to true then the ANTLR tool will generate a description of the nfa
     98      for each rule in <a href="http://www.graphviz.org">Dot format</a>
     99      
    100      default-value="false"
    101      
    102     protected boolean nfa;
    103     
    104 *** dfa
    105 
    106      If set to true then the ANTLR tool will generate a description of the DFA
    107      for each decision in the grammar in <a href="http://www.graphviz.org">Dot format</a>
    108      
    109      default-value="false"
    110      
    111 *** trace
    112 
    113      If set to true, the generated parser code will log rule entry and exit points
    114      to stdout as an aid to debugging.
    115      
    116      default-value="false"
    117      
    118 *** messageFormat
    119 
    120      If this parameter is set, it indicates that any warning or error messages returned
    121      by ANLTR, shoould be formatted in the specified way. Currently, ANTLR supports the
    122      built-in formats of antlr, gnu and vs2005.
    123 
    124      default-value="antlr"
    125      
    126 *** verbose
    127 
    128      If this parameter is set to true, then ANTLR will report all sorts of things
    129      about what it is doing such as the names of files and the version of ANTLR and so on.
    130      
    131      default-value="true"
    132      
    133 *** conversionTimeout
    134 
    135      The number of milliseconds ANTLR will wait for analysis of each
    136      alternative in the grammar to complete before giving up. You may raise
    137      this value if ANTLR gives up on a complicated alt and tells you that
    138      there are lots of ambiguties, but you know that it just needed to spend
    139      more time on it. Note that this is an absolute time and not CPU time.
    140      
    141      default-value="10000"
    142      
    143 *** includes
    144 
    145      Provides an explicit list of all the grammars that should
    146      be included in the generate phase of the plugin. Note that the plugin
    147      is smart enough to realize that imported grammars should be included but
    148      not acted upon directly by the ANTLR Tool.
    149      
    150      Unless otherwise specified, the include list scans for and includes all
    151      files that end in ".g" in any directory beneath src/main/antlr3. Note that
    152      this version of the plugin looks for the directory antlr3 and not the directory
    153      antlr, so as to avoid clashes and confusion for projects that use both v2 and v3 grammars
    154      such as ANTLR itself.
    155      
    156 *** excludes
    157 
    158      Provides an explicit list of any grammars that should be excluded from
    159      the generate phase of the plugin. Files listed here will not be sent for
    160      processing by the ANTLR tool.
    161      
    162 *** sourceDirectory
    163 
    164      Specifies the Antlr directory containing grammar files. For
    165      antlr version 3.x we default this to a directory in the tree
    166      called antlr3 because the antlr directory is occupied by version
    167      2.x grammars.
    168 
    169      <<NB>> Take careful note that the default location for antlr grammars
    170      is now <<antlr3>> and NOT <<antlr>>
    171 
    172      default-value="<<<${basedir}/src/main/antlr3>>>"
    173      
    174 *** outputDirectory
    175 
    176      Location for generated Java files. For antlr version 3.x we default
    177      this to a directory in the tree called antlr3 because the antlr
    178      directory is occupied by version 2.x grammars.
    179      
    180      default-value="<<<${project.build.directory}/generated-sources/antlr3>>>"
    181      
    182 *** libDirectory
    183 
    184      Location for imported token files, e.g. <code>.tokens</code> and imported grammars.
    185      Note that ANTLR will not try to process grammars that it finds in this directory, but
    186      will include this directory in the search for .tokens files and import grammars.
    187 
    188      <<NB>> If you change the lib directory from the default but the directory is
    189      still under<<<${basedir}/src/main/antlr3>>>, then you will need to exclude
    190      the grammars from processing specifically, using the <<<<excludes>>>> option.
    191 
    192      default-value="<<<${basedir}/src/main/antlr3/imports>>>"
    193 
    194