tip.cfg.dfa
Class SignAnalysis

java.lang.Object
  extended by tip.cfg.CFGAnalysisAdapter
      extended by tip.cfg.FlowAnalysis<EqualityMap<ALocalDecl,SignAnalysis.Sign>>
          extended by tip.cfg.dfa.SignAnalysis
All Implemented Interfaces:
FixedPointAnalysis<EqualityMap<ALocalDecl,SignAnalysis.Sign>>, ICFGAnalysis

public class SignAnalysis
extends FlowAnalysis<EqualityMap<ALocalDecl,SignAnalysis.Sign>>


Nested Class Summary
static class SignAnalysis.Evaluator
           
static class SignAnalysis.Sign
           
 class SignAnalysis.SignLattice
           
 
Field Summary
static SignAnalysis.Sign[][] DIVIDE_op
           
static SignAnalysis.Sign[][] EQ_op
           
static SignAnalysis.Sign[][] GT_op
           
static SignAnalysis.Sign[][] MINUS_op
           
static SignAnalysis.Sign[][] PLUS_op
           
static SignAnalysis.Sign[][] TIMES_op
           
 
Constructor Summary
SignAnalysis()
           
 
Method Summary
 boolean caseCAssignVarStmPoint(AAssignVarStm node, CAssignVarStmPoint point)
          Default implementation.
 boolean caseCDeclStmPoint(ADeclStm node, CDeclStmPoint point)
          Default implementation.
 boolean caseEntryPoint(Node node, EntryPoint point)
          Default implementation.
 String getVariableString(EqualityMap<ALocalDecl,SignAnalysis.Sign> variable)
          Returns a textual representation of the variable variable.
 
Methods inherited from class tip.cfg.FlowAnalysis
defaultNode, end, getDependencySet, getLattice, getName, getVariable, getVariableStringForPoint, getVariableStringForPoint, setVariable, start
 
Methods inherited from class tip.cfg.CFGAnalysisAdapter
caseCAssignPtrStmPoint, caseCBinopExpPoint, caseCBlockPoint, caseCDerefExpPoint, caseCFunctionCallExpPoint, caseCFunctionPtrCallExpPoint, caseCIfThenElseStmPoint, caseCIfThenStmPoint, caseCInputExpPoint, caseCIntConstExpPoint, caseCMallocExpPoint, caseCNullExpPoint, caseCOutputStmPoint, caseCPointerExpPoint, caseCReturnStmPoint, caseCVarExpPoint, caseCWhileStmPoint, caseExitPoint
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tip.cfg.ICFGAnalysis
caseCAssignPtrStmPoint, caseCBinopExpPoint, caseCBlockPoint, caseCDerefExpPoint, caseCFunctionCallExpPoint, caseCFunctionPtrCallExpPoint, caseCIfThenElseStmPoint, caseCIfThenStmPoint, caseCInputExpPoint, caseCIntConstExpPoint, caseCMallocExpPoint, caseCNullExpPoint, caseCOutputStmPoint, caseCPointerExpPoint, caseCReturnStmPoint, caseCVarExpPoint, caseCWhileStmPoint, caseExitPoint
 

Field Detail

PLUS_op

public static final SignAnalysis.Sign[][] PLUS_op

MINUS_op

public static final SignAnalysis.Sign[][] MINUS_op

TIMES_op

public static final SignAnalysis.Sign[][] TIMES_op

DIVIDE_op

public static final SignAnalysis.Sign[][] DIVIDE_op

GT_op

public static final SignAnalysis.Sign[][] GT_op

EQ_op

public static final SignAnalysis.Sign[][] EQ_op
Constructor Detail

SignAnalysis

public SignAnalysis()
Method Detail

getVariableString

public String getVariableString(EqualityMap<ALocalDecl,SignAnalysis.Sign> variable)
Description copied from interface: FixedPointAnalysis
Returns a textual representation of the variable variable.

Parameters:
variable - the variable for which a text representation is returned
Returns:
a textual representation of the variable variable

caseCAssignVarStmPoint

public boolean caseCAssignVarStmPoint(AAssignVarStm node,
                                      CAssignVarStmPoint point)
Description copied from class: CFGAnalysisAdapter
Default implementation. Calls CFGAnalysisAdapter.defaultNode(Node,IProgramPoint).

Specified by:
caseCAssignVarStmPoint in interface ICFGAnalysis
Overrides:
caseCAssignVarStmPoint in class CFGAnalysisAdapter
Parameters:
node - the AAssignVarStm associated with point
point - the CAssignVarStmPoint calling the method
Returns:
true if the result of the analysis is changed.

caseCDeclStmPoint

public boolean caseCDeclStmPoint(ADeclStm node,
                                 CDeclStmPoint point)
Description copied from class: CFGAnalysisAdapter
Default implementation. Calls CFGAnalysisAdapter.defaultNode(Node,IProgramPoint).

Specified by:
caseCDeclStmPoint in interface ICFGAnalysis
Overrides:
caseCDeclStmPoint in class CFGAnalysisAdapter
Parameters:
node - the ADeclStm associated with point
point - the CDeclStmPoint calling the method
Returns:
true if the result of the analysis is changed.

caseEntryPoint

public boolean caseEntryPoint(Node node,
                              EntryPoint point)
Description copied from class: CFGAnalysisAdapter
Default implementation. Calls CFGAnalysisAdapter.defaultNode(Node,IProgramPoint).

Specified by:
caseEntryPoint in interface ICFGAnalysis
Overrides:
caseEntryPoint in class CFGAnalysisAdapter
Parameters:
node - the Node associated with point
point - the EntryPoint calling the method
Returns:
true if the result of the analysis is changed.