DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <Expression.hh>
Public Member Functions | |
MulExpression (Expression *multiplicativeExpr, Expression *unaryExpr) | |
virtual bool | valid () const |
Expression * | left () const |
Expression * | right () const |
virtual bool | isConstant () const |
int | type () const |
bool | eval (Value &result) const |
virtual Type | valueType () const |
Public Member Functions inherited from Diades::Altarica::Expression | |
Expression () | |
VariableIterator | beginOfVariables () const |
VariableIterator | endOfVariables () const |
SizeType | supportSize () const |
Private Attributes | |
Expression * | _multiplicativeExpr |
Expression * | _unaryExpr |
Friends | |
ostream & | operator<< (ostream &os, const Expression &expression) |
Additional Inherited Members | |
Public Types inherited from Diades::Altarica::Expression | |
typedef Utils::Exception< Expression > | Exception |
typedef vector< Variable >::const_iterator | VariableIterator |
typedef vector< Variable >::size_type | SizeType |
typedef vector< Variable > | Support |
Static Public Member Functions inherited from Diades::Altarica::Expression | |
static string | typeName () |
Protected Attributes inherited from Diades::Altarica::Expression | |
Support | _varSupport |
Type | _returnedType |
Variables that are supporting the Expression. More... | |
Definition at line 830 of file Expression.hh.
|
inline |
Definition at line 836 of file Expression.hh.
References _multiplicativeExpr, _unaryExpr, Diades::Altarica::Expression::_varSupport, and Diades::Altarica::mergeExpressionSupports().
|
virtual |
Expression evaluation: this operation evaluates the expression with the current value associated to the variables that support the Expression. The evaluation is failing if there is a variable of the support that is still free (that is an unassigned variable).
value | the Value resulting from the evaluation of the current Expression. |
Implements Diades::Altarica::Expression.
|
inlinevirtual |
Implements Diades::Altarica::Expression.
Definition at line 855 of file Expression.hh.
References Diades::Altarica::Expression::isConstant(), left(), and right().
|
inline |
Definition at line 847 of file Expression.hh.
References _multiplicativeExpr.
Referenced by isConstant().
|
inline |
|
inlinevirtual |
Type of an expression
Implements Diades::Altarica::Expression.
Definition at line 860 of file Expression.hh.
|
inlinevirtual |
Validity of an Expression
Implements Diades::Altarica::Expression.
Definition at line 843 of file Expression.hh.
References Diades::Altarica::Expression::valid().
|
inlinevirtual |
Type of the Value returned by the Expression (lazy computation)
Implements Diades::Altarica::Expression.
Definition at line 863 of file Expression.hh.
References Diades::Altarica::Expression::_returnedType, Diades::Altarica::TypeFactory::factory(), Diades::Altarica::TypeFactory::getInteger(), and Diades::Altarica::Type::valid().
|
friend |
|
private |
Definition at line 833 of file Expression.hh.
Referenced by left(), and MulExpression().
|
private |
Definition at line 834 of file Expression.hh.
Referenced by MulExpression(), and right().