ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IntArithLogical::exprLeaf Class Reference

#include <intArithLogical.h>

Inheritance diagram for IntArithLogical::exprLeaf:
Collaboration diagram for IntArithLogical::exprLeaf:

Public Member Functions

 exprLeaf (cmpOps cmp, int a, varID x, int b, varID y, int c)
 
 exprLeaf (const exprLeaf &that)
 
const std::list
< SpearAbstractVar * > & 
getVars ()
 
SpearAbstractVar * getOutVar ()
 
const std::string & getExpr ()
 
std::string str (std::string indent="")
 
std::string str (std::string indent="") const
 
std::string genStr (std::string indent="") const
 
elt elType ()
 
SpearExpr * copy ()
 
bool notUpd ()
 
bool andExprs (const exprLeaf &that, bool &modified)
 
bool andExprsTest (const exprLeaf &that)
 
bool orExprs (const exprLeaf &that, bool &modified)
 
bool orExprsTest (const exprLeaf &that)
 
bool operator== (exprLeafOrNode &that)
 
bool operator<= (exprLeafOrNode &that)
 
- Public Member Functions inherited from IntArithLogical::exprLeafOrNode
bool operator!= (exprLeafOrNode &that)
 
bool operator< (exprLeafOrNode &that)
 
bool operator>= (exprLeafOrNode &that)
 
bool operator> (exprLeafOrNode &that)
 
virtual ~exprLeafOrNode ()
 

Protected Member Functions

 exprLeaf (SpearOp cmp, int a, varID x, int b, varID y, int c)
 
bool normalize ()
 
bool setToTrue ()
 
bool setToFalse ()
 
infContent getLevel ()
 
void computeVarsExpr ()
 

Protected Attributes

SpearOp cmp
 
int a
 
int b
 
int c
 
varID x
 
varID y
 
exprLeafOrNode::infContent level
 
std::list< SpearAbstractVar * > vars
 
SpearAbstractVar * outVar
 
std::string logExpr
 
bool varsExprInitialized
 

Friends

class logicNode
 

Additional Inherited Members

- Public Types inherited from IntArithLogical::exprLeafOrNode
enum  elt {
  eLeaf,
  lNode
}
 
enum  infContent {
  isTrue,
  exprKnown,
  isFalse
}
 

Detailed Description

Definition at line 93 of file intArithLogical.h.

Constructor & Destructor Documentation

IntArithLogical::exprLeaf::exprLeaf ( SpearOp  cmp,
int  a,
varID  x,
int  b,
varID  y,
int  c 
)
protected
IntArithLogical::exprLeaf::exprLeaf ( cmpOps  cmp,
int  a,
varID  x,
int  b,
varID  y,
int  c 
)
IntArithLogical::exprLeaf::exprLeaf ( const exprLeaf that)

Member Function Documentation

bool IntArithLogical::exprLeaf::normalize ( )
protected
bool IntArithLogical::exprLeaf::setToTrue ( )
protectedvirtual
bool IntArithLogical::exprLeaf::setToFalse ( )
protectedvirtual
infContent IntArithLogical::exprLeaf::getLevel ( )
protectedvirtual
void IntArithLogical::exprLeaf::computeVarsExpr ( )
protected
const std::list<SpearAbstractVar*>& IntArithLogical::exprLeaf::getVars ( )
SpearAbstractVar* IntArithLogical::exprLeaf::getOutVar ( )
const std::string& IntArithLogical::exprLeaf::getExpr ( )
std::string IntArithLogical::exprLeaf::str ( std::string  indent = "")
virtual
std::string IntArithLogical::exprLeaf::str ( std::string  indent = "") const
std::string IntArithLogical::exprLeaf::genStr ( std::string  indent = "") const
elt IntArithLogical::exprLeaf::elType ( )
inlinevirtual
SpearExpr* IntArithLogical::exprLeaf::copy ( )
bool IntArithLogical::exprLeaf::notUpd ( )
virtual
bool IntArithLogical::exprLeaf::andExprs ( const exprLeaf that,
bool &  modified 
)
bool IntArithLogical::exprLeaf::andExprsTest ( const exprLeaf that)
bool IntArithLogical::exprLeaf::orExprs ( const exprLeaf that,
bool &  modified 
)
bool IntArithLogical::exprLeaf::orExprsTest ( const exprLeaf that)
bool IntArithLogical::exprLeaf::operator== ( exprLeafOrNode that)
virtual
bool IntArithLogical::exprLeaf::operator<= ( exprLeafOrNode that)
virtual

Friends And Related Function Documentation

friend class logicNode
friend

Definition at line 95 of file intArithLogical.h.

Member Data Documentation

SpearOp IntArithLogical::exprLeaf::cmp
protected

Definition at line 98 of file intArithLogical.h.

int IntArithLogical::exprLeaf::a
protected

Definition at line 99 of file intArithLogical.h.

int IntArithLogical::exprLeaf::b
protected

Definition at line 99 of file intArithLogical.h.

int IntArithLogical::exprLeaf::c
protected

Definition at line 99 of file intArithLogical.h.

varID IntArithLogical::exprLeaf::x
protected

Definition at line 100 of file intArithLogical.h.

varID IntArithLogical::exprLeaf::y
protected

Definition at line 100 of file intArithLogical.h.

exprLeafOrNode::infContent IntArithLogical::exprLeaf::level
protected

Definition at line 102 of file intArithLogical.h.

std::list<SpearAbstractVar*> IntArithLogical::exprLeaf::vars
protected

Definition at line 104 of file intArithLogical.h.

SpearAbstractVar* IntArithLogical::exprLeaf::outVar
protected

Definition at line 105 of file intArithLogical.h.

std::string IntArithLogical::exprLeaf::logExpr
protected

Definition at line 106 of file intArithLogical.h.

bool IntArithLogical::exprLeaf::varsExprInitialized
protected

Definition at line 107 of file intArithLogical.h.


The documentation for this class was generated from the following file: