Package org.antlr.v4.codegen
Class CodeGenerator
- java.lang.Object
-
- org.antlr.v4.codegen.CodeGenerator
-
public class CodeGenerator extends java.lang.ObjectGeneral controller for code gen. Can instantiate sub generator(s).
-
-
Field Summary
Fields Modifier and Type Field Description Grammargjava.lang.StringlanguageintlineWidthprivate Targettargetstatic java.lang.StringTEMPLATE_ROOTTooltoolstatic java.lang.StringVOCAB_FILE_EXTENSIONstatic java.lang.StringvocabFilePattern
-
Constructor Summary
Constructors Modifier Constructor Description privateCodeGenerator(Tool tool, Grammar g, java.lang.String language)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CodeGeneratorcreate(Grammar g)static CodeGeneratorcreate(Tool tool, Grammar g, java.lang.String language)private OutputModelControllercreateController()org.stringtemplate.v4.STgenerateBaseListener()org.stringtemplate.v4.STgenerateBaseListener(boolean header)org.stringtemplate.v4.STgenerateBaseVisitor()org.stringtemplate.v4.STgenerateBaseVisitor(boolean header)org.stringtemplate.v4.STgenerateLexer()org.stringtemplate.v4.STgenerateLexer(boolean header)org.stringtemplate.v4.STgenerateListener()org.stringtemplate.v4.STgenerateListener(boolean header)org.stringtemplate.v4.STgenerateParser()org.stringtemplate.v4.STgenerateParser(boolean header)org.stringtemplate.v4.STgenerateVisitor()org.stringtemplate.v4.STgenerateVisitor(boolean header)java.lang.StringgetBaseListenerFileName()java.lang.StringgetBaseListenerFileName(boolean header)java.lang.StringgetBaseVisitorFileName()java.lang.StringgetBaseVisitorFileName(boolean header)java.lang.StringgetHeaderFileName()java.lang.StringgetListenerFileName()java.lang.StringgetListenerFileName(boolean header)java.lang.StringgetRecognizerFileName()java.lang.StringgetRecognizerFileName(boolean header)TargetgetTarget()org.stringtemplate.v4.STGroupgetTemplates()(package private) org.stringtemplate.v4.STgetTokenVocabOutput()Generate a token vocab file with all the token names/types.java.lang.StringgetVisitorFileName()java.lang.StringgetVisitorFileName(boolean header)java.lang.StringgetVocabFileName()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.STwalk(OutputModelObject outputModel, boolean header)voidwrite(org.stringtemplate.v4.ST code, java.lang.String fileName)voidwriteBaseListener(org.stringtemplate.v4.ST outputFileST, boolean header)voidwriteBaseVisitor(org.stringtemplate.v4.ST outputFileST, boolean header)voidwriteListener(org.stringtemplate.v4.ST outputFileST, boolean header)voidwriteRecognizer(org.stringtemplate.v4.ST outputFileST, boolean header)voidwriteVisitor(org.stringtemplate.v4.ST outputFileST, boolean header)voidwriteVocabFile()
-
-
-
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()
-
-