edu.mit.csail.sdg.squander.engine.SquanderEval2 Class Reference
[Engine]

Inherits forge::program::ExpressionVisitor< ObjTupleSet >.

Collaboration diagram for edu.mit.csail.sdg.squander.engine.SquanderEval2:
Collaboration graph
[legend]

List of all members.

Classes

interface  BinFunc< R, T >
class  StackElem

Public Member Functions

Map< ForgeVariable, ObjTupleSetgetAssignments ()
ISquanderResult.IEvaluator getEvaluator ()
ObjTupleSet eval (ForgeExpression expr, ForgeConverter fconv)

Protected Member Functions

ObjTupleSet visit (BinaryExpression expr)
ObjTupleSet visit (ConditionalExpression expr)
ObjTupleSet visit (ForgeLiteral expr)
ObjTupleSet visit (ForgeType expr)
ObjTupleSet visit (ForgeVariable expr)
ObjTupleSet visit (OldExpression expr)
ObjTupleSet visit (ProjectionExpression expr)
ObjTupleSet visit (QuantifyExpression expr)
ObjTupleSet visit (UnaryExpression expr)

Package Functions

private< R > ObjTupleSet visitIntBinExpr (BinaryExpression expr, BinFunc< R, Integer > f)

Private Member Functions

ObjTupleSet visitVariable (ForgeVariable var)
ObjTupleSet visitLocalVariable (LocalVariable var)
StackElem searchStack (LocalVariable var)
ObjTupleSet visitAssignment (BinaryExpression expr)
ObjTupleSet visitEquals (BinaryExpression expr)
ObjTupleSet visitJoin (BinaryExpression expr)
ObjTupleSet visitProduct (BinaryExpression expr)
ObjTupleSet visitRelUnion (BinaryExpression expr)
ObjTupleSet visitDiff (BinaryExpression expr)
ObjTupleSet visitSubset (BinaryExpression expr)
ObjTupleSet visitIntersection (BinaryExpression expr)
ObjTupleSet visitClosure (ObjTupleSet res)
ObjTupleSet visitBoolBinExpr (BinaryExpression expr, BinFunc< Boolean, Boolean > f)
ObjTupleSet visitUnion (QuantifyExpression expr)
ObjTupleSet visitAll (QuantifyExpression expr)
ObjTupleSet visitExists (QuantifyExpression expr)

Static Private Member Functions

static ObjTupleSet boolAtom (boolean val)
static ObjTupleSet intAtom (int val)
static ObjTupleSet objAtom (Object obj)
static boolean boolValue (ObjTupleSet condEval)
static int intValue (ObjTupleSet condEval)

Private Attributes

ForgeConverter fconv
Heap2Bounds heap2lit
boolean hasSolution = false
Stack< StackElem > quantStack = new Stack<StackElem>()
Map< ForgeVariable, ObjTupleSetassignments = new HashMap<ForgeVariable, ObjTupleSet>()

Detailed Description

Used to evaluate relational Forge expressions against the heap. It uses ObjTupleSet instead of ForgeBounds.

Definition at line 35 of file SquanderEval2.java.


Member Function Documentation

static ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.boolAtom ( boolean  val  )  [static, private]
static boolean edu.mit.csail.sdg.squander.engine.SquanderEval2.boolValue ( ObjTupleSet  condEval  )  [static, private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.eval ( ForgeExpression  expr,
ForgeConverter  fconv 
)
Map<ForgeVariable, ObjTupleSet> edu.mit.csail.sdg.squander.engine.SquanderEval2.getAssignments (  ) 
ISquanderResult.IEvaluator edu.mit.csail.sdg.squander.engine.SquanderEval2.getEvaluator (  ) 
static ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.intAtom ( int  val  )  [static, private]
static int edu.mit.csail.sdg.squander.engine.SquanderEval2.intValue ( ObjTupleSet  condEval  )  [static, private]
static ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.objAtom ( Object  obj  )  [static, private]
StackElem edu.mit.csail.sdg.squander.engine.SquanderEval2.searchStack ( LocalVariable  var  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( UnaryExpression  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( QuantifyExpression  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( ProjectionExpression  expr  )  [protected]

Definition at line 201 of file SquanderEval2.java.

ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( OldExpression  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( ForgeVariable  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( ForgeType  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( ForgeLiteral  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( ConditionalExpression  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visit ( BinaryExpression  expr  )  [protected]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitAll ( QuantifyExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitAssignment ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitBoolBinExpr ( BinaryExpression  expr,
BinFunc< Boolean, Boolean >  f 
) [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitClosure ( ObjTupleSet  res  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitDiff ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitEquals ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitExists ( QuantifyExpression  expr  )  [private]
private<R> ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitIntBinExpr ( BinaryExpression  expr,
BinFunc< R, Integer >  f 
) [package]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitIntersection ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitJoin ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitLocalVariable ( LocalVariable  var  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitProduct ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitRelUnion ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitSubset ( BinaryExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitUnion ( QuantifyExpression  expr  )  [private]
ObjTupleSet edu.mit.csail.sdg.squander.engine.SquanderEval2.visitVariable ( ForgeVariable  var  )  [private]

Member Data Documentation

Map<ForgeVariable, ObjTupleSet> edu.mit.csail.sdg.squander.engine.SquanderEval2.assignments = new HashMap<ForgeVariable, ObjTupleSet>() [private]
Stack<StackElem> edu.mit.csail.sdg.squander.engine.SquanderEval2.quantStack = new Stack<StackElem>() [private]

The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208