joosc.code
Class CodeGenerator

java.lang.Object
  extended byjoosc.analysis.AnalysisAdapter
      extended byjoosc.analysis.DepthFirstAdapter
          extended byjoosc.code.CodeGenerator
All Implemented Interfaces:
Analysis, Switch, Symbol.Constants

public class CodeGenerator
extends DepthFirstAdapter
implements Symbol.Constants


Nested Class Summary
 
Nested classes inherited from class joosc.symbol.Symbol.Constants
Symbol.Constants.SymbolKind
 
Field Summary
 
Fields inherited from interface joosc.symbol.Symbol.Constants
classSymK, fieldSymK, formalSymK, localSymK, methodSymK
 
Constructor Summary
CodeGenerator(java.lang.String filename, AnalysisDataManager proxy)
           
 
Method Summary
 void caseAAndExp(AAndExp node)
           
 void caseAAssignExp(AAssignExp node)
           
 void caseAAssignment(AAssignment node)
           
 void caseACallExp(ACallExp node)
           
 void caseACastExp(ACastExp node)
           
 void caseACasttocharExp(ACasttocharExp node)
           
 void caseACharconstExp(ACharconstExp node)
           
 void caseAClassinstancecreation(AClassinstancecreation node)
           
 void caseADivExp(ADivExp node)
           
 void caseAEqExp(AEqExp node)
           
 void caseAExpStm(AExpStm node)
           
 void caseAFalseExp(AFalseExp node)
           
 void caseAGeqExp(AGeqExp node)
           
 void caseAGtExp(AGtExp node)
           
 void caseAIdExp(AIdExp node)
           
 void caseAIfelseStm(AIfelseStm node)
           
 void caseAIfStm(AIfStm node)
           
 void caseAInstanceofExp(AInstanceofExp node)
           
 void caseAIntconstExp(AIntconstExp node)
           
 void caseALeqExp(ALeqExp node)
           
 void caseALtExp(ALtExp node)
           
 void caseAMethodinvocation(AMethodinvocation node)
           
 void caseAMinusExp(AMinusExp node)
           
 void caseAModExp(AModExp node)
           
 void caseAMultExp(AMultExp node)
           
 void caseANeqExp(ANeqExp node)
           
 void caseANewExp(ANewExp node)
           
 void caseANotExp(ANotExp node)
           
 void caseANullExp(ANullExp node)
           
 void caseAOrExp(AOrExp node)
           
 void caseAParenExp(AParenExp node)
           
 void caseAPlusExp(APlusExp node)
           
 void caseAReturnStm(AReturnStm node)
           
 void caseAStringconstExp(AStringconstExp node)
           
 void caseASuperconsStm(ASuperconsStm node)
           
 void caseASuperReceiver(ASuperReceiver node)
           
 void caseAThisExp(AThisExp node)
           
 void caseATrueExp(ATrueExp node)
           
 void caseAUminusExp(AUminusExp node)
           
 void caseAWhileStm(AWhileStm node)
           
 void inAAbstractMethod(AAbstractMethod node)
           
 void inAClass(AClass node)
          AST VISITORS *
 void inAConstructor(AConstructor node)
           
 void inAExternClass(AExternClass node)
           
 void inAExternConstructor(AExternConstructor node)
           
 void inAMainMethod(AMainMethod node)
           
 void inAModExternMethod(AModExternMethod node)
           
 void inAModMethod(AModMethod node)
           
 void inANonmodExternMethod(ANonmodExternMethod node)
           
 void inANonmodMethod(ANonmodMethod node)
           
 void outAAbstractMethod(AAbstractMethod node)
           
 void outAClass(AClass node)
           
 void outAConstructor(AConstructor node)
           
 void outAExternClass(AExternClass node)
           
 void outAExternConstructor(AExternConstructor node)
           
 void outAMainMethod(AMainMethod node)
           
 void outAModExternMethod(AModExternMethod node)
           
 void outAModMethod(AModMethod node)
           
 void outANonmodExternMethod(ANonmodExternMethod node)
           
 void outANonmodMethod(ANonmodMethod node)
           
