expression_t Namespace Reference


Functions

 expression_t ()
 expression_t (kind_t kind, const position_t &pos)
 expression_t (const expression_t &e)
expression_t clone () const
expression_t subst (symbol_t symbol, expression_t expr) const
 ~expression_t ()
kind_t getKind () const
const position_tgetPosition () const
size_t getSize () const
type_t getType () const
void setType (type_t type)
int32_t getValue () const
int32_t getIndex () const
synchronisation_t getSync () const
expression_toperator[] (uint32_t i)
const expression_t operator[] (uint32_t i) const
expression_tget (uint32_t i)
const expression_tget (uint32_t i) const
bool empty () const
bool equal (const expression_t &e) const
 Two expressions are identical iff all the sub expressions are identical and if the kind, value and symbol of the root are identical.
expression_toperator= (const expression_t &e)
symbol_t getSymbol ()
 Returns the symbol of a variable reference.
const symbol_t getSymbol () const
void getSymbols (std::set< symbol_t > &symbols) const
bool isReferenceTo (const std::set< symbol_t > &symbols) const
 Returns true if expr might be a reference to a symbol in the set.
bool changesVariable (const std::set< symbol_t > &symbols) const
bool changesAnyVariable () const
bool dependsOn (const std::set< symbol_t > &symbols) const
int getPrecedence () const
int getPrecedence (kind_t kind)
void toString (bool old, char *&str, char *&end, int &size) const
bool operator< (const expression_t e) const
bool operator== (const expression_t e) const
std::string toString (bool old) const
 Returns a string representation of the expression.
void collectPossibleWrites (set< symbol_t > &symbols) const
void collectPossibleReads (set< symbol_t > &symbols) const
expression_t createConstant (int32_t value, position_t pos)
expression_t createIdentifier (symbol_t symbol, position_t pos)
expression_t createNary (kind_t kind, const vector< expression_t > &sub, position_t pos, type_t type)
expression_t createUnary (kind_t kind, expression_t sub, position_t pos, type_t type)
expression_t createBinary (kind_t kind, expression_t left, expression_t right, position_t pos, type_t type)
expression_t createTernary (kind_t kind, expression_t e1, expression_t e2, expression_t e3, position_t pos, type_t type)
expression_t createDot (expression_t e, int32_t idx, position_t pos, type_t type)
expression_t createSync (expression_t e, synchronisation_t s, position_t pos)
expression_t createDeadlock (position_t pos)


Function Documentation

expression_t::expression_t (  ) 

expression_t::expression_t ( kind_t  kind,
const position_t pos 
)

expression_t::expression_t ( const expression_t e  ) 

expression_t expression_t::clone (  )  const

expression_t expression_t::subst ( symbol_t  symbol,
expression_t  expr 
) const

expression_t::~expression_t (  ) 

kind_t expression_t::getKind (  )  const

const position_t& expression_t::getPosition (  )  const

size_t expression_t::getSize (  )  const

type_t expression_t::getType (  )  const

void expression_t::setType ( type_t  type  ) 

int32_t expression_t::getValue (  )  const

int32_t expression_t::getIndex (  )  const

synchronisation_t expression_t::getSync (  )  const

expression_t& expression_t::operator[] ( uint32_t  i  ) 

const expression_t expression_t::operator[] ( uint32_t  i  )  const

expression_t& expression_t::get ( uint32_t  i  ) 

const expression_t& expression_t::get ( uint32_t  i  )  const

bool expression_t::empty (  )  const

bool expression_t::equal ( const expression_t e  )  const

Two expressions are identical iff all the sub expressions are identical and if the kind, value and symbol of the root are identical.

expression_t& expression_t::operator= ( const expression_t e  ) 

symbol_t expression_t::getSymbol (  ) 

Returns the symbol of a variable reference.

The expression must be a left-hand side value. The symbol returned is the symbol of the variable the expression if resulting in a reference to. NOTE: In case of inline if, the symbol referenced by the 'true' part is returned.

const symbol_t expression_t::getSymbol (  )  const

void expression_t::getSymbols ( std::set< symbol_t > &  symbols  )  const

bool expression_t::isReferenceTo ( const std::set< symbol_t > &  symbols  )  const

Returns true if expr might be a reference to a symbol in the set.

bool expression_t::changesVariable ( const std::set< symbol_t > &  symbols  )  const

bool expression_t::changesAnyVariable (  )  const

bool expression_t::dependsOn ( const std::set< symbol_t > &  symbols  )  const

int expression_t::getPrecedence (  )  const

int expression_t::getPrecedence ( kind_t  kind  ) 

void expression_t::toString ( bool  old,
char *&  str,
char *&  end,
int &  size 
) const

bool expression_t::operator< ( const expression_t  e  )  const

bool expression_t::operator== ( const expression_t  e  )  const

std::string expression_t::toString ( bool  old  )  const

Returns a string representation of the expression.

The string returned must be deallocated with delete[]. Returns NULL is the expression is empty.

void expression_t::collectPossibleWrites ( set< symbol_t > &  symbols  )  const

void expression_t::collectPossibleReads ( set< symbol_t > &  symbols  )  const

expression_t expression_t::createConstant ( int32_t  value,
position_t  pos 
)

expression_t expression_t::createIdentifier ( symbol_t  symbol,
position_t  pos 
)

expression_t expression_t::createNary ( kind_t  kind,
const vector< expression_t > &  sub,
position_t  pos,
type_t  type 
)

expression_t expression_t::createUnary ( kind_t  kind,
expression_t  sub,
position_t  pos,
type_t  type 
)

expression_t expression_t::createBinary ( kind_t  kind,
expression_t  left,
expression_t  right,
position_t  pos,
type_t  type 
)

expression_t expression_t::createTernary ( kind_t  kind,
expression_t  e1,
expression_t  e2,
expression_t  e3,
position_t  pos,
type_t  type 
)

expression_t expression_t::createDot ( expression_t  e,
int32_t  idx,
position_t  pos,
type_t  type 
)

expression_t expression_t::createSync ( expression_t  e,
synchronisation_t  s,
position_t  pos 
)

expression_t expression_t::createDeadlock ( position_t  pos  ) 


Generated on Thu Feb 22 14:46:52 2007 for libutap by  doxygen 1.4.7