tip.analysis
Interface Analysis

All Known Implementing Classes:
AnalysisAdapter, Andersen, ASTDisplay, CFGBuilder, CodeEmission, CodeGeneration, CodeGenerationDisplay, CodePrepare, DeclCollector, DepthFirstAdapter, Environments, EnvironmentsDisplay, FunctionPointers, LocalDeclCollector, NameLinking, NameLinkingDisplay, Normalization, NormalizationDisplay, OneLevelFlow, ParserDisplay, Resources, ResourcesDisplay, ReversedDepthFirstAdapter, ShowAsm, Steensgaard, TreeDisplay, TypeChecking, TypeCheckingDisplay, Weeding

public interface Analysis

Analysis defines the interface for node based analyses. The analysis provides to maps, in and out, for associating Node nodes to Object values. The interface is a visitor pattern.


Method Summary
 void caseABinopExp(ABinopExp node)
          Called by the ABinopExp node from ABinopExp#apply(Switch).
 void caseABlock(ABlock node)
          Called by the ABlock node from ABlock#apply(Switch).
 void caseABlockStm(ABlockStm node)
          Called by the ABlockStm node from ABlockStm#apply(Switch).
 void caseABody(ABody node)
          Called by the ABody node from ABody#apply(Switch).
 void caseADeclStm(ADeclStm node)
          Called by the ADeclStm node from ADeclStm#apply(Switch).
 void caseADerefExp(ADerefExp node)
          Called by the ADerefExp node from ADerefExp#apply(Switch).
 void caseADivideBinop(ADivideBinop node)
          Called by the ADivideBinop node from ADivideBinop#apply(Switch).
 void caseAEqBinop(AEqBinop node)
          Called by the AEqBinop node from AEqBinop#apply(Switch).
 void caseAFuncDecl(AFuncDecl node)
          Called by the AFuncDecl node from AFuncDecl#apply(Switch).
 void caseAFunctionCallExp(AFunctionCallExp node)
          Called by the AFunctionCallExp node from AFunctionCallExp#apply(Switch).
 void caseAFunctionPtrCallExp(AFunctionPtrCallExp node)
          Called by the AFunctionPtrCallExp node from AFunctionPtrCallExp#apply(Switch).
 void caseAGtBinop(AGtBinop node)
          Called by the AGtBinop node from AGtBinop#apply(Switch).
 void caseAIfThenElseStm(AIfThenElseStm node)
          Called by the AIfThenElseStm node from AIfThenElseStm#apply(Switch).
 void caseAIfThenStm(AIfThenStm node)
          Called by the AIfThenStm node from AIfThenStm#apply(Switch).
 void caseAInputExp(AInputExp node)
          Called by the AInputExp node from AInputExp#apply(Switch).
 void caseAIntConstExp(AIntConstExp node)
          Called by the AIntConstExp node from AIntConstExp#apply(Switch).
 void caseALocalDecl(ALocalDecl node)
          Called by the ALocalDecl node from ALocalDecl#apply(Switch).
 void caseAMallocExp(AMallocExp node)
          Called by the AMallocExp node from AMallocExp#apply(Switch).
 void caseAMinusBinop(AMinusBinop node)
          Called by the AMinusBinop node from AMinusBinop#apply(Switch).
 void caseANullExp(ANullExp node)
          Called by the ANullExp node from ANullExp#apply(Switch).
 void caseAOutputStm(AOutputStm node)
          Called by the AOutputStm node from AOutputStm#apply(Switch).
 void caseAPlusBinop(APlusBinop node)
          Called by the APlusBinop node from APlusBinop#apply(Switch).
 void caseAPointerExp(APointerExp node)
          Called by the APointerExp node from APointerExp#apply(Switch).
 void caseAProgram(AProgram node)
          Called by the AProgram node from AProgram#apply(Switch).
 void caseAReturnStm(AReturnStm node)
          Called by the AReturnStm node from AReturnStm#apply(Switch).
 void caseATimesBinop(ATimesBinop node)
          Called by the ATimesBinop node from ATimesBinop#apply(Switch).
 void caseAVarExp(AVarExp node)
          Called by the AVarExp node from AVarExp#apply(Switch).
 void caseAWhileStm(AWhileStm node)
          Called by the AWhileStm node from AWhileStm#apply(Switch).
 void caseEOF(EOF node)
          Called by the EOF node from EOF#apply(Switch).
 void caseStart(Start node)
          Called by the Start node from Start#apply(Switch).
 void caseTAnd(TAnd node)
          Called by the TAnd node from TAnd#apply(Switch).
 void caseTAssign(TAssign node)
          Called by the TAssign node from TAssign#apply(Switch).
 void caseTComma(TComma node)
          Called by the TComma node from TComma#apply(Switch).
 void caseTCommentBlock(TCommentBlock node)
          Called by the TCommentBlock node from TCommentBlock#apply(Switch).
 void caseTCommentSingle(TCommentSingle node)
          Called by the TCommentSingle node from TCommentSingle#apply(Switch).
 void caseTDiv(TDiv node)
          Called by the TDiv node from TDiv#apply(Switch).
 void caseTElse(TElse node)
          Called by the TElse node from TElse#apply(Switch).
 void caseTEq(TEq node)
          Called by the TEq node from TEq#apply(Switch).
 void caseTGt(TGt node)
          Called by the TGt node from TGt#apply(Switch).
 void caseTIdentifier(TIdentifier node)
          Called by the TIdentifier node from TIdentifier#apply(Switch).
 void caseTIf(TIf node)
          Called by the TIf node from TIf#apply(Switch).
 void caseTInput(TInput node)
          Called by the TInput node from TInput#apply(Switch).
 void caseTIntegerConst(TIntegerConst node)
          Called by the TIntegerConst node from TIntegerConst#apply(Switch).
 void caseTLBrace(TLBrace node)
          Called by the TLBrace node from TLBrace#apply(Switch).
 void caseTLPar(TLPar node)
          Called by the TLPar node from TLPar#apply(Switch).
 void caseTMalloc(TMalloc node)
          Called by the TMalloc node from TMalloc#apply(Switch).
 void caseTMinus(TMinus node)
          Called by the TMinus node from TMinus#apply(Switch).
 void caseTNull(TNull node)
          Called by the TNull node from TNull#apply(Switch).
 void caseTOutput(TOutput node)
          Called by the TOutput node from TOutput#apply(Switch).
 void caseTPlus(TPlus node)
          Called by the TPlus node from TPlus#apply(Switch).
 void caseTRBrace(TRBrace node)
          Called by the TRBrace node from TRBrace#apply(Switch).
 void caseTReturn(TReturn node)
          Called by the TReturn node from TReturn#apply(Switch).
 void caseTRPar(TRPar node)
          Called by the TRPar node from TRPar#apply(Switch).
 void caseTSemicolon(TSemicolon node)
          Called by the TSemicolon node from TSemicolon#apply(Switch).
 void caseTStar(TStar node)
          Called by the TStar node from TStar#apply(Switch).
 void caseTVar(TVar node)
          Called by the TVar node from TVar#apply(Switch).
 void caseTWhile(TWhile node)
          Called by the TWhile node from TWhile#apply(Switch).
 void caseTWhiteSpace(TWhiteSpace node)
          Called by the TWhiteSpace node from TWhiteSpace#apply(Switch).
 void caseAAssignPtrStm(AAssignPtrStm node)
          Called by the AAssignPtrStm node from AAssignPtrStm#apply(Switch).
 void caseAAssignVarStm(AAssignVarStm node)
          Called by the AAssignVarStm node from AAssignVarStm#apply(Switch).
 Object getIn(Node node)
          Returns the Object associated with the Node node in the in map.
 Object getOut(Node node)
          Returns the Object associated with the Node node in the out map.
 void setIn(Node node, Object o)
          Sets the Object o to be a associated with the Node node in the in map.
 void setOut(Node node, Object o)
          Sets the Object o to be a associated with the Node node in the out map.
 