static void walk(java.util.List theProgram, AnalysisDataManager proxy)
           
 
Methods inherited from class joosc.analysis.DepthFirstAdapter
caseAAbstractClassmods, caseAAbstractExternMethodmods, caseAAbstractMethod, caseAArgumentList, caseAAssignStmExp, caseABlockSimplestm, caseABlockStm, caseABooleanType, caseACallStmExp, caseACharType, caseAClass, caseAConstructor, caseADeclFirstStm, caseADeclStm, caseADefaultClassfile, caseADynamicStm, caseAExpSimplestm, caseAExtension, caseAExternClass, caseAExternClassfile, caseAExternConstructor, caseAField, caseAFinalClassmods, caseAFinalExternMethodmods, caseAFinalMethodmods, caseAFirstField, caseAFirstMainargv, caseAFormal, caseAFormalList, caseAForStm, caseAForStmNoShortIf, caseAIdentifierList, caseAIfelseStmNoShortIf, caseAIncStmExp, caseAIntType, caseAMainMethod, caseAModExternMethod, caseAModMethod, caseANewStmExp, caseANonmodExternMethod, caseANonmodMethod, caseANonvoidReturntype, caseAObjectReceiver, caseAOnefield, caseAOnelocal, caseAPolynullType, caseAReferenceType, caseAReturnSimplestm, caseASecondMainargv, caseASimpleStm, caseASimpleStmNoShortIf, caseASkipSimplestm, caseASkipStm, caseASynchronizedExternMethodmods, caseASynchronizedMethodmods, caseATmpcastExp, caseAVoidReturntype, caseAVoidType, caseAWhileStmNoShortIf, caseStart, defaultIn, defaultOut, inAAbstractClassmods, inAAbstractExternMethodmods, inAAndExp, inAArgumentList, inAAssignExp, inAAssignment, inAAssignStmExp, inABlockSimplestm, inABlockStm, inABooleanType, inACallExp, inACallStmExp, inACastExp, inACasttocharExp, inACharconstExp, inACharType, inAClassinstancecreation, inADeclFirstStm, inADeclStm, inADefaultClassfile, inADivExp, inADynamicStm, inAEqExp, inAExpSimplestm, inAExpStm, inAExtension, inAExternClassfile, inAFalseExp, inAField, inAFinalClassmods, inAFinalExternMethodmods, inAFinalMethodmods, inAFirstField, inAFirstMainargv, inAFormal, inAFormalList, inAForStm, inAForStmNoShortIf, inAGeqExp, inAGtExp, inAIdentifierList, inAIdExp, inAIfelseStm, inAIfelseStmNoShortIf, inAIfStm, inAIncStmExp, inAInstanceofExp, inAIntconstExp, inAIntType, inALeqExp, inALtExp, inAMethodinvocation, inAMinusExp, inAModExp, inAMultExp, inANeqExp, inANewExp, inANewStmExp, inANonvoidReturntype, inANotExp, inANullExp, inAObjectReceiver, inAOnefield, inAOnelocal, inAOrExp, inAParenExp, inAPlusExp, inAPolynullType, inAReferenceType, inAReturnSimplestm, inAReturnStm, inASecondMainargv, inASimpleStm, inASimpleStmNoShortIf, inASkipSimplestm, inASkipStm, inAStringconstExp, inASuperconsStm, inASuperReceiver, inASynchronizedExternMethodmods, inASynchronizedMethodmods, inAThisExp, inATmpcastExp, inATrueExp, inAUminusExp, inAVoidReturntype, inAVoidType, inAWhileStm, inAWhileStmNoShortIf, inStart, outAAbstractClassmods, outAAbstractExternMethodmods, outAAndExp, outAArgumentList, outAAssignExp, outAAssignment, outAAssignStmExp, outABlockSimplestm, outABlockStm, outABooleanType, outACallExp, outACallStmExp, outACastExp, outACasttocharExp, outACharconstExp, outACharType, outAClassinstancecreation, outADeclFirstStm, outADeclStm, outADefaultClassfile, outADivExp, outADynamicStm, outAEqExp, outAExpSimplestm, outAExpStm, outAExtension, outAExternClassfile, outAFalseExp, outAField, outAFinalClassmods, outAFinalExternMethodmods, outAFinalMethodmods, outAFirstField, outAFirstMainargv, outAFormal, outAFormalList, outAForStm, outAForStmNoShortIf, outAGeqExp, outAGtExp, outAIdentifierList, outAIdExp, outAIfelseStm, outAIfelseStmNoShortIf, outAIfStm, outAIncStmExp, outAInstanceofExp, outAIntconstExp, outAIntType, outALeqExp, outALtExp, outAMethodinvocation, outAMinusExp, outAModExp, outAMultExp, outANeqExp, outANewExp, outANewStmExp, outANonvoidReturntype, outANotExp, outANullExp, outAObjectReceiver, outAOnefield, outAOnelocal, outAOrExp, outAParenExp, outAPlusExp, outAPolynullType, outAReferenceType, outAReturnSimplestm, outAReturnStm, outASecondMainargv, outASimpleStm, outASimpleStmNoShortIf, outASkipSimplestm, outASkipStm, outAStringconstExp, outASuperconsStm, outASuperReceiver, outASynchronizedExternMethodmods, outASynchronizedMethodmods, outAThisExp, outATmpcastExp, outATrueExp, outAUminusExp, outAVoidReturntype, outAVoidType, outAWhileStm, outAWhileStmNoShortIf, outStart
 
