tip.analysis
Class QuestionAdapter<Q>

java.lang.Object
  extended by tip.analysis.QuestionAdapter<Q>
Type Parameters:
Q - the type of the questions
All Implemented Interfaces:
Question<Q>

public class QuestionAdapter<Q>
extends Object
implements Question<Q>

QuestionAdapter implements the default behaviour of the Question interface.

Author:
Johnni Winther, jw@brics.dk

Constructor Summary
QuestionAdapter()
           
 
Method Summary
 void caseABinopExp(ABinopExp node, Q question)
          Action for applying a question to a ABinopExp node.
 void caseABlock(ABlock node, Q question)
          Action for applying a question to a ABlock node.
 void caseABlockStm(ABlockStm node, Q question)
          Action for applying a question to a ABlockStm node.
 void caseABody(ABody node, Q question)
          Action for applying a question to a ABody node.
 void caseADeclStm(ADeclStm node, Q question)
          Action for applying a question to a ADeclStm node.
 void caseADerefExp(ADerefExp node, Q question)
          Action for applying a question to a ADerefExp node.
 void caseADivideBinop(ADivideBinop node, Q question)
          Action for applying a question to a ADivideBinop node.
 void caseAEqBinop(AEqBinop node, Q question)
          Action for applying a question to a AEqBinop node.
 void caseAFuncDecl(AFuncDecl node, Q question)
          Action for applying a question to a AFuncDecl node.
 void caseAFunctionCallExp(AFunctionCallExp node, Q question)
          Action for applying a question to a AFunctionCallExp node.
 void caseAFunctionPtrCallExp(AFunctionPtrCallExp node, Q question)
          Action for applying a question to a AFunctionPtrCallExp node.
 void caseAGtBinop(AGtBinop node, Q question)
          Action for applying a question to a AGtBinop node.
 void caseAIfThenElseStm(AIfThenElseStm node, Q question)
          Action for applying a question to a AIfThenElseStm node.
 void caseAIfThenStm(AIfThenStm node, Q question)
          Action for applying a question to a AIfThenStm node.
 void caseAInputExp(AInputExp node, Q question)
          Action for applying a question to a AInputExp node.
 void caseAIntConstExp(AIntConstExp node, Q question)
          Action for applying a question to a AIntConstExp node.
 void caseALocalDecl(ALocalDecl node, Q question)
          Action for applying a question to a ALocalDecl node.
 void caseAMallocExp(AMallocExp node, Q question)
          Action for applying a question to a AMallocExp node.
 void caseAMinusBinop(AMinusBinop node, Q question)
          Action for applying a question to a AMinusBinop node.
 void caseANullExp(ANullExp node, Q question)
          Action for applying a question to a ANullExp node.
 void caseAOutputStm(AOutputStm node, Q question)
          Action for applying a question to a AOutputStm node.
 void caseAPlusBinop(APlusBinop node, Q question)
          Action for applying a question to a APlusBinop node.
 void caseAPointerExp(APointerExp node, Q question)
          Action for applying a question to a APointerExp node.
 void caseAProgram(AProgram node, Q question)
          Action for applying a question to a AProgram node.
 void caseAReturnStm(AReturnStm node, Q question)
          Action for applying a question to a AReturnStm node.
 void caseATimesBinop(ATimesBinop node, Q question)
          Action for applying a question to a ATimesBinop node.
 void caseAVarExp(AVarExp node, Q question)
          Action for applying a question to a AVarExp node.
 void caseAWhileStm(AWhileStm node, Q question)
          Action for applying a question to a AWhileStm node.
 void caseEOF(EOF node, Q question)
          Action for applying a question to a EOF node.
 void caseStart(Start node, Q question)
          Action for applying a question to a Start node.
 void caseTAnd(TAnd node, Q question)
          Action for applying a question to a TAnd node.
 void caseTAssign(TAssign node, Q question)
          Action for applying a question to a TAssign node.
 void caseTComma(TComma node, Q question)
          Action for applying a question to a TComma node.
 void caseTCommentBlock(TCommentBlock node, Q question)
          Action for applying a question to a TCommentBlock node.
 void caseTCommentSingle(TCommentSingle node, Q question)
          Action for applying a question to a TCommentSingle node.
 void caseTDiv(TDiv node, Q question)
          Action for applying a question to a TDiv node.
 void caseTElse(TElse node, Q question)
          Action for applying a question to a TElse node.
 void caseTEq(TEq node, Q question)
          Action for applying a question to a TEq node.
 void caseTGt(TGt node, Q question)
          Action for applying a question to a TGt node.
 void caseTIdentifier(TIdentifier node, Q question)
          Action for applying a question to a TIdentifier node.
 void caseTIf(TIf node, Q question)
          Action for applying a question to a TIf node.
 void caseTInput(TInput node, Q question)
          Action for applying a question to a TInput node.
 void caseTIntegerConst(TIntegerConst node, Q question)
          Action for applying a question to a TIntegerConst node.
 void caseTLBrace(TLBrace node, Q question)
          Action for applying a question to a TLBrace node.
 void caseTLPar(TLPar node, Q question)
          Action for applying a question to a TLPar node.
 void caseTMalloc(TMalloc node, Q question)
          Action for applying a question to a TMalloc node.
 void caseTMinus(TMinus node, Q question)
          Action for applying a question to a TMinus node.
 void caseTNull(TNull node, Q question)
          Action for applying a question to a TNull node.
 void caseTOutput(TOutput node, Q question)
          Action for applying a question to a TOutput node.
 void caseTPlus(TPlus node, Q question)
          Action for applying a question to a TPlus node.
 void caseTRBrace(TRBrace node, Q question)
          Action for applying a question to a TRBrace node.
 void caseTReturn(TReturn node, Q question)
          Action for applying a question to a TReturn node.
 void caseTRPar(TRPar node, Q question)
          Action for applying a question to a TRPar node.
 void caseTSemicolon(TSemicolon node, Q question)
          Action for applying a question to a TSemicolon node.
 void caseTStar(TStar node, Q question)
          Action for applying a question to a TStar node.
 void caseTVar(TVar node, Q question)
          Action for applying a question to a TVar node.
 void caseTWhile(TWhile node, Q question)
          Action for applying a question to a TWhile node.
 void caseTWhiteSpace(TWhiteSpace node, Q question)
          Action for applying a question to a TWhiteSpace node.
 void caseAAssignPtrStm(AAssignPtrStm node, Q question)
          Action for applying a question to a AAssignPtrStm node.
 void caseAAssignVarStm(AAssignVarStm node, Q question)
          Action for applying a question to a AAssignVarStm node.
 void defaultNode(Node node, Q question)
          Default action for a question to a Node.
 void defaultPBinop(PBinop node, Q question)
          Action for applying a question to a PBinop node.
 void defaultPBlock(PBlock node, Q question)
          Action for applying a question to a PBlock node.
 void defaultPBody(PBody node, Q question)
          Action for applying a question to a PBody node.
 void defaultPDecl(PDecl node, Q question)
          Action for applying a question to a PDecl node.
 void defaultPExp(PExp node, Q question)
          Action for applying a question to a PExp node.
 void defaultPProgram(PProgram node, Q question)
          Action for applying a question to a PProgram node.
 void defaultPStm(PStm node, Q question)
          Action for applying a question to a PStm node.
 void defaultToken(Token token, Q question)
          Default action for a question to a Token.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuestionAdapter

