public class CodeGenerator
extends java.lang.Object
| Modifier and Type | Field and 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 |
| Modifier | Constructor and Description |
|---|---|
|
CodeGenerator(Grammar g) |
private |
CodeGenerator(java.lang.String language) |
|
CodeGenerator(Tool tool,
Grammar g,
java.lang.String language) |
| Modifier and Type | Method and Description |
|---|---|
private OutputModelController |
createController() |
org.stringtemplate.v4.ST |
generateBaseListener() |
org.stringtemplate.v4.ST |
generateBaseVisitor() |
org.stringtemplate.v4.ST |
generateLexer() |
org.stringtemplate.v4.ST |
generateListener() |
org.stringtemplate.v4.ST |
generateParser() |
org.stringtemplate.v4.ST |
generateVisitor() |
java.lang.String |
getBaseListenerFileName()
A given grammar T, return a blank listener implementation
such as TBaseListener.java, if we're using the Java target.
|
java.lang.String |
getBaseVisitorFileName()
A given grammar T, return a blank listener implementation
such as TBaseListener.java, if we're using the Java target.
|
java.lang.String |
getHeaderFileName() |
java.lang.String |
getListenerFileName()
A given grammar T, return the listener name such as
TListener.java, if we're using the Java target.
|
java.lang.String |
getRecognizerFileName()
Generate TParser.java and TLexer.java from T.g4 if combined, else
just use T.java as output regardless of type.
|
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()
A given grammar T, return the visitor name such as
TVisitor.java, if we're using the Java target.
|
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) |
void |
write(org.stringtemplate.v4.ST code,
java.lang.String fileName) |
void |
writeBaseListener(org.stringtemplate.v4.ST outputFileST) |
void |
writeBaseVisitor(org.stringtemplate.v4.ST outputFileST) |
void |
writeHeaderFile() |
void |
writeListener(org.stringtemplate.v4.ST outputFileST) |
void |
writeRecognizer(org.stringtemplate.v4.ST outputFileST) |
void |
writeVisitor(org.stringtemplate.v4.ST outputFileST) |
void |
writeVocabFile() |
public static final java.lang.String TEMPLATE_ROOT
public static final java.lang.String VOCAB_FILE_EXTENSION
public static final java.lang.String DEFAULT_LANGUAGE
public static final java.lang.String vocabFilePattern
public final Grammar g
public final Tool tool
public final java.lang.String language
private Target target
public int lineWidth
private CodeGenerator(java.lang.String language)
public CodeGenerator(Grammar g)
public static boolean targetExists(java.lang.String language)
public Target getTarget()
public org.stringtemplate.v4.STGroup getTemplates()
protected void loadLanguageTarget(java.lang.String language)
private OutputModelController createController()
private org.stringtemplate.v4.ST walk(OutputModelObject outputModel)
public org.stringtemplate.v4.ST generateLexer()
public org.stringtemplate.v4.ST generateParser()
public org.stringtemplate.v4.ST generateListener()
public org.stringtemplate.v4.ST generateBaseListener()
public org.stringtemplate.v4.ST generateVisitor()
public org.stringtemplate.v4.ST generateBaseVisitor()
org.stringtemplate.v4.ST getTokenVocabOutput()
public void writeRecognizer(org.stringtemplate.v4.ST outputFileST)
public void writeListener(org.stringtemplate.v4.ST outputFileST)
public void writeBaseListener(org.stringtemplate.v4.ST outputFileST)
public void writeVisitor(org.stringtemplate.v4.ST outputFileST)
public void writeBaseVisitor(org.stringtemplate.v4.ST outputFileST)
public void writeHeaderFile()
public void writeVocabFile()
public void write(org.stringtemplate.v4.ST code,
java.lang.String fileName)
public java.lang.String getRecognizerFileName()
public java.lang.String getListenerFileName()
public java.lang.String getVisitorFileName()
public java.lang.String getBaseListenerFileName()
public java.lang.String getBaseVisitorFileName()
public java.lang.String getVocabFileName()
public java.lang.String getHeaderFileName()