edu.toronto.cs.yasm.pgenerator
Class BasePredicateGenerator

java.lang.Object
  extended by edu.toronto.cs.yasm.pgenerator.BasePredicateGenerator
All Implemented Interfaces:
PredicateGenerator
Direct Known Subclasses:
AIntellegence, BackEndGenerator, InconsistentDestinationGenerator, WPPredicateGenerator

public abstract class BasePredicateGenerator
extends java.lang.Object
implements PredicateGenerator


Field Summary
protected  CVectorExpr cStatePred
           
protected  CVCLExprConverter cvclConverter
           
protected  java.util.List existingPred
           
protected  java.util.List newPreds
           
protected  PProgram pProgram
           
protected  CVectorExpr pStatePred
           
protected  PrllAsmtPStmt stmt
           
protected  ValidityChecker vc
           
protected  WPComputer wp
           
 
Constructor Summary
BasePredicateGenerator(PProgram _pProgram, PrllAsmtPStmt _stmt, PredicateRefiner _refiner, WPComputer _wp, CVectorExpr _pStatePred, CVectorExpr _cStatePred)
          This constructor of PredicateGenerator is almost the same as the one above, the only difference is the last two premeters.
 
Method Summary
protected  Expr computeWP(Expr expr)
           
 java.util.List getNewPreds()
          returns a list of new predicates found
 PProgram getPProgram()
          Describe getPProgram method here.
 Expr hasPredicate(Expr expr)
          returns null if expr is in existingPred, and a cannonical version of expr otherwise
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.toronto.cs.yasm.pgenerator.PredicateGenerator
find
 

Field Detail

stmt

protected PrllAsmtPStmt stmt

vc

protected ValidityChecker vc

existingPred

protected java.util.List existingPred

wp

protected WPComputer wp

pStatePred

protected CVectorExpr pStatePred

cStatePred

protected CVectorExpr cStatePred

cvclConverter

protected CVCLExprConverter cvclConverter

newPreds

protected java.util.List newPreds

pProgram

protected PProgram pProgram
Constructor Detail

BasePredicateGenerator

public BasePredicateGenerator(PProgram _pProgram,
                              PrllAsmtPStmt _stmt,
                              PredicateRefiner _refiner,
                              WPComputer _wp,
                              CVectorExpr _pStatePred,
                              CVectorExpr _cStatePred)
This constructor of PredicateGenerator is almost the same as the one above, the only difference is the last two premeters. This Constructor uses CVectorExpr to represent the parent/child state of the maybe transition.

Parameters:
_pProgram - a PProgram value
_stmt - a PrllAsmtPStmt value
_refiner - a PredicateRefiner value
_wp - a WPComputer value
_pStatePred - a CVectorExpr value
_cStatePred - a CVectorExpr value
Method Detail

getPProgram

public PProgram getPProgram()
Describe getPProgram method here.

Returns:
a PProgram value

hasPredicate

public Expr hasPredicate(Expr expr)
returns null if expr is in existingPred, and a cannonical version of expr otherwise

Parameters:
expr - an Expr value
Returns:
an Expr value

computeWP

protected Expr computeWP(Expr expr)

getNewPreds

public java.util.List getNewPreds()
Description copied from interface: PredicateGenerator
returns a list of new predicates found

Specified by:
getNewPreds in interface PredicateGenerator
Returns:
a List value