public QuestionAdapter()
Method Detail

defaultNode

public void defaultNode(Node node,
                        Q question)
Default action for a question to a Node.

Parameters:
node - the calling Node
question - the provided question

defaultToken

public void defaultToken(Token token,
                         Q question)
Default action for a question to a Token. The call is deferred to defaultNode(Node,Object).

Parameters:
token - the calling Token
question - the provided question

caseStart

public void caseStart(Start node,
                      Q question)
Action for applying a question to a Start node. The call is deferred to defaultNode(Node,Object).

Specified by:
caseStart in interface Question<Q>
Parameters:
node - the calling Start node
question - the provided question

caseAProgram

public void caseAProgram(AProgram node,
                         Q question)
Action for applying a question to a AProgram node. The call is deferred to defaultPProgram(PProgram,Object).

Specified by:
caseAProgram in interface Question<Q>
Parameters:
node - the calling AProgram node
question - the provided question

caseAFuncDecl

public void caseAFuncDecl(AFuncDecl node,
                          Q question)
Action for applying a question to a AFuncDecl node. The call is deferred to defaultPDecl(PDecl,Object).

Specified by:
caseAFuncDecl in interface Question<Q>
Parameters:
node - the calling AFuncDecl node
question - the provided question

caseALocalDecl

public void caseALocalDecl(ALocalDecl node,
                           Q question)