Method Detail

getIn

Object getIn(Node node)
Returns the Object associated with the Node node in the in map.

Returns:
the Object associated with the Node node in the in map

setIn

void setIn(Node node,
           Object o)
Sets the Object o to be a associated with the Node node in the in map.

Parameters:
node - the Node to which Object o is to be associated.
o - the Object to be associated with the Node node in the in map

getOut

Object getOut(Node node)
Returns the Object associated with the Node node in the out map.

Returns:
the Object associated with the Node node in the out map

setOut

void setOut(Node node,
            Object o)
Sets the Object o to be a associated with the Node node in the out map.

Parameters:
node - the Node to which Object o is to be associated.
o - the Object to be associated with the Node node in the out map

caseStart

void caseStart(Start node)
Called by the Start node from Start#apply(Switch).

Parameters:
node - the calling Start node

caseAProgram

void caseAProgram(AProgram node)
Called by the AProgram node from AProgram#apply(Switch).

Parameters:
node - the calling AProgram node

caseAFuncDecl

void caseAFuncDecl(AFuncDecl node)
Called by the AFuncDecl node from AFuncDecl#apply(Switch).

Parameters:
node - the calling AFuncDecl node

caseALocalDecl

void caseALocalDecl(ALocalDecl node)
Called by the ALocalDecl node from ALocalDecl#apply(Switch).

Parameters:
node - the calling ALocalDecl node

caseABody

void caseABody(ABody node)
Called by the ABody node from ABody#apply(Switch).

Parameters:
node - the calling ABody node

caseABlock

void caseABlock(ABlock node)
Called by the ABlock node from ABlock#apply(Switch).

