cmt_language.h Source File

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

# cmt_language.h

Go to the documentation of this file.

    00001 #ifndef __cmt_language_h__
    00002 #define __cmt_language_h__
    00003
    00004 #include "cmt_parser.h"
    00005 #include "cmt_fragment.h"
    00006
    00007 class Language
    00008 {
    00009 public:
    00010   typedef cmt_vector<Language> LanguageVector;
    00011   static void action (const CmtSystem::cmt_string_vector& words);
    00012   static Language& find (const cmt_string& name);
    00013   static Language& find_with_suffix (const cmt_string& suffix);
    00014   static Language& add (const cmt_string& name);
    00015   static void show (const cmt_string& name);
    00016   static void show_all ();
    00017   static void show_names ();
    00018   static void setup_all_fragments ();
    00019   static void clear_all ();
    00020   static LanguageVector& languages ();
    00021   static Language& null ();
    00022
    00023 public:
    00024   Language ();
    00025   ~Language ();
    00026   void clear ();
    00027   void show ();
    00028   void setup_fragments ();
    00029   bool operator == (const cmt_string& name) const;
    00030   bool operator == (const Language& other) const;
    00031   bool operator != (const Language& other) const;
    00032
    00033   cmt_string m_name;
    00034   cmt_string fragment_name;
    00035   cmt_string linker;
    00036   cmt_string output_suffix;
    00037   bool prototypes;
    00038   cmt_string preprocessor_command;
    00039   CmtSystem::cmt_string_vector suffixes;
    00040   CmtSystem::cmt_string_vector extra_output_suffixes;
    00041
    00042   FragmentHandle application;
    00043   FragmentHandle library;
    00044 };
    00045
    00046 #endif