00001 #ifndef _STREE_PIN_
00002 #define _STREE_PIN_
00003
00004 #include "streenode.h"
00005
00006 #define CPin "Pin"
00007
00009
00010 class Pin : public Node
00011 {
00012 public:
00014 Pin() {};
00015
00016 virtual SType getType() const { return SPin; };
00017
00018 virtual string getName() const { return CPin; };
00019
00020 virtual ostream& print(ostream &os) const;
00021
00022 virtual ostream& php(ostream &os) const;
00023
00024 virtual bool match(const Node *p, Assignment &assign, const NameSpace &nameSpace)const;
00025
00026 virtual bool matchToBegining(const List *p, Assignment &assign, const NameSpace &nameSpace) const;
00027
00028 virtual bool compare(const Node *p) const;
00029
00030 virtual Node* copy() const;
00031
00032 virtual void getVariables(VariableList &vlist) const;
00033
00034 virtual Node* substitute(const Assignment &assign);
00035
00036 virtual string evaluate(const NameSpace &nameSpace) const;
00037 };
00038
00039 #endif