Parameters:
node - the calling ABlock node

caseAPlusBinop

void caseAPlusBinop(APlusBinop node)
Called by the APlusBinop node from APlusBinop#apply(Switch).

Parameters:
node - the calling APlusBinop node

caseAMinusBinop

void caseAMinusBinop(AMinusBinop node)
Called by the AMinusBinop node from AMinusBinop#apply(Switch).

Parameters:
node - the calling AMinusBinop node

caseATimesBinop

void caseATimesBinop(ATimesBinop node)
Called by the ATimesBinop node from ATimesBinop#apply(Switch).

Parameters:
node - the calling ATimesBinop node

caseADivideBinop

void caseADivideBinop(ADivideBinop node)
Called by the ADivideBinop node from ADivideBinop#apply(Switch).

Parameters:
node - the calling ADivideBinop node

caseAEqBinop

void caseAEqBinop(AEqBinop node)
Called by the AEqBinop node from AEqBinop#apply(Switch).

Parameters:
node - the calling AEqBinop node

caseAGtBinop

void caseAGtBinop(AGtBinop node)
Called by the AGtBinop node from AGtBinop#apply(Switch).

Parameters:
node - the calling AGtBinop node

caseABinopExp

void caseABinopExp(ABinopExp node)
Called by the ABinopExp node from ABinopExp#apply(Switch).

Parameters:
node - the calling ABinopExp node

caseAPointerExp

void caseAPointerExp(APointerExp node)
Called by the APointerExp node from APointerExp#apply(Switch).

Parameters:
node - the calling APointerExp node

caseADerefExp

void caseADerefExp(ADerefExp node)
Called by the ADerefExp node from ADerefExp#apply(Switch).

Parameters:
node - the calling ADerefExp node

caseAIntConstExp

void caseAIntConstExp(AIntConstExp node)
Called by the AIntConstExp node from AIntConstExp#apply(Switch).

Parameters:
node - the calling AIntConstExp node

caseAFunctionCallExp

void caseAFunctionCallExp(AFunctionCallExp node)
Called by the AFunctionCallExp node from AFunctionCallExp#apply(Switch).

Parameters:
node - the calling AFunctionCallExp node

caseAFunctionPtrCallExp

void caseAFunctionPtrCallExp(AFunctionPtrCallExp node)
Called by the AFunctionPtrCallExp node from AFunctionPtrCallExp#apply(Switch).

Parameters:
node - the calling AFunctionPtrCallExp node

caseAVarExp

void caseAVarExp(AVarExp node)
Called by the AVarExp node from AVarExp#apply(Switch).

Parameters:
node - the calling AVarExp node

caseAInputExp

void caseAInputExp(AInputExp node)
Called by the AInputExp node from AInputExp#apply(Switch).

Parameters:
node - the calling AInputExp node

caseAMallocExp

void caseAMallocExp(AMallocExp node)
Called by the AMallocExp node from AMallocExp#apply(Switch).

Parameters:
node - the calling AMallocExp node

caseANullExp

void caseANullExp(ANullExp node)
Called by the ANullExp node from ANullExp#apply(Switch).

Parameters:
node - the calling ANullExp node

caseAIfThenStm

void caseAIfThenStm(AIfThenStm node)
Called by the AIfThenStm node from AIfThenStm#apply(Switch).

Parameters:
node - the calling AIfThenStm node

caseAIfThenElseStm

void caseAIfThenElseStm(AIfThenElseStm node)
Called by the AIfThenElseStm node from AIfThenElseStm#apply(Switch).

Parameters:
node - the calling AIfThenElseStm node

caseAWhileStm

void caseAWhileStm(AWhileStm node)
Called by the AWhileStm node from AWhileStm#apply(Switch).

Parameters:
node - the calling AWhileStm node

caseADeclStm

void caseADeclStm(ADeclStm node)
Called by the ADeclStm node from ADeclStm#apply(Switch).

Parameters:
node - the calling ADeclStm node

caseAReturnStm

void caseAReturnStm(AReturnStm node)
Called by the AReturnStm node from AReturnStm#apply(Switch).

Parameters:
node - the calling AReturnStm node

caseAOutputStm

void caseAOutputStm(AOutputStm node)
Called by the AOutputStm node from AOutputStm#apply(Switch).

Parameters:
node - the calling AOutputStm node

caseAAssignVarStm

void caseAAssignVarStm(AAssignVarStm node)
Called by the AAssignVarStm node from AAssignVarStm#apply(Switch).

Parameters:
node - the calling AAssignVarStm node

caseAAssignPtrStm

void caseAAssignPtrStm(AAssignPtrStm node)
Called by the AAssignPtrStm node from AAssignPtrStm#apply(Switch).

Parameters:
node - the calling AAssignPtrStm node

caseABlockStm

