Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

cmt_language.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------
00002 // Copyright Christian Arnault LAL-Orsay CNRS
00003 // arnault@lal.in2p3.fr
00004 // See the complete license in cmt_license.txt "http://www.cecill.info". 
00005 //-----------------------------------------------------------
00006 
00007 #ifndef __cmt_language_h__
00008 #define __cmt_language_h__
00009 
00010 #include "cmt_parser.h"
00011 #include "cmt_fragment.h"
00012 
00013 class Language
00014 {
00015 public:
00016   typedef cmt_vector<Language> LanguageVector;
00017   static void action (const CmtSystem::cmt_string_vector& words);
00018   static Language& find (const cmt_string& name);
00019   static Language& find_with_suffix (const cmt_string& suffix);
00020   static Language& add (const cmt_string& name);
00021   static void show (const cmt_string& name);
00022   static void show_all ();
00023   static void show_names ();
00024   static void setup_all_fragments ();
00025   static void clear_all ();
00026   static LanguageVector& languages ();
00027   static Language& null ();
00028 
00029 public:
00030   Language ();
00031   ~Language ();
00032   void clear ();
00033   void show ();
00034   void setup_fragments ();
00035   bool operator == (const cmt_string& name) const;
00036   bool operator == (const Language& other) const;
00037   bool operator != (const Language& other) const;
00038 
00039   cmt_string m_name;
00040   cmt_string fragment_name;
00041   cmt_string linker;
00042   cmt_string output_suffix;
00043   bool prototypes;
00044   cmt_string preprocessor_command;
00045   CmtSystem::cmt_string_vector suffixes;
00046   CmtSystem::cmt_string_vector extra_output_suffixes;
00047 
00048   FragmentHandle application;
00049   FragmentHandle library;
00050 };
00051 
00052 #endif

Generated on Mon May 2 10:25:05 2005 for CMT by doxygen 1.3.5