source: CMT/v1r16p20040901/src/cmt_constituent.h @ 1

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

Import all tags

File size: 2.2 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_constituent_h__
8#define __cmt_constituent_h__
9
10#include "cmt_parser.h"
11#include "cmt_system.h"
12#include "cmt_fragment.h"
13#include "cmt_group.h"
14
15class Constituent
16{
17public:
18  typedef cmt_vector<Constituent> ConstituentVector;
19  static void action (ConstituentType type,
20                      const CmtSystem::cmt_string_vector& words);
21  static Constituent* find (const cmt_string& name);
22  static Constituent* add (ConstituentType type,
23                           const cmt_string& name,
24                           const cmt_string& generator);
25  static Constituent* add_for_action (const cmt_string& name);
26  static void show (const cmt_string& name);
27  static void parse_all ();
28  static void show_all ();
29  static void show_names ();
30  static void build_all_makefiles (bool simulation);
31  static void build_all_msdev_files (bool simulation);
32  static void build_all_vsnet_files (bool simulation); 
33  static void clear_all ();
34  static ConstituentVector& constituents ();
35
36public:
37  Constituent ();
38  ~Constituent ();
39  void parse ();
40
41  virtual void clear ();
42  virtual void build_makefile (bool simulation) const;
43  virtual void build_msdev_file (bool simulation) const;
44  virtual void build_vsnet_file (bool simulation) const;
45  virtual void show () const;
46
47  cmt_string name;
48  cmt_string generator;
49  ConstituentType type;
50  Group* group;
51  cmt_string suffix;
52  CmtSystem::cmt_string_vector modules;
53  bool need_OS9;
54  bool windows;
55  bool no_static;
56  bool no_share;
57  bool need_prototypes;
58  bool need_check;
59  bool build_triggers;
60  bool has_target_tag;
61  CmtSystem::cmt_string_vector excludes;
62  cmt_vector<cmt_regexp> exclude_exprs;
63
64  CmtSystem::cmt_string_vector selects;
65  cmt_vector<cmt_regexp> select_exprs;
66
67  CmtSystem::cmt_string_vector includes;
68  CmtSystem::cmt_string_vector imports;
69  Variable::VariableVector variables;
70
71private:
72  CmtSystem::cmt_string_vector parameters;
73
74};
75
76#endif
Note: See TracBrowser for help on using the repository browser.