|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
This interface represents an arithmetic and/or a boolean expression.
It represents operations over operands. It is represented by a tree where nodes represents operations and leafs operands. An expression have two states:
Not compiled in wich case it can be modified.
Compiled, this state is possible after compilation method CompileExpression().
Then it will be evaluable and its structure cannot be further modified.
Here is a simple example:
Expression exp = ...
exp.CompileExpression();
Operand op = exp.getResult();
exp.evaluate(......);
System.out.println("the result = "+ op.getInt());
Method Summary | |
void |
compileExpression()
Checks the semantic integrity of an expression. |
void |
evaluate(ParameterOperand[] values,
Tuple t)
It evaluates the expression tree and puts the result into the operand result. |
Operand |
getResult()
Gets the operand in wich the result will be put in |
PType |
getType()
It gets the result type of this expression |
boolean |
isCompiled()
Gets wether this expression is compiled or not |
Methods inherited from interface org.objectweb.medor.api.Cloneable |
clone |
Method Detail |
public PType getType()
public boolean isCompiled()
public void compileExpression() throws TypingException, MalformedExpressionException
TypingException
- when incompatible types error
occures.
MalformedExpressionException
- if syntax errorpublic Operand getResult() throws java.lang.IllegalStateException
java.lang.IllegalStateException
- if this expression is not
compiled.public void evaluate(ParameterOperand[] values, Tuple t) throws MedorException, java.lang.IllegalStateException
values
- a list of ParameterOperandt
- Tuple
MedorException
- if evaluation error
java.lang.IllegalStateException
- if this expression is not
compiled.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |