Top Description Fields Constructors Methods
org.antlr.v4.codegen

public Class CodeGenerator

extends Object
Class Inheritance
Imports
org.antlr.v4.Tool, org.antlr.v4.codegen.model.OutputModelObject, org.antlr.v4.runtime.Token, org.antlr.v4.tool.ErrorType, .Grammar, org.stringtemplate.v4.AutoIndentWriter, .ST, .STGroup, .STWriter, java.io.IOException, .Writer, java.lang.reflect.Constructor, java.util.LinkedHashMap, .Map

General controller for code gen. Can instantiate sub generator(s).

Field Summary

Modifier and TypeField and Description
public final Grammar
g

public final String
public int
private Target
public static final String
public final Tool
public static final String
public static final String

Constructor Summary

AccessConstructor and Description
private
CodeGenerator(Tool tool, Grammar g, String language)

Method Summary

Modifier and TypeMethod and Description
public static CodeGenerator
public static CodeGenerator
create(Tool tool, Grammar g, String language)

private OutputModelController
public ST
public ST
generateBaseListener(boolean header)

public ST
public ST
generateBaseVisitor(boolean header)

public ST
public ST
generateLexer(boolean header)

public ST
public ST
generateListener(boolean header)

public ST
public ST
generateParser(boolean header)

public ST
public ST
generateVisitor(boolean header)

public String
public String
getBaseListenerFileName(boolean header)

public String
public String
getBaseVisitorFileName(boolean header)

public String
public String
public String
getListenerFileName(boolean header)

public String
public String
getRecognizerFileName(boolean header)

public Target
public STGroup
pack-priv ST
getTokenVocabOutput()

Generate a token vocab file with all the token names/types.

public String
public String
getVisitorFileName(boolean header)

public String
getVocabFileName()

What is the name of the vocab file generated for this grammar?

private ST
walk(OutputModelObject outputModel, boolean header)

public void
write(ST code, String fileName)

public void
writeBaseListener(ST outputFileST, boolean header)

public void
writeBaseVisitor(ST outputFileST, boolean header)

public void
writeListener(ST outputFileST, boolean header)

public void
writeRecognizer(ST outputFileST, boolean header)

public void
writeVisitor(ST outputFileST, boolean header)

public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

gback to summary
public final Grammar g
languageback to summary
public final String language
lineWidthback to summary
public int lineWidth
targetback to summary
private Target target
TEMPLATE_ROOTback to summary
public static final String TEMPLATE_ROOT
toolback to summary
public final Tool tool
VOCAB_FILE_EXTENSIONback to summary
public static final String VOCAB_FILE_EXTENSION
vocabFilePatternback to summary
public static final String vocabFilePattern

Constructor Detail

CodeGeneratorback to summary
private CodeGenerator(Tool tool, Grammar g, String language)

Method Detail

createback to summary
public static CodeGenerator create(Grammar g)
createback to summary
public static CodeGenerator create(Tool tool, Grammar g, String language)
createControllerback to summary
private OutputModelController createController()
generateBaseListenerback to summary
public ST generateBaseListener()
generateBaseListenerback to summary
public ST generateBaseListener(boolean header)
generateBaseVisitorback to summary
public ST generateBaseVisitor()
generateBaseVisitorback to summary
public ST generateBaseVisitor(boolean header)
generateLexerback to summary
public ST generateLexer()
generateLexerback to summary
public ST generateLexer(boolean header)
generateListenerback to summary
public ST generateListener()
generateListenerback to summary
public ST generateListener(boolean header)
generateParserback to summary
public ST generateParser()
generateParserback to summary
public ST generateParser(boolean header)
generateVisitorback to summary
public ST generateVisitor()
generateVisitorback to summary
public ST generateVisitor(boolean header)
getBaseListenerFileNameback to summary
public String getBaseListenerFileName()
getBaseListenerFileNameback to summary
public String getBaseListenerFileName(boolean header)
getBaseVisitorFileNameback to summary
public String getBaseVisitorFileName()
getBaseVisitorFileNameback to summary
public String getBaseVisitorFileName(boolean header)
getHeaderFileNameback to summary
public String getHeaderFileName()
getListenerFileNameback to summary
public String getListenerFileName()
getListenerFileNameback to summary
public String getListenerFileName(boolean header)
getRecognizerFileNameback to summary
public String getRecognizerFileName()
getRecognizerFileNameback to summary
public String getRecognizerFileName(boolean header)
getTargetback to summary
public Target getTarget()
getTemplatesback to summary
public STGroup getTemplates()
getTokenVocabOutputback to summary
pack-priv 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

getVisitorFileNameback to summary
public String getVisitorFileName()
getVisitorFileNameback to summary
public String getVisitorFileName(boolean header)
getVocabFileNameback to summary
public String getVocabFileName()

What is the name of the vocab file generated for this grammar? Returns null if no .tokens file should be generated.

walkback to summary
private ST walk(OutputModelObject outputModel, boolean header)
writeback to summary
public void write(ST code, String fileName)
writeBaseListenerback to summary
public void writeBaseListener(ST outputFileST, boolean header)
writeBaseVisitorback to summary
public void writeBaseVisitor(ST outputFileST, boolean header)
writeListenerback to summary
public void writeListener(ST outputFileST, boolean header)
writeRecognizerback to summary
public void writeRecognizer(ST outputFileST, boolean header)
writeVisitorback to summary
public void writeVisitor(ST outputFileST, boolean header)
writeVocabFileback to summary
public void writeVocabFile()