Class Antlr3Mojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    public class Antlr3Mojo
    extends org.apache.maven.plugin.AbstractMojo
    Goal that picks up all the ANTLR grammars in a project and moves those that are required for generation of the compilable sources into the location that we use to compile them, such as target/generated-sources/antlr3 ...
    Author:
    Jim Idle
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean debug
      If set to true, then the code generated by the ANTLR code generator will be set to debug mode.
      protected boolean dfa
      If set to true then the ANTLR tool will generate a description of the DFA for each decision in the grammar in Dot format
      protected Set excludes
      Provides an explicit list of any grammars that should be excluded from the generate phase of the plugin.
      protected Set includes
      Provides an explicit list of all the grammars that should be included in the generate phase of the plugin.
      protected String messageFormat
      If this parameter is set, it indicates that any warning or error messages returned by ANLTR, shoould be formatted in the specified way.
      protected boolean nfa
      If set to true then the ANTLR tool will generate a description of the nfa for each rule in Dot format
      protected boolean 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.
      protected boolean profile
      If set to true, then then the generated parser will compute and report on profile information at runtime.
      protected org.apache.maven.project.MavenProject project  
      protected boolean 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.
      protected Tool tool
      An instance of the ANTLR tool build
      protected boolean trace
      If set to true, the generated parser code will log rule entry and exit points to stdout as an aid to debugging.
      protected boolean 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.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      Antlr3Mojo()  
    • Field Detail

      • report

        protected boolean 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.
      • printGrammar

        protected boolean 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.
      • debug

        protected boolean 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).
      • profile

        protected boolean profile
        If set to true, then then the generated parser will compute and report on profile information at runtime.
      • nfa

        protected boolean nfa
        If set to true then the ANTLR tool will generate a description of the nfa for each rule in Dot format
      • dfa

        protected boolean dfa
        If set to true then the ANTLR tool will generate a description of the DFA for each decision in the grammar in Dot format
      • trace

        protected boolean trace
        If set to true, the generated parser code will log rule entry and exit points to stdout as an aid to debugging.
      • messageFormat

        protected String 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 suports the built-in formats of antlr, gnu and vs2005.
      • verbose

        protected boolean 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.
      • includes

        protected Set 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

        protected Set 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.
      • project

        protected org.apache.maven.project.MavenProject project
      • tool

        protected Tool tool
        An instance of the ANTLR tool build
    • Constructor Detail

      • Antlr3Mojo

        public Antlr3Mojo()
    • Method Detail

      • getSourceDirectory

        public File getSourceDirectory()
      • getOutputDirectory

        public File getOutputDirectory()
      • getLibDirectory

        public File getLibDirectory()
      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        The main entry point for this Mojo, it is responsible for converting ANTLR 3.x grammars into the target language specified by the grammar.
        Throws:
        org.apache.maven.plugin.MojoExecutionException - When something is disvocered such as a missing source
        org.apache.maven.plugin.MojoFailureException - When something really bad happesn such as not being able to create the ANTLR Tool
      • getIncludesPatterns

        public Set getIncludesPatterns()