source: CMT/v1r18p20041201/source/cmt_language.h @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 1.5 KB
Line 
1//-----------------------------------------------------------
2// Copyright Christian Arnault LAL-Orsay CNRS
3// arnault@lal.in2p3.fr
4// See the complete license in cmt_license.txt "http://www.cecill.info".
5//-----------------------------------------------------------
6
7#ifndef __cmt_language_h__
8#define __cmt_language_h__
9
10#include "cmt_parser.h"
11#include "cmt_fragment.h"
12
13class Language
14{
15public:
16  typedef cmt_vector<Language> LanguageVector;
17  static void action (const CmtSystem::cmt_string_vector& words);
18  static Language& find (const cmt_string& name);
19  static Language& find_with_suffix (const cmt_string& suffix);
20  static Language& add (const cmt_string& name);
21  static void show (const cmt_string& name);
22  static void show_all ();
23  static void show_names ();
24  static void setup_all_fragments ();
25  static void clear_all ();
26  static LanguageVector& languages ();
27  static Language& null ();
28
29public:
30  Language ();
31  ~Language ();
32  void clear ();
33  void show ();
34  void setup_fragments ();
35  bool operator == (const cmt_string& name) const;
36  bool operator == (const Language& other) const;
37  bool operator != (const Language& other) const;
38
39  cmt_string m_name;
40  cmt_string fragment_name;
41  cmt_string linker;
42  cmt_string output_suffix;
43  bool prototypes;
44  cmt_string preprocessor_command;
45  CmtSystem::cmt_string_vector suffixes;
46  CmtSystem::cmt_string_vector extra_output_suffixes;
47
48  FragmentHandle application;
49  FragmentHandle library;
50};
51
52#endif
Note: See TracBrowser for help on using the repository browser.