public class Antlr3Mojo
extends org.apache.maven.plugin.AbstractMojo
Modifier and Type | Field and Description |
---|---|
private int |
conversionTimeout
The number of milliseconds ANTLR will wait for analysis of each
alternative in the grammar to complete before giving up.
|
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 java.util.Set |
excludes
Provides an explicit list of any grammars that should be excluded from
the generate phase of the plugin.
|
protected java.util.Set |
includes
Provides an explicit list of all the grammars that should
be included in the generate phase of the plugin.
|
private java.io.File |
libDirectory
Location for imported token files, e.g.
|
private int |
maxSwitchCaseLabels
The number of alts, beyond which ANTLR will not generate a switch statement
for the DFA.
|
protected java.lang.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.
|
private int |
minSwitchAlts
The number of alts, below which ANTLR will not choose to generate a switch
statement over an if statement.
|
protected boolean |
nfa
If set to true then the ANTLR tool will generate a description of the nfa
for each rule in Dot format
|
private java.io.File |
outputDirectory
Location for generated Java files.
|
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.
|
private java.io.File |
sourceDirectory
Specifies the Antlr directory containing grammar files.
|
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.
|
Constructor and Description |
---|
Antlr3Mojo() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addSourceRoot(java.io.File outputDir) |
void |
execute()
The main entry point for this Mojo, it is responsible for converting
ANTLR 3.x grammars into the target language specified by the grammar.
|
private java.lang.String |
findSourceSubdir(java.io.File sourceDirectory,
java.lang.String grammarFileName)
Given the source directory File object and the full PATH to a
grammar, produce the path to the named grammar file in relative
terms to the sourceDirectory.
|
java.util.Set |
getIncludesPatterns() |
java.io.File |
getLibDirectory() |
java.io.File |
getOutputDirectory() |
java.io.File |
getSourceDirectory() |
private void |
processGrammarFiles(java.io.File sourceDirectory,
java.io.File outputDirectory) |
protected boolean report
protected boolean printGrammar
protected boolean debug
protected boolean profile
protected boolean nfa
protected boolean dfa
protected boolean trace
protected java.lang.String messageFormat
protected boolean verbose
private int conversionTimeout
private int maxSwitchCaseLabels
private int minSwitchAlts
protected java.util.Set includes
protected java.util.Set excludes
protected org.apache.maven.project.MavenProject project
private java.io.File sourceDirectory
private java.io.File outputDirectory
private java.io.File libDirectory
.tokens
and imported grammars.
Note that ANTLR will not try to process grammars that it finds to be imported
into other grammars (in the same processing session).protected Tool tool
public java.io.File getSourceDirectory()
public java.io.File getOutputDirectory()
public java.io.File getLibDirectory()
void addSourceRoot(java.io.File outputDir)
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
- When something is disvocered such as a missing sourceorg.apache.maven.plugin.MojoFailureException
- When something really bad happesn such as not being able to create the ANTLR Toolprivate void processGrammarFiles(java.io.File sourceDirectory, java.io.File outputDirectory) throws antlr.TokenStreamException, antlr.RecognitionException, java.io.IOException, org.codehaus.plexus.compiler.util.scan.InclusionScanException
sourceDirectory
- outputDirectory
- antlr.TokenStreamException
antlr.RecognitionException
java.io.IOException
org.codehaus.plexus.compiler.util.scan.InclusionScanException
public java.util.Set getIncludesPatterns()
private java.lang.String findSourceSubdir(java.io.File sourceDirectory, java.lang.String grammarFileName)
sourceDirectory
- The source directory File objectgrammarFileName
- The full path to the input grammar file