Action for applying a question to a ALocalDecl node. The call is deferred to defaultPDecl(PDecl,Object).

Specified by:
caseALocalDecl in interface Question<Q>
Parameters:
node - the calling ALocalDecl node
question - the provided question

caseABody

public void caseABody(ABody node,
                      Q question)
Action for applying a question to a ABody node. The call is deferred to defaultPBody(PBody,Object).

Specified by:
caseABody in interface Question<Q>
Parameters:
node - the calling ABody node
question - the provided question

caseABlock

public void caseABlock(ABlock node,
                       Q question)
Action for applying a question to a ABlock node. The call is deferred to defaultPBlock(PBlock,Object).

Specified by:
caseABlock in interface Question<Q>
Parameters:
node - the calling ABlock node
question - the provided question

caseAPlusBinop

public void caseAPlusBinop(APlusBinop node,
                           Q question)
Action for applying a question to a APlusBinop node. The call is deferred to defaultPBinop(PBinop,Object).

Specified by:
caseAPlusBinop in interface Question<Q>
Parameters:
node - the calling APlusBinop node
question - the provided question

caseAMinusBinop

public void caseAMinusBinop(AMinusBinop node,
                            Q question)
Action for applying a question to a AMinusBinop node. The call is deferred to defaultPBinop(PBinop,Object).

Specified by:
caseAMinusBinop in interface Question<Q>
Parameters:
node - the calling AMinusBinop node
question - the provided question

caseATimesBinop

public void caseATimesBinop(ATimesBinop node,
                            Q question)
Action for applying a question to a ATimesBinop node. The call is deferred to defaultPBinop(PBinop,Object).

Specified by:
caseATimesBinop in interface Question<Q>
Parameters:
node - the calling ATimesBinop node
question - the provided question

caseADivideBinop

public void caseADivideBinop(ADivideBinop node,
                             Q question)
Action for applying a question to a ADivideBinop node. The call is deferred to defaultPBinop(PBinop,Object).

Specified by:
caseADivideBinop in interface Question<Q>
Parameters:
node - the calling ADivideBinop node
question - the provided question

caseAEqBinop

public void caseAEqBinop(AEqBinop node,
                         Q question)
Action for applying a question to a AEqBinop node. The call is deferred to defaultPBinop(PBinop,Object).

Specified by:
caseAEqBinop in interface Question<Q>
Parameters:
node - the calling AEqBinop node
question - the provided question

caseAGtBinop

public void caseAGtBinop(AGtBinop node,
                         Q question)
Action for applying a question to a AGtBinop node. The call is deferred to defaultPBinop(PBinop,Object).

Specified by:
caseAGtBinop in interface Question<Q>
Parameters:
node - the calling AGtBinop node
question - the provided question

caseABinopExp

public void caseABinopExp(ABinopExp node,
                          Q question)
Action for applying a question to a ABinopExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseABinopExp in interface Question<Q>
Parameters:
node - the calling ABinopExp node
question - the provided question

caseAPointerExp

public void caseAPointerExp(APointerExp node,
                            Q question)