Methods inherited from class joosc.analysis.AnalysisAdapter
caseEOF, caseTAbstract, caseTAnd, caseTAssign, caseTBlanks, caseTBoolean, caseTBreak, caseTByte, caseTCase, caseTCatch, caseTChar, caseTCharconst, caseTClass, caseTComma, caseTConst, caseTContinue, caseTDefault, caseTDiv, caseTDo, caseTDot, caseTDouble, caseTElse, caseTEolComment, caseTEq, caseTExtComment, caseTExtends, caseTExtern, caseTFalse, caseTFinal, caseTFinally, caseTFloat, caseTFor, caseTGeq, caseTGoto, caseTGt, caseTIdentifier, caseTIf, caseTImplements, caseTImport, caseTImportpath, caseTIn, caseTInc, caseTInstanceof, caseTInt, caseTIntconst, caseTInterface, caseTLBrace, caseTLBracket, caseTLeq, caseTLong, caseTLPar, caseTLt, caseTMain, caseTMinus, caseTMod, caseTMult, caseTNative, caseTNeq, caseTNew, caseTNot, caseTNull, caseTOr, caseTPackage, caseTPlus, caseTPrivate, caseTProtected, caseTPublic, caseTRBrace, caseTRBracket, caseTReturn, caseTRPar, caseTSemicolon, caseTShort, caseTStatic, caseTStringconst, caseTSuper, caseTSwitch, caseTSynchronized, caseTThis, caseTThrow, caseTThrows, caseTTransient, caseTTrue, caseTTry, caseTVoid, caseTVolatile, caseTWhile, defaultCase, getIn, getOut, setIn, setOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CodeGenerator

public CodeGenerator(java.lang.String filename,
                     AnalysisDataManager proxy)
Method Detail

walk

public static void walk(java.util.List theProgram,
                        AnalysisDataManager proxy)

inAClass

public void inAClass(AClass node)
AST VISITORS *

Overrides:
inAClass in class DepthFirstAdapter

inAExternClass

public void inAExternClass(AExternClass node)
Overrides:
inAExternClass in class DepthFirstAdapter

outAClass

public void outAClass(AClass node)
Overrides:
outAClass in class DepthFirstAdapter

outAExternClass

public void outAExternClass(AExternClass node)
Overrides:
outAExternClass in class DepthFirstAdapter

inAConstructor

public void inAConstructor(AConstructor node)
Overrides:
inAConstructor in class DepthFirstAdapter

inAExternConstructor

public void inAExternConstructor(AExternConstructor node)
Overrides:
inAExternConstructor in class DepthFirstAdapter

outAConstructor

public void outAConstructor(AConstructor node)
Overrides:
outAConstructor in class DepthFirstAdapter

outAExternConstructor

public void outAExternConstructor(AExternConstructor node)
Overrides:
outAExternConstructor in class DepthFirstAdapter

inAModMethod

public void inAModMethod(AModMethod node)
Overrides:
inAModMethod in class DepthFirstAdapter

inANonmodMethod

public void inANonmodMethod(ANonmodMethod node)
Overrides:
inANonmodMethod in class DepthFirstAdapter

inAAbstractMethod

public void inAAbstractMethod(AAbstractMethod node)
Overrides:
inAAbstractMethod in class DepthFirstAdapter

inAMainMethod

public void inAMainMethod(AMainMethod node)
Overrides:
inAMainMethod in class DepthFirstAdapter

inAModExternMethod

public void inAModExternMethod(AModExternMethod node)
Overrides:
inAModExternMethod in class DepthFirstAdapter

