In file optrules.h:

class XxxOptRuleEngine

The Rule Engine allows simple rules to be registered

Inheritance:


Public Methods

XxxErrCode AddRule (XxxRule* NewRule)
/ Add a rule to the set of rules
virtual XxxErrCode FireAllRules (XxxValueExpression*& VExpr, XxxBool ApplyTopDown, XxxBool ApplyBottomUp)
Fire all rules to transform VExpr, producing the resulting expression

Protected Methods

XxxErrCode fireRules (XxxValueExpression* InVExpr, XxxValueExpression*& OutVExpr, int& ActualNumFirings, TravDir TDir, ostream *QPStream)
/ Fire the rules against a single expression node

Documentation

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 fireRules(XxxValueExpression* InVExpr, XxxValueExpression*& OutVExpr, int& ActualNumFirings, TravDir TDir, ostream *QPStream)
/ Fire the rules against a single expression node

XxxErrCode AddRule(XxxRule* NewRule)
/ Add a rule to the set of rules

virtual XxxErrCode FireAllRules(XxxValueExpression*& VExpr, XxxBool ApplyTopDown, XxxBool ApplyBottomUp)
Fire all rules to transform VExpr, producing the resulting expression. This could be subclassed to provide a better control strategy.


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de