Action for applying a question to a APointerExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAPointerExp in interface Question<Q>
Parameters:
node - the calling APointerExp node
question - the provided question

caseADerefExp

public void caseADerefExp(ADerefExp node,
                          Q question)
Action for applying a question to a ADerefExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseADerefExp in interface Question<Q>
Parameters:
node - the calling ADerefExp node
question - the provided question

caseAIntConstExp

public void caseAIntConstExp(AIntConstExp node,
                             Q question)
Action for applying a question to a AIntConstExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAIntConstExp in interface Question<Q>
Parameters:
node - the calling AIntConstExp node
question - the provided question

caseAFunctionCallExp

public void caseAFunctionCallExp(AFunctionCallExp node,
                                 Q question)
Action for applying a question to a AFunctionCallExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAFunctionCallExp in interface Question<Q>
Parameters:
node - the calling AFunctionCallExp node
question - the provided question

caseAFunctionPtrCallExp

public void caseAFunctionPtrCallExp(AFunctionPtrCallExp node,
                                    Q question)
Action for applying a question to a AFunctionPtrCallExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAFunctionPtrCallExp in interface Question<Q>
Parameters:
node - the calling AFunctionPtrCallExp node
question - the provided question

caseAVarExp

public void caseAVarExp(AVarExp node,
                        Q question)
Action for applying a question to a AVarExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAVarExp in interface Question<Q>
Parameters:
node - the calling AVarExp node
question - the provided question

caseAInputExp

public void caseAInputExp(AInputExp node,
                          Q question)
Action for applying a question to a AInputExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAInputExp in interface Question<Q>
Parameters:
node - the calling AInputExp node
question - the provided question

caseAMallocExp

public void caseAMallocExp(AMallocExp node,
                           Q question)
Action for applying a question to a AMallocExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseAMallocExp in interface Question<Q>
Parameters:
node - the calling AMallocExp node
question - the provided question

caseANullExp

public void caseANullExp(ANullExp node,
                         Q question)
Action for applying a question to a ANullExp node. The call is deferred to defaultPExp(PExp,Object).

Specified by:
caseANullExp in interface Question<Q>
Parameters:
node - the calling ANullExp node
question - the provided question

caseAIfThenStm

public void caseAIfThenStm(AIfThenStm node,
                           Q question)
Action for applying a question to a AIfThenStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAIfThenStm in interface Question<Q>
Parameters:
node - the calling AIfThenStm node
question - the provided question

caseAIfThenElseStm

public void caseAIfThenElseStm(AIfThenElseStm node,
                               Q question)
Action for applying a question to a AIfThenElseStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAIfThenElseStm in interface Question<Q>
Parameters:
node - the calling AIfThenElseStm node
question - the provided question

caseAWhileStm

public void caseAWhileStm(AWhileStm node,
                          Q question)
Action for applying a question to a AWhileStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAWhileStm in interface Question<Q>
Parameters:
node - the calling AWhileStm node
question - the provided question

caseADeclStm

public void caseADeclStm(ADeclStm node,
                         Q question)
Action for applying a question to a ADeclStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseADeclStm in interface Question<Q>
Parameters:
node - the calling ADeclStm node
question - the provided question

caseAReturnStm

public void caseAReturnStm(AReturnStm node,
                           Q question)
Action for applying a question to a AReturnStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAReturnStm in interface Question<Q>
Parameters:
node - the calling AReturnStm node
question - the provided question

caseAOutputStm

public void caseAOutputStm(AOutputStm node,
                           Q question)
Action for applying a question to a AOutputStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAOutputStm in interface Question<Q>
Parameters:
node - the calling AOutputStm node
question - the provided question

caseAAssignVarStm

public void caseAAssignVarStm(AAssignVarStm node,
                              Q question)
Action for applying a question to a AAssignVarStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAAssignVarStm in interface Question<Q>
Parameters:
node - the calling AAssignVarStm node
question - the provided question

caseAAssignPtrStm

