Package org.javacc.parser
Class CodeGenerator
- java.lang.Object
-
- org.javacc.parser.CodeGenerator
-
-
Field Summary
Fields Modifier and Type Field Description protected int
ccol
protected int
cline
protected java.lang.StringBuffer
includeBuffer
protected java.lang.StringBuffer
mainBuffer
protected java.lang.StringBuffer
outputBuffer
protected java.lang.StringBuffer
staticsBuffer
-
Constructor Summary
Constructors Constructor Description CodeGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
genAnnotation(java.lang.String ann)
Generate annotation.void
genClassStart(java.lang.String mod, java.lang.String name, java.lang.String[] superClasses, java.lang.String[] superInterfaces)
Generate a class with a given name, an array of superclass and another array of super interfaesvoid
genCode(java.lang.Object... code)
void
genCodeLine(java.lang.Object... code)
void
generateMethodDefHeader(java.lang.String modsAndRetType, java.lang.String className, java.lang.String nameAndParams)
void
generateMethodDefHeader(java.lang.String qualifiedModsAndRetType, java.lang.String className, java.lang.String nameAndParams, java.lang.String exceptions)
void
genModifier(java.lang.String mod)
Generate a modifiervoid
genStringLiteralArrayCPP(java.lang.String varName, java.lang.String[] arr)
void
genStringLiteralInCPP(java.lang.String s)
static java.lang.String
getCharStreamName()
protected java.lang.String
getClassQualifier(java.lang.String className)
java.lang.String
getGeneratedCode()
for testingprotected java.lang.String
getLeadingComments(Token t)
protected java.lang.String
getStringForTokenOnly(Token t)
protected java.lang.String
getStringToPrint(Token t)
protected java.lang.String
getTrailingComments(Token t)
protected boolean
isJavaLanguage()
protected void
printLeadingComments(Token t)
protected void
printToken(Token t)
protected void
printTokenList(java.util.List<Token> list)
protected void
printTokenOnly(Token t)
protected void
printTokenSetup(Token t)
protected void
printTrailingComments(Token t)
void
saveOutput(java.lang.String fileName)
void
saveOutput(java.lang.String fileName, java.lang.StringBuffer sb)
void
switchToIncludeFile()
void
switchToMainFile()
void
switchToStaticsFile()
protected void
writeTemplate(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object... additionalOptions)
-
-
-
Method Detail
-
genStringLiteralArrayCPP
public void genStringLiteralArrayCPP(java.lang.String varName, java.lang.String[] arr)
-
genStringLiteralInCPP
public void genStringLiteralInCPP(java.lang.String s)
-
genCodeLine
public void genCodeLine(java.lang.Object... code)
-
genCode
public void genCode(java.lang.Object... code)
-
saveOutput
public void saveOutput(java.lang.String fileName)
-
saveOutput
public void saveOutput(java.lang.String fileName, java.lang.StringBuffer sb)
-
printTokenSetup
protected void printTokenSetup(Token t)
-
printTokenList
protected void printTokenList(java.util.List<Token> list)
-
printTokenOnly
protected void printTokenOnly(Token t)
-
getStringForTokenOnly
protected java.lang.String getStringForTokenOnly(Token t)
-
printToken
protected void printToken(Token t)
-
getStringToPrint
protected java.lang.String getStringToPrint(Token t)
-
printLeadingComments
protected void printLeadingComments(Token t)
-
getLeadingComments
protected java.lang.String getLeadingComments(Token t)
-
printTrailingComments
protected void printTrailingComments(Token t)
-
getTrailingComments
protected java.lang.String getTrailingComments(Token t)
-
getGeneratedCode
public java.lang.String getGeneratedCode()
for testing
-
genAnnotation
public void genAnnotation(java.lang.String ann)
Generate annotation. @XX syntax for java, comments in C++
-
genModifier
public void genModifier(java.lang.String mod)
Generate a modifier
-
genClassStart
public void genClassStart(java.lang.String mod, java.lang.String name, java.lang.String[] superClasses, java.lang.String[] superInterfaces)
Generate a class with a given name, an array of superclass and another array of super interfaes
-
isJavaLanguage
protected boolean isJavaLanguage()
-
switchToMainFile
public void switchToMainFile()
-
switchToStaticsFile
public void switchToStaticsFile()
-
switchToIncludeFile
public void switchToIncludeFile()
-
generateMethodDefHeader
public void generateMethodDefHeader(java.lang.String modsAndRetType, java.lang.String className, java.lang.String nameAndParams)
-
generateMethodDefHeader
public void generateMethodDefHeader(java.lang.String qualifiedModsAndRetType, java.lang.String className, java.lang.String nameAndParams, java.lang.String exceptions)
-
getClassQualifier
protected java.lang.String getClassQualifier(java.lang.String className)
-
getCharStreamName
public static java.lang.String getCharStreamName()
-
writeTemplate
protected void writeTemplate(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object... additionalOptions) throws java.io.IOException
- Throws:
java.io.IOException
-
-