Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

rtreenamedcontextrule.h

Go to the documentation of this file.
00001 #ifndef _RTREENAMEDCONTEXTRULE_H_
00002 #define _RTREENAMEDCONTEXTRULE_H_
00003 
00004 #include "rtreecontextrule.h"
00005 #include "streevariable.h"
00006 
00008 class NamedContextRule : public Rule{
00009   
00010  private:
00012   const string name;
00014   RunRuleList &runRuleList;
00015 
00017   List* phpInPattern;
00019   List* phpOutPattern;
00021   Variable* namePattern;
00023   Variable* argumentsPattern;
00025   Variable* contextPattern;
00026 
00027  public:
00029   NamedContextRule(Constant* iname, RunRuleList &irunRuleList, List* iphpInPattern, List* iphpOutPattern, 
00030                    Variable* inamePattern,   Variable* iargumentsPattern, Variable* icontextPattern); 
00031 
00032   virtual ~NamedContextRule();
00033   
00034   virtual bool execute(RuleContext* context, List* phpIn, List* phpOut, List* tplOut, Node::Assignment& assign) const;
00035 
00037   void runRules(NameSpace &subNameSpace, Node* phpContextMatched, StatementList* phpContextOut, 
00038                 StatementList* tplContextOut, Node::Assignment& assign) const;
00039 
00040   virtual Rule* copy();
00041 
00042   virtual Rule* substitute(const Node::Assignment &assign);
00043   
00044   virtual ostream& print(ostream& os) const;
00045 };
00046 
00047 
00048 #endif

Generated on Fri Nov 21 17:54:03 2003 for PHPX by doxygen 1.3.3