public void caseAAssignPtrStm(AAssignPtrStm node,
                              Q question)
Action for applying a question to a AAssignPtrStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseAAssignPtrStm in interface Question<Q>
Parameters:
node - the calling AAssignPtrStm node
question - the provided question

caseABlockStm

public void caseABlockStm(ABlockStm node,
                          Q question)
Action for applying a question to a ABlockStm node. The call is deferred to defaultPStm(PStm,Object).

Specified by:
caseABlockStm in interface Question<Q>
Parameters:
node - the calling ABlockStm node
question - the provided question

caseTWhiteSpace

public void caseTWhiteSpace(TWhiteSpace node,
                            Q question)
Action for applying a question to a TWhiteSpace node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTWhiteSpace in interface Question<Q>
Parameters:
node - the calling TWhiteSpace node
question - the provided question

caseTCommentSingle

public void caseTCommentSingle(TCommentSingle node,
                               Q question)
Action for applying a question to a TCommentSingle node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTCommentSingle in interface Question<Q>
Parameters:
node - the calling TCommentSingle node
question - the provided question

caseTCommentBlock

public void caseTCommentBlock(TCommentBlock node,
                              Q question)
Action for applying a question to a TCommentBlock node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTCommentBlock in interface Question<Q>
Parameters:
node - the calling TCommentBlock node
question - the provided question

caseTVar

public void caseTVar(TVar node,
                     Q question)
Action for applying a question to a TVar node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTVar in interface Question<Q>
Parameters:
node - the calling TVar node
question - the provided question

caseTInput

public void caseTInput(TInput node,
                       Q question)
Action for applying a question to a TInput node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTInput in interface Question<Q>
Parameters:
node - the calling TInput node
question - the provided question

caseTOutput

public void caseTOutput(TOutput node,
                        Q question)
Action for applying a question to a TOutput node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTOutput in interface Question<Q>
Parameters:
node - the calling TOutput node
question - the provided question

caseTIf

public void caseTIf(TIf node,
                    Q question)
Action for applying a question to a TIf node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTIf in interface Question<Q>
Parameters:
node - the calling TIf node
question - the provided question

caseTElse

public void caseTElse(TElse node,
                      Q question)
Action for applying a question to a TElse node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTElse in interface Question<Q>
Parameters:
node - the calling TElse node
question - the provided question

caseTWhile

public void caseTWhile(TWhile node,
                       Q question)
Action for applying a question to a TWhile node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTWhile in interface Question<Q>
Parameters:
node - the calling TWhile node
question - the provided question

caseTReturn

public void caseTReturn(TReturn node,
                        Q question)
Action for applying a question to a TReturn node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTReturn in interface Question<Q>
Parameters:
node - the calling TReturn node
question - the provided question

caseTMalloc

public void caseTMalloc(TMalloc node,
                        Q question)
Action for applying a question to a TMalloc node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTMalloc in interface Question<Q>
Parameters:
node - the calling TMalloc node
question - the provided question

caseTNull

public void caseTNull(TNull node,
                      Q question)
Action for applying a question to a TNull node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTNull in interface Question<Q>
Parameters:
node - the calling TNull node
question - the provided question

caseTLPar

public void caseTLPar(TLPar node,
                      Q question)
Action for applying a question to a TLPar node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTLPar in interface Question<Q>
Parameters:
node - the calling TLPar node
question - the provided question

caseTRPar

public void caseTRPar(TRPar node,
                      Q question)
Action for applying a question to a TRPar node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTRPar in interface Question<Q>
Parameters:
node - the calling TRPar node
question - the provided question

caseTLBrace

public void caseTLBrace(TLBrace node,
                        Q question)
Action for applying a question to a TLBrace node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTLBrace in interface Question<Q>
Parameters:
node - the calling TLBrace node
question - the provided question

caseTRBrace

public void caseTRBrace(TRBrace node,
                        Q question)
Action for applying a question to a TRBrace node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTRBrace in interface Question<Q>
Parameters:
node - the calling TRBrace node
question - the provided question