inANonmodExternMethod

public void inANonmodExternMethod(ANonmodExternMethod node)
Overrides:
inANonmodExternMethod in class DepthFirstAdapter

outAModMethod

public void outAModMethod(AModMethod node)
Overrides:
outAModMethod in class DepthFirstAdapter

outANonmodMethod

public void outANonmodMethod(ANonmodMethod node)
Overrides:
outANonmodMethod in class DepthFirstAdapter

outAAbstractMethod

public void outAAbstractMethod(AAbstractMethod node)
Overrides:
outAAbstractMethod in class DepthFirstAdapter

outAMainMethod

public void outAMainMethod(AMainMethod node)
Overrides:
outAMainMethod in class DepthFirstAdapter

outAModExternMethod

public void outAModExternMethod(AModExternMethod node)
Overrides:
outAModExternMethod in class DepthFirstAdapter

outANonmodExternMethod

public void outANonmodExternMethod(ANonmodExternMethod node)
Overrides:
outANonmodExternMethod in class DepthFirstAdapter

caseAExpStm

public void caseAExpStm(AExpStm node)
Specified by:
caseAExpStm in interface Analysis
Overrides:
caseAExpStm in class DepthFirstAdapter

caseAReturnStm

public void caseAReturnStm(AReturnStm node)
Specified by:
caseAReturnStm in interface Analysis
Overrides:
caseAReturnStm in class DepthFirstAdapter

caseASuperconsStm

public void caseASuperconsStm(ASuperconsStm node)
Specified by:
caseASuperconsStm in interface Analysis
Overrides:
caseASuperconsStm in class DepthFirstAdapter

caseAIfStm

public void caseAIfStm(AIfStm node)
Specified by:
caseAIfStm in interface Analysis
Overrides:
caseAIfStm in class DepthFirstAdapter

caseAIfelseStm

public void caseAIfelseStm(AIfelseStm node)
Specified by:
caseAIfelseStm in interface Analysis
Overrides:
caseAIfelseStm in class DepthFirstAdapter

caseAWhileStm

public void caseAWhileStm(AWhileStm node)
Specified by:
caseAWhileStm in interface Analysis
Overrides:
caseAWhileStm in class DepthFirstAdapter

caseAAssignment

public void caseAAssignment(AAssignment node)
Specified by:
caseAAssignment in interface Analysis
Overrides:
caseAAssignment in class DepthFirstAdapter

caseAAssignExp

public void caseAAssignExp(AAssignExp node)
Specified by:
caseAAssignExp in interface Analysis
Overrides:
caseAAssignExp in class DepthFirstAdapter

caseAOrExp

public void caseAOrExp(AOrExp node)
Specified by:
caseAOrExp in interface Analysis
Overrides:
caseAOrExp in class DepthFirstAdapter

caseAAndExp

public void caseAAndExp(AAndExp node)
Specified by:
caseAAndExp in interface Analysis
Overrides:
caseAAndExp in class DepthFirstAdapter

caseAEqExp

public void caseAEqExp(AEqExp node)
Specified by:
caseAEqExp in interface Analysis
Overrides:
caseAEqExp in class DepthFirstAdapter

caseANeqExp

public void caseANeqExp(ANeqExp node)
Specified by:
caseANeqExp in interface Analysis
Overrides:
caseANeqExp in class DepthFirstAdapter

caseALtExp

public void caseALtExp(ALtExp node)
Specified by:
caseALtExp in interface Analysis
Overrides:
caseALtExp in class DepthFirstAdapter

caseAGtExp

public void caseAGtExp(AGtExp node)
Specified by:
caseAGtExp in interface Analysis
Overrides:
caseAGtExp in class DepthFirstAdapter

caseALeqExp

public void caseALeqExp(ALeqExp node)
Specified by:
caseALeqExp in interface Analysis
Overrides:
caseALeqExp in class DepthFirstAdapter

caseAGeqExp

public void caseAGeqExp(AGeqExp node)
Specified by:
caseAGeqExp in interface Analysis
Overrides:
caseAGeqExp in class DepthFirstAdapter

caseAInstanceofExp

public void caseAInstanceofExp(AInstanceofExp node)
Specified by:
caseAInstanceofExp in interface Analysis
Overrides:
caseAInstanceofExp in class DepthFirstAdapter

caseAPlusExp

