ROSE
0.9.6a
|
Analysis rule annotation. More...
#include <rule.h>
Public Member Functions | |
ruleAnn (exprAnn *condition, exprann_list *effects, int line) | |
Create a new rule. More... | |
bool | has_condition () const |
Return true if has condition. More... | |
exprAnn * | condition () const |
Return the condition. More... | |
bool | is_condition_true () const |
Test the condition. More... | |
void | lookup (propertyAnn *default_property, procedureAnn *procedure, Annotations *annotations) |
Compute the next state. More... | |
Public Member Functions inherited from Ann | |
Ann (int line) | |
int | line () const |
Private Attributes | |
exprAnn * | _condition |
Rule condition. More... | |
bool | _is_condition_true |
Condition state. More... | |
exprann_list | _effects |
Rule effects. More... | |
ruleAnn::ruleAnn | ( | exprAnn * | condition, |
exprann_list * | effects, | ||
int | line | ||
) |
Create a new rule.
|
inline |
|
inline |
|
inline |
Test the condition.
Test each condition. Special case: a rule without a condition is automatically true. Return the result of the test
Definition at line 65 of file rule.h.
References _is_condition_true.
void ruleAnn::lookup | ( | propertyAnn * | default_property, |
procedureAnn * | procedure, | ||
Annotations * | annotations | ||
) |
Compute the next state.
When the condition is true, go through the effects and compute the next state for each. Apply next state
Use the states computed by compute_next() to update the variables. Return true if any of them result in changes, meaning that the analysis problem has not converged. Look up
|
private |
Rule condition.
The rule condition will be null, for an unconditional rule.
Definition at line 22 of file rule.h.
Referenced by condition(), and has_condition().
|
private |
Condition state.
True if the condition is true
Definition at line 28 of file rule.h.
Referenced by is_condition_true().
|
private |