cmt_constituent.h Source File

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