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_t & | getPosition () 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_t & | operator[] (uint32_t i) |
| const expression_t | operator[] (uint32_t i) const |
| expression_t & | get (uint32_t i) |
| const expression_t & | get (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_t & | operator= (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) |
| 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 | ) |
1.4.7