file: direct.h
#ifndef direct_h #define direct_h #include <iostream.h> #include <set.h> #include <String.h> #include <map.h> #include "pre.h" class directive; //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) typedef pair<const String, directive*> directive_pair; //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) class directive { //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) protected: String _name; public: virtual void operator()(preprocessor *p) =NULL; //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) inline const String name() const {return _name;} };//end class directive //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) //////////////////////////////// class include : public directive { public: inline include() { _name = "include";} void operator()(preprocessor *p); //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) };//end class include //////////////////////////////// class define : public directive { public: inline define() { _name = "define";} void operator()(preprocessor *p); //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) };//end class define //////////////////////////////// class ifdef : public directive { public: inline ifdef() { _name = "ifdef";} void operator()(preprocessor *p); //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) };//end class ifdef //////////////////////////////// class ifndef : public directive { public: inline ifndef() { _name = "ifndef";} void operator()(preprocessor *p); //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) };//end class ifndef //////////////////////////////// class endif : public directive { public: inline endif() { _name = "endif";} void operator()(preprocessor *p); //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) };//end class endif //////////////////////////////// class _else : public directive { public: inline _else() { _name ="else";} void operator()(preprocessor *p); //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) };//end class _else //////////////////////////////// //this is defined in pre.h /*struct strless { inline bool operator() (String a, String b) const //OVERLOAD CALL: operator: error.cc(arg_out), error.cc(error), error.cc(error), error.cc(error), filter.cc(foo), filtermain.cc(comp_String), direct.cpp(include), direct.cpp(define), direct.cpp(ifdef), direct.cpp(ifndef), direct.cpp(_else), direct.cpp(endif) { return (a < b);} }; */ #endif //////////////////////////////// //////////////////////////////// //////////////////////////////// /* main() { map<String, directive*, strless> direct; //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) include inc; define def; ifdef ifd; ifndef ifn; _else els; endif end; typedef pair<const String, directive*> directive_pair; //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) const String include_name = inc.name(); const String define_name = def.name(); const String ifdef_name = ifd.name(); const String ifndef_name = ifn.name(); const String else_name = els.name(); const String endif_name = end.name(); const directive_pair INCLUDE = directive_pair(include_name,(directive*) &inc); //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) const directive_pair DEFINE = directive_pair(define_name, (directive*) &def); //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) const directive_pair IFDEF = directive_pair(ifdef_name, (directive*) &ifd); //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) const directive_pair IFNDEF = directive_pair(ifndef_name, (directive*) &ifn); //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) const directive_pair ELSE = directive_pair(else_name, (directive*) &els); //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) const directive_pair ENDIF = directive_pair(endif_name, (directive*) &end); //OVERLOAD CALL: directive: direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?), direct.h(?) direct.insert(INCLUDE); direct.insert(DEFINE); direct.insert(IFDEF); direct.insert(IFNDEF); direct.insert(ELSE); direct.insert(ENDIF); const String st= (String) "include"; (*(*direct.find(st)).second)(); // (*direct.find(st).second)(); */ /* direct.insert( d.insert(&i); d.insert(&j); (*d.back())(); d.pop_back(); (*d.back())(); d.pop_back(); } */
Back to Source File Index
C++ to HTML Conversion by ctoohtml