void caseABlockStm(ABlockStm node)
Called by the ABlockStm node from ABlockStm#apply(Switch).

Parameters:
node - the calling ABlockStm node

caseTWhiteSpace

void caseTWhiteSpace(TWhiteSpace node)
Called by the TWhiteSpace node from TWhiteSpace#apply(Switch).

Parameters:
node - the calling TWhiteSpace node

caseTCommentSingle

void caseTCommentSingle(TCommentSingle node)
Called by the TCommentSingle node from TCommentSingle#apply(Switch).

Parameters:
node - the calling TCommentSingle node

caseTCommentBlock

void caseTCommentBlock(TCommentBlock node)
Called by the TCommentBlock node from TCommentBlock#apply(Switch).

Parameters:
node - the calling TCommentBlock node

caseTVar

void caseTVar(TVar node)
Called by the TVar node from TVar#apply(Switch).

Parameters:
node - the calling TVar node

caseTInput

void caseTInput(TInput node)
Called by the TInput node from TInput#apply(Switch).

Parameters:
node - the calling TInput node

caseTOutput

void caseTOutput(TOutput node)
Called by the TOutput node from TOutput#apply(Switch).

Parameters:
node - the calling TOutput node

caseTIf

void caseTIf(TIf node)
Called by the TIf node from TIf#apply(Switch).

Parameters:
node - the calling TIf node

caseTElse

void caseTElse(TElse node)
Called by the TElse node from TElse#apply(Switch).

Parameters:
node - the calling TElse node

caseTWhile

void caseTWhile(TWhile node)
Called by the TWhile node from TWhile#apply(Switch).

Parameters:
node - the calling TWhile node

caseTReturn

void caseTReturn(TReturn node)
Called by the TReturn node from TReturn#apply(Switch).

Parameters:
node - the calling TReturn node

caseTMalloc

void caseTMalloc(TMalloc node)
Called by the TMalloc node from TMalloc#apply(Switch).

Parameters:
node - the calling TMalloc node

caseTNull

void caseTNull(TNull node)
Called by the TNull node from TNull#apply(Switch).

Parameters:
node - the calling TNull node

caseTLPar

void caseTLPar(TLPar node)
Called by the TLPar node from TLPar#apply(Switch).

Parameters:
node - the calling TLPar node

caseTRPar

void caseTRPar(TRPar node)
Called by the TRPar node from TRPar#apply(Switch).

Parameters:
node - the calling TRPar node

caseTLBrace

void caseTLBrace(TLBrace node)
Called by the TLBrace node from TLBrace#apply(Switch).

Parameters:
node - the calling TLBrace node

caseTRBrace

void caseTRBrace(TRBrace node)
Called by the TRBrace node from TRBrace#apply(Switch).

Parameters:
node - the calling TRBrace node

caseTSemicolon

void caseTSemicolon(TSemicolon node)
Called by the TSemicolon node from TSemicolon#apply(Switch).

Parameters:
node - the calling TSemicolon node

caseTComma

void caseTComma(TComma node)
Called by the TComma node from TComma#apply(Switch).

Parameters:
node - the calling TComma node

caseTAssign

void caseTAssign(TAssign node)
Called by the TAssign node from TAssign#apply(Switch).

Parameters:
node - the calling TAssign node

caseTPlus

void caseTPlus(TPlus node)
Called by the TPlus node from TPlus#apply(Switch).

Parameters:
node - the calling TPlus node

caseTMinus

void caseTMinus(TMinus node)
Called by the TMinus node from TMinus#apply(Switch).

Parameters:
node - the calling TMinus node

caseTStar

void caseTStar(TStar node)
Called by the TStar node from TStar#apply(Switch).

Parameters:
node - the calling TStar node

caseTDiv

void caseTDiv(TDiv node)
Called by the TDiv node from TDiv#apply(Switch).

Parameters:
node - the calling TDiv node

caseTAnd

void caseTAnd(TAnd node)
Called by the TAnd node from TAnd#apply(Switch).

Parameters:
node - the calling TAnd node

caseTGt

void caseTGt(TGt node)
Called by the TGt node from TGt#apply(Switch).

Parameters:
node - the calling TGt node

caseTEq

void caseTEq(TEq node)
Called by the TEq node from TEq#apply(Switch).

Parameters:
node - the calling TEq node

caseTIntegerConst

void caseTIntegerConst(TIntegerConst node)
Called by the TIntegerConst node from TIntegerConst#apply(Switch).

Parameters:
node - the calling TIntegerConst node

caseTIdentifier

void caseTIdentifier(TIdentifier node)
Called by the TIdentifier node from TIdentifier#apply(Switch).

Parameters:
node - the calling TIdentifier node

caseEOF

void caseEOF(EOF node)
Called by the EOF node from EOF#apply(Switch).

Parameters:
node - the calling EOF token