The Rule Engine allows simple rules to be registered
![]() | AddRule (XxxRule* NewRule) / Add a rule to the set of rules |
![]() | FireAllRules (XxxValueExpression*& VExpr, XxxBool ApplyTopDown, XxxBool ApplyBottomUp) Fire all rules to transform VExpr, producing the resulting expression |
![]() | fireRules (XxxValueExpression* InVExpr, XxxValueExpression*& OutVExpr, int& ActualNumFirings, TravDir TDir, ostream *QPStream) / Fire the rules against a single expression node |
The Rule Engine allows simple rules to be registered. These rules are used to perform E-ADT optimizations. This rule engine has the following policy: --- repeatedly traverse the E-ADT expression top-down followed by bottom-up --- in each traversal, apply any rules that apply This is probably the most primitive rule engine possible. More fancy engines could be added instead (future additions).
XxxErrCode AddRule(XxxRule* NewRule)
virtual XxxErrCode FireAllRules(XxxValueExpression*& VExpr, XxxBool ApplyTopDown, XxxBool ApplyBottomUp)
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de