Package org.antlr.v4.codegen
Class CodeGenerator
- java.lang.Object
-
- org.antlr.v4.codegen.CodeGenerator
-
public class CodeGenerator extends java.lang.Object
General controller for code gen. Can instantiate sub generator(s).
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_LANGUAGE
Grammar
g
java.lang.String
language
int
lineWidth
private Target
target
static java.lang.String
TEMPLATE_ROOT
Tool
tool
static java.lang.String
VOCAB_FILE_EXTENSION
static java.lang.String
vocabFilePattern
-
Constructor Summary
Constructors Modifier Constructor Description private
CodeGenerator(java.lang.String language)
CodeGenerator(Grammar g)
CodeGenerator(Tool tool, Grammar g, java.lang.String language)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private OutputModelController
createController()
org.stringtemplate.v4.ST
generateBaseListener()
org.stringtemplate.v4.ST
generateBaseListener(boolean header)
org.stringtemplate.v4.ST
generateBaseVisitor()
org.stringtemplate.v4.ST
generateBaseVisitor(boolean header)
org.stringtemplate.v4.ST
generateLexer()
org.stringtemplate.v4.ST
generateLexer(boolean header)
org.stringtemplate.v4.ST
generateListener()
org.stringtemplate.v4.ST
generateListener(boolean header)
org.stringtemplate.v4.ST
generateParser()
org.stringtemplate.v4.ST
generateParser(boolean header)
org.stringtemplate.v4.ST
generateVisitor()
org.stringtemplate.v4.ST
generateVisitor(boolean header)
java.lang.String
getBaseListenerFileName()
java.lang.String
getBaseListenerFileName(boolean header)
java.lang.String
getBaseVisitorFileName()
java.lang.String
getBaseVisitorFileName(boolean header)
java.lang.String
getHeaderFileName()
java.lang.String
getListenerFileName()
java.lang.String
getListenerFileName(boolean header)
java.lang.String
getRecognizerFileName()
java.lang.String
getRecognizerFileName(boolean header)
Target
getTarget()
org.stringtemplate.v4.STGroup
getTemplates()
(package private) org.stringtemplate.v4.ST
getTokenVocabOutput()
Generate a token vocab file with all the token names/types.java.lang.String
getVisitorFileName()
java.lang.String
getVisitorFileName(boolean header)
java.lang.String
getVocabFileName()
What is the name of the vocab file generated for this grammar? Returns null if no .tokens file should be generated.protected void
loadLanguageTarget(java.lang.String language)
static boolean
targetExists(java.lang.String language)
private org.stringtemplate.v4.ST
walk(OutputModelObject outputModel, boolean header)
void
write(org.stringtemplate.v4.ST code, java.lang.String fileName)
void
writeBaseListener(org.stringtemplate.v4.ST outputFileST, boolean header)
void
writeBaseVisitor(org.stringtemplate.v4.ST outputFileST, boolean header)
void
writeListener(org.stringtemplate.v4.ST outputFileST, boolean header)
void
writeRecognizer(org.stringtemplate.v4.ST outputFileST, boolean header)
void
writeVisitor(org.stringtemplate.v4.ST outputFileST, boolean header)
void
writeVocabFile()
-
-
-
Field Detail
-
TEMPLATE_ROOT
public static final java.lang.String TEMPLATE_ROOT
- See Also:
- Constant Field Values
-
VOCAB_FILE_EXTENSION
public static final java.lang.String VOCAB_FILE_EXTENSION
- See Also:
- Constant Field Values
-
DEFAULT_LANGUAGE
public static final java.lang.String DEFAULT_LANGUAGE
- See Also:
- Constant Field Values
-
vocabFilePattern
public static final java.lang.String vocabFilePattern
- See Also:
- Constant Field Values
-
g
public final Grammar g
-
tool
public final Tool tool
-
language
public final java.lang.String language
-
target
private Target target
-
lineWidth
public int lineWidth
-
-
Method Detail
-
targetExists
public static boolean targetExists(java.lang.String language)
-
getTarget
public Target getTarget()
-
getTemplates
public org.stringtemplate.v4.STGroup getTemplates()
-
loadLanguageTarget
protected void loadLanguageTarget(java.lang.String language)
-
createController
private OutputModelController createController()
-
walk
private org.stringtemplate.v4.ST walk(OutputModelObject outputModel, boolean header)
-
generateLexer
public org.stringtemplate.v4.ST generateLexer()
-
generateLexer
public org.stringtemplate.v4.ST generateLexer(boolean header)
-
generateParser
public org.stringtemplate.v4.ST generateParser()
-
generateParser
public org.stringtemplate.v4.ST generateParser(boolean header)
-
generateListener
public org.stringtemplate.v4.ST generateListener()
-
generateListener
public org.stringtemplate.v4.ST generateListener(boolean header)
-
generateBaseListener
public org.stringtemplate.v4.ST generateBaseListener()
-
generateBaseListener
public org.stringtemplate.v4.ST generateBaseListener(boolean header)
-
generateVisitor
public org.stringtemplate.v4.ST generateVisitor()
-
generateVisitor
public org.stringtemplate.v4.ST generateVisitor(boolean header)
-
generateBaseVisitor
public org.stringtemplate.v4.ST generateBaseVisitor()
-
generateBaseVisitor
public org.stringtemplate.v4.ST generateBaseVisitor(boolean header)
-
getTokenVocabOutput
org.stringtemplate.v4.ST getTokenVocabOutput()
Generate a token vocab file with all the token names/types. For example: ID=7 FOR=8 'for'=8 This is independent of the target language; used by antlr internally
-
writeRecognizer
public void writeRecognizer(org.stringtemplate.v4.ST outputFileST, boolean header)
-
writeListener
public void writeListener(org.stringtemplate.v4.ST outputFileST, boolean header)
-
writeBaseListener
public void writeBaseListener(org.stringtemplate.v4.ST outputFileST, boolean header)
-
writeVisitor
public void writeVisitor(org.stringtemplate.v4.ST outputFileST, boolean header)
-
writeBaseVisitor
public void writeBaseVisitor(org.stringtemplate.v4.ST outputFileST, boolean header)
-
writeVocabFile
public void writeVocabFile()
-
write
public void write(org.stringtemplate.v4.ST code, java.lang.String fileName)
-
getRecognizerFileName
public java.lang.String getRecognizerFileName()
-
getListenerFileName
public java.lang.String getListenerFileName()
-
getVisitorFileName
public java.lang.String getVisitorFileName()
-
getBaseListenerFileName
public java.lang.String getBaseListenerFileName()
-
getBaseVisitorFileName
public java.lang.String getBaseVisitorFileName()
-
getRecognizerFileName
public java.lang.String getRecognizerFileName(boolean header)
-
getListenerFileName
public java.lang.String getListenerFileName(boolean header)
-
getVisitorFileName
public java.lang.String getVisitorFileName(boolean header)
-
getBaseListenerFileName
public java.lang.String getBaseListenerFileName(boolean header)
-
getBaseVisitorFileName
public java.lang.String getBaseVisitorFileName(boolean header)
-
getVocabFileName
public java.lang.String getVocabFileName()
What is the name of the vocab file generated for this grammar? Returns null if no .tokens file should be generated.
-
getHeaderFileName
public java.lang.String getHeaderFileName()
-
-