Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

cmt_constituent.h

Go to the documentation of this file.
00001 #ifndef __cmt_constituent_h__
00002 #define __cmt_constituent_h__
00003 
00004 #include "cmt_parser.h"
00005 #include "cmt_system.h"
00006 #include "cmt_fragment.h"
00007 #include "cmt_group.h"
00008 
00009 class Constituent
00010 {
00011 public:
00012   typedef cmt_vector<Constituent> ConstituentVector;
00013   static void action (ConstituentType type,
00014                       const CmtSystem::cmt_string_vector& words);
00015   static Constituent* find (const cmt_string& name);
00016   static Constituent* add (ConstituentType type,
00017                            const cmt_string& name,
00018                            const cmt_string& generator);
00019   static void show (const cmt_string& name);
00020   static void parse_all ();
00021   static void show_all ();
00022   static void show_names ();
00023   static void build_all_makefiles (bool simulation);
00024   static void build_all_msdev_files (bool simulation);
00025   static void clear_all ();
00026   static ConstituentVector& constituents ();
00027 
00028 public:
00029   Constituent ();
00030   ~Constituent ();
00031   void parse ();
00032 
00033   void clear ();
00034   void build_makefile (bool simulation) const;
00035   void build_msdev_file (bool simulation) const;
00036   void show () const;
00037 
00038   cmt_string name;
00039   cmt_string generator;
00040   ConstituentType type;
00041   Group* group;
00042   cmt_string suffix;
00043   CmtSystem::cmt_string_vector modules;
00044   bool need_OS9;
00045   bool windows;
00046   bool no_static;
00047   bool no_share;
00048   bool need_prototypes;
00049   bool need_check;
00050   bool build_triggers;
00051   CmtSystem::cmt_string_vector includes;
00052   CmtSystem::cmt_string_vector imports;
00053   Variable::VariableVector variables;
00054 
00055 private:
00056   CmtSystem::cmt_string_vector parameters;
00057 
00058 };
00059 
00060 #endif

Generated at Thu Apr 11 16:49:39 2002 for CMT by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000