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 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(Tool tool, Grammar g, java.lang.String language)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CodeGenerator
create(Grammar g)
static CodeGenerator
create(Tool tool, Grammar g, java.lang.String language)
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.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
-
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
-
create
public static CodeGenerator create(Grammar g)
-
create
public static CodeGenerator create(Tool tool, Grammar g, java.lang.String language)
-
getTarget
public Target getTarget()
-
getTemplates
public org.stringtemplate.v4.STGroup getTemplates()
-
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()
-
-