public void caseAPlusExp(APlusExp node)
Specified by:
caseAPlusExp in interface Analysis
Overrides:
caseAPlusExp in class DepthFirstAdapter

caseAMinusExp

public void caseAMinusExp(AMinusExp node)
Specified by:
caseAMinusExp in interface Analysis
Overrides:
caseAMinusExp in class DepthFirstAdapter

caseAMultExp

public void caseAMultExp(AMultExp node)
Specified by:
caseAMultExp in interface Analysis
Overrides:
caseAMultExp in class DepthFirstAdapter

caseADivExp

public void caseADivExp(ADivExp node)
Specified by:
caseADivExp in interface Analysis
Overrides:
caseADivExp in class DepthFirstAdapter

caseAModExp

public void caseAModExp(AModExp node)
Specified by:
caseAModExp in interface Analysis
Overrides:
caseAModExp in class DepthFirstAdapter

caseAUminusExp

public void caseAUminusExp(AUminusExp node)
Specified by:
caseAUminusExp in interface Analysis
Overrides:
caseAUminusExp in class DepthFirstAdapter

caseANotExp

public void caseANotExp(ANotExp node)
Specified by:
caseANotExp in interface Analysis
Overrides:
caseANotExp in class DepthFirstAdapter

caseACastExp

public void caseACastExp(ACastExp node)
Specified by:
caseACastExp in interface Analysis
Overrides:
caseACastExp in class DepthFirstAdapter

caseACasttocharExp

public void caseACasttocharExp(ACasttocharExp node)
Specified by:
caseACasttocharExp in interface Analysis
Overrides:
caseACasttocharExp in class DepthFirstAdapter

caseAIdExp

public void caseAIdExp(AIdExp node)
Specified by:
caseAIdExp in interface Analysis
Overrides:
caseAIdExp in class DepthFirstAdapter

caseAThisExp

public void caseAThisExp(AThisExp node)
Specified by:
caseAThisExp in interface Analysis
Overrides:
caseAThisExp in class DepthFirstAdapter

caseAParenExp

public void caseAParenExp(AParenExp node)
Specified by:
caseAParenExp in interface Analysis
Overrides:
caseAParenExp in class DepthFirstAdapter

caseANewExp

public void caseANewExp(ANewExp node)
Specified by:
caseANewExp in interface Analysis
Overrides:
caseANewExp in class DepthFirstAdapter

caseACallExp

public void caseACallExp(ACallExp node)
Specified by:
caseACallExp in interface Analysis
Overrides:
caseACallExp in class DepthFirstAdapter

caseAIntconstExp

public void caseAIntconstExp(AIntconstExp node)
Specified by:
caseAIntconstExp in interface Analysis
Overrides:
caseAIntconstExp in class DepthFirstAdapter

caseATrueExp

public void caseATrueExp(ATrueExp node)
Specified by:
caseATrueExp in interface Analysis
Overrides:
caseATrueExp in class DepthFirstAdapter

caseAFalseExp

public void caseAFalseExp(AFalseExp node)
Specified by:
caseAFalseExp in interface Analysis
Overrides:
caseAFalseExp in class DepthFirstAdapter

caseACharconstExp

public void caseACharconstExp(ACharconstExp node)
Specified by:
caseACharconstExp in interface Analysis
Overrides:
caseACharconstExp in class DepthFirstAdapter

caseAStringconstExp

public void caseAStringconstExp(AStringconstExp node)
Specified by:
caseAStringconstExp in interface Analysis
Overrides:
caseAStringconstExp in class DepthFirstAdapter

caseANullExp

public void caseANullExp(ANullExp node)
Specified by:
caseANullExp in interface Analysis
Overrides:
caseANullExp in class DepthFirstAdapter

caseAClassinstancecreation

public void caseAClassinstancecreation(AClassinstancecreation node)
Specified by:
caseAClassinstancecreation in interface Analysis
Overrides:
caseAClassinstancecreation in class DepthFirstAdapter

caseAMethodinvocation

public void caseAMethodinvocation(AMethodinvocation node)
Specified by:
caseAMethodinvocation in interface Analysis
Overrides:
caseAMethodinvocation in class DepthFirstAdapter

caseASuperReceiver

public void caseASuperReceiver(ASuperReceiver node)
Specified by:
caseASuperReceiver in interface Analysis
Overrides:
caseASuperReceiver in class DepthFirstAdapter