caseTSemicolon

public void caseTSemicolon(TSemicolon node,
                           Q question)
Action for applying a question to a TSemicolon node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTSemicolon in interface Question<Q>
Parameters:
node - the calling TSemicolon node
question - the provided question

caseTComma

public void caseTComma(TComma node,
                       Q question)
Action for applying a question to a TComma node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTComma in interface Question<Q>
Parameters:
node - the calling TComma node
question - the provided question

caseTAssign

public void caseTAssign(TAssign node,
                        Q question)
Action for applying a question to a TAssign node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTAssign in interface Question<Q>
Parameters:
node - the calling TAssign node
question - the provided question

caseTPlus

public void caseTPlus(TPlus node,
                      Q question)
Action for applying a question to a TPlus node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTPlus in interface Question<Q>
Parameters:
node - the calling TPlus node
question - the provided question

caseTMinus

public void caseTMinus(TMinus node,
                       Q question)
Action for applying a question to a TMinus node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTMinus in interface Question<Q>
Parameters:
node - the calling TMinus node
question - the provided question

caseTStar

public void caseTStar(TStar node,
                      Q question)
Action for applying a question to a TStar node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTStar in interface Question<Q>
Parameters:
node - the calling TStar node
question - the provided question

caseTDiv

public void caseTDiv(TDiv node,
                     Q question)
Action for applying a question to a TDiv node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTDiv in interface Question<Q>
Parameters:
node - the calling TDiv node
question - the provided question

caseTAnd

public void caseTAnd(TAnd node,
                     Q question)
Action for applying a question to a TAnd node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTAnd in interface Question<Q>
Parameters:
node - the calling TAnd node
question - the provided question

caseTGt

public void caseTGt(TGt node,
                    Q question)
Action for applying a question to a TGt node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTGt in interface Question<Q>
Parameters:
node - the calling TGt node
question - the provided question

caseTEq

public void caseTEq(TEq node,
                    Q question)
Action for applying a question to a TEq node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTEq in interface Question<Q>
Parameters:
node - the calling TEq node
question - the provided question

caseTIntegerConst

public void caseTIntegerConst(TIntegerConst node,
                              Q question)
Action for applying a question to a TIntegerConst node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTIntegerConst in interface Question<Q>
Parameters:
node - the calling TIntegerConst node
question - the provided question

caseTIdentifier

public void caseTIdentifier(TIdentifier node,
                            Q question)
Action for applying a question to a TIdentifier node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseTIdentifier in interface Question<Q>
Parameters:
node - the calling TIdentifier node
question - the provided question

defaultPProgram

public void defaultPProgram(PProgram node,
                            Q question)
Action for applying a question to a PProgram node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PProgram node
question - the provided question

defaultPDecl

public void defaultPDecl(PDecl node,
                         Q question)
Action for applying a question to a PDecl node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PDecl node
question - the provided question

defaultPBody

public void defaultPBody(PBody node,
                         Q question)
Action for applying a question to a PBody node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PBody node
question - the provided question

defaultPBlock

public void defaultPBlock(PBlock node,
                          Q question)
Action for applying a question to a PBlock node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PBlock node
question - the provided question

defaultPBinop

public void defaultPBinop(PBinop node,
                          Q question)
Action for applying a question to a PBinop node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PBinop node
question - the provided question

defaultPExp

public void defaultPExp(PExp node,
                        Q question)
Action for applying a question to a PExp node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PExp node
question - the provided question

defaultPStm

public void defaultPStm(PStm node,
                        Q question)
Action for applying a question to a PStm node. The call is deferred to defaultNode(Node,Object).

Parameters:
node - the calling PStm node
question - the provided question

caseEOF

public void caseEOF(EOF node,
                    Q question)
Action for applying a question to a EOF node. The call is deferred to defaultToken(Token,Object).

Specified by:
caseEOF in interface Question<Q>
Parameters:
node - the calling EOF node
question - the provided question