Package com.javacc.output
Class Translator
java.lang.Object
com.javacc.output.Translator
- Direct Known Subclasses:
CSharpTranslator,PythonTranslator
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classprotected classstatic classstatic enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected intprotected Translator.SymbolTableprotected Grammarprotected booleanprotected booleanprotected intprotected Map<String, Translator.ASTTypeExpression> protected List<Translator.SymbolTable> protected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddIndent(int amount, StringBuilder result) voidaddParameterName(String name) voidaddSymbol(String name, Translator.ASTTypeExpression type) static StringcamelToSnake(String ident) voidvoidvoidvoidfail()findSymbol(String name) protected Translator.ASTTypeExpressionintintprotected Stringstatic TranslatorgetTranslatorFor(Grammar grammar) protected booleanhasUnconditionalExit(Translator.ASTStatementList statementList) protected voidinternalTranslateExpression(Translator.ASTExpression expr, Translator.TranslationContext ctx, StringBuilder result) protected voidinternalTranslateStatement(Translator.ASTStatement stmt, int indent, StringBuilder result) booleanprotected booleanisEnumSet(Translator.ASTExpression receiver) booleanprotected booleanbooleanbooleanisParameterName(String name) booleanprotected booleanprotected booleanstatic <T> Set<T> makeSet(T... objs) protected booleanvoidprotected voidprocessBinaryExpression(boolean parens, Translator.ASTExpression lhs, String xop, Translator.ASTExpression rhs, StringBuilder result) protected voidprocessForIteration(List<Translator.ASTExpression> iteration, int indent, StringBuilder result) protected voidprocessVariableDeclaration(Translator.ASTTypeExpression type, Translator.ASTPrimaryExpression name, boolean isField, boolean isProperty) voidpushSymbols(Translator.SymbolTable symbols) voidstartClass(String name) protected Translator.ASTFormalParameterprotected List<Translator.ASTFormalParameter> transformFormals(List<FormalParameter> formals) protected Translator.ASTHelperNodetransformTree(Node node) protected Translator.ASTHelperNodetransformTree(Node node, boolean forType) protected voidtranslateArguments(List<Translator.ASTExpression> arguments, boolean parens, StringBuilder result) protected voidprotected voidtranslateCast(Translator.ASTTypeExpression cast, StringBuilder result) voidtranslateExpression(Node expr, StringBuilder result) protected voidtranslateFormals(List<Translator.ASTFormalParameter> formals, Translator.SymbolTable symbols, boolean withType, boolean typeFirst, StringBuilder result) voidtranslateFormals(List<FormalParameter> formals, Translator.SymbolTable symbols, StringBuilder result) translateGetter(String getterName) translateIdentifier(String ident, Translator.TranslationContext kind) translateInjectedClass(CodeInjector injector, String name) protected voidprotected voidtranslateInvocation(Translator.ASTInvocation expr, StringBuilder result) translateOperator(String operator) protected voidtranslatePrimaryExpression(Translator.ASTPrimaryExpression expr, Translator.TranslationContext ctx, StringBuilder result) voidtranslateProperties(String name, int indent, StringBuilder result) voidtranslateStatement(Node stmt, int indent, StringBuilder result) protected voidprotected voidtranslateType(Translator.ASTTypeExpression expr, StringBuilder result) protected voidtranslateUnaryExpression(Translator.ASTUnaryExpression expr, Translator.TranslationContext ctx, StringBuilder result)
-
Field Details
-
grammar
-
tempVarCounter
protected int tempVarCounter -
tokenNames
-
fieldIndent
protected int fieldIndent -
methodIndent
protected int methodIndent -
isTyped
protected boolean isTyped -
inInterface
protected boolean inInterface -
currentClass
-
symbolStack
-
properties
-
fields
-
propertyMap
-
parameterNames
-
-
Constructor Details
-
Translator
-
-
Method Details
-
makeSet
-
clearFields
public void clearFields() -
pushSymbols
-
popSymbols
public void popSymbols() -
topSymbols
-
addSymbol
-
addParameterName
-
isParameterName
-
clearParameterNames
public void clearParameterNames() -
findSymbol
-
getFieldIndent
public int getFieldIndent() -
getMethodIndent
public int getMethodIndent() -
getTranslatorFor
-
getTempVarName
-
translateOperator
-
camelToSnake
-
translateIdentifier
-
translateGetter
-
isGetter
-
isSetter
-
transformFormal
-
transformTree
-
transformTree
-
fail
- Throws:
UnsupportedOperationException
-
isNull
-
isAssignment
-
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
-
translateTernaryExpression
protected void translateTernaryExpression(Translator.ASTTernaryExpression expr, StringBuilder result) -
translateInstanceofExpression
protected void translateInstanceofExpression(Translator.ASTInstanceofExpression expr, StringBuilder result) -
translateInvocation
-
internalTranslateExpression
protected void internalTranslateExpression(Translator.ASTExpression expr, Translator.TranslationContext ctx, StringBuilder result) -
translateCast
-
translateExpression
-
addIndent
-
internalTranslateStatement
protected void internalTranslateStatement(Translator.ASTStatement stmt, int indent, StringBuilder result) -
translateStatement
-
translateProperties
-
translateNonterminalArgs
-
translateType
-
translateFormals
protected void translateFormals(List<Translator.ASTFormalParameter> formals, Translator.SymbolTable symbols, boolean withType, boolean typeFirst, StringBuilder result) -
transformFormals
-
translateFormals
public void translateFormals(List<FormalParameter> formals, Translator.SymbolTable symbols, StringBuilder result) -
translateInjectedClass
-
processVariableDeclaration
protected void processVariableDeclaration(Translator.ASTTypeExpression type, Translator.ASTPrimaryExpression name, boolean isField, boolean isProperty) -
isList
-
processForIteration
protected void processForIteration(List<Translator.ASTExpression> iteration, int indent, StringBuilder result) -
isThis
-
needsParentheses
-
processBinaryExpression
protected void processBinaryExpression(boolean parens, Translator.ASTExpression lhs, String xop, Translator.ASTExpression rhs, StringBuilder result) -
hasUnconditionalExit
-
getExpressionType
-
isEnumSet
-
translateArguments
protected void translateArguments(List<Translator.ASTExpression> arguments, boolean parens, StringBuilder result) -
isTokenType
-
startClass
-
endClass
-