Package com.javacc.output
Class Translator
- java.lang.Object
-
- com.javacc.output.Translator
-
- Direct Known Subclasses:
CSharpTranslator,PythonTranslator
public class Translator extends Object
-
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected StringcurrentClassprotected intfieldIndentprotected Translator.SymbolTablefieldsprotected Grammargrammarprotected booleaninInterfaceprotected booleanisTypedprotected intmethodIndentprotected Set<String>parameterNamesprotected Map<String,Translator.ASTTypeExpression>propertiesprotected Map<String,Set<String>>propertyMapprotected List<Translator.SymbolTable>symbolStackprotected inttempVarCounterprotected Set<String>tokenNames
-
Constructor Summary
Constructors Constructor Description Translator(Grammar grammar)
-
Method Summary
-
-
-
Field Detail
-
grammar
protected Grammar grammar
-
tempVarCounter
protected int tempVarCounter
-
fieldIndent
protected int fieldIndent
-
methodIndent
protected int methodIndent
-
isTyped
protected boolean isTyped
-
inInterface
protected boolean inInterface
-
currentClass
protected String currentClass
-
symbolStack
protected List<Translator.SymbolTable> symbolStack
-
properties
protected Map<String,Translator.ASTTypeExpression> properties
-
fields
protected Translator.SymbolTable fields
-
-
Constructor Detail
-
Translator
public Translator(Grammar grammar)
-
-
Method Detail
-
makeSet
public static <T> Set<T> makeSet(T... objs)
-
clearFields
public void clearFields()
-
pushSymbols
public void pushSymbols(Translator.SymbolTable symbols)
-
popSymbols
public void popSymbols()
-
topSymbols
public Translator.SymbolTable topSymbols()
-
addSymbol
public void addSymbol(String name, Translator.ASTTypeExpression type)
-
addParameterName
public void addParameterName(String name)
-
isParameterName
public boolean isParameterName(String name)
-
clearParameterNames
public void clearParameterNames()
-
findSymbol
public Translator.ASTTypeExpression findSymbol(String name)
-
getFieldIndent
public int getFieldIndent()
-
getMethodIndent
public int getMethodIndent()
-
getTranslatorFor
public static Translator getTranslatorFor(Grammar grammar)
-
getTempVarName
protected String getTempVarName()
-
translateIdentifier
public String translateIdentifier(String ident, Translator.TranslationContext kind)
-
isGetter
public boolean isGetter(String name)
-
isSetter
public boolean isSetter(String name)
-
transformFormal
protected Translator.ASTFormalParameter transformFormal(FormalParameter fp)
-
transformTree
protected Translator.ASTHelperNode transformTree(Node node, boolean forType)
-
transformTree
protected Translator.ASTHelperNode transformTree(Node node)
-
fail
public void fail() throws UnsupportedOperationException- Throws:
UnsupportedOperationException
-
isNull
public boolean isNull(Translator.ASTExpression expr)
-
isAssignment
public boolean isAssignment(Translator.ASTExpression expr)
-
translatePrimaryExpression
protected void translatePrimaryExpression(Translator.ASTPrimaryExpression expr, Translator.TranslationContext ctx, StringBuilder result)
-
translateUnaryExpression
protected void translateUnaryExpression(Translator.ASTUnaryExpression expr, Translator.TranslationContext ctx, StringBuilder result)
-
translateBinaryExpression
protected void translateBinaryExpression(Translator.ASTBinaryExpression expr, StringBuilder result)
-
translateTernaryExpression
protected void translateTernaryExpression(Translator.ASTTernaryExpression expr, StringBuilder result)
-
translateInstanceofExpression
protected void translateInstanceofExpression(Translator.ASTInstanceofExpression expr, StringBuilder result)
-
translateInvocation
protected void translateInvocation(Translator.ASTInvocation expr, StringBuilder result)
-
internalTranslateExpression
protected void internalTranslateExpression(Translator.ASTExpression expr, Translator.TranslationContext ctx, StringBuilder result)
-
translateCast
protected void translateCast(Translator.ASTTypeExpression cast, StringBuilder result)
-
translateExpression
public void translateExpression(Node expr, StringBuilder result)
-
addIndent
protected void addIndent(int amount, StringBuilder result)
-
internalTranslateStatement
protected void internalTranslateStatement(Translator.ASTStatement stmt, int indent, StringBuilder result)
-
translateStatement
public void translateStatement(Node stmt, int indent, StringBuilder result)
-
translateProperties
public void translateProperties(String name, int indent, StringBuilder result)
-
translateType
protected void translateType(Translator.ASTTypeExpression expr, StringBuilder result)
-
translateFormals
protected void translateFormals(List<Translator.ASTFormalParameter> formals, Translator.SymbolTable symbols, boolean withType, boolean typeFirst, StringBuilder result)
-
transformFormals
protected List<Translator.ASTFormalParameter> transformFormals(List<FormalParameter> formals)
-
translateFormals
public void translateFormals(List<FormalParameter> formals, Translator.SymbolTable symbols, StringBuilder result)
-
translateInjectedClass
public String translateInjectedClass(CodeInjector injector, String name)
-
processVariableDeclaration
protected void processVariableDeclaration(Translator.ASTTypeExpression type, Translator.ASTPrimaryExpression name, boolean isField, boolean isProperty)
-
isList
protected boolean isList(Translator.ASTExpression node)
-
processForIteration
protected void processForIteration(List<Translator.ASTExpression> iteration, int indent, StringBuilder result)
-
isThis
protected boolean isThis(Translator.ASTExpression expr)
-
needsParentheses
protected boolean needsParentheses(Translator.ASTExpression expr)
-
processBinaryExpression
protected void processBinaryExpression(boolean parens, Translator.ASTExpression lhs, String xop, Translator.ASTExpression rhs, StringBuilder result)
-
hasUnconditionalExit
protected boolean hasUnconditionalExit(Translator.ASTStatementList statementList)
-
getExpressionType
protected Translator.ASTTypeExpression getExpressionType(Translator.ASTExpression expr)
-
isEnumSet
protected boolean isEnumSet(Translator.ASTExpression receiver)
-
translateArguments
protected void translateArguments(List<Translator.ASTExpression> arguments, boolean parens, StringBuilder result)
-
isTokenType
protected boolean isTokenType(Translator.ASTExpression expr)
-
startClass
public void startClass(String name)
-
endClass
public void endClass(String name)
-
-