Package org.antlr.mojo.antlr4
Class Antlr4Mojo.CustomTool
- java.lang.Object
-
- org.antlr.v4.Tool
-
- org.antlr.mojo.antlr4.Antlr4Mojo.CustomTool
-
- Enclosing class:
- Antlr4Mojo
private final class Antlr4Mojo.CustomTool extends Tool
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.antlr.v4.Tool
Tool.Option, Tool.OptionArgType
-
-
Field Summary
-
Fields inherited from class org.antlr.v4.Tool
ALL_GRAMMAR_EXTENSIONS, args, errMgr, exact_output_dir, force_atn, gen_dependencies, gen_listener, gen_visitor, generate_ATN_dot, genPackage, GRAMMAR_EXTENSION, grammarEncoding, grammarFiles, grammarOptions, haveOutputDir, inputDirectory, launch_ST_inspector, LEGACY_GRAMMAR_EXTENSION, libDirectory, log, logMgr, longMessages, msgFormat, optionDefs, outputDirectory, return_dont_exit, ST_inspector_wait_for_close, VERSION, warnings_are_errors
-
-
Constructor Summary
Constructors Constructor Description CustomTool(java.lang.String[] args)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.Writer
getOutputFileWriter(Grammar g, java.lang.String fileName)
This method is used by all code generators to create new output files.void
process(Grammar g, boolean gencode)
To process a grammar, we load all of its imported grammars into subordinate grammar objects.-
Methods inherited from class org.antlr.v4.Tool
addListener, checkForRuleIssues, createGrammar, error, exit, findOptionValueAST, generateATNs, generateInterpreterData, getImportedGrammarFile, getListeners, getNumErrors, getOutputDirectory, handleArgs, handleOptionSetArg, help, info, loadGrammar, loadImportedGrammar, log, log, main, new_getOutputDirectory, panic, parse, parseGrammar, parseGrammarFromString, processGrammarsOnCommandLine, processNonCombinedGrammar, removeListener, removeListeners, sortGrammarByTokenVocab, version, warning, writeDOTFile, writeDOTFile
-
-
-
-
Method Detail
-
process
public void process(Grammar g, boolean gencode)
Description copied from class:Tool
To process a grammar, we load all of its imported grammars into subordinate grammar objects. Then we merge the imported rules into the root grammar. If a root grammar is a combined grammar, we have to extract the implicit lexer. Once all this is done, we process the lexer first, if present, and then the parser grammar
-
getOutputFileWriter
public java.io.Writer getOutputFileWriter(Grammar g, java.lang.String fileName) throws java.io.IOException
Description copied from class:Tool
This method is used by all code generators to create new output files. If the outputDir set by -o is not present it will be created. The final filename is sensitive to the output directory and the directory where the grammar file was found. If -o is /tmp and the original grammar file was foo/t.g4 then output files go in /tmp/foo. The output dir -o spec takes precedence if it's absolute. E.g., if the grammar file dir is absolute the output dir is given precedence. "-o /tmp /usr/lib/t.g4" results in "/tmp/T.java" as output (assuming t.g4 holds T.java). If no -o is specified, then just write to the directory where the grammar file was found. If outputDirectory==null then write a String.- Overrides:
getOutputFileWriter
in classTool
- Throws:
java.io.IOException
-
-