~ubuntu-branches/ubuntu/maverick/aspectc++/maverick

« back to all changes in this revision

Viewing changes to Puma/gen-release/step2/src/PreParser.cc

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-04-10 17:40:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080410174052-xdnsm7oi8hauyyf1
Tags: 1.0pre4~svn.20080409+dfsg-3
Fix another missing include, this time in Ag++/StdSystem.cc

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
 
2
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
3
 
#ifndef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
4
 
#define __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
5
 
#define __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
6
 
#endif // __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
7
 
 
8
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
9
 
 
10
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
3
#ifndef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
4
#define __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
5
#define __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__
 
6
#endif // __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
7
 
 
8
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
9
 
 
10
#line 11 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
11
11
 
12
12
#ifndef __ac_h_
13
13
#define __ac_h_
 
14
#ifdef __cplusplus
14
15
namespace AC {
15
16
  typedef const char* Type;
16
17
  enum JPType { CALL = 0x0004, EXECUTION = 0x0008, CONSTRUCTION = 0x0010, DESTRUCTION = 0x0020 };
25
26
    ~ResultBuffer () { ((T*)_data)->T::~T(); }
26
27
    operator T& () const { return *(T*)_data; }
27
28
  };
 
29
  template <typename T, typename N> struct TL {
 
30
    typedef T type; typedef N next; enum { ARGS = next::ARGS + 1 };
 
31
  };
 
32
  struct TLE { enum { ARGS = 0 }; };
 
33
  template <typename T> struct Referred { typedef T type; };
 
34
  template <typename T> struct Referred<T &> { typedef T type; };
 
35
  template <typename TL, int I> struct Arg {
 
36
    typedef typename Arg<typename TL::next, I - 1>::Type Type;
 
37
    typedef typename Referred<Type>::type ReferredType;
 
38
  };
 
39
  template <typename TL> struct Arg<TL, 0> {
 
40
    typedef typename TL::type Type;
 
41
    typedef typename Referred<Type>::type ReferredType;
 
42
  };
28
43
  template <class Aspect, int Index>
29
44
  struct CFlow {
30
45
    static int &instance () {
38
53
}
39
54
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
40
55
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
 
56
#endif // __cplusplus
41
57
#endif // __ac_h_
42
58
 
43
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
44
 
 
45
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
46
 
 
47
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
48
 
 
49
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
50
 
// This file is part of PUMA.
51
 
// Copyright (C) 1999-2003  The PUMA developer team.
52
 
//                                                                
53
 
// This program is free software;  you can redistribute it and/or 
54
 
// modify it under the terms of the GNU General Public License as 
55
 
// published by the Free Software Foundation; either version 2 of 
56
 
// the License, or (at your option) any later version.            
57
 
//                                                                
58
 
// This program is distributed in the hope that it will be useful,
59
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
60
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
61
 
// GNU General Public License for more details.                   
62
 
//                                                                
63
 
// You should have received a copy of the GNU General Public      
64
 
// License along with this program; if not, write to the Free     
65
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
66
 
// MA  02111-1307  USA                                            
67
 
 
68
 
#ifndef __WinIfExists__
69
 
#define __WinIfExists__
70
 
 
71
 
/********************************************************/
72
 
/* Win __if_exists and __if_not_exists support aspect   */
73
 
/********************************************************/
74
 
 
75
 
 
76
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
77
 
// This file is part of PUMA.
78
 
// Copyright (C) 1999-2003  The PUMA developer team.
79
 
//                                                                
80
 
// This program is free software;  you can redistribute it and/or 
81
 
// modify it under the terms of the GNU General Public License as 
82
 
// published by the Free Software Foundation; either version 2 of 
83
 
// the License, or (at your option) any later version.            
84
 
//                                                                
85
 
// This program is distributed in the hope that it will be useful,
86
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
87
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
88
 
// GNU General Public License for more details.                   
89
 
//                                                                
90
 
// You should have received a copy of the GNU General Public      
91
 
// License along with this program; if not, write to the Free     
92
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
93
 
// MA  02111-1307  USA                                            
94
 
 
95
 
#ifndef __stack_h__
96
 
#define __stack_h__
97
 
 
98
 
 
99
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
100
 
// This file is part of PUMA.
101
 
// Copyright (C) 1999-2003  The PUMA developer team.
102
 
//                                                                
103
 
// This program is free software;  you can redistribute it and/or 
104
 
// modify it under the terms of the GNU General Public License as 
105
 
// published by the Free Software Foundation; either version 2 of 
106
 
// the License, or (at your option) any later version.            
107
 
//                                                                
108
 
// This program is distributed in the hope that it will be useful,
109
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
110
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
111
 
// GNU General Public License for more details.                   
112
 
//                                                                
113
 
// You should have received a copy of the GNU General Public      
114
 
// License along with this program; if not, write to the Free     
115
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
116
 
// MA  02111-1307  USA                                            
117
 
 
118
 
#ifndef __array_h__
119
 
#define __array_h__
 
59
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
60
 
 
61
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
62
/* Driver template for the LEMON parser generator.
 
63
** Copyright 1991-1995 by D. Richard Hipp.
 
64
**
 
65
** This library is free software; you can redistribute it and/or
 
66
** modify it under the terms of the GNU Library General Public
 
67
** License as published by the Free Software Foundation; either
 
68
** version 2 of the License, or (at your option) any later version.
 
69
** 
 
70
** This library is distributed in the hope that it will be useful,
 
71
** but WITHOUT ANY WARRANTY; without even the implied warranty of
 
72
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
73
** Library General Public License for more details.
 
74
** 
 
75
** You should have received a copy of the GNU Library General Public
 
76
** License along with this library; if not, write to the
 
77
** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
78
** Boston, MA  02111-1307, USA.
 
79
**
 
80
** Modified 1997 to make it suitable for use with makeheaders.
 
81
*/
 
82
/* First off, code is include which follows the "include" declaration
 
83
** in the input file. */
 
84
#include <stdio.h>
 
85
#line 27 "cpp/PreParser.lem"
 
86
 
 
87
 
 
88
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
89
// This file is part of PUMA.
 
90
// Copyright (C) 1999-2003  The PUMA developer team.
 
91
//                                                                
 
92
// This program is free software;  you can redistribute it and/or 
 
93
// modify it under the terms of the GNU General Public License as 
 
94
// published by the Free Software Foundation; either version 2 of 
 
95
// the License, or (at your option) any later version.            
 
96
//                                                                
 
97
// This program is distributed in the hope that it will be useful,
 
98
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
99
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
100
// GNU General Public License for more details.                   
 
101
//                                                                
 
102
// You should have received a copy of the GNU General Public      
 
103
// License along with this program; if not, write to the Free     
 
104
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
105
// MA  02111-1307  USA                                            
 
106
 
 
107
#ifndef __list_h__
 
108
#define __list_h__
 
109
 
 
110
 
 
111
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
112
// This file is part of PUMA.
 
113
// Copyright (C) 1999-2003  The PUMA developer team.
 
114
//                                                                
 
115
// This program is free software;  you can redistribute it and/or 
 
116
// modify it under the terms of the GNU General Public License as 
 
117
// published by the Free Software Foundation; either version 2 of 
 
118
// the License, or (at your option) any later version.            
 
119
//                                                                
 
120
// This program is distributed in the hope that it will be useful,
 
121
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
122
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
123
// GNU General Public License for more details.                   
 
124
//                                                                
 
125
// You should have received a copy of the GNU General Public      
 
126
// License along with this program; if not, write to the Free     
 
127
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
128
// MA  02111-1307  USA                                            
 
129
 
 
130
#ifndef __list_element_h__
 
131
#define __list_element_h__
 
132
 
 
133
// Base class for objects that may be inserted into a List. Lists
 
134
// autonomously delete or copy list element. So it's necessary to
 
135
// define a destructor and a duplicate method in the derived
 
136
// classes.
120
137
 
121
138
#include <assert.h>
122
139
 
123
140
namespace Puma {
124
141
 
125
142
 
126
 
#line 127 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
127
 
} // closed Puma
128
 
class WinIfExists;
129
 
class WinImportHandler;
130
 
class WinMacros;
131
 
class CMatchSyntax;
132
 
class ExtGnu;
133
 
class ExtAC;
134
 
class ExtACBuilderCoupling;
135
 
class ExtACSyntaxCoupling;
136
 
class ExtACTree;
137
 
class ExtACKeywords;
138
 
class WinAsm;
139
 
class WinDeclSpecs;
140
 
class WinMemberExplSpec;
141
 
class WinTypeKeywords;
142
 
class PragmaOnceUnitState;
143
 
class PragmaOnce;
144
 
class CCExprResolve;
145
 
class CExprResolve;
146
 
namespace Puma {
147
 
 
148
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
149
 
template <class Item>
150
 
class Array {
151
 
#line 152 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
152
 
  friend class ::WinIfExists;
153
 
  friend class ::WinImportHandler;
154
 
  friend class ::WinMacros;
155
 
  friend class ::CMatchSyntax;
156
 
  friend class ::ExtGnu;
157
 
  friend class ::ExtAC;
158
 
  friend class ::ExtACBuilderCoupling;
159
 
  friend class ::ExtACSyntaxCoupling;
160
 
  friend class ::ExtACTree;
161
 
  friend class ::ExtACKeywords;
162
 
  friend class ::WinAsm;
163
 
  friend class ::WinDeclSpecs;
164
 
  friend class ::WinMemberExplSpec;
165
 
  friend class ::WinTypeKeywords;
166
 
  friend class ::PragmaOnceUnitState;
167
 
  friend class ::PragmaOnce;
168
 
  friend class ::CCExprResolve;
169
 
  friend class ::CExprResolve;
170
 
 
171
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
172
 
 
173
 
   protected:
174
 
      static const long default_init_size = 5;
175
 
      static const long default_increment = 5;
176
 
 
177
 
   public:
178
 
      Array (long is = default_init_size, long incr = default_increment);
179
 
      Array (const Array<Item>& array);
180
 
      Array<Item>& operator =(const Array<Item>&);
181
 
      ~Array ();
182
 
      void append (const Item& item);
183
 
      void insert (long index, const Item& item);
184
 
      void prepend (const Item& item);
185
 
      void remove (long index);
186
 
      void reset ();
187
 
      Item& get (long index);
188
 
      Item& operator[] (long index);
189
 
      Item fetch (long index) const;
190
 
      Item& lookup (long index) const;
191
 
      long length () const;
192
 
 
 
143
class List;
 
144
 
 
145
 
 
146
#line 147 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
147
} // closed Puma
 
148
class CCExprResolve;
 
149
class CExprResolve;
 
150
class WinIfExists;
 
151
class WinImportHandler;
 
152
class WinMacros;
 
153
class WinAsm;
 
154
class WinDeclSpecs;
 
155
class WinMemberExplSpec;
 
156
class WinTypeKeywords;
 
157
class WinFriend;
 
158
class ExtAC;
 
159
class ExtACBuilderCoupling;
 
160
class ExtACSyntaxCoupling;
 
161
class ExtACTree;
 
162
class ExtACKeywords;
 
163
class ExtGnu;
 
164
class PragmaOnceUnitState;
 
165
class PragmaOnce;
 
166
class CMatchSyntax;
 
167
namespace Puma {
 
168
 
 
169
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
170
class ListElement {
 
171
#line 172 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
172
  friend class ::CCExprResolve;
 
173
  friend class ::CExprResolve;
 
174
  friend class ::WinIfExists;
 
175
  friend class ::WinImportHandler;
 
176
  friend class ::WinMacros;
 
177
  friend class ::WinAsm;
 
178
  friend class ::WinDeclSpecs;
 
179
  friend class ::WinMemberExplSpec;
 
180
  friend class ::WinTypeKeywords;
 
181
  friend class ::WinFriend;
 
182
  friend class ::ExtAC;
 
183
  friend class ::ExtACBuilderCoupling;
 
184
  friend class ::ExtACSyntaxCoupling;
 
185
  friend class ::ExtACTree;
 
186
  friend class ::ExtACKeywords;
 
187
  friend class ::ExtGnu;
 
188
  friend class ::PragmaOnceUnitState;
 
189
  friend class ::PragmaOnce;
 
190
  friend class ::CMatchSyntax;
 
191
 
 
192
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
193
 
 
194
  friend class List;
 
195
 
 
196
  List        *_belonging_to;
 
197
  ListElement *_next;
 
198
  ListElement *_prev;
 
199
 
 
200
public:
 
201
  ListElement () : _belonging_to ((List*)0) {}
 
202
  virtual ~ListElement () { assert (! _belonging_to); };
 
203
 
 
204
  virtual ListElement *duplicate () = 0;
 
205
  List *belonging_to () const { return _belonging_to; }
 
206
};
 
207
 
 
208
 
 
209
} // namespace Puma
 
210
 
 
211
#endif /* __list_element_h__ */
 
212
 
 
213
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
214
namespace Puma {
 
215
 
 
216
 
 
217
 
 
218
#line 219 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
219
} // closed Puma
 
220
class CCExprResolve;
 
221
class CExprResolve;
 
222
class WinIfExists;
 
223
class WinImportHandler;
 
224
class WinMacros;
 
225
class WinAsm;
 
226
class WinDeclSpecs;
 
227
class WinMemberExplSpec;
 
228
class WinTypeKeywords;
 
229
class WinFriend;
 
230
class ExtAC;
 
231
class ExtACBuilderCoupling;
 
232
class ExtACSyntaxCoupling;
 
233
class ExtACTree;
 
234
class ExtACKeywords;
 
235
class ExtGnu;
 
236
class PragmaOnceUnitState;
 
237
class PragmaOnce;
 
238
class CMatchSyntax;
 
239
namespace Puma {
 
240
 
 
241
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
242
class List {
 
243
#line 244 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
244
  friend class ::CCExprResolve;
 
245
  friend class ::CExprResolve;
 
246
  friend class ::WinIfExists;
 
247
  friend class ::WinImportHandler;
 
248
  friend class ::WinMacros;
 
249
  friend class ::WinAsm;
 
250
  friend class ::WinDeclSpecs;
 
251
  friend class ::WinMemberExplSpec;
 
252
  friend class ::WinTypeKeywords;
 
253
  friend class ::WinFriend;
 
254
  friend class ::ExtAC;
 
255
  friend class ::ExtACBuilderCoupling;
 
256
  friend class ::ExtACSyntaxCoupling;
 
257
  friend class ::ExtACTree;
 
258
  friend class ::ExtACKeywords;
 
259
  friend class ::ExtGnu;
 
260
  friend class ::PragmaOnceUnitState;
 
261
  friend class ::PragmaOnce;
 
262
  friend class ::CMatchSyntax;
 
263
 
 
264
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
265
 
 
266
  ListElement *_first;
 
267
  ListElement *_last;
 
268
 
 
269
public:
 
270
  List () : _first ((ListElement*)0), _last ((ListElement*)0) {}
 
271
  List (const List &);
 
272
  ~List();
 
273
 
 
274
  List &operator = (const List &);
 
275
  List &operator += (const List &);
 
276
  List operator + (const List &);
 
277
 
 
278
  void clear ();
 
279
 
 
280
  void append (ListElement &);
 
281
  void prepend (ListElement &);
 
282
  void insert (ListElement *at, ListElement &element);
 
283
  void remove (ListElement *element);
 
284
  void kill (ListElement *from, ListElement *to = (ListElement*)0)
 
285
   { List discard; cut (discard, from, to); }
 
286
 
 
287
  void cut (List &out, ListElement *from, ListElement *to = (ListElement*)0);
 
288
  //List *cut (ListElement *from, ListElement *to = (ListElement*)0);
 
289
  List *copy (ListElement *from = (ListElement*)0, 
 
290
              ListElement *to = (ListElement*)0);
 
291
  void paste (ListElement *at, const List &l);
 
292
  void paste_before (ListElement *at, const List &l);
 
293
  void move (ListElement *at, List &l);
 
294
  void move_before (ListElement *at, List &l);
 
295
 
 
296
  bool empty () const { return _first == (ListElement*)0; }
 
297
  const ListElement *first () const { return _first; }
 
298
  const ListElement *last () const { return _last; }
 
299
  const ListElement *next (const ListElement *element) const
 
300
   { return element ? element->_next : 0; }
 
301
  const ListElement *prev (const ListElement *element) const 
 
302
   { return element ? element->_prev : 0; }
 
303
};
 
304
 
 
305
 
 
306
} // namespace Puma
 
307
 
 
308
#endif /* __list_h__ */
 
309
 
 
310
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
311
// This file is part of PUMA.
 
312
// Copyright (C) 1999-2003  The PUMA developer team.
 
313
//                                                                
 
314
// This program is free software;  you can redistribute it and/or 
 
315
// modify it under the terms of the GNU General Public License as 
 
316
// published by the Free Software Foundation; either version 2 of 
 
317
// the License, or (at your option) any later version.            
 
318
//                                                                
 
319
// This program is distributed in the hope that it will be useful,
 
320
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
321
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
322
// GNU General Public License for more details.                   
 
323
//                                                                
 
324
// You should have received a copy of the GNU General Public      
 
325
// License along with this program; if not, write to the Free     
 
326
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
327
// MA  02111-1307  USA                                            
 
328
 
 
329
#ifndef __unit_h__
 
330
#define __unit_h__
 
331
 
 
332
 
 
333
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
334
// This file is part of PUMA.
 
335
// Copyright (C) 1999-2003  The PUMA developer team.
 
336
//                                                                
 
337
// This program is free software;  you can redistribute it and/or 
 
338
// modify it under the terms of the GNU General Public License as 
 
339
// published by the Free Software Foundation; either version 2 of 
 
340
// the License, or (at your option) any later version.            
 
341
//                                                                
 
342
// This program is distributed in the hope that it will be useful,
 
343
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
344
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
345
// GNU General Public License for more details.                   
 
346
//                                                                
 
347
// You should have received a copy of the GNU General Public      
 
348
// License along with this program; if not, write to the Free     
 
349
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
350
// MA  02111-1307  USA                                            
 
351
 
 
352
#ifndef __printable_h__
 
353
#define __printable_h__
 
354
 
 
355
#include <iostream>
 
356
using namespace std;
 
357
 
 
358
namespace Puma {
 
359
 
 
360
 
 
361
 
 
362
#line 363 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
363
} // closed Puma
 
364
class CCExprResolve;
 
365
class CExprResolve;
 
366
class WinIfExists;
 
367
class WinImportHandler;
 
368
class WinMacros;
 
369
class WinAsm;
 
370
class WinDeclSpecs;
 
371
class WinMemberExplSpec;
 
372
class WinTypeKeywords;
 
373
class WinFriend;
 
374
class ExtAC;
 
375
class ExtACBuilderCoupling;
 
376
class ExtACSyntaxCoupling;
 
377
class ExtACTree;
 
378
class ExtACKeywords;
 
379
class ExtGnu;
 
380
class PragmaOnceUnitState;
 
381
class PragmaOnce;
 
382
class CMatchSyntax;
 
383
namespace Puma {
 
384
 
 
385
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
386
class Printable {
 
387
#line 388 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
388
  friend class ::CCExprResolve;
 
389
  friend class ::CExprResolve;
 
390
  friend class ::WinIfExists;
 
391
  friend class ::WinImportHandler;
 
392
  friend class ::WinMacros;
 
393
  friend class ::WinAsm;
 
394
  friend class ::WinDeclSpecs;
 
395
  friend class ::WinMemberExplSpec;
 
396
  friend class ::WinTypeKeywords;
 
397
  friend class ::WinFriend;
 
398
  friend class ::ExtAC;
 
399
  friend class ::ExtACBuilderCoupling;
 
400
  friend class ::ExtACSyntaxCoupling;
 
401
  friend class ::ExtACTree;
 
402
  friend class ::ExtACKeywords;
 
403
  friend class ::ExtGnu;
 
404
  friend class ::PragmaOnceUnitState;
 
405
  friend class ::PragmaOnce;
 
406
  friend class ::CMatchSyntax;
 
407
 
 
408
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
409
 
 
410
public:
 
411
  virtual ~Printable () {}
 
412
  virtual void print (ostream &os) const = 0;
 
413
};
 
414
 
 
415
 
 
416
inline ostream &operator << (ostream &os, const Printable &object) {
 
417
  object.print (os);
 
418
  return os;
 
419
}
 
420
 
 
421
 
 
422
} // namespace Puma
 
423
 
 
424
#endif /* __printable_h__ */
 
425
 
 
426
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
427
 
 
428
#line 429 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
429
 
 
430
#ifndef __ac_fwd_PragmaOnceUnitState__
 
431
#define __ac_fwd_PragmaOnceUnitState__
 
432
class PragmaOnceUnitState;
 
433
namespace AC {
 
434
  template <class JoinPoint>
 
435
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
436
  template <class JoinPoint>
 
437
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
438
}
 
439
#endif
 
440
 
 
441
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
442
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
443
#endif
 
444
 
 
445
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
446
// This file is part of PUMA.
 
447
// Copyright (C) 1999-2003  The PUMA developer team.
 
448
//                                                                
 
449
// This program is free software;  you can redistribute it and/or 
 
450
// modify it under the terms of the GNU General Public License as 
 
451
// published by the Free Software Foundation; either version 2 of 
 
452
// the License, or (at your option) any later version.            
 
453
//                                                                
 
454
// This program is distributed in the hope that it will be useful,
 
455
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
456
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
457
// GNU General Public License for more details.                   
 
458
//                                                                
 
459
// You should have received a copy of the GNU General Public      
 
460
// License along with this program; if not, write to the Free     
 
461
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
462
// MA  02111-1307  USA                                            
 
463
 
 
464
#ifndef __UnitState__
 
465
#define __UnitState__
 
466
 
 
467
// The state of a unit: 
 
468
// 1. modified by manipulations and not updated at the class registry
 
469
// 2. modified by manipulations and updated at the class registry
 
470
// 3. unmodified by manipulations and not updated at the class registry
 
471
// 4. unmodified by manipulations and updated at the class registry
 
472
 
 
473
namespace Puma {
 
474
 
 
475
 
 
476
 
 
477
#line 478 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
478
} // closed Puma
 
479
class CCExprResolve;
 
480
class CExprResolve;
 
481
class WinIfExists;
 
482
class WinImportHandler;
 
483
class WinMacros;
 
484
class WinAsm;
 
485
class WinDeclSpecs;
 
486
class WinMemberExplSpec;
 
487
class WinTypeKeywords;
 
488
class WinFriend;
 
489
class ExtAC;
 
490
class ExtACBuilderCoupling;
 
491
class ExtACSyntaxCoupling;
 
492
class ExtACTree;
 
493
class ExtACKeywords;
 
494
class ExtGnu;
 
495
class PragmaOnceUnitState;
 
496
class PragmaOnce;
 
497
class CMatchSyntax;
 
498
namespace Puma {
 
499
 
 
500
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
501
 
 
502
#line 503 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
503
} // closed Puma
 
504
 
 
505
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
506
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
507
 
 
508
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
509
// This file is part of PUMA.
 
510
// Copyright (C) 1999-2003  The PUMA developer team.
 
511
//                                                                
 
512
// This program is free software;  you can redistribute it and/or 
 
513
// modify it under the terms of the GNU General Public License as 
 
514
// published by the Free Software Foundation; either version 2 of 
 
515
// the License, or (at your option) any later version.            
 
516
//                                                                
 
517
// This program is distributed in the hope that it will be useful,
 
518
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
519
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
520
// GNU General Public License for more details.                   
 
521
//                                                                
 
522
// You should have received a copy of the GNU General Public      
 
523
// License along with this program; if not, write to the Free     
 
524
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
525
// MA  02111-1307  USA                                            
 
526
 
 
527
#ifndef __PragmaOnceUnitState__
 
528
#define __PragmaOnceUnitState__
 
529
 
 
530
 
 
531
#line 532 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
532
class CCExprResolve;
 
533
class CExprResolve;
 
534
class WinIfExists;
 
535
class WinImportHandler;
 
536
class WinMacros;
 
537
class WinAsm;
 
538
class WinDeclSpecs;
 
539
class WinMemberExplSpec;
 
540
class WinTypeKeywords;
 
541
class WinFriend;
 
542
class ExtAC;
 
543
class ExtACBuilderCoupling;
 
544
class ExtACSyntaxCoupling;
 
545
class ExtACTree;
 
546
class ExtACKeywords;
 
547
class ExtGnu;
 
548
class PragmaOnce;
 
549
class CMatchSyntax;
 
550
 
 
551
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
552
class PragmaOnceUnitState {
 
553
#line 554 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
554
 
 
555
public:
 
556
  static PragmaOnceUnitState *aspectof () {
 
557
    static PragmaOnceUnitState __instance;
 
558
    return &__instance;
 
559
  }
 
560
  static PragmaOnceUnitState *aspectOf () {
 
561
    return aspectof ();
 
562
  }
 
563
private:
 
564
 
 
565
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
566
 
 
567
#line 568 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
568
  friend class ::CCExprResolve;
 
569
  friend class ::CExprResolve;
 
570
  friend class ::WinIfExists;
 
571
  friend class ::WinImportHandler;
 
572
  friend class ::WinMacros;
 
573
  friend class ::WinAsm;
 
574
  friend class ::WinDeclSpecs;
 
575
  friend class ::WinMemberExplSpec;
 
576
  friend class ::WinTypeKeywords;
 
577
  friend class ::WinFriend;
 
578
  friend class ::ExtAC;
 
579
  friend class ::ExtACBuilderCoupling;
 
580
  friend class ::ExtACSyntaxCoupling;
 
581
  friend class ::ExtACTree;
 
582
  friend class ::ExtACKeywords;
 
583
  friend class ::ExtGnu;
 
584
  friend class ::PragmaOnce;
 
585
  friend class ::CMatchSyntax;
 
586
 
 
587
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
588
 
 
589
  /******************************************************/
 
590
  /* specific #pragma once unit state                   */
 
591
  /******************************************************/
 
592
 
 
593
  // pointcut definitions
 
594
  
 
595
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
596
 
 
597
 
 
598
  
 
599
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
600
 
 
601
  
 
602
  // initialize new state flag
 
603
  
 
604
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
605
 
 
606
public: template<class JoinPoint> void __a0_after 
 
607
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
608
 
 
609
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
610
(JoinPoint *tjp)
 
611
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
612
 {
 
613
#line 614 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
614
 
 
615
  JoinPoint *&thisJoinPoint = tjp;
 
616
 
 
617
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
618
 
 
619
#line 620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
620
 
 
621
  typedef typename JoinPoint::That __JP_That;
 
622
  typedef typename JoinPoint::Target __JP_Target;
 
623
  typedef typename JoinPoint::Result __JP_Result;
 
624
 
 
625
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
626
 
 
627
    thisJoinPoint->that ()->_once = false;
 
628
  }
 
629
#line 630 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
630
 
 
631
private:
 
632
 
 
633
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
634
 
 
635
  
 
636
  // initialize new flag for all managed units 
 
637
  
 
638
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
639
 
 
640
public: template<class JoinPoint> void __a1_after 
 
641
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
642
 
 
643
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
644
(JoinPoint *tjp)
 
645
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
646
 {
 
647
#line 648 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
648
 
 
649
  typedef typename JoinPoint::That __JP_That;
 
650
  typedef typename JoinPoint::Target __JP_Target;
 
651
  typedef typename JoinPoint::Result __JP_Result;
 
652
 
 
653
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
654
 
 
655
    // go through the whole unit hash table and reset the 
 
656
    // `#pragma once' state of the units
 
657
    typename __JP_That
 
658
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
659
::UMapIter iter;
 
660
    for (iter = tjp->that()->_umap.begin (); iter != tjp->that()->_umap.end (); ++iter)
 
661
      (*iter).second->state ().onlyOnce (false);
 
662
  }
 
663
#line 664 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
664
 
 
665
private:
 
666
 
 
667
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
668
 
 
669
 
 
670
protected:
 
671
  // this aspect should never be instantiated directly
 
672
  PragmaOnceUnitState () {}
 
673
};
 
674
#line 675 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
675
 
 
676
namespace AC {
 
677
  template <class JoinPoint>
 
678
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
 
679
    ::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
 
680
  }
 
681
  template <class JoinPoint>
 
682
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp) {
 
683
    ::PragmaOnceUnitState::aspectof()->__a1_after (tjp);
 
684
  }
 
685
 
686
 
 
687
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
688
 
 
689
 
 
690
 
 
691
#endif /* __PragmaOnceUnitState__ */
 
692
 
 
693
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
694
#endif
 
695
namespace Puma {
 
696
 
 
697
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
698
class UnitState {
 
699
#line 700 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
700
  friend class ::CCExprResolve;
 
701
  friend class ::CExprResolve;
 
702
  friend class ::WinIfExists;
 
703
  friend class ::WinImportHandler;
 
704
  friend class ::WinMacros;
 
705
  friend class ::WinAsm;
 
706
  friend class ::WinDeclSpecs;
 
707
  friend class ::WinMemberExplSpec;
 
708
  friend class ::WinTypeKeywords;
 
709
  friend class ::WinFriend;
 
710
  friend class ::ExtAC;
 
711
  friend class ::ExtACBuilderCoupling;
 
712
  friend class ::ExtACSyntaxCoupling;
 
713
  friend class ::ExtACTree;
 
714
  friend class ::ExtACKeywords;
 
715
  friend class ::ExtGnu;
 
716
  friend class ::PragmaOnceUnitState;
 
717
  friend class ::PragmaOnce;
 
718
  friend class ::CMatchSyntax;
 
719
 
 
720
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
721
 
 
722
  bool _modified;
 
723
  bool _updated;
 
724
  long _lastModified;
 
725
      
 
726
public:
 
727
  
 
728
#line 729 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
729
public: __attribute__((always_inline)) inline void __exec_old_C1();
 
730
 
 
731
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
732
UnitState ();
 
733
      
 
734
  bool isModified () const;
 
735
  bool isUpdated () const;
 
736
  long lastModified () const;
 
737
 
 
738
  // Is modified and has to be updated.
 
739
  void modified ();
 
740
  void lastModified (long);
 
741
  void unmodified ();
 
742
  void updated ();
193
743
   private:
194
 
      Item* data;
195
 
      long size;
196
 
      long count;
197
 
      long increment;
198
 
      
199
 
      void check (long wanted);
200
 
 };
201
 
 
202
 
template <class Item>
203
 
inline Array<Item>::Array (long is, long incr)
204
 
 {
205
 
   count     = 0; 
206
 
   size      = is;
207
 
   increment = incr;
208
 
   data      = new Item[size];
209
 
 }
210
 
 
211
 
template <class Item>
212
 
Array<Item>::Array (const Array<Item>& array)
213
 
 {
214
 
   count = 0;
215
 
   size  = array.size;
216
 
   data  = new Item[size];
217
 
   increment = array.increment;
218
 
 
219
 
   for (int pos = 0; pos < array.length (); pos++)
220
 
      append (array.lookup (pos));
221
 
 }
222
 
 
223
 
template <class Item>
224
 
Array<Item>& Array<Item>::operator =(const Array<Item>& array)
225
 
 {
226
 
   if (data)
227
 
      delete[] data;
228
 
   count = 0;
229
 
   size  = array.size;
230
 
   data  = new Item[size];
231
 
   increment = array.increment;
232
 
 
233
 
   for (int pos = 0; pos < array.length (); pos++)
234
 
      append (array.lookup (pos));
235
 
   return *this;
236
 
 }
237
 
 
238
 
template <class Item>
239
 
Array<Item>::~Array ()
240
 
 {
241
 
   if (data)
242
 
      delete[] data;
243
 
 }
244
 
 
245
 
template <class Item>
246
 
inline void Array<Item>::check (long wanted)
247
 
 {
248
 
   if (wanted >= size)
249
 
    {
250
 
      Item* new_data;
251
 
 
252
 
      while (wanted >= size)
253
 
      {
254
 
         size += increment;
255
 
         increment*=2;
256
 
      }
257
 
      new_data = new Item[size];
258
 
      for (int pos = 0; pos < count; pos++)
259
 
         new_data[pos] = data[pos];
260
 
      delete[] data;
261
 
      data = new_data;
262
 
    }
263
 
 }
264
 
   
265
 
template <class Item>
266
 
inline void Array<Item>::append (const Item& item)
267
 
 {
268
 
   check (count);
269
 
   data[count++] = item;
270
 
 }
271
 
 
272
 
template <class Item>
273
 
void Array<Item>::prepend (const Item& item)
274
 
 {
275
 
   insert (0, item);
276
 
 }
277
 
 
278
 
template <class Item>
279
 
void Array<Item>::insert (long index, const Item& item)
280
 
 {
281
 
   check (count);
282
 
   for (int pos = count; pos > index; pos--)
283
 
      data[pos] = data[pos - 1];
284
 
   data[index] = item;
285
 
   count++;
286
 
 }
287
 
 
288
 
template <class Item>
289
 
inline Item& Array<Item>::get (long index)
290
 
 {
291
 
   check (index);
292
 
   if (index >= count)
293
 
      count = index + 1;
294
 
   return data[index];
295
 
 }
296
 
 
297
 
template <class Item>
298
 
inline Item& Array<Item>::operator[] (long index)
299
 
 {
300
 
   return get (index);
301
 
 }
302
 
 
303
 
template <class Item>
304
 
inline Item Array<Item>::fetch (long index) const
305
 
 {
306
 
   assert(index < count);
307
 
   return data[index];
308
 
 }
309
 
 
310
 
template <class Item>
311
 
inline long Array<Item>::length () const
312
 
 {
313
 
   return count;
314
 
 }
315
 
 
316
 
template <class Item>
317
 
inline void Array<Item>::remove (long index)
318
 
 {
319
 
   if (index < count && count > 0)
320
 
    {
321
 
      for (int pos = index; pos < count - 1; pos++)
322
 
         data[pos] = data[pos + 1];
323
 
      count--;
324
 
    }
325
 
 }
326
 
 
327
 
#ifndef __puma
328
 
template <>
329
 
inline void Array<int>::reset () {
330
 
   count = 0; 
331
 
}
332
 
#endif
333
 
 
334
 
template <class Item>
335
 
void Array<Item>::reset ()
336
 
 {
337
 
   if (data)
338
 
      delete[] data;
339
 
   count     = 0; 
340
 
   size      = default_init_size;
341
 
   increment = default_increment;
342
 
   data      = new Item[size];
343
 
 }
344
 
 
345
 
template <class Item>
346
 
inline Item& Array<Item>::lookup (long index) const
347
 
 {
348
 
   assert(index >= 0 && index < count);
349
 
//   if (index >= count) index = count - 1; 
350
 
//   if (index < 0)      index = 0;
351
 
   return data[index];
352
 
 }
353
 
 
354
 
 
355
 
} // namespace Puma
356
 
 
357
 
// Array specialization for pointer types sharing method definitions
358
 
 
359
 
#ifndef __puma
360
 
 
361
 
#include "Puma/VoidPtrArray.h"
362
 
 
363
 
namespace Puma {
364
 
 
365
 
 
366
 
template <class Item>
367
 
class Array<Item*> : private VoidPtrArray {
368
 
  typedef VoidPtrArray Base;
 
744
 
 
745
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
746
 bool _once ;
 
747
public :
 
748
 
 
749
bool onlyOnce ( ) const { return _once ; }
 
750
void onlyOnce ( bool v ) { _once = v ; }
 
751
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
752
 
 
753
#line 754 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
754
 
 
755
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
 
756
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 __TJP;
 
757
  typedef TResult Result;
 
758
  typedef TThat   That;
 
759
  typedef TTarget Target;
 
760
  enum { ARGS = TArgs::ARGS };
 
761
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
762
  static const int JPID = 3641;
 
763
  static const AC::JPType JPTYPE = (AC::JPType)16;
 
764
  struct Res {
 
765
    typedef void Type;
 
766
    typedef void ReferredType;
 
767
  };
 
768
 
 
769
  That *_that;
 
770
 
 
771
  inline That *that() {return (That*)_that;}
 
772
 
 
773
};
 
774
 
 
775
 
 
776
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
777
 
 
778
#line 779 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
369
779
 
370
780
public:
371
 
  Array (long is = default_init_size, long incr = default_increment) :
372
 
    Base (is, incr) {}
373
 
  Array (const Array<Item*> &array) : 
374
 
    Base (array) {}
375
 
  Array<Item*> &operator= (const Array<Item*> &array) 
376
 
   { return (Array<Item*>&)Base::operator= (array); }
377
 
 
378
 
  ~Array () {}
379
 
 
380
 
  void append (const Item *item)           { Base::append ((void*)item); }
381
 
  void insert (long idx, const Item *item) { Base::insert (idx, (void*)item); }
382
 
  void prepend (const Item *item)          { Base::prepend ((void*)item); }
383
 
  void remove (long idx)                   { Base::remove (idx); }
384
 
  void reset ()                            { Base::reset (); }
385
 
 
386
 
  Item *&get (long idx)          { return (Item*&)Base::get (idx); }
387
 
  Item *&operator[] (long idx)   { return (Item*&)Base::operator[] (idx); }
388
 
  Item *fetch (long idx) const   { return (Item*)Base::fetch (idx); }
389
 
  Item *&lookup (long idx) const { return (Item*&)Base::lookup (idx); }
390
 
  long length () const           { return Base::length (); }
391
 
};
 
781
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
 
782
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TL< const ::Puma::UnitState & , AC::TLE > > __TJP;
 
783
  __TJP tjp;
 
784
  tjp._that =  (__TJP::That*)this;
 
785
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
 
786
 
 
787
}
 
788
 
 
789
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
790
};
 
791
 
 
792
 
 
793
#line 794 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
794
 
 
795
 
 
796
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1Ev_0 {
 
797
  typedef TJP__ZN4Puma9UnitStateC1Ev_0 __TJP;
 
798
  typedef TResult Result;
 
799
  typedef TThat   That;
 
800
  typedef TTarget Target;
 
801
  enum { ARGS = TArgs::ARGS };
 
802
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
803
  static const int JPID = 3617;
 
804
  static const AC::JPType JPTYPE = (AC::JPType)16;
 
805
  struct Res {
 
806
    typedef void Type;
 
807
    typedef void ReferredType;
 
808
  };
 
809
 
 
810
  That *_that;
 
811
 
 
812
  inline That *that() {return (That*)_that;}
 
813
 
 
814
};
 
815
 
 
816
 
 
817
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
818
inline UnitState::UnitState ()
 
819
 
 
820
#line 821 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
821
{
 
822
  typedef TJP__ZN4Puma9UnitStateC1Ev_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TLE > __TJP;
 
823
    __TJP tjp;
 
824
  tjp._that =  (__TJP::That*)this;
 
825
    this->__exec_old_C1();
 
826
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
 
827
  
 
828
}
 
829
__attribute__((always_inline)) inline void Puma::UnitState::__exec_old_C1()
 
830
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
831
{ _modified = false; _updated = false; _lastModified = 0; }
 
832
 
 
833
inline bool UnitState::isModified () const 
 
834
 { return _modified; }
 
835
inline bool UnitState::isUpdated () const 
 
836
 { return _updated; }
 
837
inline long UnitState::lastModified () const
 
838
 { return _lastModified; }
 
839
 
 
840
inline void UnitState::modified () 
 
841
 { _modified = true; _updated = false; _lastModified = 0; }
 
842
inline void UnitState::unmodified () 
 
843
 { _modified = false; }
 
844
inline void UnitState::updated () 
 
845
 { _updated = true; }
 
846
inline void UnitState::lastModified (long when) 
 
847
 { _lastModified = when; }
392
848
 
393
849
 
394
850
} // namespace Puma
395
851
 
396
 
#endif /* __puma */
397
 
 
398
 
#endif /* __array_h__ */
399
 
 
400
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
 
852
#endif /* __UnitState__ */
 
853
 
 
854
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
401
855
namespace Puma {
402
856
 
403
857
 
404
 
#line 405 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
858
 
 
859
#line 860 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
405
860
} // closed Puma
 
861
class CCExprResolve;
 
862
class CExprResolve;
406
863
class WinIfExists;
407
864
class WinImportHandler;
408
865
class WinMacros;
409
 
class CMatchSyntax;
410
 
class ExtGnu;
 
866
class WinAsm;
 
867
class WinDeclSpecs;
 
868
class WinMemberExplSpec;
 
869
class WinTypeKeywords;
 
870
class WinFriend;
411
871
class ExtAC;
412
872
class ExtACBuilderCoupling;
413
873
class ExtACSyntaxCoupling;
414
874
class ExtACTree;
415
875
class ExtACKeywords;
416
 
class WinAsm;
417
 
class WinDeclSpecs;
418
 
class WinMemberExplSpec;
419
 
class WinTypeKeywords;
 
876
class ExtGnu;
420
877
class PragmaOnceUnitState;
421
878
class PragmaOnce;
422
 
class CCExprResolve;
423
 
class CExprResolve;
 
879
class CMatchSyntax;
424
880
namespace Puma {
425
881
 
426
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
427
 
template <class Item>
428
 
class Stack : private Array<Item> {
429
 
#line 430 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
882
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
883
class Unit : public List, public Printable {
 
884
#line 885 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
885
  friend class ::CCExprResolve;
 
886
  friend class ::CExprResolve;
430
887
  friend class ::WinIfExists;
431
888
  friend class ::WinImportHandler;
432
889
  friend class ::WinMacros;
433
 
  friend class ::CMatchSyntax;
434
 
  friend class ::ExtGnu;
 
890
  friend class ::WinAsm;
 
891
  friend class ::WinDeclSpecs;
 
892
  friend class ::WinMemberExplSpec;
 
893
  friend class ::WinTypeKeywords;
 
894
  friend class ::WinFriend;
435
895
  friend class ::ExtAC;
436
896
  friend class ::ExtACBuilderCoupling;
437
897
  friend class ::ExtACSyntaxCoupling;
438
898
  friend class ::ExtACTree;
439
899
  friend class ::ExtACKeywords;
440
 
  friend class ::WinAsm;
441
 
  friend class ::WinDeclSpecs;
442
 
  friend class ::WinMemberExplSpec;
443
 
  friend class ::WinTypeKeywords;
 
900
  friend class ::ExtGnu;
444
901
  friend class ::PragmaOnceUnitState;
445
902
  friend class ::PragmaOnce;
446
 
  friend class ::CCExprResolve;
447
 
  friend class ::CExprResolve;
448
 
 
449
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
 
903
  friend class ::CMatchSyntax;
 
904
 
 
905
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
906
 
 
907
  char *_name;
 
908
  UnitState _state;
450
909
 
451
910
public:
452
 
  Stack (long is = 8192, long incr = 8192) :
453
 
    Array<Item> (is, incr) {}
454
 
  void push (Item f) { Array<Item>::append (f); }
455
 
  Item &top () const { long len = Array<Item>::length ()-1; 
456
 
                       return Array<Item>::lookup (len >= 0 ? len : 0); }
457
 
  void pop () { Array<Item>::remove (Array<Item>::length () - 1); }
458
 
  long length () const { return Array<Item>::length (); }
459
 
  void reset () { Array<Item>::reset (); }
460
 
};
461
 
 
462
 
} // namespace Puma
463
 
 
464
 
#endif /* __stack_h__ */
465
 
 
466
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CTokens.h"
467
 
// This file is part of PUMA.
468
 
// Copyright (C) 1999-2003  The PUMA developer team.
469
 
//                                                                
470
 
// This program is free software;  you can redistribute it and/or 
471
 
// modify it under the terms of the GNU General Public License as 
472
 
// published by the Free Software Foundation; either version 2 of 
473
 
// the License, or (at your option) any later version.            
474
 
//                                                                
475
 
// This program is distributed in the hope that it will be useful,
476
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
477
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
478
 
// GNU General Public License for more details.                   
479
 
//                                                                
480
 
// You should have received a copy of the GNU General Public      
481
 
// License along with this program; if not, write to the Free     
482
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
483
 
// MA  02111-1307  USA                                            
484
 
 
485
 
#ifndef __C_TOKENS__
486
 
#define __C_TOKENS__
487
 
 
488
 
namespace Puma {
489
 
 
490
 
enum CTokens {
491
 
 
492
 
  // core tokens, i.e. numbers, operator symbols, brackets, etc.
493
 
  TOK_AT = 100,
494
 
  TOK_ZERO_VAL,
495
 
  TOK_INT_VAL,
496
 
  TOK_FLT_VAL,
497
 
  TOK_COMMA,
498
 
  TOK_ASSIGN,
499
 
  TOK_QUESTION,
500
 
  TOK_OR,
501
 
  TOK_ROOF,
502
 
  TOK_AND,
503
 
  TOK_PLUS,
504
 
  TOK_MINUS,
505
 
  TOK_MUL,
506
 
  TOK_DIV,
507
 
  TOK_MODULO,
508
 
  TOK_LESS,
509
 
  TOK_GREATER,
510
 
  TOK_OPEN_ROUND,
511
 
  TOK_CLOSE_ROUND,
512
 
  TOK_OPEN_SQUARE,
513
 
  TOK_CLOSE_SQUARE,
514
 
  TOK_OPEN_CURLY,
515
 
  TOK_CLOSE_CURLY,
516
 
  TOK_SEMI_COLON,
517
 
  TOK_COLON,
518
 
  TOK_NOT,
519
 
  TOK_TILDE,
520
 
  TOK_DOT,
521
 
  TOK_MUL_EQ,
522
 
  TOK_DIV_EQ,
523
 
  TOK_MOD_EQ,
524
 
  TOK_ADD_EQ,
525
 
  TOK_SUB_EQ,
526
 
  TOK_LSH_EQ,
527
 
  TOK_RSH_EQ,
528
 
  TOK_AND_EQ,
529
 
  TOK_XOR_EQ,
530
 
  TOK_IOR_EQ,
531
 
  TOK_OR_OR,
532
 
  TOK_AND_AND,
533
 
  TOK_EQL,
534
 
  TOK_NEQ,
535
 
  TOK_LEQ,
536
 
  TOK_GEQ,
537
 
  TOK_LSH,
538
 
  TOK_RSH,
539
 
  TOK_DOT_STAR,
540
 
  TOK_PTS_STAR,
541
 
  TOK_INCR,
542
 
  TOK_DECR,
543
 
  TOK_PTS,
544
 
  TOK_COLON_COLON,
545
 
  TOK_ELLIPSIS,
546
 
  TOK_LAST_CORE = TOK_ELLIPSIS, // this is a group separator for the scanner!
547
 
  
548
 
  // C keywords:
549
 
  TOK_ASM,
550
 
  TOK_AUTO,
551
 
  TOK_BREAK,
552
 
  TOK_CASE,
553
 
  TOK_CHAR,
554
 
  TOK_CONST,
555
 
  TOK_CONTINUE,
556
 
  TOK_DEFAULT,
557
 
  TOK_DO,
558
 
  TOK_DOUBLE,
559
 
  TOK_ELSE,
560
 
  TOK_ENUM,
561
 
  TOK_EXTERN,
562
 
  TOK_FLOAT,
563
 
  TOK_FOR,
564
 
  TOK_GOTO,
565
 
  TOK_IF,
566
 
  TOK_INLINE,
567
 
  TOK_INT,
568
 
  TOK_LONG,
569
 
  TOK_REGISTER,
570
 
  TOK_RESTRICT,
571
 
  TOK_RETURN,
572
 
  TOK_SHORT,
573
 
  TOK_SIGNED,
574
 
  TOK_SIZEOF,
575
 
  TOK_STATIC,
576
 
  TOK_STRUCT,
577
 
  TOK_SWITCH,
578
 
  TOK_TYPEDEF,
579
 
  TOK_UNION,
580
 
  TOK_UNSIGNED,
581
 
  TOK_VOID,
582
 
  TOK_VOLATILE,
583
 
  TOK_WCHAR_T,
584
 
  TOK_WHILE,
585
 
 
586
 
  // C compatibility keywords
587
 
 
588
 
  TOK_ASM_2,
589
 
  TOK_ASM_3,
590
 
  TOK_BOOL_2,
591
 
  TOK_CONST_2,
592
 
  TOK_CONST_3,
593
 
  TOK_INLINE_2,
594
 
  TOK_INLINE_3,
595
 
  TOK_RESTRICT_2,
596
 
  TOK_RESTRICT_3,
597
 
  TOK_SIGNED_2,
598
 
  TOK_SIGNED_3,
599
 
  TOK_VOLATILE_2,
600
 
  TOK_VOLATILE_3,
601
 
  TOK_WCHAR_T_2,
602
 
  TOK_TYPEOF,
603
 
  TOK_TYPEOF_2,
604
 
  TOK_TYPEOF_3,
605
 
 
606
 
  // C win specific keywords
607
 
 
608
 
  TOK_INT64,
609
 
  TOK_CDECL,
610
 
  TOK_CDECL_2,
611
 
  TOK_STDCALL,
612
 
  TOK_STDCALL_2,
613
 
  TOK_FASTCALL,
614
 
  TOK_FASTCALL_2,
615
 
  TOK_IF_EXISTS,
616
 
  TOK_IF_NOT_EXISTS,
617
 
 
618
 
  TOK_LAST_C = TOK_IF_NOT_EXISTS,
619
 
  
620
 
  // a boolean constant:
621
 
  TOK_BOOL_VAL,
622
 
 
623
 
  // C++ keywords:
624
 
 
625
 
  TOK_BOOL,
626
 
  TOK_CATCH,
627
 
  TOK_CLASS,
628
 
  TOK_CONST_CAST,
629
 
  TOK_DELETE,
630
 
  TOK_DYN_CAST,
631
 
  TOK_EXPLICIT,
632
 
  TOK_EXPORT,
633
 
  TOK_FRIEND,
634
 
  TOK_MUTABLE,
635
 
  TOK_NAMESPACE,
636
 
  TOK_NEW,
637
 
  TOK_OPERATOR,
638
 
  TOK_PRIVATE,
639
 
  TOK_PROTECTED,
640
 
  TOK_PUBLIC,
641
 
  TOK_REINT_CAST,
642
 
  TOK_STAT_CAST,
643
 
  TOK_TEMPLATE,
644
 
  TOK_THIS,
645
 
  TOK_THROW,
646
 
  TOK_TRY,
647
 
  TOK_TYPEID,
648
 
  TOK_TYPENAME,
649
 
  TOK_USING,
650
 
  TOK_VIRTUAL,
651
 
 
652
 
  // C++ alternative representation of operators (ISO 646):
653
 
 
654
 
  TOK_AND_AND_ISO_646,
655
 
  TOK_AND_EQ_ISO_646,
656
 
  TOK_AND_ISO_646,
657
 
  TOK_OR_ISO_646,
658
 
  TOK_TILDE_ISO_646,
659
 
  TOK_NOT_ISO_646,
660
 
  TOK_NEQ_ISO_646,
661
 
  TOK_OR_OR_ISO_646,
662
 
  TOK_IOR_EQ_ISO_646,
663
 
  TOK_ROOF_ISO_646,
664
 
  TOK_XOR_EQ_ISO_646,
665
 
 
666
 
  TOK_LAST_CC = TOK_XOR_EQ_ISO_646,
667
 
  
668
 
  // AspectC++ keywords:
669
 
 
670
 
  TOK_POINTCUT,
671
 
  TOK_ASPECT,
672
 
  TOK_ADVICE,
673
 
  TOK_SLICE,
674
 
  TOK_UNKNOWN_T,
675
 
 
676
 
  TOK_LAST_AC = TOK_UNKNOWN_T,
677
 
  
678
 
  // further [A](C|C++) token
679
 
  TOK_STRING_VAL,
680
 
  TOK_CHAR_VAL,
681
 
  TOK_ID,
682
 
 
683
 
  // These two always have to be the ** last ** token listed here!!!
684
 
  TOK_EPSILON,
685
 
  TOK_NO
686
 
  
687
 
};
688
 
 
689
 
} // namespace Puma
690
 
 
691
 
#endif /* __C_TOKENS__ */
692
 
 
693
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
911
  Unit () : List (), _name ((char*)0) {}
 
912
  Unit (const List &list) : List (list), _name ((char*)0) {}
 
913
  virtual ~Unit ();
 
914
  virtual void name (const char *);
 
915
  char *name () const { return _name; }
 
916
  virtual void print (ostream &os) const;
 
917
  virtual bool isFile () const { return false; }
 
918
  virtual bool isMacroExp () const { return false; }
 
919
  UnitState &state () { return _state; }
 
920
};
 
921
 
 
922
 
 
923
} // namespace Puma
 
924
 
 
925
#endif /* __unit_h__ */
 
926
 
 
927
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
694
928
// This file is part of PUMA.
695
929
// Copyright (C) 1999-2003  The PUMA developer team.
696
930
//                                                                
718
952
 
719
953
#include <stdlib.h>
720
954
 
721
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
955
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
722
956
// This file is part of PUMA.
723
957
// Copyright (C) 1999-2003  The PUMA developer team.
724
958
//                                                                
746
980
 
747
981
 
748
982
 
749
 
#line 750 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
983
#line 984 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
750
984
} // closed Puma
 
985
class CCExprResolve;
 
986
class CExprResolve;
751
987
class WinIfExists;
752
988
class WinImportHandler;
753
989
class WinMacros;
754
 
class CMatchSyntax;
755
 
class ExtGnu;
 
990
class WinAsm;
 
991
class WinDeclSpecs;
 
992
class WinMemberExplSpec;
 
993
class WinTypeKeywords;
 
994
class WinFriend;
756
995
class ExtAC;
757
996
class ExtACBuilderCoupling;
758
997
class ExtACSyntaxCoupling;
759
998
class ExtACTree;
760
999
class ExtACKeywords;
761
 
class WinAsm;
762
 
class WinDeclSpecs;
763
 
class WinMemberExplSpec;
764
 
class WinTypeKeywords;
 
1000
class ExtGnu;
765
1001
class PragmaOnceUnitState;
766
1002
class PragmaOnce;
767
 
class CCExprResolve;
768
 
class CExprResolve;
 
1003
class CMatchSyntax;
769
1004
namespace Puma {
770
1005
 
771
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
1006
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
772
1007
class LanguageID {
773
 
#line 774 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1008
#line 1009 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1009
  friend class ::CCExprResolve;
 
1010
  friend class ::CExprResolve;
774
1011
  friend class ::WinIfExists;
775
1012
  friend class ::WinImportHandler;
776
1013
  friend class ::WinMacros;
777
 
  friend class ::CMatchSyntax;
778
 
  friend class ::ExtGnu;
 
1014
  friend class ::WinAsm;
 
1015
  friend class ::WinDeclSpecs;
 
1016
  friend class ::WinMemberExplSpec;
 
1017
  friend class ::WinTypeKeywords;
 
1018
  friend class ::WinFriend;
779
1019
  friend class ::ExtAC;
780
1020
  friend class ::ExtACBuilderCoupling;
781
1021
  friend class ::ExtACSyntaxCoupling;
782
1022
  friend class ::ExtACTree;
783
1023
  friend class ::ExtACKeywords;
784
 
  friend class ::WinAsm;
785
 
  friend class ::WinDeclSpecs;
786
 
  friend class ::WinMemberExplSpec;
787
 
  friend class ::WinTypeKeywords;
 
1024
  friend class ::ExtGnu;
788
1025
  friend class ::PragmaOnceUnitState;
789
1026
  friend class ::PragmaOnce;
790
 
  friend class ::CCExprResolve;
791
 
  friend class ::CExprResolve;
 
1027
  friend class ::CMatchSyntax;
792
1028
 
793
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
1029
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
794
1030
 
795
1031
  const char *_id;
796
1032
 
807
1043
 
808
1044
#endif /* __language_id_h__ */
809
1045
 
810
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
 
1046
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
811
1047
// This file is part of PUMA.
812
1048
// Copyright (C) 1999-2003  The PUMA developer team.
813
1049
//                                                                
830
1066
#define __location_h__
831
1067
 
832
1068
 
833
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1069
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1070
// This file is part of PUMA.
 
1071
// Copyright (C) 1999-2003  The PUMA developer team.
 
1072
//                                                                
 
1073
// This program is free software;  you can redistribute it and/or 
 
1074
// modify it under the terms of the GNU General Public License as 
 
1075
// published by the Free Software Foundation; either version 2 of 
 
1076
// the License, or (at your option) any later version.            
 
1077
//                                                                
 
1078
// This program is distributed in the hope that it will be useful,
 
1079
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
1080
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
1081
// GNU General Public License for more details.                   
 
1082
//                                                                
 
1083
// You should have received a copy of the GNU General Public      
 
1084
// License along with this program; if not, write to the Free     
 
1085
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
1086
// MA  02111-1307  USA                                            
 
1087
 
 
1088
#ifndef __filename_h__
 
1089
#define __filename_h__
 
1090
 
 
1091
 
 
1092
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
834
1093
// This file is part of PUMA.
835
1094
// Copyright (C) 1999-2003  The PUMA developer team.
836
1095
//                                                                
853
1112
#define __smart_ptr_h__
854
1113
 
855
1114
 
856
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1115
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
857
1116
// This file is part of PUMA.
858
1117
// Copyright (C) 1999-2003  The PUMA developer team.
859
1118
//                                                                
879
1138
 
880
1139
 
881
1140
 
882
 
#line 883 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1141
#line 1142 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
883
1142
} // closed Puma
 
1143
class CCExprResolve;
 
1144
class CExprResolve;
884
1145
class WinIfExists;
885
1146
class WinImportHandler;
886
1147
class WinMacros;
887
 
class CMatchSyntax;
888
 
class ExtGnu;
 
1148
class WinAsm;
 
1149
class WinDeclSpecs;
 
1150
class WinMemberExplSpec;
 
1151
class WinTypeKeywords;
 
1152
class WinFriend;
889
1153
class ExtAC;
890
1154
class ExtACBuilderCoupling;
891
1155
class ExtACSyntaxCoupling;
892
1156
class ExtACTree;
893
1157
class ExtACKeywords;
894
 
class WinAsm;
895
 
class WinDeclSpecs;
896
 
class WinMemberExplSpec;
897
 
class WinTypeKeywords;
 
1158
class ExtGnu;
898
1159
class PragmaOnceUnitState;
899
1160
class PragmaOnce;
900
 
class CCExprResolve;
901
 
class CExprResolve;
 
1161
class CMatchSyntax;
902
1162
namespace Puma {
903
1163
 
904
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1164
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
905
1165
class RefCnt {
906
 
#line 907 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1166
#line 1167 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1167
  friend class ::CCExprResolve;
 
1168
  friend class ::CExprResolve;
907
1169
  friend class ::WinIfExists;
908
1170
  friend class ::WinImportHandler;
909
1171
  friend class ::WinMacros;
910
 
  friend class ::CMatchSyntax;
911
 
  friend class ::ExtGnu;
 
1172
  friend class ::WinAsm;
 
1173
  friend class ::WinDeclSpecs;
 
1174
  friend class ::WinMemberExplSpec;
 
1175
  friend class ::WinTypeKeywords;
 
1176
  friend class ::WinFriend;
912
1177
  friend class ::ExtAC;
913
1178
  friend class ::ExtACBuilderCoupling;
914
1179
  friend class ::ExtACSyntaxCoupling;
915
1180
  friend class ::ExtACTree;
916
1181
  friend class ::ExtACKeywords;
917
 
  friend class ::WinAsm;
918
 
  friend class ::WinDeclSpecs;
919
 
  friend class ::WinMemberExplSpec;
920
 
  friend class ::WinTypeKeywords;
 
1182
  friend class ::ExtGnu;
921
1183
  friend class ::PragmaOnceUnitState;
922
1184
  friend class ::PragmaOnce;
923
 
  friend class ::CCExprResolve;
924
 
  friend class ::CExprResolve;
 
1185
  friend class ::CMatchSyntax;
925
1186
 
926
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1187
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
927
1188
 
928
1189
  int _counter;
929
1190
 
941
1202
 
942
1203
#endif /* __ref_cnt_h__ */
943
1204
 
944
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1205
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
945
1206
namespace Puma {
946
1207
 
947
1208
 
948
1209
 
949
 
#line 950 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1210
#line 1211 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
950
1211
} // closed Puma
 
1212
class CCExprResolve;
 
1213
class CExprResolve;
951
1214
class WinIfExists;
952
1215
class WinImportHandler;
953
1216
class WinMacros;
954
 
class CMatchSyntax;
955
 
class ExtGnu;
 
1217
class WinAsm;
 
1218
class WinDeclSpecs;
 
1219
class WinMemberExplSpec;
 
1220
class WinTypeKeywords;
 
1221
class WinFriend;
956
1222
class ExtAC;
957
1223
class ExtACBuilderCoupling;
958
1224
class ExtACSyntaxCoupling;
959
1225
class ExtACTree;
960
1226
class ExtACKeywords;
961
 
class WinAsm;
962
 
class WinDeclSpecs;
963
 
class WinMemberExplSpec;
964
 
class WinTypeKeywords;
 
1227
class ExtGnu;
965
1228
class PragmaOnceUnitState;
966
1229
class PragmaOnce;
967
 
class CCExprResolve;
968
 
class CExprResolve;
 
1230
class CMatchSyntax;
969
1231
namespace Puma {
970
1232
 
971
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1233
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
972
1234
class SmartPtr {
973
 
#line 974 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1235
#line 1236 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1236
  friend class ::CCExprResolve;
 
1237
  friend class ::CExprResolve;
974
1238
  friend class ::WinIfExists;
975
1239
  friend class ::WinImportHandler;
976
1240
  friend class ::WinMacros;
977
 
  friend class ::CMatchSyntax;
978
 
  friend class ::ExtGnu;
 
1241
  friend class ::WinAsm;
 
1242
  friend class ::WinDeclSpecs;
 
1243
  friend class ::WinMemberExplSpec;
 
1244
  friend class ::WinTypeKeywords;
 
1245
  friend class ::WinFriend;
979
1246
  friend class ::ExtAC;
980
1247
  friend class ::ExtACBuilderCoupling;
981
1248
  friend class ::ExtACSyntaxCoupling;
982
1249
  friend class ::ExtACTree;
983
1250
  friend class ::ExtACKeywords;
984
 
  friend class ::WinAsm;
985
 
  friend class ::WinDeclSpecs;
986
 
  friend class ::WinMemberExplSpec;
987
 
  friend class ::WinTypeKeywords;
 
1251
  friend class ::ExtGnu;
988
1252
  friend class ::PragmaOnceUnitState;
989
1253
  friend class ::PragmaOnce;
990
 
  friend class ::CCExprResolve;
991
 
  friend class ::CExprResolve;
 
1254
  friend class ::CMatchSyntax;
992
1255
 
993
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1256
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
994
1257
 
995
1258
  RefCnt *_data;
996
1259
 
1012
1275
 
1013
1276
#endif /* __smart_ptr_h__ */
1014
1277
 
1015
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
1016
 
// This file is part of PUMA.
1017
 
// Copyright (C) 1999-2003  The PUMA developer team.
1018
 
//                                                                
1019
 
// This program is free software;  you can redistribute it and/or 
1020
 
// modify it under the terms of the GNU General Public License as 
1021
 
// published by the Free Software Foundation; either version 2 of 
1022
 
// the License, or (at your option) any later version.            
1023
 
//                                                                
1024
 
// This program is distributed in the hope that it will be useful,
1025
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1026
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1027
 
// GNU General Public License for more details.                   
1028
 
//                                                                
1029
 
// You should have received a copy of the GNU General Public      
1030
 
// License along with this program; if not, write to the Free     
1031
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1032
 
// MA  02111-1307  USA                                            
1033
 
 
1034
 
#ifndef __printable_h__
1035
 
#define __printable_h__
1036
 
 
1037
 
#include <iostream>
1038
 
using namespace std;
1039
 
 
1040
 
namespace Puma {
1041
 
 
1042
 
 
1043
 
 
1044
 
#line 1045 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
1045
 
} // closed Puma
1046
 
class WinIfExists;
1047
 
class WinImportHandler;
1048
 
class WinMacros;
1049
 
class CMatchSyntax;
1050
 
class ExtGnu;
1051
 
class ExtAC;
1052
 
class ExtACBuilderCoupling;
1053
 
class ExtACSyntaxCoupling;
1054
 
class ExtACTree;
1055
 
class ExtACKeywords;
1056
 
class WinAsm;
1057
 
class WinDeclSpecs;
1058
 
class WinMemberExplSpec;
1059
 
class WinTypeKeywords;
1060
 
class PragmaOnceUnitState;
1061
 
class PragmaOnce;
1062
 
class CCExprResolve;
1063
 
class CExprResolve;
1064
 
namespace Puma {
1065
 
 
1066
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
1067
 
class Printable {
1068
 
#line 1069 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
1069
 
  friend class ::WinIfExists;
1070
 
  friend class ::WinImportHandler;
1071
 
  friend class ::WinMacros;
1072
 
  friend class ::CMatchSyntax;
1073
 
  friend class ::ExtGnu;
1074
 
  friend class ::ExtAC;
1075
 
  friend class ::ExtACBuilderCoupling;
1076
 
  friend class ::ExtACSyntaxCoupling;
1077
 
  friend class ::ExtACTree;
1078
 
  friend class ::ExtACKeywords;
1079
 
  friend class ::WinAsm;
1080
 
  friend class ::WinDeclSpecs;
1081
 
  friend class ::WinMemberExplSpec;
1082
 
  friend class ::WinTypeKeywords;
1083
 
  friend class ::PragmaOnceUnitState;
1084
 
  friend class ::PragmaOnce;
1085
 
  friend class ::CCExprResolve;
1086
 
  friend class ::CExprResolve;
1087
 
 
1088
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
1089
 
 
1090
 
public:
1091
 
  virtual ~Printable () {}
1092
 
  virtual void print (ostream &os) const = 0;
1093
 
};
1094
 
 
1095
 
 
1096
 
inline ostream &operator << (ostream &os, const Printable &object) {
1097
 
  object.print (os);
1098
 
  return os;
1099
 
}
1100
 
 
1101
 
 
1102
 
} // namespace Puma
1103
 
 
1104
 
#endif /* __printable_h__ */
1105
 
 
1106
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
1107
 
// This file is part of PUMA.
1108
 
// Copyright (C) 1999-2003  The PUMA developer team.
1109
 
//                                                                
1110
 
// This program is free software;  you can redistribute it and/or 
1111
 
// modify it under the terms of the GNU General Public License as 
1112
 
// published by the Free Software Foundation; either version 2 of 
1113
 
// the License, or (at your option) any later version.            
1114
 
//                                                                
1115
 
// This program is distributed in the hope that it will be useful,
1116
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1117
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1118
 
// GNU General Public License for more details.                   
1119
 
//                                                                
1120
 
// You should have received a copy of the GNU General Public      
1121
 
// License along with this program; if not, write to the Free     
1122
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1123
 
// MA  02111-1307  USA                                            
1124
 
 
1125
 
#ifndef __location_info_h__
1126
 
#define __location_info_h__
1127
 
 
1128
 
 
1129
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
1130
 
// This file is part of PUMA.
1131
 
// Copyright (C) 1999-2003  The PUMA developer team.
1132
 
//                                                                
1133
 
// This program is free software;  you can redistribute it and/or 
1134
 
// modify it under the terms of the GNU General Public License as 
1135
 
// published by the Free Software Foundation; either version 2 of 
1136
 
// the License, or (at your option) any later version.            
1137
 
//                                                                
1138
 
// This program is distributed in the hope that it will be useful,
1139
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1140
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1141
 
// GNU General Public License for more details.                   
1142
 
//                                                                
1143
 
// You should have received a copy of the GNU General Public      
1144
 
// License along with this program; if not, write to the Free     
1145
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1146
 
// MA  02111-1307  USA                                            
1147
 
 
1148
 
#ifndef __filename_h__
1149
 
#define __filename_h__
1150
 
 
1151
 
 
1152
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1278
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1153
1279
// This file is part of PUMA.
1154
1280
// Copyright (C) 1999-2003  The PUMA developer team.
1155
1281
//                                                                
1172
1298
#define __filename_info_h__
1173
1299
 
1174
1300
 
1175
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1301
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1176
1302
// This file is part of PUMA.
1177
1303
// Copyright (C) 1999-2003  The PUMA developer team.
1178
1304
//                                                                
1195
1321
#define __DString_h__
1196
1322
 
1197
1323
 
1198
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1324
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1199
1325
// This file is part of PUMA.
1200
1326
// Copyright (C) 1999-2003  The PUMA developer team.
1201
1327
//                                                                
1218
1344
#define __StrHashTable_h__
1219
1345
 
1220
1346
 
1221
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1347
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1222
1348
// This file is part of PUMA.
1223
1349
// Copyright (C) 1999-2003  The PUMA developer team.
1224
1350
//                                                                
1241
1367
#define __StrHashKey_h__
1242
1368
 
1243
1369
 
1244
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1370
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1245
1371
// This file is part of PUMA.
1246
1372
// Copyright (C) 1999-2003  The PUMA developer team.
1247
1373
//                                                                
1271
1397
class Unit;
1272
1398
 
1273
1399
 
1274
 
#line 1275 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1400
#line 1401 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1275
1401
} // closed Puma
 
1402
class CCExprResolve;
 
1403
class CExprResolve;
1276
1404
class WinIfExists;
1277
1405
class WinImportHandler;
1278
1406
class WinMacros;
1279
 
class CMatchSyntax;
1280
 
class ExtGnu;
 
1407
class WinAsm;
 
1408
class WinDeclSpecs;
 
1409
class WinMemberExplSpec;
 
1410
class WinTypeKeywords;
 
1411
class WinFriend;
1281
1412
class ExtAC;
1282
1413
class ExtACBuilderCoupling;
1283
1414
class ExtACSyntaxCoupling;
1284
1415
class ExtACTree;
1285
1416
class ExtACKeywords;
1286
 
class WinAsm;
1287
 
class WinDeclSpecs;
1288
 
class WinMemberExplSpec;
1289
 
class WinTypeKeywords;
 
1417
class ExtGnu;
1290
1418
class PragmaOnceUnitState;
1291
1419
class PragmaOnce;
1292
 
class CCExprResolve;
1293
 
class CExprResolve;
 
1420
class CMatchSyntax;
1294
1421
namespace Puma {
1295
1422
 
1296
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1423
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1297
1424
class StrCol {
1298
 
#line 1299 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1425
#line 1426 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1426
  friend class ::CCExprResolve;
 
1427
  friend class ::CExprResolve;
1299
1428
  friend class ::WinIfExists;
1300
1429
  friend class ::WinImportHandler;
1301
1430
  friend class ::WinMacros;
1302
 
  friend class ::CMatchSyntax;
1303
 
  friend class ::ExtGnu;
 
1431
  friend class ::WinAsm;
 
1432
  friend class ::WinDeclSpecs;
 
1433
  friend class ::WinMemberExplSpec;
 
1434
  friend class ::WinTypeKeywords;
 
1435
  friend class ::WinFriend;
1304
1436
  friend class ::ExtAC;
1305
1437
  friend class ::ExtACBuilderCoupling;
1306
1438
  friend class ::ExtACSyntaxCoupling;
1307
1439
  friend class ::ExtACTree;
1308
1440
  friend class ::ExtACKeywords;
1309
 
  friend class ::WinAsm;
1310
 
  friend class ::WinDeclSpecs;
1311
 
  friend class ::WinMemberExplSpec;
1312
 
  friend class ::WinTypeKeywords;
 
1441
  friend class ::ExtGnu;
1313
1442
  friend class ::PragmaOnceUnitState;
1314
1443
  friend class ::PragmaOnce;
1315
 
  friend class ::CCExprResolve;
1316
 
  friend class ::CExprResolve;
 
1444
  friend class ::CMatchSyntax;
1317
1445
 
1318
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1446
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1319
1447
 
1320
1448
protected:
1321
1449
  StrCol () {}
1343
1471
 
1344
1472
#endif /* __str_col__ */
1345
1473
 
1346
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1474
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1347
1475
// This file is part of PUMA.
1348
1476
// Copyright (C) 1999-2003  The PUMA developer team.
1349
1477
//                                                                
1378
1506
 
1379
1507
 
1380
1508
 
1381
 
#line 1382 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1509
#line 1510 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1382
1510
} // closed Puma
 
1511
class CCExprResolve;
 
1512
class CExprResolve;
1383
1513
class WinIfExists;
1384
1514
class WinImportHandler;
1385
1515
class WinMacros;
1386
 
class CMatchSyntax;
1387
 
class ExtGnu;
 
1516
class WinAsm;
 
1517
class WinDeclSpecs;
 
1518
class WinMemberExplSpec;
 
1519
class WinTypeKeywords;
 
1520
class WinFriend;
1388
1521
class ExtAC;
1389
1522
class ExtACBuilderCoupling;
1390
1523
class ExtACSyntaxCoupling;
1391
1524
class ExtACTree;
1392
1525
class ExtACKeywords;
1393
 
class WinAsm;
1394
 
class WinDeclSpecs;
1395
 
class WinMemberExplSpec;
1396
 
class WinTypeKeywords;
 
1526
class ExtGnu;
1397
1527
class PragmaOnceUnitState;
1398
1528
class PragmaOnce;
1399
 
class CCExprResolve;
1400
 
class CExprResolve;
 
1529
class CMatchSyntax;
1401
1530
namespace Puma {
1402
1531
 
1403
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1532
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1404
1533
class Chain {
1405
 
#line 1406 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1534
#line 1535 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1535
  friend class ::CCExprResolve;
 
1536
  friend class ::CExprResolve;
1406
1537
  friend class ::WinIfExists;
1407
1538
  friend class ::WinImportHandler;
1408
1539
  friend class ::WinMacros;
1409
 
  friend class ::CMatchSyntax;
1410
 
  friend class ::ExtGnu;
 
1540
  friend class ::WinAsm;
 
1541
  friend class ::WinDeclSpecs;
 
1542
  friend class ::WinMemberExplSpec;
 
1543
  friend class ::WinTypeKeywords;
 
1544
  friend class ::WinFriend;
1411
1545
  friend class ::ExtAC;
1412
1546
  friend class ::ExtACBuilderCoupling;
1413
1547
  friend class ::ExtACSyntaxCoupling;
1414
1548
  friend class ::ExtACTree;
1415
1549
  friend class ::ExtACKeywords;
1416
 
  friend class ::WinAsm;
1417
 
  friend class ::WinDeclSpecs;
1418
 
  friend class ::WinMemberExplSpec;
1419
 
  friend class ::WinTypeKeywords;
 
1550
  friend class ::ExtGnu;
1420
1551
  friend class ::PragmaOnceUnitState;
1421
1552
  friend class ::PragmaOnce;
1422
 
  friend class ::CCExprResolve;
1423
 
  friend class ::CExprResolve;
 
1553
  friend class ::CMatchSyntax;
1424
1554
 
1425
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1555
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1426
1556
 
1427
1557
  Chain *next;
1428
1558
 
1486
1616
 
1487
1617
#endif /* __Chain_h__ */
1488
1618
 
1489
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1619
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1490
1620
namespace Puma {
1491
1621
 
1492
1622
 
1493
1623
 
1494
 
#line 1495 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1624
#line 1625 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1495
1625
} // closed Puma
 
1626
class CCExprResolve;
 
1627
class CExprResolve;
1496
1628
class WinIfExists;
1497
1629
class WinImportHandler;
1498
1630
class WinMacros;
1499
 
class CMatchSyntax;
1500
 
class ExtGnu;
 
1631
class WinAsm;
 
1632
class WinDeclSpecs;
 
1633
class WinMemberExplSpec;
 
1634
class WinTypeKeywords;
 
1635
class WinFriend;
1501
1636
class ExtAC;
1502
1637
class ExtACBuilderCoupling;
1503
1638
class ExtACSyntaxCoupling;
1504
1639
class ExtACTree;
1505
1640
class ExtACKeywords;
1506
 
class WinAsm;
1507
 
class WinDeclSpecs;
1508
 
class WinMemberExplSpec;
1509
 
class WinTypeKeywords;
 
1641
class ExtGnu;
1510
1642
class PragmaOnceUnitState;
1511
1643
class PragmaOnce;
1512
 
class CCExprResolve;
1513
 
class CExprResolve;
 
1644
class CMatchSyntax;
1514
1645
namespace Puma {
1515
1646
 
1516
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1647
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1517
1648
class StrHashKey : public Chain {
1518
 
#line 1519 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1649
#line 1650 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1650
  friend class ::CCExprResolve;
 
1651
  friend class ::CExprResolve;
1519
1652
  friend class ::WinIfExists;
1520
1653
  friend class ::WinImportHandler;
1521
1654
  friend class ::WinMacros;
1522
 
  friend class ::CMatchSyntax;
1523
 
  friend class ::ExtGnu;
 
1655
  friend class ::WinAsm;
 
1656
  friend class ::WinDeclSpecs;
 
1657
  friend class ::WinMemberExplSpec;
 
1658
  friend class ::WinTypeKeywords;
 
1659
  friend class ::WinFriend;
1524
1660
  friend class ::ExtAC;
1525
1661
  friend class ::ExtACBuilderCoupling;
1526
1662
  friend class ::ExtACSyntaxCoupling;
1527
1663
  friend class ::ExtACTree;
1528
1664
  friend class ::ExtACKeywords;
1529
 
  friend class ::WinAsm;
1530
 
  friend class ::WinDeclSpecs;
1531
 
  friend class ::WinMemberExplSpec;
1532
 
  friend class ::WinTypeKeywords;
 
1665
  friend class ::ExtGnu;
1533
1666
  friend class ::PragmaOnceUnitState;
1534
1667
  friend class ::PragmaOnce;
1535
 
  friend class ::CCExprResolve;
1536
 
  friend class ::CExprResolve;
 
1668
  friend class ::CMatchSyntax;
1537
1669
 
1538
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1670
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1539
1671
 
1540
1672
  unsigned int m_Magic;
1541
1673
  unsigned int m_Len;
1546
1678
public:
1547
1679
  StrHashKey (int m, const char *s, int l) : 
1548
1680
    m_Magic (m), m_Len (l), m_Str (StrCol::dup (s, l)) {}
 
1681
  ~StrHashKey () { if (m_Str) delete[] m_Str; }
1549
1682
 
1550
1683
  unsigned int getMagic () const { return m_Magic; }
1551
1684
  unsigned int length () const { return m_Len; }
1557
1690
 
1558
1691
#endif /* __StrHashKey_h__ */
1559
1692
 
1560
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1693
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1561
1694
#include <assert.h>
1562
1695
 
1563
1696
namespace Puma {
1564
1697
 
1565
1698
 
1566
1699
 
1567
 
#line 1568 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1700
#line 1701 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1568
1701
} // closed Puma
 
1702
class CCExprResolve;
 
1703
class CExprResolve;
1569
1704
class WinIfExists;
1570
1705
class WinImportHandler;
1571
1706
class WinMacros;
1572
 
class CMatchSyntax;
1573
 
class ExtGnu;
 
1707
class WinAsm;
 
1708
class WinDeclSpecs;
 
1709
class WinMemberExplSpec;
 
1710
class WinTypeKeywords;
 
1711
class WinFriend;
1574
1712
class ExtAC;
1575
1713
class ExtACBuilderCoupling;
1576
1714
class ExtACSyntaxCoupling;
1577
1715
class ExtACTree;
1578
1716
class ExtACKeywords;
1579
 
class WinAsm;
1580
 
class WinDeclSpecs;
1581
 
class WinMemberExplSpec;
1582
 
class WinTypeKeywords;
 
1717
class ExtGnu;
1583
1718
class PragmaOnceUnitState;
1584
1719
class PragmaOnce;
1585
 
class CCExprResolve;
1586
 
class CExprResolve;
 
1720
class CMatchSyntax;
1587
1721
namespace Puma {
1588
1722
 
1589
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1723
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1590
1724
class StrHashTable {
1591
 
#line 1592 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1725
#line 1726 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1726
  friend class ::CCExprResolve;
 
1727
  friend class ::CExprResolve;
1592
1728
  friend class ::WinIfExists;
1593
1729
  friend class ::WinImportHandler;
1594
1730
  friend class ::WinMacros;
1595
 
  friend class ::CMatchSyntax;
1596
 
  friend class ::ExtGnu;
 
1731
  friend class ::WinAsm;
 
1732
  friend class ::WinDeclSpecs;
 
1733
  friend class ::WinMemberExplSpec;
 
1734
  friend class ::WinTypeKeywords;
 
1735
  friend class ::WinFriend;
1597
1736
  friend class ::ExtAC;
1598
1737
  friend class ::ExtACBuilderCoupling;
1599
1738
  friend class ::ExtACSyntaxCoupling;
1600
1739
  friend class ::ExtACTree;
1601
1740
  friend class ::ExtACKeywords;
1602
 
  friend class ::WinAsm;
1603
 
  friend class ::WinDeclSpecs;
1604
 
  friend class ::WinMemberExplSpec;
1605
 
  friend class ::WinTypeKeywords;
 
1741
  friend class ::ExtGnu;
1606
1742
  friend class ::PragmaOnceUnitState;
1607
1743
  friend class ::PragmaOnce;
1608
 
  friend class ::CCExprResolve;
1609
 
  friend class ::CExprResolve;
 
1744
  friend class ::CMatchSyntax;
1610
1745
 
1611
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1746
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1612
1747
 
1613
1748
  StrHashKey *_emptyKey;
1614
1749
 
1621
1756
  StrHashKey *empty () const { assert (_emptyKey); return _emptyKey; }
1622
1757
  StrHashKey *insert (const char *);
1623
1758
  void remove (StrHashKey *);
 
1759
  void clear ();
1624
1760
 
1625
1761
  enum { STRHASHTABLE_SIZE=0xffff };
1626
1762
  
1628
1764
  Chain m_Table[STRHASHTABLE_SIZE];
1629
1765
 
1630
1766
  StrHashKey *find (unsigned int, const char *, unsigned int);
1631
 
  unsigned int hash (const char *, unsigned int);
 
1767
  unsigned int hash (const char *, unsigned int &);
1632
1768
};
1633
1769
 
1634
1770
 
1636
1772
 
1637
1773
#endif /* __StrHashTable_h__ */
1638
1774
 
1639
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1775
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1640
1776
#include <assert.h>
1641
1777
 
1642
1778
namespace Puma {
1645
1781
extern StrHashTable ___str_dict;
1646
1782
 
1647
1783
 
1648
 
#line 1649 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1784
#line 1785 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1649
1785
} // closed Puma
 
1786
class CCExprResolve;
 
1787
class CExprResolve;
1650
1788
class WinIfExists;
1651
1789
class WinImportHandler;
1652
1790
class WinMacros;
1653
 
class CMatchSyntax;
1654
 
class ExtGnu;
 
1791
class WinAsm;
 
1792
class WinDeclSpecs;
 
1793
class WinMemberExplSpec;
 
1794
class WinTypeKeywords;
 
1795
class WinFriend;
1655
1796
class ExtAC;
1656
1797
class ExtACBuilderCoupling;
1657
1798
class ExtACSyntaxCoupling;
1658
1799
class ExtACTree;
1659
1800
class ExtACKeywords;
1660
 
class WinAsm;
1661
 
class WinDeclSpecs;
1662
 
class WinMemberExplSpec;
1663
 
class WinTypeKeywords;
 
1801
class ExtGnu;
1664
1802
class PragmaOnceUnitState;
1665
1803
class PragmaOnce;
1666
 
class CCExprResolve;
1667
 
class CExprResolve;
 
1804
class CMatchSyntax;
1668
1805
namespace Puma {
1669
1806
 
1670
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1807
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1671
1808
class DString {
1672
 
#line 1673 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1809
#line 1810 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1810
  friend class ::CCExprResolve;
 
1811
  friend class ::CExprResolve;
1673
1812
  friend class ::WinIfExists;
1674
1813
  friend class ::WinImportHandler;
1675
1814
  friend class ::WinMacros;
1676
 
  friend class ::CMatchSyntax;
1677
 
  friend class ::ExtGnu;
 
1815
  friend class ::WinAsm;
 
1816
  friend class ::WinDeclSpecs;
 
1817
  friend class ::WinMemberExplSpec;
 
1818
  friend class ::WinTypeKeywords;
 
1819
  friend class ::WinFriend;
1678
1820
  friend class ::ExtAC;
1679
1821
  friend class ::ExtACBuilderCoupling;
1680
1822
  friend class ::ExtACSyntaxCoupling;
1681
1823
  friend class ::ExtACTree;
1682
1824
  friend class ::ExtACKeywords;
1683
 
  friend class ::WinAsm;
1684
 
  friend class ::WinDeclSpecs;
1685
 
  friend class ::WinMemberExplSpec;
1686
 
  friend class ::WinTypeKeywords;
 
1825
  friend class ::ExtGnu;
1687
1826
  friend class ::PragmaOnceUnitState;
1688
1827
  friend class ::PragmaOnce;
1689
 
  friend class ::CCExprResolve;
1690
 
  friend class ::CExprResolve;
 
1828
  friend class ::CMatchSyntax;
1691
1829
 
1692
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1830
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1693
1831
 
1694
1832
  StrHashKey *m_Key;
1695
1833
 
1756
1894
    assert (m_Key);
1757
1895
    return c_str ();
1758
1896
  }
 
1897
  
 
1898
  static void clearDict() {
 
1899
    ___str_dict.clear ();
 
1900
  }
1759
1901
};
1760
1902
 
1761
1903
 
1763
1905
 
1764
1906
#endif /* __DString_h__ */
1765
1907
 
1766
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1908
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1767
1909
namespace Puma {
1768
1910
 
1769
1911
 
1770
1912
 
1771
 
#line 1772 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1913
#line 1914 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1772
1914
} // closed Puma
 
1915
class CCExprResolve;
 
1916
class CExprResolve;
1773
1917
class WinIfExists;
1774
1918
class WinImportHandler;
1775
1919
class WinMacros;
1776
 
class CMatchSyntax;
1777
 
class ExtGnu;
 
1920
class WinAsm;
 
1921
class WinDeclSpecs;
 
1922
class WinMemberExplSpec;
 
1923
class WinTypeKeywords;
 
1924
class WinFriend;
1778
1925
class ExtAC;
1779
1926
class ExtACBuilderCoupling;
1780
1927
class ExtACSyntaxCoupling;
1781
1928
class ExtACTree;
1782
1929
class ExtACKeywords;
1783
 
class WinAsm;
1784
 
class WinDeclSpecs;
1785
 
class WinMemberExplSpec;
1786
 
class WinTypeKeywords;
 
1930
class ExtGnu;
1787
1931
class PragmaOnceUnitState;
1788
1932
class PragmaOnce;
1789
 
class CCExprResolve;
1790
 
class CExprResolve;
 
1933
class CMatchSyntax;
1791
1934
namespace Puma {
1792
1935
 
1793
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1936
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1794
1937
class FilenameInfo : public RefCnt {
1795
 
#line 1796 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1938
#line 1939 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
1939
  friend class ::CCExprResolve;
 
1940
  friend class ::CExprResolve;
1796
1941
  friend class ::WinIfExists;
1797
1942
  friend class ::WinImportHandler;
1798
1943
  friend class ::WinMacros;
1799
 
  friend class ::CMatchSyntax;
1800
 
  friend class ::ExtGnu;
 
1944
  friend class ::WinAsm;
 
1945
  friend class ::WinDeclSpecs;
 
1946
  friend class ::WinMemberExplSpec;
 
1947
  friend class ::WinTypeKeywords;
 
1948
  friend class ::WinFriend;
1801
1949
  friend class ::ExtAC;
1802
1950
  friend class ::ExtACBuilderCoupling;
1803
1951
  friend class ::ExtACSyntaxCoupling;
1804
1952
  friend class ::ExtACTree;
1805
1953
  friend class ::ExtACKeywords;
1806
 
  friend class ::WinAsm;
1807
 
  friend class ::WinDeclSpecs;
1808
 
  friend class ::WinMemberExplSpec;
1809
 
  friend class ::WinTypeKeywords;
 
1954
  friend class ::ExtGnu;
1810
1955
  friend class ::PragmaOnceUnitState;
1811
1956
  friend class ::PragmaOnce;
1812
 
  friend class ::CCExprResolve;
1813
 
  friend class ::CExprResolve;
 
1957
  friend class ::CMatchSyntax;
1814
1958
 
1815
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1959
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1816
1960
 
1817
1961
  DString _name;
1818
1962
  const char *_path;
1822
1966
  FilenameInfo () : _path ((const char*)0), _root ((const char*)0) {}
1823
1967
  ~FilenameInfo ();
1824
1968
  void name (const char *n);
1825
 
  void name (const DString &dsn) { _name = dsn; }
 
1969
//  void name (const DString &dsn) { _name = dsn; }
1826
1970
  const char *name () const { return _name.c_str (); }
1827
1971
  const char *path ();
1828
1972
  const char *root ();
1837
1981
 
1838
1982
#endif /* __filename_info_h__ */
1839
1983
 
1840
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1984
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
1841
1985
namespace Puma {
1842
1986
 
1843
1987
 
1844
1988
 
1845
 
#line 1846 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
1989
#line 1990 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1846
1990
} // closed Puma
 
1991
class CCExprResolve;
 
1992
class CExprResolve;
1847
1993
class WinIfExists;
1848
1994
class WinImportHandler;
1849
1995
class WinMacros;
1850
 
class CMatchSyntax;
1851
 
class ExtGnu;
 
1996
class WinAsm;
 
1997
class WinDeclSpecs;
 
1998
class WinMemberExplSpec;
 
1999
class WinTypeKeywords;
 
2000
class WinFriend;
1852
2001
class ExtAC;
1853
2002
class ExtACBuilderCoupling;
1854
2003
class ExtACSyntaxCoupling;
1855
2004
class ExtACTree;
1856
2005
class ExtACKeywords;
1857
 
class WinAsm;
1858
 
class WinDeclSpecs;
1859
 
class WinMemberExplSpec;
1860
 
class WinTypeKeywords;
 
2006
class ExtGnu;
1861
2007
class PragmaOnceUnitState;
1862
2008
class PragmaOnce;
1863
 
class CCExprResolve;
1864
 
class CExprResolve;
 
2009
class CMatchSyntax;
1865
2010
namespace Puma {
1866
2011
 
1867
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2012
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
1868
2013
class Filename : public SmartPtr, public Printable {
1869
 
#line 1870 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2014
#line 2015 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2015
  friend class ::CCExprResolve;
 
2016
  friend class ::CExprResolve;
1870
2017
  friend class ::WinIfExists;
1871
2018
  friend class ::WinImportHandler;
1872
2019
  friend class ::WinMacros;
1873
 
  friend class ::CMatchSyntax;
1874
 
  friend class ::ExtGnu;
 
2020
  friend class ::WinAsm;
 
2021
  friend class ::WinDeclSpecs;
 
2022
  friend class ::WinMemberExplSpec;
 
2023
  friend class ::WinTypeKeywords;
 
2024
  friend class ::WinFriend;
1875
2025
  friend class ::ExtAC;
1876
2026
  friend class ::ExtACBuilderCoupling;
1877
2027
  friend class ::ExtACSyntaxCoupling;
1878
2028
  friend class ::ExtACTree;
1879
2029
  friend class ::ExtACKeywords;
1880
 
  friend class ::WinAsm;
1881
 
  friend class ::WinDeclSpecs;
1882
 
  friend class ::WinMemberExplSpec;
1883
 
  friend class ::WinTypeKeywords;
 
2030
  friend class ::ExtGnu;
1884
2031
  friend class ::PragmaOnceUnitState;
1885
2032
  friend class ::PragmaOnce;
1886
 
  friend class ::CCExprResolve;
1887
 
  friend class ::CExprResolve;
 
2033
  friend class ::CMatchSyntax;
1888
2034
 
1889
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2035
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
1890
2036
 
1891
2037
  FilenameInfo *info () const { return (FilenameInfo*)data (); }
1892
2038
 
1894
2040
  Filename () {}
1895
2041
  Filename (const char *n) { name (n); }
1896
2042
  Filename &operator = (const char *n) { name (n); return *this; }
 
2043
  bool operator ~ () const { return info () != 0; }
1897
2044
  void name (const char *n);
1898
2045
  const char *name () const;
1899
2046
  const char *path () const;
1909
2056
 
1910
2057
#endif /* __filename_h__ */
1911
2058
 
1912
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
2059
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
1913
2060
namespace Puma {
1914
2061
 
1915
2062
 
1916
2063
 
1917
 
#line 1918 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2064
#line 2065 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
1918
2065
} // closed Puma
 
2066
class CCExprResolve;
 
2067
class CExprResolve;
1919
2068
class WinIfExists;
1920
2069
class WinImportHandler;
1921
2070
class WinMacros;
1922
 
class CMatchSyntax;
1923
 
class ExtGnu;
 
2071
class WinAsm;
 
2072
class WinDeclSpecs;
 
2073
class WinMemberExplSpec;
 
2074
class WinTypeKeywords;
 
2075
class WinFriend;
1924
2076
class ExtAC;
1925
2077
class ExtACBuilderCoupling;
1926
2078
class ExtACSyntaxCoupling;
1927
2079
class ExtACTree;
1928
2080
class ExtACKeywords;
1929
 
class WinAsm;
1930
 
class WinDeclSpecs;
1931
 
class WinMemberExplSpec;
1932
 
class WinTypeKeywords;
 
2081
class ExtGnu;
1933
2082
class PragmaOnceUnitState;
1934
2083
class PragmaOnce;
1935
 
class CCExprResolve;
1936
 
class CExprResolve;
 
2084
class CMatchSyntax;
1937
2085
namespace Puma {
1938
2086
 
1939
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
1940
 
class LocationInfo : public RefCnt {
1941
 
#line 1942 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2087
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
2088
class Location {
 
2089
#line 2090 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2090
  friend class ::CCExprResolve;
 
2091
  friend class ::CExprResolve;
1942
2092
  friend class ::WinIfExists;
1943
2093
  friend class ::WinImportHandler;
1944
2094
  friend class ::WinMacros;
1945
 
  friend class ::CMatchSyntax;
1946
 
  friend class ::ExtGnu;
 
2095
  friend class ::WinAsm;
 
2096
  friend class ::WinDeclSpecs;
 
2097
  friend class ::WinMemberExplSpec;
 
2098
  friend class ::WinTypeKeywords;
 
2099
  friend class ::WinFriend;
1947
2100
  friend class ::ExtAC;
1948
2101
  friend class ::ExtACBuilderCoupling;
1949
2102
  friend class ::ExtACSyntaxCoupling;
1950
2103
  friend class ::ExtACTree;
1951
2104
  friend class ::ExtACKeywords;
1952
 
  friend class ::WinAsm;
1953
 
  friend class ::WinDeclSpecs;
1954
 
  friend class ::WinMemberExplSpec;
1955
 
  friend class ::WinTypeKeywords;
 
2105
  friend class ::ExtGnu;
1956
2106
  friend class ::PragmaOnceUnitState;
1957
2107
  friend class ::PragmaOnce;
1958
 
  friend class ::CCExprResolve;
1959
 
  friend class ::CExprResolve;
 
2108
  friend class ::CMatchSyntax;
1960
2109
 
1961
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
2110
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
1962
2111
 
1963
2112
  Filename _filename;
1964
2113
  int _line;
 
2114
  int _column;
1965
2115
 
1966
2116
public:
1967
 
  LocationInfo () : _filename (), _line (0) {}
1968
 
  void setup (Filename f, int l);
 
2117
  Location () : _filename (), _line (0), _column (0) {}
 
2118
  Location (Filename f, int l, int c = 0) { setup (f, l, c); }
 
2119
  void setup (Filename f, int l, int c = 0) {
 
2120
    _filename = f;
 
2121
    _line     = l;
 
2122
    _column   = c;
 
2123
  }
1969
2124
  const Filename &filename () const { return _filename; }
1970
2125
  int line () const { return _line; }
1971
 
  bool operator < (const LocationInfo &l) const;
1972
 
  bool operator == (const LocationInfo &l) const;
1973
 
};
1974
 
 
1975
 
 
1976
 
} // namespace Puma
1977
 
 
1978
 
#endif /* __location_info_h__ */
1979
 
 
1980
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
1981
 
namespace Puma {
1982
 
 
1983
 
 
1984
 
 
1985
 
#line 1986 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
1986
 
} // closed Puma
1987
 
class WinIfExists;
1988
 
class WinImportHandler;
1989
 
class WinMacros;
1990
 
class CMatchSyntax;
1991
 
class ExtGnu;
1992
 
class ExtAC;
1993
 
class ExtACBuilderCoupling;
1994
 
class ExtACSyntaxCoupling;
1995
 
class ExtACTree;
1996
 
class ExtACKeywords;
1997
 
class WinAsm;
1998
 
class WinDeclSpecs;
1999
 
class WinMemberExplSpec;
2000
 
class WinTypeKeywords;
2001
 
class PragmaOnceUnitState;
2002
 
class PragmaOnce;
2003
 
class CCExprResolve;
2004
 
class CExprResolve;
2005
 
namespace Puma {
2006
 
 
2007
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2008
 
class Location : public SmartPtr, public Printable {
2009
 
#line 2010 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2010
 
  friend class ::WinIfExists;
2011
 
  friend class ::WinImportHandler;
2012
 
  friend class ::WinMacros;
2013
 
  friend class ::CMatchSyntax;
2014
 
  friend class ::ExtGnu;
2015
 
  friend class ::ExtAC;
2016
 
  friend class ::ExtACBuilderCoupling;
2017
 
  friend class ::ExtACSyntaxCoupling;
2018
 
  friend class ::ExtACTree;
2019
 
  friend class ::ExtACKeywords;
2020
 
  friend class ::WinAsm;
2021
 
  friend class ::WinDeclSpecs;
2022
 
  friend class ::WinMemberExplSpec;
2023
 
  friend class ::WinTypeKeywords;
2024
 
  friend class ::PragmaOnceUnitState;
2025
 
  friend class ::PragmaOnce;
2026
 
  friend class ::CCExprResolve;
2027
 
  friend class ::CExprResolve;
2028
 
 
2029
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2030
 
 
2031
 
  LocationInfo *info () const { return (LocationInfo*)data (); }
2032
 
 
2033
 
public:
2034
 
  Location () {}
2035
 
  Location (Filename f, int l) { setup (f, l); }
2036
 
  Location (LocationInfo *lptr) : SmartPtr (lptr) {}
2037
 
  LocationInfo *operator ~ () { if (info ()) info ()->ref (); return info (); }
2038
 
  void setup (Filename f, int l);
2039
 
  const Filename &filename () const   { return info ()->filename (); }
2040
 
  int line () const;
2041
 
  bool operator == (const Location &l) const;
 
2126
  int column () const { return _column; }
 
2127
  bool operator == (const Location &l) const {
 
2128
    return filename () == l.filename () && line () == l.line () &&
 
2129
      column () == l.column ();
 
2130
  }
2042
2131
  bool operator != (const Location &l) const { return ! (*this == l); }
2043
 
  bool operator < (const Location &l) const;
 
2132
  bool operator < (const Location &l) const {
 
2133
    // TODO: does it make sense to compare the filenames? better assert?
 
2134
    if (filename () != l.filename ())
 
2135
      return false;
 
2136
    return line () < l.line () && column () < l.column ();
 
2137
  }
 
2138
};
2044
2139
 
2045
 
  virtual void print (ostream &os) const {
2046
 
    if (info ())
 
2140
inline std::ostream &operator << (std::ostream &os, const Location &loc) {
2047
2141
#ifdef VISUAL_STUDIO
2048
 
      os << filename () << "(" << line () << ")";
 
2142
  os << loc.filename () << "(" << loc.line () << ")";
2049
2143
#else
2050
 
      os << filename () << ":" << line ();
 
2144
  os << loc.filename () << ":" << loc.line ();
2051
2145
#endif
2052
 
  }
2053
 
};
2054
 
 
2055
 
 
 
2146
  return os;  
 
2147
}
2056
2148
} // namespace Puma
2057
2149
 
2058
2150
#endif /* __location_h__ */
2059
2151
 
2060
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2152
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Array.h"
2061
2153
// This file is part of PUMA.
2062
2154
// Copyright (C) 1999-2003  The PUMA developer team.
2063
2155
//                                                                
2076
2168
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
2077
2169
// MA  02111-1307  USA                                            
2078
2170
 
2079
 
#ifndef __list_element_h__
2080
 
#define __list_element_h__
2081
 
 
2082
 
// Base class for objects that may be inserted into a List. Lists
2083
 
// autonomously delete or copy list element. So it's necessary to
2084
 
// define a destructor and a duplicate method in the derived
2085
 
// classes.
2086
 
 
2087
 
#include <assert.h>
2088
 
 
2089
 
namespace Puma {
2090
 
 
2091
 
 
2092
 
class List;
2093
 
 
2094
 
 
2095
 
#line 2096 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2096
 
} // closed Puma
2097
 
class WinIfExists;
2098
 
class WinImportHandler;
2099
 
class WinMacros;
2100
 
class CMatchSyntax;
2101
 
class ExtGnu;
2102
 
class ExtAC;
2103
 
class ExtACBuilderCoupling;
2104
 
class ExtACSyntaxCoupling;
2105
 
class ExtACTree;
2106
 
class ExtACKeywords;
2107
 
class WinAsm;
2108
 
class WinDeclSpecs;
2109
 
class WinMemberExplSpec;
2110
 
class WinTypeKeywords;
2111
 
class PragmaOnceUnitState;
2112
 
class PragmaOnce;
2113
 
class CCExprResolve;
2114
 
class CExprResolve;
2115
 
namespace Puma {
2116
 
 
2117
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
2118
 
class ListElement {
2119
 
#line 2120 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2120
 
  friend class ::WinIfExists;
2121
 
  friend class ::WinImportHandler;
2122
 
  friend class ::WinMacros;
2123
 
  friend class ::CMatchSyntax;
2124
 
  friend class ::ExtGnu;
2125
 
  friend class ::ExtAC;
2126
 
  friend class ::ExtACBuilderCoupling;
2127
 
  friend class ::ExtACSyntaxCoupling;
2128
 
  friend class ::ExtACTree;
2129
 
  friend class ::ExtACKeywords;
2130
 
  friend class ::WinAsm;
2131
 
  friend class ::WinDeclSpecs;
2132
 
  friend class ::WinMemberExplSpec;
2133
 
  friend class ::WinTypeKeywords;
2134
 
  friend class ::PragmaOnceUnitState;
2135
 
  friend class ::PragmaOnce;
2136
 
  friend class ::CCExprResolve;
2137
 
  friend class ::CExprResolve;
2138
 
 
2139
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
2140
 
 
2141
 
  friend class List;
2142
 
 
2143
 
  List        *_belonging_to;
2144
 
  ListElement *_next;
2145
 
  ListElement *_prev;
2146
 
 
2147
 
public:
2148
 
  ListElement () : _belonging_to ((List*)0) {}
2149
 
  virtual ~ListElement () { assert (! _belonging_to); };
2150
 
 
2151
 
  virtual ListElement *duplicate () = 0;
2152
 
  List *belonging_to () const { return _belonging_to; }
2153
 
};
2154
 
 
2155
 
 
2156
 
} // namespace Puma
2157
 
 
2158
 
#endif /* __list_element_h__ */
2159
 
 
2160
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
2161
 
#include <assert.h>
2162
 
 
2163
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
2164
 
namespace Puma {
2165
 
 
2166
 
 
2167
 
 
2168
 
#line 2169 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2169
 
} // closed Puma
2170
 
class WinIfExists;
2171
 
class WinImportHandler;
2172
 
class WinMacros;
2173
 
class CMatchSyntax;
2174
 
class ExtGnu;
2175
 
class ExtAC;
2176
 
class ExtACBuilderCoupling;
2177
 
class ExtACSyntaxCoupling;
2178
 
class ExtACTree;
2179
 
class ExtACKeywords;
2180
 
class WinAsm;
2181
 
class WinDeclSpecs;
2182
 
class WinMemberExplSpec;
2183
 
class WinTypeKeywords;
2184
 
class PragmaOnceUnitState;
2185
 
class PragmaOnce;
2186
 
class CCExprResolve;
2187
 
class CExprResolve;
2188
 
namespace Puma {
2189
 
 
2190
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
2171
#ifndef __array_h__
 
2172
#define __array_h__
 
2173
 
 
2174
#include <assert.h>
 
2175
 
 
2176
namespace Puma {
 
2177
 
 
2178
template <class Item>
 
2179
class Array {
 
2180
protected:
 
2181
  static const long default_init_size = 5;
 
2182
  static const long default_increment = 5;
 
2183
 
 
2184
public:
 
2185
  Array (long is = default_init_size, long incr = default_increment);
 
2186
  Array (const Array<Item>& array);
 
2187
  Array<Item>& operator =(const Array<Item>&);
 
2188
  ~Array ();
 
2189
  void append (const Item& item);
 
2190
  void insert (long index, const Item& item);
 
2191
  void prepend (const Item& item);
 
2192
  void remove (long index);
 
2193
  void reset ();
 
2194
  Item& get (long index);
 
2195
  Item& operator[] (long index);
 
2196
  Item fetch (long index) const;
 
2197
  Item& lookup (long index) const;
 
2198
  long length () const;
 
2199
 
 
2200
private:
 
2201
  Item* data;
 
2202
  long size;
 
2203
  long count;
 
2204
  long increment;
 
2205
      
 
2206
  void grow (long wanted);
 
2207
};
 
2208
 
 
2209
template <class Item>
 
2210
inline Array<Item>::Array (long is, long incr) {
 
2211
  count     = 0; 
 
2212
  size      = is;
 
2213
  increment = incr;
 
2214
  data      = 0;
 
2215
}
 
2216
 
 
2217
template <class Item>
 
2218
Array<Item>::Array (const Array<Item>& array) {
 
2219
  count     = 0;
 
2220
  size      = array.size;
 
2221
  increment = array.increment;
 
2222
  
 
2223
  if (size && array.data) {
 
2224
    data = new Item[size];
 
2225
    for (; count < array.count; count++) {
 
2226
      data[count] = array.data[count];
 
2227
    }
 
2228
  } else
 
2229
    data = 0;
 
2230
}
 
2231
 
 
2232
template <class Item>
 
2233
Array<Item>& Array<Item>::operator =(const Array<Item>& array) {
 
2234
  if (data)
 
2235
    delete[] data;
 
2236
 
 
2237
  count     = 0;
 
2238
  size      = array.size;
 
2239
  increment = array.increment;
 
2240
 
 
2241
  if (size && array.data) {
 
2242
    data = new Item[size];
 
2243
    for (; count < array.count; count++) {
 
2244
      data[count] = array.data[count];
 
2245
    }
 
2246
  } else
 
2247
    data = 0;
 
2248
  
 
2249
  return *this;
 
2250
}
 
2251
 
 
2252
template <class Item>
 
2253
Array<Item>::~Array () {
 
2254
  if (data)
 
2255
    delete[] data;
 
2256
}
 
2257
 
 
2258
template <class Item>
 
2259
inline void Array<Item>::grow (long wanted) {
 
2260
  do {
 
2261
    size += increment;
 
2262
    increment *= 2;
 
2263
  } while (wanted >= size);
 
2264
 
 
2265
  if (data) {
 
2266
    Item* new_data = new Item[size];
 
2267
    for (long i = 0; i < count; i++) {
 
2268
      new_data[i] = data[i];
 
2269
    }
 
2270
    delete[] data;
 
2271
    data = new_data;
 
2272
  } else
 
2273
    data = new Item[size];
 
2274
}
 
2275
   
 
2276
template <class Item>
 
2277
inline void Array<Item>::append (const Item& item) {
 
2278
  if (count >= size || ! data) {
 
2279
    grow (count);
 
2280
  }
 
2281
  data[count++] = item;
 
2282
}
 
2283
 
 
2284
template <class Item>
 
2285
void Array<Item>::prepend (const Item& item) {
 
2286
  insert (0, item);
 
2287
}
 
2288
 
 
2289
template <class Item>
 
2290
void Array<Item>::insert (long index, const Item& item) {
 
2291
  if (count >= size || ! data) {
 
2292
    grow (count);
 
2293
  }
 
2294
  for (long i = count; i > index; i--)
 
2295
    data[i] = data[i - 1];
 
2296
  data[index] = item;
 
2297
  count++;
 
2298
}
 
2299
 
 
2300
template <class Item>
 
2301
inline Item& Array<Item>::get (long index) {
 
2302
  if (index >= size || ! data) {
 
2303
    grow (index);
 
2304
  }
 
2305
  if (index >= count)
 
2306
    count = index + 1;
 
2307
  return data[index];
 
2308
}
 
2309
 
 
2310
template <class Item>
 
2311
inline Item& Array<Item>::operator[] (long index) {
 
2312
  return get (index);
 
2313
}
 
2314
 
 
2315
template <class Item>
 
2316
inline Item Array<Item>::fetch (long index) const {
 
2317
  assert(index < count && data);
 
2318
  return data[index];
 
2319
}
 
2320
 
 
2321
template <class Item>
 
2322
inline long Array<Item>::length () const {
 
2323
  return count;
 
2324
}
 
2325
 
 
2326
template <class Item>
 
2327
inline void Array<Item>::remove (long index) {
 
2328
  if (index < count && count > 0) {
 
2329
    for (long i = index; i < count - 1; i++)
 
2330
      data[i] = data[i + 1];
 
2331
    count--;
 
2332
  }
 
2333
}
 
2334
 
 
2335
#ifndef __puma
 
2336
template <>
 
2337
inline void Array<int>::reset () {
 
2338
  count = 0; 
 
2339
}
 
2340
#endif
 
2341
 
 
2342
template <class Item>
 
2343
void Array<Item>::reset () {
 
2344
  if (data)
 
2345
    delete[] data;
 
2346
    
 
2347
  count     = 0; 
 
2348
  size      = default_init_size;
 
2349
  increment = default_increment;
 
2350
  data      = new Item[size];
 
2351
}
 
2352
 
 
2353
template <class Item>
 
2354
inline Item& Array<Item>::lookup (long index) const {
 
2355
  assert(index >= 0 && index < count);
 
2356
  return data[index];
 
2357
}
 
2358
 
 
2359
 
 
2360
} // namespace Puma
 
2361
 
 
2362
// Array specialization for pointer types sharing method definitions
 
2363
 
 
2364
#ifndef __puma
 
2365
 
 
2366
#include "Puma/VoidPtrArray.h"
 
2367
 
 
2368
namespace Puma {
 
2369
 
 
2370
 
 
2371
template <class Item>
 
2372
class Array<Item*> : private VoidPtrArray {
 
2373
  typedef VoidPtrArray Base;
 
2374
 
 
2375
public:
 
2376
  Array (long is = default_init_size, long incr = default_increment) :
 
2377
    Base (is, incr) {}
 
2378
  Array (const Array<Item*> &array) : 
 
2379
    Base (array) {}
 
2380
  Array<Item*> &operator= (const Array<Item*> &array) 
 
2381
   { return (Array<Item*>&)Base::operator= (array); }
 
2382
 
 
2383
  ~Array () {}
 
2384
 
 
2385
  void append (const Item *item)           { Base::append ((void*)item); }
 
2386
  void insert (long idx, const Item *item) { Base::insert (idx, (void*)item); }
 
2387
  void prepend (const Item *item)          { Base::prepend ((void*)item); }
 
2388
  void remove (long idx)                   { Base::remove (idx); }
 
2389
  void reset ()                            { Base::reset (); }
 
2390
 
 
2391
  Item *&get (long idx)                    { return (Item*&)Base::get (idx); }
 
2392
  Item *&operator[] (long idx)             { return (Item*&)Base::operator[] (idx); }
 
2393
  Item *fetch (long idx) const             { return (Item*)Base::fetch (idx); }
 
2394
  Item *&lookup (long idx) const           { return (Item*&)Base::lookup (idx); }
 
2395
  long length () const                     { return Base::length (); }
 
2396
};
 
2397
 
 
2398
 
 
2399
} // namespace Puma
 
2400
 
 
2401
#endif /* __puma */
 
2402
 
 
2403
#endif /* __array_h__ */
 
2404
 
 
2405
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
2406
#include <assert.h>
 
2407
 
 
2408
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
2409
namespace Puma {
 
2410
 
 
2411
 
 
2412
 
 
2413
#line 2414 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2414
} // closed Puma
 
2415
class CCExprResolve;
 
2416
class CExprResolve;
 
2417
class WinIfExists;
 
2418
class WinImportHandler;
 
2419
class WinMacros;
 
2420
class WinAsm;
 
2421
class WinDeclSpecs;
 
2422
class WinMemberExplSpec;
 
2423
class WinTypeKeywords;
 
2424
class WinFriend;
 
2425
class ExtAC;
 
2426
class ExtACBuilderCoupling;
 
2427
class ExtACSyntaxCoupling;
 
2428
class ExtACTree;
 
2429
class ExtACKeywords;
 
2430
class ExtGnu;
 
2431
class PragmaOnceUnitState;
 
2432
class PragmaOnce;
 
2433
class CMatchSyntax;
 
2434
namespace Puma {
 
2435
 
 
2436
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2191
2437
class Token : public ListElement {
2192
 
#line 2193 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2438
#line 2439 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2439
  friend class ::CCExprResolve;
 
2440
  friend class ::CExprResolve;
2193
2441
  friend class ::WinIfExists;
2194
2442
  friend class ::WinImportHandler;
2195
2443
  friend class ::WinMacros;
2196
 
  friend class ::CMatchSyntax;
2197
 
  friend class ::ExtGnu;
 
2444
  friend class ::WinAsm;
 
2445
  friend class ::WinDeclSpecs;
 
2446
  friend class ::WinMemberExplSpec;
 
2447
  friend class ::WinTypeKeywords;
 
2448
  friend class ::WinFriend;
2198
2449
  friend class ::ExtAC;
2199
2450
  friend class ::ExtACBuilderCoupling;
2200
2451
  friend class ::ExtACSyntaxCoupling;
2201
2452
  friend class ::ExtACTree;
2202
2453
  friend class ::ExtACKeywords;
2203
 
  friend class ::WinAsm;
2204
 
  friend class ::WinDeclSpecs;
2205
 
  friend class ::WinMemberExplSpec;
2206
 
  friend class ::WinTypeKeywords;
 
2454
  friend class ::ExtGnu;
2207
2455
  friend class ::PragmaOnceUnitState;
2208
2456
  friend class ::PragmaOnce;
2209
 
  friend class ::CCExprResolve;
2210
 
  friend class ::CExprResolve;
 
2457
  friend class ::CMatchSyntax;
2211
2458
 
2212
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
2459
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2213
2460
 
2214
2461
  int _type, _real_type;
2215
2462
 
2216
2463
  Location _location;
2217
2464
  LanguageID _language;
2218
 
  DString _text;
 
2465
  const char *_text;
 
2466
  mutable DString _dtext;
2219
2467
 
2220
2468
  Array<int> *_cont_lines;
2221
2469
   
2256
2504
  void macro_generated ()           { _flags |= TK_MACRO_GENERATED; }
2257
2505
  void macro_call ()                { _flags |= TK_MACRO_CALL; }
2258
2506
  
2259
 
  const DString &text () const     { return _text; }
 
2507
  const char *text () const;
 
2508
  DString &dtext () const;
2260
2509
  char *get_static_text () const;
2261
2510
  int type () const                 { return _type; }
2262
2511
  const Location &location () const { return _location; }
2333
2582
 
2334
2583
#endif /* __Token_h__ */
2335
2584
 
2336
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2337
 
using namespace Puma;
2338
 
 
2339
 
namespace Puma {
2340
 
  
2341
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2342
 
 
2343
 
}
2344
 
 
2345
 
 
2346
 
#line 2347 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2347
 
class WinImportHandler;
2348
 
class WinMacros;
2349
 
class CMatchSyntax;
2350
 
class ExtGnu;
2351
 
class ExtAC;
2352
 
class ExtACBuilderCoupling;
2353
 
class ExtACSyntaxCoupling;
2354
 
class ExtACTree;
2355
 
class ExtACKeywords;
2356
 
class WinAsm;
2357
 
class WinDeclSpecs;
2358
 
class WinMemberExplSpec;
2359
 
class WinTypeKeywords;
2360
 
class PragmaOnceUnitState;
2361
 
class PragmaOnce;
2362
 
class CCExprResolve;
2363
 
class CExprResolve;
2364
 
 
2365
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2366
 
class WinIfExists {
2367
 
#line 2368 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2368
 
 
2369
 
public:
2370
 
  static WinIfExists *aspectof () {
2371
 
    static WinIfExists __instance;
2372
 
    return &__instance;
2373
 
  }
2374
 
  static WinIfExists *aspectOf () {
2375
 
    return aspectof ();
2376
 
  }
2377
 
private:
2378
 
 
2379
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2380
 
 
2381
 
#line 2382 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2382
 
  friend class ::WinImportHandler;
2383
 
  friend class ::WinMacros;
2384
 
  friend class ::CMatchSyntax;
2385
 
  friend class ::ExtGnu;
2386
 
  friend class ::ExtAC;
2387
 
  friend class ::ExtACBuilderCoupling;
2388
 
  friend class ::ExtACSyntaxCoupling;
2389
 
  friend class ::ExtACTree;
2390
 
  friend class ::ExtACKeywords;
2391
 
  friend class ::WinAsm;
2392
 
  friend class ::WinDeclSpecs;
2393
 
  friend class ::WinMemberExplSpec;
2394
 
  friend class ::WinTypeKeywords;
2395
 
  friend class ::PragmaOnceUnitState;
2396
 
  friend class ::PragmaOnce;
2397
 
  friend class ::CCExprResolve;
2398
 
  friend class ::CExprResolve;
2399
 
 
2400
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2401
 
 
2402
 
  /********************************************************/
2403
 
  /* Win __if_exists and __if_not_exists                  */
2404
 
  /********************************************************/
2405
 
 
2406
 
  // pointcut definitions
2407
 
  
2408
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2409
 
 
2410
 
 
2411
 
  // structural extensions
2412
 
  
2413
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2414
 
 
2415
 
 
2416
 
  // preprocess __if_exists and __if_not_exists statements
2417
 
  
2418
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2419
 
 
2420
 
public: template<class JoinPoint> void __a0_around 
2421
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2422
 
 
2423
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2424
 
(JoinPoint *tjp)
2425
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2426
 
 {
2427
 
#line 2428 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2428
 
 
2429
 
  JoinPoint *&thisJoinPoint = tjp;
2430
 
 
2431
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2432
 
 
2433
 
#line 2434 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2434
 
 
2435
 
  typedef typename JoinPoint::That __JP_That;
2436
 
  typedef typename JoinPoint::Target __JP_Target;
2437
 
  typedef typename JoinPoint::Result __JP_Result;
2438
 
 
2439
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2440
 
 
2441
 
    Token *token;
2442
 
    int type;
2443
 
    __JP_That
2444
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2445
 
 *preparser;
2446
 
  
2447
 
        preparser = tjp->that ();
2448
 
    tjp->proceed (); // get the next token
2449
 
    token = *tjp->result ();
2450
 
    if (token) {
2451
 
      type = token->type ();
2452
 
      // __if_exists (...) { ... }
2453
 
      if (type == TOK_IF_EXISTS) {
2454
 
        preparser->skip_up_to (TOK_CLOSE_CURLY);
2455
 
                    *(Token**)thisJoinPoint->result () = preparser->next ();
2456
 
                    return;
2457
 
        // __if_not_exists (...) { ... }
2458
 
      } else if (type == TOK_IF_NOT_EXISTS) {
2459
 
        preparser->skip_up_to (TOK_OPEN_CURLY);
2460
 
        preparser->_depth.push (1);
2461
 
                    *(Token**)thisJoinPoint->result () = preparser->next ();
2462
 
                    return;
2463
 
      }
2464
 
      // skip closing `}' of __if_not_exists
2465
 
      if (preparser->_depth.length ()) {
2466
 
        if (type == TOK_OPEN_CURLY) 
2467
 
          preparser->_depth.top () = preparser->_depth.top () + 1;
2468
 
        else if (type == TOK_CLOSE_CURLY) { 
2469
 
          preparser->_depth.top () = preparser->_depth.top () - 1;
2470
 
                    if (preparser->_depth.top () == 0) {
2471
 
                  preparser->_depth.pop ();
2472
 
                  *(Token**)thisJoinPoint->result () = preparser->next ();
2473
 
                  return;
2474
 
                    }
2475
 
        }
2476
 
      }
2477
 
    }
2478
 
  }
2479
 
#line 2480 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2480
 
 
2481
 
private:
2482
 
 
2483
 
#line 84 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2484
 
 
2485
 
 
2486
 
protected:
2487
 
  WinIfExists () {}
2488
 
};
2489
 
#line 2490 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2490
 
 
2491
 
namespace AC {
2492
 
  template <class JoinPoint>
2493
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
2494
 
    ::WinIfExists::aspectof()->__a0_around (tjp);
2495
 
  }
2496
 
2497
 
 
2498
 
#line 88 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2499
 
 
2500
 
 
2501
 
namespace Puma {
2502
 
  
2503
 
#line 97 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2504
 
 
2505
 
    
2506
 
  // skip __if_exists resp. __if_not_exists statement
2507
 
  
2508
 
#line 137 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2509
 
 
2510
 
}
2511
 
 
2512
 
#endif /* __WinIfExists__ */
2513
 
 
2514
 
#line 5 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
2515
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
2516
 
 
2517
 
#line 2518 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2518
 
 
2519
 
#ifndef __ac_fwd_PragmaOnce__
2520
 
#define __ac_fwd_PragmaOnce__
2521
 
class PragmaOnce;
2522
 
namespace AC {
2523
 
  template <class JoinPoint>
2524
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
2525
 
  template <class JoinPoint>
2526
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
2527
 
  template <class JoinPoint, class Binding>
2528
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
2529
 
  template <class JoinPoint>
2530
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
2531
 
}
2532
 
#endif
2533
 
 
2534
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
2535
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
2536
 
#endif
2537
 
 
2538
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
2539
 
/* Driver template for the LEMON parser generator.
2540
 
** Copyright 1991-1995 by D. Richard Hipp.
2541
 
**
2542
 
** This library is free software; you can redistribute it and/or
2543
 
** modify it under the terms of the GNU Library General Public
2544
 
** License as published by the Free Software Foundation; either
2545
 
** version 2 of the License, or (at your option) any later version.
2546
 
** 
2547
 
** This library is distributed in the hope that it will be useful,
2548
 
** but WITHOUT ANY WARRANTY; without even the implied warranty of
2549
 
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2550
 
** Library General Public License for more details.
2551
 
** 
2552
 
** You should have received a copy of the GNU Library General Public
2553
 
** License along with this library; if not, write to the
2554
 
** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
2555
 
** Boston, MA  02111-1307, USA.
2556
 
**
2557
 
** Modified 1997 to make it suitable for use with makeheaders.
2558
 
*/
2559
 
/* First off, code is include which follows the "include" declaration
2560
 
** in the input file. */
2561
 
#include <stdio.h>
2562
 
#line 27 "cpp/PreParser.lem"
2563
 
 
2564
 
 
2565
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2566
 
// This file is part of PUMA.
2567
 
// Copyright (C) 1999-2003  The PUMA developer team.
2568
 
//                                                                
2569
 
// This program is free software;  you can redistribute it and/or 
2570
 
// modify it under the terms of the GNU General Public License as 
2571
 
// published by the Free Software Foundation; either version 2 of 
2572
 
// the License, or (at your option) any later version.            
2573
 
//                                                                
2574
 
// This program is distributed in the hope that it will be useful,
2575
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
2576
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
2577
 
// GNU General Public License for more details.                   
2578
 
//                                                                
2579
 
// You should have received a copy of the GNU General Public      
2580
 
// License along with this program; if not, write to the Free     
2581
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
2582
 
// MA  02111-1307  USA                                            
2583
 
 
2584
 
#ifndef __list_h__
2585
 
#define __list_h__
2586
 
 
2587
 
 
2588
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2589
 
namespace Puma {
2590
 
 
2591
 
 
2592
 
 
2593
 
#line 2594 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2594
 
} // closed Puma
2595
 
class WinIfExists;
2596
 
class WinImportHandler;
2597
 
class WinMacros;
2598
 
class CMatchSyntax;
2599
 
class ExtGnu;
2600
 
class ExtAC;
2601
 
class ExtACBuilderCoupling;
2602
 
class ExtACSyntaxCoupling;
2603
 
class ExtACTree;
2604
 
class ExtACKeywords;
2605
 
class WinAsm;
2606
 
class WinDeclSpecs;
2607
 
class WinMemberExplSpec;
2608
 
class WinTypeKeywords;
2609
 
class PragmaOnceUnitState;
2610
 
class PragmaOnce;
2611
 
class CCExprResolve;
2612
 
class CExprResolve;
2613
 
namespace Puma {
2614
 
 
2615
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2616
 
class List {
2617
 
#line 2618 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2618
 
  friend class ::WinIfExists;
2619
 
  friend class ::WinImportHandler;
2620
 
  friend class ::WinMacros;
2621
 
  friend class ::CMatchSyntax;
2622
 
  friend class ::ExtGnu;
2623
 
  friend class ::ExtAC;
2624
 
  friend class ::ExtACBuilderCoupling;
2625
 
  friend class ::ExtACSyntaxCoupling;
2626
 
  friend class ::ExtACTree;
2627
 
  friend class ::ExtACKeywords;
2628
 
  friend class ::WinAsm;
2629
 
  friend class ::WinDeclSpecs;
2630
 
  friend class ::WinMemberExplSpec;
2631
 
  friend class ::WinTypeKeywords;
2632
 
  friend class ::PragmaOnceUnitState;
2633
 
  friend class ::PragmaOnce;
2634
 
  friend class ::CCExprResolve;
2635
 
  friend class ::CExprResolve;
2636
 
 
2637
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2638
 
 
2639
 
  ListElement *_first;
2640
 
  ListElement *_last;
2641
 
 
2642
 
public:
2643
 
  List () : _first ((ListElement*)0), _last ((ListElement*)0) {}
2644
 
  List (const List &);
2645
 
  ~List();
2646
 
 
2647
 
  List &operator = (const List &);
2648
 
  List &operator += (const List &);
2649
 
  List operator + (const List &);
2650
 
 
2651
 
  void clear ();
2652
 
 
2653
 
  void append (ListElement &);
2654
 
  void prepend (ListElement &);
2655
 
  void insert (ListElement *at, ListElement &element);
2656
 
  void remove (ListElement *element);
2657
 
  void kill (ListElement *from, ListElement *to = (ListElement*)0)
2658
 
   { List discard; cut (discard, from, to); }
2659
 
 
2660
 
  void cut (List &out, ListElement *from, ListElement *to = (ListElement*)0);
2661
 
  //List *cut (ListElement *from, ListElement *to = (ListElement*)0);
2662
 
  List *copy (ListElement *from = (ListElement*)0, 
2663
 
              ListElement *to = (ListElement*)0);
2664
 
  void paste (ListElement *at, const List &l);
2665
 
  void paste_before (ListElement *at, const List &l);
2666
 
  void move (ListElement *at, List &l);
2667
 
  void move_before (ListElement *at, List &l);
2668
 
 
2669
 
  bool empty () const { return _first == (ListElement*)0; }
2670
 
  const ListElement *first () const { return _first; }
2671
 
  const ListElement *last () const { return _last; }
2672
 
  const ListElement *next (const ListElement *element) const
2673
 
   { return element->_next; }
2674
 
  const ListElement *prev (const ListElement *element) const 
2675
 
   { return element->_prev; }
2676
 
};
2677
 
 
2678
 
 
2679
 
} // namespace Puma
2680
 
 
2681
 
#endif /* __list_h__ */
2682
 
 
2683
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
2684
 
// This file is part of PUMA.
2685
 
// Copyright (C) 1999-2003  The PUMA developer team.
2686
 
//                                                                
2687
 
// This program is free software;  you can redistribute it and/or 
2688
 
// modify it under the terms of the GNU General Public License as 
2689
 
// published by the Free Software Foundation; either version 2 of 
2690
 
// the License, or (at your option) any later version.            
2691
 
//                                                                
2692
 
// This program is distributed in the hope that it will be useful,
2693
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
2694
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
2695
 
// GNU General Public License for more details.                   
2696
 
//                                                                
2697
 
// You should have received a copy of the GNU General Public      
2698
 
// License along with this program; if not, write to the Free     
2699
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
2700
 
// MA  02111-1307  USA                                            
2701
 
 
2702
 
#ifndef __unit_h__
2703
 
#define __unit_h__
2704
 
 
2705
 
 
2706
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2707
 
 
2708
 
#line 2709 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2709
 
 
2710
 
#ifndef __ac_fwd_PragmaOnceUnitState__
2711
 
#define __ac_fwd_PragmaOnceUnitState__
2712
 
class PragmaOnceUnitState;
2713
 
namespace AC {
2714
 
  template <class JoinPoint>
2715
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
2716
 
}
2717
 
#endif
2718
 
 
2719
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2720
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2721
 
#endif
2722
 
 
2723
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2724
 
 
2725
 
#line 2726 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2726
 
 
2727
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2728
 
// This file is part of PUMA.
2729
 
// Copyright (C) 1999-2003  The PUMA developer team.
2730
 
//                                                                
2731
 
// This program is free software;  you can redistribute it and/or 
2732
 
// modify it under the terms of the GNU General Public License as 
2733
 
// published by the Free Software Foundation; either version 2 of 
2734
 
// the License, or (at your option) any later version.            
2735
 
//                                                                
2736
 
// This program is distributed in the hope that it will be useful,
2737
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
2738
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
2739
 
// GNU General Public License for more details.                   
2740
 
//                                                                
2741
 
// You should have received a copy of the GNU General Public      
2742
 
// License along with this program; if not, write to the Free     
2743
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
2744
 
// MA  02111-1307  USA                                            
2745
 
 
2746
 
#ifndef __PragmaOnceUnitState__
2747
 
#define __PragmaOnceUnitState__
2748
 
 
2749
 
using namespace Puma;
2750
 
 
2751
 
 
2752
 
#line 2753 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2753
 
class WinIfExists;
2754
 
class WinImportHandler;
2755
 
class WinMacros;
2756
 
class CMatchSyntax;
2757
 
class ExtGnu;
2758
 
class ExtAC;
2759
 
class ExtACBuilderCoupling;
2760
 
class ExtACSyntaxCoupling;
2761
 
class ExtACTree;
2762
 
class ExtACKeywords;
2763
 
class WinAsm;
2764
 
class WinDeclSpecs;
2765
 
class WinMemberExplSpec;
2766
 
class WinTypeKeywords;
2767
 
class PragmaOnce;
2768
 
class CCExprResolve;
2769
 
class CExprResolve;
2770
 
 
2771
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2772
 
class PragmaOnceUnitState {
2773
 
#line 2774 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2774
 
 
2775
 
public:
2776
 
  static PragmaOnceUnitState *aspectof () {
2777
 
    static PragmaOnceUnitState __instance;
2778
 
    return &__instance;
2779
 
  }
2780
 
  static PragmaOnceUnitState *aspectOf () {
2781
 
    return aspectof ();
2782
 
  }
2783
 
private:
2784
 
 
2785
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2786
 
 
2787
 
#line 2788 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2788
 
  friend class ::WinIfExists;
2789
 
  friend class ::WinImportHandler;
2790
 
  friend class ::WinMacros;
2791
 
  friend class ::CMatchSyntax;
2792
 
  friend class ::ExtGnu;
2793
 
  friend class ::ExtAC;
2794
 
  friend class ::ExtACBuilderCoupling;
2795
 
  friend class ::ExtACSyntaxCoupling;
2796
 
  friend class ::ExtACTree;
2797
 
  friend class ::ExtACKeywords;
2798
 
  friend class ::WinAsm;
2799
 
  friend class ::WinDeclSpecs;
2800
 
  friend class ::WinMemberExplSpec;
2801
 
  friend class ::WinTypeKeywords;
2802
 
  friend class ::PragmaOnce;
2803
 
  friend class ::CCExprResolve;
2804
 
  friend class ::CExprResolve;
2805
 
 
2806
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2807
 
 
2808
 
  /******************************************************/
2809
 
  /* specific #pragma once unit state                   */
2810
 
  /******************************************************/
2811
 
 
2812
 
  // pointcut definitions
2813
 
  
2814
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2815
 
 
2816
 
 
2817
 
  
2818
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2819
 
 
2820
 
  
2821
 
  // initialize new state flag
2822
 
  
2823
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2824
 
 
2825
 
public: template<class JoinPoint> void __a0_after 
2826
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2827
 
 
2828
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2829
 
(JoinPoint *tjp)
2830
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2831
 
 {
2832
 
#line 2833 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2833
 
 
2834
 
  JoinPoint *&thisJoinPoint = tjp;
2835
 
 
2836
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2837
 
 
2838
 
#line 2839 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2839
 
 
2840
 
  typedef typename JoinPoint::That __JP_That;
2841
 
  typedef typename JoinPoint::Target __JP_Target;
2842
 
  typedef typename JoinPoint::Result __JP_Result;
2843
 
 
2844
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2845
 
 
2846
 
    thisJoinPoint->that ()->_once = false;
2847
 
  }
2848
 
#line 2849 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2849
 
 
2850
 
private:
2851
 
 
2852
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2853
 
 
2854
 
 
2855
 
protected:
2856
 
  // this aspect should never be instantiated directly
2857
 
  PragmaOnceUnitState () {}
2858
 
};
2859
 
#line 2860 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2860
 
 
2861
 
namespace AC {
2862
 
  template <class JoinPoint>
2863
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
2864
 
    ::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
2865
 
  }
2866
 
2867
 
 
2868
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2869
 
 
2870
 
 
2871
 
 
2872
 
#endif /* __PragmaOnceUnitState__ */
2873
 
 
2874
 
#line 4 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2875
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2876
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2877
 
 
2878
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2879
 
// This file is part of PUMA.
2880
 
// Copyright (C) 1999-2003  The PUMA developer team.
2881
 
//                                                                
2882
 
// This program is free software;  you can redistribute it and/or 
2883
 
// modify it under the terms of the GNU General Public License as 
2884
 
// published by the Free Software Foundation; either version 2 of 
2885
 
// the License, or (at your option) any later version.            
2886
 
//                                                                
2887
 
// This program is distributed in the hope that it will be useful,
2888
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
2889
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
2890
 
// GNU General Public License for more details.                   
2891
 
//                                                                
2892
 
// You should have received a copy of the GNU General Public      
2893
 
// License along with this program; if not, write to the Free     
2894
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
2895
 
// MA  02111-1307  USA                                            
2896
 
 
2897
 
#ifndef __UnitState__
2898
 
#define __UnitState__
2899
 
 
2900
 
// The state of a unit: 
2901
 
// 1. modified by manipulations and not updated at the class registry
2902
 
// 2. modified by manipulations and updated at the class registry
2903
 
// 3. unmodified by manipulations and not updated at the class registry
2904
 
// 4. unmodified by manipulations and updated at the class registry
2905
 
 
2906
 
namespace Puma {
2907
 
 
2908
 
 
2909
 
 
2910
 
#line 2911 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2911
 
} // closed Puma
2912
 
class WinIfExists;
2913
 
class WinImportHandler;
2914
 
class WinMacros;
2915
 
class CMatchSyntax;
2916
 
class ExtGnu;
2917
 
class ExtAC;
2918
 
class ExtACBuilderCoupling;
2919
 
class ExtACSyntaxCoupling;
2920
 
class ExtACTree;
2921
 
class ExtACKeywords;
2922
 
class WinAsm;
2923
 
class WinDeclSpecs;
2924
 
class WinMemberExplSpec;
2925
 
class WinTypeKeywords;
2926
 
class PragmaOnceUnitState;
2927
 
class PragmaOnce;
2928
 
class CCExprResolve;
2929
 
class CExprResolve;
2930
 
namespace Puma {
2931
 
 
2932
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2933
 
class UnitState {
2934
 
#line 2935 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2935
 
  friend class ::WinIfExists;
2936
 
  friend class ::WinImportHandler;
2937
 
  friend class ::WinMacros;
2938
 
  friend class ::CMatchSyntax;
2939
 
  friend class ::ExtGnu;
2940
 
  friend class ::ExtAC;
2941
 
  friend class ::ExtACBuilderCoupling;
2942
 
  friend class ::ExtACSyntaxCoupling;
2943
 
  friend class ::ExtACTree;
2944
 
  friend class ::ExtACKeywords;
2945
 
  friend class ::WinAsm;
2946
 
  friend class ::WinDeclSpecs;
2947
 
  friend class ::WinMemberExplSpec;
2948
 
  friend class ::WinTypeKeywords;
2949
 
  friend class ::PragmaOnceUnitState;
2950
 
  friend class ::PragmaOnce;
2951
 
  friend class ::CCExprResolve;
2952
 
  friend class ::CExprResolve;
2953
 
 
2954
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2955
 
 
2956
 
  bool _modified;
2957
 
  bool _updated;
2958
 
  long _lastModified;
2959
 
      
2960
 
public:
2961
 
  
2962
 
#line 2963 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2963
 
public: inline void __exec_old_C1();
2964
 
 
2965
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2966
 
UnitState ();
2967
 
      
2968
 
  bool isModified () const;
2969
 
  bool isUpdated () const;
2970
 
  long lastModified () const;
2971
 
 
2972
 
  // Is modified and has to be updated.
2973
 
  void modified ();
2974
 
  void lastModified (long);
2975
 
  void unmodified ();
2976
 
  void updated ();
2977
 
   private:
2978
 
 
2979
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2980
 
 bool _once ;
2981
 
public :
2982
 
 
2983
 
bool onlyOnce ( ) const { return _once ; }
2984
 
void onlyOnce ( bool v ) { _once = v ; }
2985
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2986
 
 
2987
 
#line 2988 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2988
 
 
2989
 
struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
2990
 
  typedef void Result;
2991
 
  typedef ::Puma::UnitState That;
2992
 
  typedef ::Puma::UnitState Target;
2993
 
  static const int JPID = 5;
2994
 
  static const AC::JPType JPTYPE = (AC::JPType)16;
2995
 
  struct Res {
2996
 
    typedef void Type;
2997
 
    typedef void ReferredType;
2998
 
  };
2999
 
  enum { ARGS = 1 };
3000
 
  template <int I, int DUMMY = 0> struct Arg {
3001
 
    typedef void Type;
3002
 
    typedef void ReferredType;
3003
 
  };
3004
 
  template <int DUMMY> struct Arg<0, DUMMY> {
3005
 
    typedef const ::Puma::UnitState & Type;
3006
 
    typedef const ::Puma::UnitState ReferredType;
3007
 
  };
3008
 
 
3009
 
  That *_that;
3010
 
 
3011
 
  inline That *that() {return (That*)_that;}
3012
 
 
3013
 
};
3014
 
 
3015
 
 
3016
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3017
 
 
3018
 
#line 3019 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3019
 
 
3020
 
public:
3021
 
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
3022
 
  TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 tjp;
3023
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0::That*)this;
3024
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0> (&tjp);
3025
 
 
3026
 
}
3027
 
 
3028
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3029
 
};
3030
 
 
3031
 
 
3032
 
#line 3033 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3033
 
 
3034
 
 
3035
 
struct TJP__ZN4Puma9UnitStateC1Ev_0 {
3036
 
  typedef void Result;
3037
 
  typedef ::Puma::UnitState That;
3038
 
  typedef ::Puma::UnitState Target;
3039
 
  static const int JPID = 5;
3040
 
  static const AC::JPType JPTYPE = (AC::JPType)16;
3041
 
  struct Res {
3042
 
    typedef void Type;
3043
 
    typedef void ReferredType;
3044
 
  };
3045
 
  enum { ARGS = 0 };
3046
 
  template <int I, int DUMMY = 0> struct Arg {
3047
 
    typedef void Type;
3048
 
    typedef void ReferredType;
3049
 
  };
3050
 
 
3051
 
  That *_that;
3052
 
 
3053
 
  inline That *that() {return (That*)_that;}
3054
 
 
3055
 
};
3056
 
 
3057
 
 
3058
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3059
 
inline UnitState::UnitState ()
3060
 
 
3061
 
#line 3062 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3062
 
{
3063
 
  TJP__ZN4Puma9UnitStateC1Ev_0 tjp;
3064
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1Ev_0::That*)this;
3065
 
this->__exec_old_C1();
3066
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1Ev_0> (&tjp);
3067
 
 
3068
 
}
3069
 
inline void Puma::UnitState::__exec_old_C1()
3070
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3071
 
{ _modified = false; _updated = false; _lastModified = 0; }
3072
 
 
3073
 
inline bool UnitState::isModified () const 
3074
 
 { return _modified; }
3075
 
inline bool UnitState::isUpdated () const 
3076
 
 { return _updated; }
3077
 
inline long UnitState::lastModified () const
3078
 
 { return _lastModified; }
3079
 
 
3080
 
inline void UnitState::modified () 
3081
 
 { _modified = true; _updated = false; _lastModified = 0; }
3082
 
inline void UnitState::unmodified () 
3083
 
 { _modified = false; }
3084
 
inline void UnitState::updated () 
3085
 
 { _updated = true; }
3086
 
inline void UnitState::lastModified (long when) 
3087
 
 { _lastModified = when; }
3088
 
 
3089
 
 
3090
 
} // namespace Puma
3091
 
 
3092
 
#endif /* __UnitState__ */
3093
 
 
3094
 
#line 3095 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3095
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
3096
 
 
3097
 
#line 72 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3098
 
 
3099
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
3100
 
namespace Puma {
3101
 
 
3102
 
 
3103
 
 
3104
 
#line 3105 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3105
 
} // closed Puma
3106
 
class WinIfExists;
3107
 
class WinImportHandler;
3108
 
class WinMacros;
3109
 
class CMatchSyntax;
3110
 
class ExtGnu;
3111
 
class ExtAC;
3112
 
class ExtACBuilderCoupling;
3113
 
class ExtACSyntaxCoupling;
3114
 
class ExtACTree;
3115
 
class ExtACKeywords;
3116
 
class WinAsm;
3117
 
class WinDeclSpecs;
3118
 
class WinMemberExplSpec;
3119
 
class WinTypeKeywords;
3120
 
class PragmaOnceUnitState;
3121
 
class PragmaOnce;
3122
 
class CCExprResolve;
3123
 
class CExprResolve;
3124
 
namespace Puma {
3125
 
 
3126
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
3127
 
class Unit : public List, public Printable {
3128
 
#line 3129 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3129
 
  friend class ::WinIfExists;
3130
 
  friend class ::WinImportHandler;
3131
 
  friend class ::WinMacros;
3132
 
  friend class ::CMatchSyntax;
3133
 
  friend class ::ExtGnu;
3134
 
  friend class ::ExtAC;
3135
 
  friend class ::ExtACBuilderCoupling;
3136
 
  friend class ::ExtACSyntaxCoupling;
3137
 
  friend class ::ExtACTree;
3138
 
  friend class ::ExtACKeywords;
3139
 
  friend class ::WinAsm;
3140
 
  friend class ::WinDeclSpecs;
3141
 
  friend class ::WinMemberExplSpec;
3142
 
  friend class ::WinTypeKeywords;
3143
 
  friend class ::PragmaOnceUnitState;
3144
 
  friend class ::PragmaOnce;
3145
 
  friend class ::CCExprResolve;
3146
 
  friend class ::CExprResolve;
3147
 
 
3148
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
3149
 
 
3150
 
  char *_name;
3151
 
  UnitState _state;
3152
 
 
3153
 
public:
3154
 
  Unit () : List (), _name ((char*)0) {}
3155
 
  Unit (const List &list) : List (list), _name ((char*)0) {}
3156
 
  virtual ~Unit ();
3157
 
  virtual void name (const char *);
3158
 
  char *name () const { return _name; }
3159
 
  virtual void print (ostream &os) const;
3160
 
  virtual bool isFile () const { return false; }
3161
 
  virtual bool isMacroExp () const { return false; }
3162
 
  UnitState &state () { return _state; }
3163
 
};
3164
 
 
3165
 
 
3166
 
} // namespace Puma
3167
 
 
3168
 
#endif /* __unit_h__ */
3169
 
 
3170
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreExpr.h"
 
2585
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreExpr.h"
3171
2586
// This file is part of PUMA.
3172
2587
// Copyright (C) 1999-2003  The PUMA developer team.
3173
2588
//                                                                
3192
2607
// Node class for the preprocessor expression parser. 
3193
2608
 
3194
2609
 
3195
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
2610
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3196
2611
// This file is part of PUMA.
3197
2612
// Copyright (C) 1999-2003  The PUMA developer team.
3198
2613
//                                                                
3219
2634
// generated mapping table
3220
2635
 
3221
2636
 
3222
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
 
2637
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3223
2638
// This file is part of PUMA.
3224
2639
// Copyright (C) 1999-2003  The PUMA developer team.
3225
2640
//                                                                
3244
2659
// The token recognizer class, which uses scanner tables generated by the
3245
2660
// orange tool.
3246
2661
 
3247
 
 
3248
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
3249
 
// This file is part of PUMA.
3250
 
// Copyright (C) 1999-2003  The PUMA developer team.
3251
 
//                                                                
3252
 
// This program is free software;  you can redistribute it and/or 
3253
 
// modify it under the terms of the GNU General Public License as 
3254
 
// published by the Free Software Foundation; either version 2 of 
3255
 
// the License, or (at your option) any later version.            
3256
 
//                                                                
3257
 
// This program is distributed in the hope that it will be useful,
3258
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
3259
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
3260
 
// GNU General Public License for more details.                   
3261
 
//                                                                
3262
 
// You should have received a copy of the GNU General Public      
3263
 
// License along with this program; if not, write to the Free     
3264
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
3265
 
// MA  02111-1307  USA                                            
3266
 
 
3267
 
#ifndef __scan_buffer_h__
3268
 
#define __scan_buffer_h__
3269
 
 
3270
 
namespace Puma {
3271
 
 
3272
 
 
3273
 
 
3274
 
#line 3275 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3275
 
} // closed Puma
3276
 
class WinIfExists;
3277
 
class WinImportHandler;
3278
 
class WinMacros;
3279
 
class CMatchSyntax;
3280
 
class ExtGnu;
3281
 
class ExtAC;
3282
 
class ExtACBuilderCoupling;
3283
 
class ExtACSyntaxCoupling;
3284
 
class ExtACTree;
3285
 
class ExtACKeywords;
3286
 
class WinAsm;
3287
 
class WinDeclSpecs;
3288
 
class WinMemberExplSpec;
3289
 
class WinTypeKeywords;
3290
 
class PragmaOnceUnitState;
3291
 
class PragmaOnce;
3292
 
class CCExprResolve;
3293
 
class CExprResolve;
3294
 
namespace Puma {
3295
 
 
3296
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
3297
 
class ScanBuffer {
3298
 
#line 3299 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3299
 
  friend class ::WinIfExists;
3300
 
  friend class ::WinImportHandler;
3301
 
  friend class ::WinMacros;
3302
 
  friend class ::CMatchSyntax;
3303
 
  friend class ::ExtGnu;
3304
 
  friend class ::ExtAC;
3305
 
  friend class ::ExtACBuilderCoupling;
3306
 
  friend class ::ExtACSyntaxCoupling;
3307
 
  friend class ::ExtACTree;
3308
 
  friend class ::ExtACKeywords;
3309
 
  friend class ::WinAsm;
3310
 
  friend class ::WinDeclSpecs;
3311
 
  friend class ::WinMemberExplSpec;
3312
 
  friend class ::WinTypeKeywords;
3313
 
  friend class ::PragmaOnceUnitState;
3314
 
  friend class ::PragmaOnce;
3315
 
  friend class ::CCExprResolve;
3316
 
  friend class ::CExprResolve;
3317
 
 
3318
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
3319
 
 
3320
 
public:
3321
 
  typedef enum { STATE_END, STATE_ERROR, STATE_OK } State;
3322
 
  
3323
 
  virtual ~ScanBuffer () {}
3324
 
 
3325
 
  virtual char next () = 0;
3326
 
  virtual char *token () = 0;
3327
 
  virtual int len () const = 0;
3328
 
  virtual void reset () = 0;
3329
 
  virtual void retry () = 0; 
3330
 
  virtual void accept (int len) = 0;
3331
 
  virtual void more (int len) = 0;
3332
 
  virtual State state () const = 0;
3333
 
};
3334
 
 
3335
 
 
3336
 
} // namespace Puma
3337
 
 
3338
 
#endif /* __scan_buffer_h__ */
3339
 
 
3340
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3341
2662
namespace Puma {
3342
2663
 
3343
2664
 
3344
2665
#ifndef __TTGEN__
3345
2666
#  define __TTGEN__
3346
 
 
3347
 
#line 3348 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3348
 
} // closed Puma
3349
 
class WinIfExists;
3350
 
class WinImportHandler;
3351
 
class WinMacros;
3352
 
class CMatchSyntax;
3353
 
class ExtGnu;
3354
 
class ExtAC;
3355
 
class ExtACBuilderCoupling;
3356
 
class ExtACSyntaxCoupling;
3357
 
class ExtACTree;
3358
 
class ExtACKeywords;
3359
 
class WinAsm;
3360
 
class WinDeclSpecs;
3361
 
class WinMemberExplSpec;
3362
 
class WinTypeKeywords;
3363
 
class PragmaOnceUnitState;
3364
 
class PragmaOnce;
3365
 
class CCExprResolve;
3366
 
class CExprResolve;
3367
 
namespace Puma {
3368
 
 
3369
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3370
2667
typedef struct
3371
 
 {
3372
 
#line 3373 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3373
 
  friend class ::WinIfExists;
3374
 
  friend class ::WinImportHandler;
3375
 
  friend class ::WinMacros;
3376
 
  friend class ::CMatchSyntax;
3377
 
  friend class ::ExtGnu;
3378
 
  friend class ::ExtAC;
3379
 
  friend class ::ExtACBuilderCoupling;
3380
 
  friend class ::ExtACSyntaxCoupling;
3381
 
  friend class ::ExtACTree;
3382
 
  friend class ::ExtACKeywords;
3383
 
  friend class ::WinAsm;
3384
 
  friend class ::WinDeclSpecs;
3385
 
  friend class ::WinMemberExplSpec;
3386
 
  friend class ::WinTypeKeywords;
3387
 
  friend class ::PragmaOnceUnitState;
3388
 
  friend class ::PragmaOnce;
3389
 
  friend class ::CCExprResolve;
3390
 
  friend class ::CExprResolve;
3391
 
 
3392
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3393
 
 unsigned char Type;
 
2668
 { unsigned char Type;
3394
2669
   unsigned char LookAhead;
3395
2670
   int           Expression;
3396
2671
   int           Start;
3400
2675
 
3401
2676
// class declaration
3402
2677
 
3403
 
 
3404
 
#line 3405 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3405
 
} // closed Puma
3406
 
class WinIfExists;
3407
 
class WinImportHandler;
3408
 
class WinMacros;
3409
 
class CMatchSyntax;
3410
 
class ExtGnu;
3411
 
class ExtAC;
3412
 
class ExtACBuilderCoupling;
3413
 
class ExtACSyntaxCoupling;
3414
 
class ExtACTree;
3415
 
class ExtACKeywords;
3416
 
class WinAsm;
3417
 
class WinDeclSpecs;
3418
 
class WinMemberExplSpec;
3419
 
class WinTypeKeywords;
3420
 
class PragmaOnceUnitState;
3421
 
class PragmaOnce;
3422
 
class CCExprResolve;
3423
 
class CExprResolve;
3424
 
namespace Puma {
3425
 
 
3426
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3427
2678
template <typename TScanBuffer>
3428
2679
class OrangeRecognizer {
3429
 
#line 3430 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3430
 
  friend class ::WinIfExists;
3431
 
  friend class ::WinImportHandler;
3432
 
  friend class ::WinMacros;
3433
 
  friend class ::CMatchSyntax;
3434
 
  friend class ::ExtGnu;
3435
 
  friend class ::ExtAC;
3436
 
  friend class ::ExtACBuilderCoupling;
3437
 
  friend class ::ExtACSyntaxCoupling;
3438
 
  friend class ::ExtACTree;
3439
 
  friend class ::ExtACKeywords;
3440
 
  friend class ::WinAsm;
3441
 
  friend class ::WinDeclSpecs;
3442
 
  friend class ::WinMemberExplSpec;
3443
 
  friend class ::WinTypeKeywords;
3444
 
  friend class ::PragmaOnceUnitState;
3445
 
  friend class ::PragmaOnce;
3446
 
  friend class ::CCExprResolve;
3447
 
  friend class ::CExprResolve;
3448
 
 
3449
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3450
 
 
3451
2680
  // local structures generated by Orange
3452
2681
 
3453
2682
  char *_map;
3480
2709
  int  LookAheadLen;
3481
2710
  int  AcceptLen;
3482
2711
  int  AcceptState;
3483
 
  ScanBuffer::State buffer_state = ScanBuffer::STATE_OK;
 
2712
  typename TScanBuffer::State buffer_state = TScanBuffer::STATE_OK;
3484
2713
 
3485
2714
  State = _start;
3486
2715
  AcceptState = -1;
3513
2742
      LookAheadLen = scan_buffer->len ();
3514
2743
 
3515
2744
    buffer_state = scan_buffer->state ();
3516
 
  } while (NextState != -1 && buffer_state == ScanBuffer::STATE_OK);
 
2745
  } while (NextState != -1 && buffer_state == TScanBuffer::STATE_OK);
3517
2746
 
3518
 
  if (buffer_state == ScanBuffer::STATE_ERROR)
 
2747
  if (buffer_state == TScanBuffer::STATE_ERROR)
3519
2748
    return -1;
3520
2749
 
3521
2750
  if (AcceptState == -1)
3531
2760
 
3532
2761
#endif /* __orange_recognizer_h__ */
3533
2762
 
3534
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
2763
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3535
2764
namespace Puma {
3536
2765
 
3537
2766
 
3538
2767
// class declaration
3539
2768
 
3540
 
 
3541
 
#line 3542 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3542
 
} // closed Puma
3543
 
class WinIfExists;
3544
 
class WinImportHandler;
3545
 
class WinMacros;
3546
 
class CMatchSyntax;
3547
 
class ExtGnu;
3548
 
class ExtAC;
3549
 
class ExtACBuilderCoupling;
3550
 
class ExtACSyntaxCoupling;
3551
 
class ExtACTree;
3552
 
class ExtACKeywords;
3553
 
class WinAsm;
3554
 
class WinDeclSpecs;
3555
 
class WinMemberExplSpec;
3556
 
class WinTypeKeywords;
3557
 
class PragmaOnceUnitState;
3558
 
class PragmaOnce;
3559
 
class CCExprResolve;
3560
 
class CExprResolve;
3561
 
namespace Puma {
3562
 
 
3563
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3564
2769
template <class ScanBuffer>
3565
2770
class MappedOrangeRecognizer : public OrangeRecognizer<ScanBuffer> {
3566
 
#line 3567 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3567
 
  friend class ::WinIfExists;
3568
 
  friend class ::WinImportHandler;
3569
 
  friend class ::WinMacros;
3570
 
  friend class ::CMatchSyntax;
3571
 
  friend class ::ExtGnu;
3572
 
  friend class ::ExtAC;
3573
 
  friend class ::ExtACBuilderCoupling;
3574
 
  friend class ::ExtACSyntaxCoupling;
3575
 
  friend class ::ExtACTree;
3576
 
  friend class ::ExtACKeywords;
3577
 
  friend class ::WinAsm;
3578
 
  friend class ::WinDeclSpecs;
3579
 
  friend class ::WinMemberExplSpec;
3580
 
  friend class ::WinTypeKeywords;
3581
 
  friend class ::PragmaOnceUnitState;
3582
 
  friend class ::PragmaOnce;
3583
 
  friend class ::CCExprResolve;
3584
 
  friend class ::CExprResolve;
3585
 
 
3586
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3587
 
 
3588
2771
  int *_expr_map;
3589
2772
 
3590
2773
public:
3612
2795
 
3613
2796
#endif // __mapped_orange_recognizer_h__
3614
2797
 
3615
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreExpr.h"
 
2798
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
2799
// This file is part of PUMA.
 
2800
// Copyright (C) 1999-2003  The PUMA developer team.
 
2801
//                                                                
 
2802
// This program is free software;  you can redistribute it and/or 
 
2803
// modify it under the terms of the GNU General Public License as 
 
2804
// published by the Free Software Foundation; either version 2 of 
 
2805
// the License, or (at your option) any later version.            
 
2806
//                                                                
 
2807
// This program is distributed in the hope that it will be useful,
 
2808
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
2809
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
2810
// GNU General Public License for more details.                   
 
2811
//                                                                
 
2812
// You should have received a copy of the GNU General Public      
 
2813
// License along with this program; if not, write to the Free     
 
2814
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
2815
// MA  02111-1307  USA                                            
 
2816
 
 
2817
#ifndef __scan_buffer_h__
 
2818
#define __scan_buffer_h__
 
2819
 
 
2820
 
 
2821
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
2822
using namespace std;
 
2823
 
 
2824
namespace Puma {
 
2825
 
 
2826
 
 
2827
#line 2828 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2828
} // closed Puma
 
2829
class CCExprResolve;
 
2830
class CExprResolve;
 
2831
class WinIfExists;
 
2832
class WinImportHandler;
 
2833
class WinMacros;
 
2834
class WinAsm;
 
2835
class WinDeclSpecs;
 
2836
class WinMemberExplSpec;
 
2837
class WinTypeKeywords;
 
2838
class WinFriend;
 
2839
class ExtAC;
 
2840
class ExtACBuilderCoupling;
 
2841
class ExtACSyntaxCoupling;
 
2842
class ExtACTree;
 
2843
class ExtACKeywords;
 
2844
class ExtGnu;
 
2845
class PragmaOnceUnitState;
 
2846
class PragmaOnce;
 
2847
class CMatchSyntax;
 
2848
namespace Puma {
 
2849
 
 
2850
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
2851
class ScanBuffer {
 
2852
#line 2853 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2853
  friend class ::CCExprResolve;
 
2854
  friend class ::CExprResolve;
 
2855
  friend class ::WinIfExists;
 
2856
  friend class ::WinImportHandler;
 
2857
  friend class ::WinMacros;
 
2858
  friend class ::WinAsm;
 
2859
  friend class ::WinDeclSpecs;
 
2860
  friend class ::WinMemberExplSpec;
 
2861
  friend class ::WinTypeKeywords;
 
2862
  friend class ::WinFriend;
 
2863
  friend class ::ExtAC;
 
2864
  friend class ::ExtACBuilderCoupling;
 
2865
  friend class ::ExtACSyntaxCoupling;
 
2866
  friend class ::ExtACTree;
 
2867
  friend class ::ExtACKeywords;
 
2868
  friend class ::ExtGnu;
 
2869
  friend class ::PragmaOnceUnitState;
 
2870
  friend class ::PragmaOnce;
 
2871
  friend class ::CMatchSyntax;
 
2872
 
 
2873
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
2874
 
 
2875
public:
 
2876
  typedef enum { STATE_NEW, STATE_END, STATE_ERROR, STATE_OK } State;
 
2877
 
 
2878
private:
 
2879
  int _token;      // start position of current token
 
2880
  int _pos;        // current position (in token; _pos >= _token && pos < filled)
 
2881
  char *_buffer;   // token to the buffer that contains all input characters
 
2882
  int  _buff_size; // size of the input buffer
 
2883
  State _state;
 
2884
 
 
2885
public:  
 
2886
  ScanBuffer () : _state (STATE_NEW) {}
 
2887
 
 
2888
  // init buffer to directly scan from a string
 
2889
  void init (const char *str, int l = 0);
 
2890
  
 
2891
  char next () { return _buffer[_pos++]; }
 
2892
  char lookahead () { return _buffer[_pos]; }
 
2893
  char *token () const { return _buffer + _token; }
 
2894
  int len () const { return _pos - _token; }
 
2895
  void reset () { _token = _pos = 0; }
 
2896
  void retry () { _pos = _token; } 
 
2897
  void accept (int len) {
 
2898
    _token += len;
 
2899
    _pos = _token;
 
2900
  }
 
2901
  void more (int len) { _pos = _token + len; }
 
2902
  State state () {
 
2903
    if (_state == STATE_OK && _pos >= _buff_size)
 
2904
      return STATE_END;
 
2905
    return _state;
 
2906
  }
 
2907
};
 
2908
 
 
2909
 
 
2910
} // namespace Puma
 
2911
 
 
2912
#endif /* __scan_buffer_h__ */
 
2913
 
 
2914
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreExpr.h"
3616
2915
namespace Puma {
3617
2916
 
3618
2917
 
3619
2918
class ErrorStream;
3620
2919
 
3621
2920
 
3622
 
#line 3623 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2921
#line 2922 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
3623
2922
} // closed Puma
 
2923
class CCExprResolve;
 
2924
class CExprResolve;
3624
2925
class WinIfExists;
3625
2926
class WinImportHandler;
3626
2927
class WinMacros;
3627
 
class CMatchSyntax;
3628
 
class ExtGnu;
 
2928
class WinAsm;
 
2929
class WinDeclSpecs;
 
2930
class WinMemberExplSpec;
 
2931
class WinTypeKeywords;
 
2932
class WinFriend;
3629
2933
class ExtAC;
3630
2934
class ExtACBuilderCoupling;
3631
2935
class ExtACSyntaxCoupling;
3632
2936
class ExtACTree;
3633
2937
class ExtACKeywords;
3634
 
class WinAsm;
3635
 
class WinDeclSpecs;
3636
 
class WinMemberExplSpec;
3637
 
class WinTypeKeywords;
 
2938
class ExtGnu;
3638
2939
class PragmaOnceUnitState;
3639
2940
class PragmaOnce;
3640
 
class CCExprResolve;
3641
 
class CExprResolve;
 
2941
class CMatchSyntax;
3642
2942
namespace Puma {
3643
2943
 
3644
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreExpr.h"
 
2944
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreExpr.h"
3645
2945
class PreExpr {
3646
 
#line 3647 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
2946
#line 2947 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
2947
  friend class ::CCExprResolve;
 
2948
  friend class ::CExprResolve;
3647
2949
  friend class ::WinIfExists;
3648
2950
  friend class ::WinImportHandler;
3649
2951
  friend class ::WinMacros;
3650
 
  friend class ::CMatchSyntax;
3651
 
  friend class ::ExtGnu;
 
2952
  friend class ::WinAsm;
 
2953
  friend class ::WinDeclSpecs;
 
2954
  friend class ::WinMemberExplSpec;
 
2955
  friend class ::WinTypeKeywords;
 
2956
  friend class ::WinFriend;
3652
2957
  friend class ::ExtAC;
3653
2958
  friend class ::ExtACBuilderCoupling;
3654
2959
  friend class ::ExtACSyntaxCoupling;
3655
2960
  friend class ::ExtACTree;
3656
2961
  friend class ::ExtACKeywords;
3657
 
  friend class ::WinAsm;
3658
 
  friend class ::WinDeclSpecs;
3659
 
  friend class ::WinMemberExplSpec;
3660
 
  friend class ::WinTypeKeywords;
 
2962
  friend class ::ExtGnu;
3661
2963
  friend class ::PragmaOnceUnitState;
3662
2964
  friend class ::PragmaOnce;
3663
 
  friend class ::CCExprResolve;
3664
 
  friend class ::CExprResolve;
 
2965
  friend class ::CMatchSyntax;
3665
2966
 
3666
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreExpr.h"
 
2967
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreExpr.h"
3667
2968
 
3668
2969
  bool _result;        
3669
2970
 
3699
3000
 
3700
3001
#endif /* __pre_expr__ */
3701
3002
 
3702
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
3003
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
3703
3004
 
3704
 
#line 3705 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3005
#line 3006 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
3705
3006
 
3706
3007
#ifndef __ac_fwd_ExtACKeywords__
3707
3008
#define __ac_fwd_ExtACKeywords__
3708
3009
class ExtACKeywords;
3709
3010
namespace AC {
3710
 
  template <class JoinPoint, class Binding>
3711
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
3712
 
  template <class JoinPoint, class Binding>
3713
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
3714
 
  template <class JoinPoint>
3715
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
3011
  template <class JoinPoint>
 
3012
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
3013
  template <class JoinPoint>
 
3014
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
3015
  template <class JoinPoint>
 
3016
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
3716
3017
}
3717
3018
#endif
3718
3019
 
3719
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
3720
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
3020
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
3021
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
3721
3022
#endif
3722
3023
 
3723
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
3024
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
3724
3025
// This file is part of PUMA.
3725
3026
// Copyright (C) 1999-2003  The PUMA developer team.
3726
3027
//                                                                
3743
3044
#define __c_scanner_h__
3744
3045
 
3745
3046
 
3746
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3047
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
3747
3048
// This file is part of PUMA.
3748
3049
// Copyright (C) 1999-2003  The PUMA developer team.
3749
3050
//                                                                
3766
3067
#define __c_recognizer_h__
3767
3068
 
3768
3069
 
3769
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3070
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3770
3071
// This file is part of PUMA.
3771
3072
// Copyright (C) 1999-2003  The PUMA developer team.
3772
3073
//                                                                
3789
3090
#define __CScanBuffer_h__
3790
3091
 
3791
3092
 
3792
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3093
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3793
3094
namespace Puma {
3794
3095
 
3795
3096
 
3796
3097
 
3797
 
#line 3798 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3098
#line 3099 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
3798
3099
} // closed Puma
 
3100
class CCExprResolve;
 
3101
class CExprResolve;
3799
3102
class WinIfExists;
3800
3103
class WinImportHandler;
3801
3104
class WinMacros;
3802
 
class CMatchSyntax;
3803
 
class ExtGnu;
 
3105
class WinAsm;
 
3106
class WinDeclSpecs;
 
3107
class WinMemberExplSpec;
 
3108
class WinTypeKeywords;
 
3109
class WinFriend;
3804
3110
class ExtAC;
3805
3111
class ExtACBuilderCoupling;
3806
3112
class ExtACSyntaxCoupling;
3807
3113
class ExtACTree;
3808
3114
class ExtACKeywords;
3809
 
class WinAsm;
3810
 
class WinDeclSpecs;
3811
 
class WinMemberExplSpec;
3812
 
class WinTypeKeywords;
 
3115
class ExtGnu;
3813
3116
class PragmaOnceUnitState;
3814
3117
class PragmaOnce;
3815
 
class CCExprResolve;
3816
 
class CExprResolve;
 
3118
class CMatchSyntax;
3817
3119
namespace Puma {
3818
3120
 
3819
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3820
 
class CScanBuffer {
3821
 
#line 3822 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3121
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3122
class CScanBuffer : public ScanBuffer {
 
3123
#line 3124 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3124
  friend class ::CCExprResolve;
 
3125
  friend class ::CExprResolve;
3822
3126
  friend class ::WinIfExists;
3823
3127
  friend class ::WinImportHandler;
3824
3128
  friend class ::WinMacros;
3825
 
  friend class ::CMatchSyntax;
3826
 
  friend class ::ExtGnu;
 
3129
  friend class ::WinAsm;
 
3130
  friend class ::WinDeclSpecs;
 
3131
  friend class ::WinMemberExplSpec;
 
3132
  friend class ::WinTypeKeywords;
 
3133
  friend class ::WinFriend;
3827
3134
  friend class ::ExtAC;
3828
3135
  friend class ::ExtACBuilderCoupling;
3829
3136
  friend class ::ExtACSyntaxCoupling;
3830
3137
  friend class ::ExtACTree;
3831
3138
  friend class ::ExtACKeywords;
3832
 
  friend class ::WinAsm;
3833
 
  friend class ::WinDeclSpecs;
3834
 
  friend class ::WinMemberExplSpec;
3835
 
  friend class ::WinTypeKeywords;
 
3139
  friend class ::ExtGnu;
3836
3140
  friend class ::PragmaOnceUnitState;
3837
3141
  friend class ::PragmaOnce;
3838
 
  friend class ::CCExprResolve;
3839
 
  friend class ::CExprResolve;
3840
 
 
3841
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3842
 
 
3843
 
  ScanBuffer *next_buffer;
3844
 
  bool on_new_line;
3845
 
  int nl_pos;
3846
 
 
 
3142
  friend class ::CMatchSyntax;
 
3143
 
 
3144
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3145
 
 
3146
 
 
3147
  int _new_line_pos;
3847
3148
  void check ();
3848
3149
 
3849
3150
public:
3850
 
  void decorate (ScanBuffer *nb) { next_buffer = nb; }
 
3151
  CScanBuffer () : _new_line_pos (-1) {}
3851
3152
  inline char next ();
3852
3153
  inline void reset ();
 
3154
  inline void retry (); 
3853
3155
  inline void accept (int len);
3854
 
  inline void retry ();
3855
 
  bool new_line () const { return on_new_line; }
3856
 
  char *token () { return next_buffer->token (); }
3857
 
  int len () const { return next_buffer->len (); }
3858
 
  void more (int len) { next_buffer->more (len); }
3859
 
  ScanBuffer::State state () const { return next_buffer->state (); }
 
3156
  inline bool new_line (int len) const;
3860
3157
};
3861
3158
 
3862
3159
 
3863
3160
inline char CScanBuffer::next () {
3864
 
  char character = next_buffer->next ();
3865
 
  if (character == '\n' && nl_pos == -1)
3866
 
    nl_pos = len () - 1;
3867
 
  check ();
 
3161
  char character = ScanBuffer::next ();
 
3162
  if (character == '\n' && _new_line_pos == -1)
 
3163
    _new_line_pos = len ();
 
3164
  if (ScanBuffer::state () == ScanBuffer::STATE_OK &&
 
3165
      ScanBuffer::lookahead () == '\\')
 
3166
    check ();
3868
3167
  return character;
3869
3168
}
3870
3169
 
3871
3170
inline void CScanBuffer::reset () { 
3872
 
  next_buffer->reset (); 
3873
 
  on_new_line = true;
3874
 
  nl_pos = -1;
 
3171
  ScanBuffer::reset ();
 
3172
  _new_line_pos = -1;
3875
3173
  check ();
3876
3174
}
3877
3175
 
3878
 
 
3879
3176
inline void CScanBuffer::retry () {
3880
 
  nl_pos = -1;
3881
 
  next_buffer->retry ();
 
3177
  ScanBuffer::retry ();
 
3178
  _new_line_pos = -1;
3882
3179
}
3883
3180
 
3884
 
 
3885
3181
inline void CScanBuffer::accept (int len) {
3886
 
  on_new_line = (nl_pos >= 0 && nl_pos < len);
3887
 
  nl_pos = -1;
3888
 
  next_buffer->accept (len);
 
3182
  ScanBuffer::accept (len);
 
3183
  _new_line_pos = -1;
 
3184
}
 
3185
 
 
3186
inline bool CScanBuffer::new_line (int len) const {
 
3187
  return _new_line_pos != -1 && _new_line_pos <= len;
3889
3188
}
3890
3189
 
3891
3190
} // namespace Puma
3892
3191
 
3893
3192
#endif // __CScanBuffer_h__
3894
3193
 
3895
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3194
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3896
3195
// This file is part of PUMA.
3897
3196
// Copyright (C) 1999-2003  The PUMA developer team.
3898
3197
//                                                                
3915
3214
#define __c_comment_recognizer_h__
3916
3215
 
3917
3216
 
3918
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3217
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3919
3218
namespace Puma {
3920
3219
 
3921
3220
 
3922
3221
 
3923
 
#line 3924 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3222
#line 3223 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
3924
3223
} // closed Puma
 
3224
class CCExprResolve;
 
3225
class CExprResolve;
3925
3226
class WinIfExists;
3926
3227
class WinImportHandler;
3927
3228
class WinMacros;
3928
 
class CMatchSyntax;
3929
 
class ExtGnu;
 
3229
class WinAsm;
 
3230
class WinDeclSpecs;
 
3231
class WinMemberExplSpec;
 
3232
class WinTypeKeywords;
 
3233
class WinFriend;
3930
3234
class ExtAC;
3931
3235
class ExtACBuilderCoupling;
3932
3236
class ExtACSyntaxCoupling;
3933
3237
class ExtACTree;
3934
3238
class ExtACKeywords;
3935
 
class WinAsm;
3936
 
class WinDeclSpecs;
3937
 
class WinMemberExplSpec;
3938
 
class WinTypeKeywords;
 
3239
class ExtGnu;
3939
3240
class PragmaOnceUnitState;
3940
3241
class PragmaOnce;
3941
 
class CCExprResolve;
3942
 
class CExprResolve;
 
3242
class CMatchSyntax;
3943
3243
namespace Puma {
3944
3244
 
3945
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3245
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3946
3246
class CCommentRecognizer {
3947
 
#line 3948 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3247
#line 3248 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3248
  friend class ::CCExprResolve;
 
3249
  friend class ::CExprResolve;
3948
3250
  friend class ::WinIfExists;
3949
3251
  friend class ::WinImportHandler;
3950
3252
  friend class ::WinMacros;
3951
 
  friend class ::CMatchSyntax;
3952
 
  friend class ::ExtGnu;
 
3253
  friend class ::WinAsm;
 
3254
  friend class ::WinDeclSpecs;
 
3255
  friend class ::WinMemberExplSpec;
 
3256
  friend class ::WinTypeKeywords;
 
3257
  friend class ::WinFriend;
3953
3258
  friend class ::ExtAC;
3954
3259
  friend class ::ExtACBuilderCoupling;
3955
3260
  friend class ::ExtACSyntaxCoupling;
3956
3261
  friend class ::ExtACTree;
3957
3262
  friend class ::ExtACKeywords;
3958
 
  friend class ::WinAsm;
3959
 
  friend class ::WinDeclSpecs;
3960
 
  friend class ::WinMemberExplSpec;
3961
 
  friend class ::WinTypeKeywords;
 
3263
  friend class ::ExtGnu;
3962
3264
  friend class ::PragmaOnceUnitState;
3963
3265
  friend class ::PragmaOnce;
3964
 
  friend class ::CCExprResolve;
3965
 
  friend class ::CExprResolve;
 
3266
  friend class ::CMatchSyntax;
3966
3267
 
3967
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3268
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3968
3269
 
3969
3270
public:
3970
3271
  typedef enum { NO_COMMENT, SL_COMMENT, ML_COMMENT } Mode;
3987
3288
 
3988
3289
#endif /* __c_comment_recognizer_h__ */
3989
3290
 
3990
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3291
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
3991
3292
// This file is part of PUMA.
3992
3293
// Copyright (C) 1999-2003  The PUMA developer team.
3993
3294
//                                                                
4010
3311
#define __keyword_recognizer_h__
4011
3312
 
4012
3313
 
4013
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3314
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
4014
3315
namespace Puma {
4015
3316
 
4016
3317
 
4017
3318
 
4018
 
#line 4019 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3319
#line 3320 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4019
3320
} // closed Puma
 
3321
class CCExprResolve;
 
3322
class CExprResolve;
4020
3323
class WinIfExists;
4021
3324
class WinImportHandler;
4022
3325
class WinMacros;
4023
 
class CMatchSyntax;
4024
 
class ExtGnu;
 
3326
class WinAsm;
 
3327
class WinDeclSpecs;
 
3328
class WinMemberExplSpec;
 
3329
class WinTypeKeywords;
 
3330
class WinFriend;
4025
3331
class ExtAC;
4026
3332
class ExtACBuilderCoupling;
4027
3333
class ExtACSyntaxCoupling;
4028
3334
class ExtACTree;
4029
3335
class ExtACKeywords;
4030
 
class WinAsm;
4031
 
class WinDeclSpecs;
4032
 
class WinMemberExplSpec;
4033
 
class WinTypeKeywords;
 
3336
class ExtGnu;
4034
3337
class PragmaOnceUnitState;
4035
3338
class PragmaOnce;
4036
 
class CCExprResolve;
4037
 
class CExprResolve;
 
3339
class CMatchSyntax;
4038
3340
namespace Puma {
4039
3341
 
4040
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3342
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
4041
3343
class KeywordRecognizer {
4042
 
#line 4043 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3344
#line 3345 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3345
  friend class ::CCExprResolve;
 
3346
  friend class ::CExprResolve;
4043
3347
  friend class ::WinIfExists;
4044
3348
  friend class ::WinImportHandler;
4045
3349
  friend class ::WinMacros;
4046
 
  friend class ::CMatchSyntax;
4047
 
  friend class ::ExtGnu;
 
3350
  friend class ::WinAsm;
 
3351
  friend class ::WinDeclSpecs;
 
3352
  friend class ::WinMemberExplSpec;
 
3353
  friend class ::WinTypeKeywords;
 
3354
  friend class ::WinFriend;
4048
3355
  friend class ::ExtAC;
4049
3356
  friend class ::ExtACBuilderCoupling;
4050
3357
  friend class ::ExtACSyntaxCoupling;
4051
3358
  friend class ::ExtACTree;
4052
3359
  friend class ::ExtACKeywords;
4053
 
  friend class ::WinAsm;
4054
 
  friend class ::WinDeclSpecs;
4055
 
  friend class ::WinMemberExplSpec;
4056
 
  friend class ::WinTypeKeywords;
 
3360
  friend class ::ExtGnu;
4057
3361
  friend class ::PragmaOnceUnitState;
4058
3362
  friend class ::PragmaOnce;
4059
 
  friend class ::CCExprResolve;
4060
 
  friend class ::CExprResolve;
 
3363
  friend class ::CMatchSyntax;
4061
3364
 
4062
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3365
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
4063
3366
 
4064
3367
protected:
4065
3368
  virtual MappedOrangeRecognizer<CScanBuffer> &recognizer() = 0;
4074
3377
 
4075
3378
#endif /* __keyword_recognizer_h__ */
4076
3379
 
4077
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3380
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
4078
3381
namespace Puma {
4079
3382
 
4080
3383
 
4081
3384
 
4082
 
#line 4083 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3385
#line 3386 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4083
3386
} // closed Puma
 
3387
class CCExprResolve;
 
3388
class CExprResolve;
4084
3389
class WinIfExists;
4085
3390
class WinImportHandler;
4086
3391
class WinMacros;
4087
 
class CMatchSyntax;
4088
 
class ExtGnu;
 
3392
class WinAsm;
 
3393
class WinDeclSpecs;
 
3394
class WinMemberExplSpec;
 
3395
class WinTypeKeywords;
 
3396
class WinFriend;
4089
3397
class ExtAC;
4090
3398
class ExtACBuilderCoupling;
4091
3399
class ExtACSyntaxCoupling;
4092
3400
class ExtACTree;
4093
3401
class ExtACKeywords;
4094
 
class WinAsm;
4095
 
class WinDeclSpecs;
4096
 
class WinMemberExplSpec;
4097
 
class WinTypeKeywords;
 
3402
class ExtGnu;
4098
3403
class PragmaOnceUnitState;
4099
3404
class PragmaOnce;
4100
 
class CCExprResolve;
4101
 
class CExprResolve;
 
3405
class CMatchSyntax;
4102
3406
namespace Puma {
4103
3407
 
4104
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3408
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
4105
3409
class CRecognizer {
4106
 
#line 4107 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3410
#line 3411 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3411
  friend class ::CCExprResolve;
 
3412
  friend class ::CExprResolve;
4107
3413
  friend class ::WinIfExists;
4108
3414
  friend class ::WinImportHandler;
4109
3415
  friend class ::WinMacros;
4110
 
  friend class ::CMatchSyntax;
4111
 
  friend class ::ExtGnu;
 
3416
  friend class ::WinAsm;
 
3417
  friend class ::WinDeclSpecs;
 
3418
  friend class ::WinMemberExplSpec;
 
3419
  friend class ::WinTypeKeywords;
 
3420
  friend class ::WinFriend;
4112
3421
  friend class ::ExtAC;
4113
3422
  friend class ::ExtACBuilderCoupling;
4114
3423
  friend class ::ExtACSyntaxCoupling;
4115
3424
  friend class ::ExtACTree;
4116
3425
  friend class ::ExtACKeywords;
4117
 
  friend class ::WinAsm;
4118
 
  friend class ::WinDeclSpecs;
4119
 
  friend class ::WinMemberExplSpec;
4120
 
  friend class ::WinTypeKeywords;
 
3426
  friend class ::ExtGnu;
4121
3427
  friend class ::PragmaOnceUnitState;
4122
3428
  friend class ::PragmaOnce;
4123
 
  friend class ::CCExprResolve;
4124
 
  friend class ::CExprResolve;
4125
 
 
4126
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
4127
 
 
4128
 
  CScanBuffer scan_buffer;
 
3429
  friend class ::CMatchSyntax;
 
3430
 
 
3431
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3432
 
4129
3433
  CCommentRecognizer comment_recognizer;
4130
3434
  Array<KeywordRecognizer*> additional_keyword_recognizers;
4131
3435
 
4132
3436
public:
 
3437
  CScanBuffer scan_buffer; // TODO: temporarily made public!
 
3438
 
4133
3439
  typedef enum { NORMAL, IN_COMP_DIR, IN_PRE_DIR } Mode;
4134
 
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, STRING, CORE, 
 
3440
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, CORE, 
4135
3441
                 KEYWORD, ID, WILDCARD, UNKNOWN } Lang;
4136
3442
 
4137
 
  CRecognizer () : wildcards (false), aspectc (false), macro_ops (false),
 
3443
  CRecognizer () : directives(true), wildcards (false),
 
3444
    aspectc (false), macro_ops (false),
4138
3445
    std_c (true), std_cplusplus (true) {}
4139
 
  CRecognizer (ScanBuffer& buffer) : wildcards (false), aspectc (false),
4140
 
    macro_ops (false) { setup (buffer); }
 
3446
  void allow_directives (bool flag = true)    { directives = flag; }
4141
3447
  void allow_wildcards (bool flag = true)     { wildcards = flag; }
4142
3448
  void allow_aspectc (bool flag = true)       { aspectc   = flag; } 
4143
3449
  void allow_macro_ops (bool flag = true)     { macro_ops = flag; }
4144
3450
  void allow_std_c (bool flag = true)         { std_c = flag; }
4145
3451
  void allow_std_cplusplus (bool flag = true) { std_cplusplus = flag; }
4146
 
  void setup (ScanBuffer &buffer);
 
3452
  void setup ();
4147
3453
  int recognize (Lang &lang, int &expr, int &len);
4148
 
  Mode mode () { return scan_mode; }
4149
 
  bool new_line () const { return scan_buffer.new_line (); }
 
3454
  Mode mode () const { return scan_mode; }
 
3455
  void mode (Mode mode) { scan_mode = mode; }
4150
3456
  CScanBuffer& buffer () { return scan_buffer; }
4151
3457
  void addRecognizer(KeywordRecognizer &recognizer) 
4152
3458
   { additional_keyword_recognizers.append(&recognizer); }
4153
3459
 
4154
3460
private:
4155
 
  static MappedOrangeRecognizer<CScanBuffer> string_recognizer;   
4156
3461
  static MappedOrangeRecognizer<CScanBuffer> pre_dir_recognizer;
4157
3462
  static MappedOrangeRecognizer<CScanBuffer> pre_token_recognizer;
4158
3463
  static OrangeRecognizer<CScanBuffer> dir_recognizer;
4159
 
  static MappedOrangeRecognizer<CScanBuffer> whitespace_recognizer;
4160
3464
  static MappedOrangeRecognizer<CScanBuffer> wildcard_recognizer;
4161
3465
  static MappedOrangeRecognizer<CScanBuffer> core_recognizer;
4162
3466
  static MappedOrangeRecognizer<CScanBuffer> identifier_recognizer;
4163
3467
 
4164
3468
  Mode scan_mode;
4165
 
  bool check_directive;
 
3469
  bool directives;
4166
3470
  bool wildcards;
4167
3471
  bool aspectc;
4168
3472
  bool macro_ops;
4175
3479
 
4176
3480
#endif /* __c_recognizer_h__ */
4177
3481
 
4178
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3482
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4179
3483
// This file is part of PUMA.
4180
3484
// Copyright (C) 1999-2003  The PUMA developer team.
4181
3485
//                                                                
4201
3505
// form tokens, which used to fill a "Unit".
4202
3506
 
4203
3507
 
4204
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
3508
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
4205
3509
// This file is part of PUMA.
4206
3510
// Copyright (C) 1999-2003  The PUMA developer team.
4207
3511
//                                                                
4227
3531
 
4228
3532
 
4229
3533
 
4230
 
#line 4231 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3534
#line 3535 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4231
3535
} // closed Puma
 
3536
class CCExprResolve;
 
3537
class CExprResolve;
4232
3538
class WinIfExists;
4233
3539
class WinImportHandler;
4234
3540
class WinMacros;
4235
 
class CMatchSyntax;
4236
 
class ExtGnu;
 
3541
class WinAsm;
 
3542
class WinDeclSpecs;
 
3543
class WinMemberExplSpec;
 
3544
class WinTypeKeywords;
 
3545
class WinFriend;
4237
3546
class ExtAC;
4238
3547
class ExtACBuilderCoupling;
4239
3548
class ExtACSyntaxCoupling;
4240
3549
class ExtACTree;
4241
3550
class ExtACKeywords;
4242
 
class WinAsm;
4243
 
class WinDeclSpecs;
4244
 
class WinMemberExplSpec;
4245
 
class WinTypeKeywords;
 
3551
class ExtGnu;
4246
3552
class PragmaOnceUnitState;
4247
3553
class PragmaOnce;
4248
 
class CCExprResolve;
4249
 
class CExprResolve;
 
3554
class CMatchSyntax;
4250
3555
namespace Puma {
4251
3556
 
4252
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
3557
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
4253
3558
class Source {
4254
 
#line 4255 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3559
#line 3560 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3560
  friend class ::CCExprResolve;
 
3561
  friend class ::CExprResolve;
4255
3562
  friend class ::WinIfExists;
4256
3563
  friend class ::WinImportHandler;
4257
3564
  friend class ::WinMacros;
4258
 
  friend class ::CMatchSyntax;
4259
 
  friend class ::ExtGnu;
 
3565
  friend class ::WinAsm;
 
3566
  friend class ::WinDeclSpecs;
 
3567
  friend class ::WinMemberExplSpec;
 
3568
  friend class ::WinTypeKeywords;
 
3569
  friend class ::WinFriend;
4260
3570
  friend class ::ExtAC;
4261
3571
  friend class ::ExtACBuilderCoupling;
4262
3572
  friend class ::ExtACSyntaxCoupling;
4263
3573
  friend class ::ExtACTree;
4264
3574
  friend class ::ExtACKeywords;
4265
 
  friend class ::WinAsm;
4266
 
  friend class ::WinDeclSpecs;
4267
 
  friend class ::WinMemberExplSpec;
4268
 
  friend class ::WinTypeKeywords;
 
3575
  friend class ::ExtGnu;
4269
3576
  friend class ::PragmaOnceUnitState;
4270
3577
  friend class ::PragmaOnce;
4271
 
  friend class ::CCExprResolve;
4272
 
  friend class ::CExprResolve;
 
3578
  friend class ::CMatchSyntax;
4273
3579
 
4274
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
3580
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
4275
3581
 
4276
3582
public:
4277
3583
  Source () {}
4285
3591
 
4286
3592
#endif /* __source_h__ */
4287
3593
 
4288
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3594
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4289
3595
namespace Puma {
4290
3596
 
4291
3597
 
4292
3598
 
4293
 
#line 4294 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3599
#line 3600 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4294
3600
} // closed Puma
 
3601
class CCExprResolve;
 
3602
class CExprResolve;
4295
3603
class WinIfExists;
4296
3604
class WinImportHandler;
4297
3605
class WinMacros;
4298
 
class CMatchSyntax;
4299
 
class ExtGnu;
 
3606
class WinAsm;
 
3607
class WinDeclSpecs;
 
3608
class WinMemberExplSpec;
 
3609
class WinTypeKeywords;
 
3610
class WinFriend;
4300
3611
class ExtAC;
4301
3612
class ExtACBuilderCoupling;
4302
3613
class ExtACSyntaxCoupling;
4303
3614
class ExtACTree;
4304
3615
class ExtACKeywords;
4305
 
class WinAsm;
4306
 
class WinDeclSpecs;
4307
 
class WinMemberExplSpec;
4308
 
class WinTypeKeywords;
 
3616
class ExtGnu;
4309
3617
class PragmaOnceUnitState;
4310
3618
class PragmaOnce;
4311
 
class CCExprResolve;
4312
 
class CExprResolve;
 
3619
class CMatchSyntax;
4313
3620
namespace Puma {
4314
3621
 
4315
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3622
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4316
3623
class Tokenizer {
4317
 
#line 4318 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3624
#line 3625 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3625
  friend class ::CCExprResolve;
 
3626
  friend class ::CExprResolve;
4318
3627
  friend class ::WinIfExists;
4319
3628
  friend class ::WinImportHandler;
4320
3629
  friend class ::WinMacros;
4321
 
  friend class ::CMatchSyntax;
4322
 
  friend class ::ExtGnu;
 
3630
  friend class ::WinAsm;
 
3631
  friend class ::WinDeclSpecs;
 
3632
  friend class ::WinMemberExplSpec;
 
3633
  friend class ::WinTypeKeywords;
 
3634
  friend class ::WinFriend;
4323
3635
  friend class ::ExtAC;
4324
3636
  friend class ::ExtACBuilderCoupling;
4325
3637
  friend class ::ExtACSyntaxCoupling;
4326
3638
  friend class ::ExtACTree;
4327
3639
  friend class ::ExtACKeywords;
4328
 
  friend class ::WinAsm;
4329
 
  friend class ::WinDeclSpecs;
4330
 
  friend class ::WinMemberExplSpec;
4331
 
  friend class ::WinTypeKeywords;
 
3640
  friend class ::ExtGnu;
4332
3641
  friend class ::PragmaOnceUnitState;
4333
3642
  friend class ::PragmaOnce;
4334
 
  friend class ::CCExprResolve;
4335
 
  friend class ::CExprResolve;
 
3643
  friend class ::CMatchSyntax;
4336
3644
 
4337
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3645
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4338
3646
 
4339
3647
public:
4340
3648
  virtual ~Tokenizer () {}
4346
3654
 
4347
3655
#endif /* __Tokenizer_h__ */
4348
3656
 
4349
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3657
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4350
3658
// This file is part of PUMA.
4351
3659
// Copyright (C) 1999-2003  The PUMA developer team.
4352
3660
//                                                                
4381
3689
// messages or collect them for a later processing.
4382
3690
 
4383
3691
 
4384
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3692
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
4385
3693
// This file is part of PUMA.
4386
3694
// Copyright (C) 1999-2003  The PUMA developer team.
4387
3695
//                                                                
4409
3717
 
4410
3718
 
4411
3719
 
4412
 
#line 4413 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3720
#line 3721 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4413
3721
} // closed Puma
 
3722
class CCExprResolve;
 
3723
class CExprResolve;
4414
3724
class WinIfExists;
4415
3725
class WinImportHandler;
4416
3726
class WinMacros;
4417
 
class CMatchSyntax;
4418
 
class ExtGnu;
 
3727
class WinAsm;
 
3728
class WinDeclSpecs;
 
3729
class WinMemberExplSpec;
 
3730
class WinTypeKeywords;
 
3731
class WinFriend;
4419
3732
class ExtAC;
4420
3733
class ExtACBuilderCoupling;
4421
3734
class ExtACSyntaxCoupling;
4422
3735
class ExtACTree;
4423
3736
class ExtACKeywords;
4424
 
class WinAsm;
4425
 
class WinDeclSpecs;
4426
 
class WinMemberExplSpec;
4427
 
class WinTypeKeywords;
 
3737
class ExtGnu;
4428
3738
class PragmaOnceUnitState;
4429
3739
class PragmaOnce;
4430
 
class CCExprResolve;
4431
 
class CExprResolve;
 
3740
class CMatchSyntax;
4432
3741
namespace Puma {
4433
3742
 
4434
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3743
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
4435
3744
class ErrorSeverity {
4436
 
#line 4437 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3745
#line 3746 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3746
  friend class ::CCExprResolve;
 
3747
  friend class ::CExprResolve;
4437
3748
  friend class ::WinIfExists;
4438
3749
  friend class ::WinImportHandler;
4439
3750
  friend class ::WinMacros;
4440
 
  friend class ::CMatchSyntax;
4441
 
  friend class ::ExtGnu;
 
3751
  friend class ::WinAsm;
 
3752
  friend class ::WinDeclSpecs;
 
3753
  friend class ::WinMemberExplSpec;
 
3754
  friend class ::WinTypeKeywords;
 
3755
  friend class ::WinFriend;
4442
3756
  friend class ::ExtAC;
4443
3757
  friend class ::ExtACBuilderCoupling;
4444
3758
  friend class ::ExtACSyntaxCoupling;
4445
3759
  friend class ::ExtACTree;
4446
3760
  friend class ::ExtACKeywords;
4447
 
  friend class ::WinAsm;
4448
 
  friend class ::WinDeclSpecs;
4449
 
  friend class ::WinMemberExplSpec;
4450
 
  friend class ::WinTypeKeywords;
 
3761
  friend class ::ExtGnu;
4451
3762
  friend class ::PragmaOnceUnitState;
4452
3763
  friend class ::PragmaOnce;
4453
 
  friend class ::CCExprResolve;
4454
 
  friend class ::CExprResolve;
 
3764
  friend class ::CMatchSyntax;
4455
3765
 
4456
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3766
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
4457
3767
 
4458
3768
  unsigned short _severity;
4459
3769
  const char *_text;
4493
3803
 
4494
3804
#endif /* __error_severity_h__ */
4495
3805
 
4496
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3806
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4497
3807
namespace Puma {
4498
3808
 
4499
3809
 
4500
3810
 
4501
 
#line 4502 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3811
#line 3812 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4502
3812
} // closed Puma
 
3813
class CCExprResolve;
 
3814
class CExprResolve;
4503
3815
class WinIfExists;
4504
3816
class WinImportHandler;
4505
3817
class WinMacros;
4506
 
class CMatchSyntax;
4507
 
class ExtGnu;
 
3818
class WinAsm;
 
3819
class WinDeclSpecs;
 
3820
class WinMemberExplSpec;
 
3821
class WinTypeKeywords;
 
3822
class WinFriend;
4508
3823
class ExtAC;
4509
3824
class ExtACBuilderCoupling;
4510
3825
class ExtACSyntaxCoupling;
4511
3826
class ExtACTree;
4512
3827
class ExtACKeywords;
4513
 
class WinAsm;
4514
 
class WinDeclSpecs;
4515
 
class WinMemberExplSpec;
4516
 
class WinTypeKeywords;
 
3828
class ExtGnu;
4517
3829
class PragmaOnceUnitState;
4518
3830
class PragmaOnce;
4519
 
class CCExprResolve;
4520
 
class CExprResolve;
 
3831
class CMatchSyntax;
4521
3832
namespace Puma {
4522
3833
 
4523
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3834
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4524
3835
class ErrorSink {
4525
 
#line 4526 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3836
#line 3837 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3837
  friend class ::CCExprResolve;
 
3838
  friend class ::CExprResolve;
4526
3839
  friend class ::WinIfExists;
4527
3840
  friend class ::WinImportHandler;
4528
3841
  friend class ::WinMacros;
4529
 
  friend class ::CMatchSyntax;
4530
 
  friend class ::ExtGnu;
 
3842
  friend class ::WinAsm;
 
3843
  friend class ::WinDeclSpecs;
 
3844
  friend class ::WinMemberExplSpec;
 
3845
  friend class ::WinTypeKeywords;
 
3846
  friend class ::WinFriend;
4531
3847
  friend class ::ExtAC;
4532
3848
  friend class ::ExtACBuilderCoupling;
4533
3849
  friend class ::ExtACSyntaxCoupling;
4534
3850
  friend class ::ExtACTree;
4535
3851
  friend class ::ExtACKeywords;
4536
 
  friend class ::WinAsm;
4537
 
  friend class ::WinDeclSpecs;
4538
 
  friend class ::WinMemberExplSpec;
4539
 
  friend class ::WinTypeKeywords;
 
3852
  friend class ::ExtGnu;
4540
3853
  friend class ::PragmaOnceUnitState;
4541
3854
  friend class ::PragmaOnce;
4542
 
  friend class ::CCExprResolve;
4543
 
  friend class ::CExprResolve;
 
3855
  friend class ::CMatchSyntax;
4544
3856
 
4545
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3857
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4546
3858
 
4547
3859
public:
4548
3860
  virtual ~ErrorSink () {}
4567
3879
 
4568
3880
#endif /* __error_sink_h__ */
4569
3881
 
4570
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
3882
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
4571
3883
// This file is part of PUMA.
4572
3884
// Copyright (C) 1999-2003  The PUMA developer team.
4573
3885
//                                                                
4593
3905
// information from file or command line.
4594
3906
 
4595
3907
 
4596
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
3908
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
4597
3909
// This file is part of PUMA.
4598
3910
// Copyright (C) 1999-2003  The PUMA developer team.
4599
3911
//                                                                
4619
3931
 
4620
3932
 
4621
3933
 
4622
 
#line 4623 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3934
#line 3935 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4623
3935
} // closed Puma
 
3936
class CCExprResolve;
 
3937
class CExprResolve;
4624
3938
class WinIfExists;
4625
3939
class WinImportHandler;
4626
3940
class WinMacros;
4627
 
class CMatchSyntax;
4628
 
class ExtGnu;
 
3941
class WinAsm;
 
3942
class WinDeclSpecs;
 
3943
class WinMemberExplSpec;
 
3944
class WinTypeKeywords;
 
3945
class WinFriend;
4629
3946
class ExtAC;
4630
3947
class ExtACBuilderCoupling;
4631
3948
class ExtACSyntaxCoupling;
4632
3949
class ExtACTree;
4633
3950
class ExtACKeywords;
4634
 
class WinAsm;
4635
 
class WinDeclSpecs;
4636
 
class WinMemberExplSpec;
4637
 
class WinTypeKeywords;
 
3951
class ExtGnu;
4638
3952
class PragmaOnceUnitState;
4639
3953
class PragmaOnce;
4640
 
class CCExprResolve;
4641
 
class CExprResolve;
 
3954
class CMatchSyntax;
4642
3955
namespace Puma {
4643
3956
 
4644
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
3957
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
4645
3958
class Flags {
4646
 
#line 4647 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
3959
#line 3960 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
3960
  friend class ::CCExprResolve;
 
3961
  friend class ::CExprResolve;
4647
3962
  friend class ::WinIfExists;
4648
3963
  friend class ::WinImportHandler;
4649
3964
  friend class ::WinMacros;
4650
 
  friend class ::CMatchSyntax;
4651
 
  friend class ::ExtGnu;
 
3965
  friend class ::WinAsm;
 
3966
  friend class ::WinDeclSpecs;
 
3967
  friend class ::WinMemberExplSpec;
 
3968
  friend class ::WinTypeKeywords;
 
3969
  friend class ::WinFriend;
4652
3970
  friend class ::ExtAC;
4653
3971
  friend class ::ExtACBuilderCoupling;
4654
3972
  friend class ::ExtACSyntaxCoupling;
4655
3973
  friend class ::ExtACTree;
4656
3974
  friend class ::ExtACKeywords;
4657
 
  friend class ::WinAsm;
4658
 
  friend class ::WinDeclSpecs;
4659
 
  friend class ::WinMemberExplSpec;
4660
 
  friend class ::WinTypeKeywords;
 
3975
  friend class ::ExtGnu;
4661
3976
  friend class ::PragmaOnceUnitState;
4662
3977
  friend class ::PragmaOnce;
4663
 
  friend class ::CCExprResolve;
4664
 
  friend class ::CExprResolve;
 
3978
  friend class ::CMatchSyntax;
4665
3979
 
4666
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
3980
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
4667
3981
 
4668
3982
public:
4669
3983
  enum Flag {
4727
4041
 
4728
4042
#endif /* __Flags_h__ */
4729
4043
 
4730
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4044
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4731
4045
// This file is part of PUMA.
4732
4046
// Copyright (C) 1999-2003  The PUMA developer team.
4733
4047
//                                                                
4750
4064
#define __ConfOption_h__
4751
4065
 
4752
4066
 
4753
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4067
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4754
4068
#include <stdlib.h>
4755
4069
 
4756
4070
namespace Puma {
4757
4071
 
4758
4072
 
4759
4073
 
4760
 
#line 4761 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4074
#line 4075 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4761
4075
} // closed Puma
 
4076
class CCExprResolve;
 
4077
class CExprResolve;
4762
4078
class WinIfExists;
4763
4079
class WinImportHandler;
4764
4080
class WinMacros;
4765
 
class CMatchSyntax;
4766
 
class ExtGnu;
 
4081
class WinAsm;
 
4082
class WinDeclSpecs;
 
4083
class WinMemberExplSpec;
 
4084
class WinTypeKeywords;
 
4085
class WinFriend;
4767
4086
class ExtAC;
4768
4087
class ExtACBuilderCoupling;
4769
4088
class ExtACSyntaxCoupling;
4770
4089
class ExtACTree;
4771
4090
class ExtACKeywords;
4772
 
class WinAsm;
4773
 
class WinDeclSpecs;
4774
 
class WinMemberExplSpec;
4775
 
class WinTypeKeywords;
 
4091
class ExtGnu;
4776
4092
class PragmaOnceUnitState;
4777
4093
class PragmaOnce;
4778
 
class CCExprResolve;
4779
 
class CExprResolve;
 
4094
class CMatchSyntax;
4780
4095
namespace Puma {
4781
4096
 
4782
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4097
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4783
4098
class ConfOption {
4784
 
#line 4785 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4099
#line 4100 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4100
  friend class ::CCExprResolve;
 
4101
  friend class ::CExprResolve;
4785
4102
  friend class ::WinIfExists;
4786
4103
  friend class ::WinImportHandler;
4787
4104
  friend class ::WinMacros;
4788
 
  friend class ::CMatchSyntax;
4789
 
  friend class ::ExtGnu;
 
4105
  friend class ::WinAsm;
 
4106
  friend class ::WinDeclSpecs;
 
4107
  friend class ::WinMemberExplSpec;
 
4108
  friend class ::WinTypeKeywords;
 
4109
  friend class ::WinFriend;
4790
4110
  friend class ::ExtAC;
4791
4111
  friend class ::ExtACBuilderCoupling;
4792
4112
  friend class ::ExtACSyntaxCoupling;
4793
4113
  friend class ::ExtACTree;
4794
4114
  friend class ::ExtACKeywords;
4795
 
  friend class ::WinAsm;
4796
 
  friend class ::WinDeclSpecs;
4797
 
  friend class ::WinMemberExplSpec;
4798
 
  friend class ::WinTypeKeywords;
 
4115
  friend class ::ExtGnu;
4799
4116
  friend class ::PragmaOnceUnitState;
4800
4117
  friend class ::PragmaOnce;
4801
 
  friend class ::CCExprResolve;
4802
 
  friend class ::CExprResolve;
 
4118
  friend class ::CMatchSyntax;
4803
4119
 
4804
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4120
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4805
4121
 
4806
4122
  const char *_name;
4807
4123
  Array<const char *> _args;
4847
4163
 
4848
4164
#endif /* __ConfOption_h__ */
4849
4165
 
4850
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4166
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4851
4167
// This file is part of PUMA.
4852
4168
// Copyright (C) 1999-2003  The PUMA developer team.
4853
4169
//                                                                
4875
4191
 
4876
4192
#include <sstream>
4877
4193
 
4878
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4194
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4879
4195
using namespace std;
4880
4196
 
4881
4197
namespace Puma {
4882
4198
 
4883
4199
 
4884
4200
 
4885
 
#line 4886 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4201
#line 4202 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4886
4202
} // closed Puma
 
4203
class CCExprResolve;
 
4204
class CExprResolve;
4887
4205
class WinIfExists;
4888
4206
class WinImportHandler;
4889
4207
class WinMacros;
4890
 
class CMatchSyntax;
4891
 
class ExtGnu;
 
4208
class WinAsm;
 
4209
class WinDeclSpecs;
 
4210
class WinMemberExplSpec;
 
4211
class WinTypeKeywords;
 
4212
class WinFriend;
4892
4213
class ExtAC;
4893
4214
class ExtACBuilderCoupling;
4894
4215
class ExtACSyntaxCoupling;
4895
4216
class ExtACTree;
4896
4217
class ExtACKeywords;
4897
 
class WinAsm;
4898
 
class WinDeclSpecs;
4899
 
class WinMemberExplSpec;
4900
 
class WinTypeKeywords;
 
4218
class ExtGnu;
4901
4219
class PragmaOnceUnitState;
4902
4220
class PragmaOnce;
4903
 
class CCExprResolve;
4904
 
class CExprResolve;
 
4221
class CMatchSyntax;
4905
4222
namespace Puma {
4906
4223
 
4907
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4224
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4908
4225
class ErrorStream : public ErrorSink {
4909
 
#line 4910 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4226
#line 4227 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4227
  friend class ::CCExprResolve;
 
4228
  friend class ::CExprResolve;
4910
4229
  friend class ::WinIfExists;
4911
4230
  friend class ::WinImportHandler;
4912
4231
  friend class ::WinMacros;
4913
 
  friend class ::CMatchSyntax;
4914
 
  friend class ::ExtGnu;
 
4232
  friend class ::WinAsm;
 
4233
  friend class ::WinDeclSpecs;
 
4234
  friend class ::WinMemberExplSpec;
 
4235
  friend class ::WinTypeKeywords;
 
4236
  friend class ::WinFriend;
4915
4237
  friend class ::ExtAC;
4916
4238
  friend class ::ExtACBuilderCoupling;
4917
4239
  friend class ::ExtACSyntaxCoupling;
4918
4240
  friend class ::ExtACTree;
4919
4241
  friend class ::ExtACKeywords;
4920
 
  friend class ::WinAsm;
4921
 
  friend class ::WinDeclSpecs;
4922
 
  friend class ::WinMemberExplSpec;
4923
 
  friend class ::WinTypeKeywords;
 
4242
  friend class ::ExtGnu;
4924
4243
  friend class ::PragmaOnceUnitState;
4925
4244
  friend class ::PragmaOnce;
4926
 
  friend class ::CCExprResolve;
4927
 
  friend class ::CExprResolve;
 
4245
  friend class ::CMatchSyntax;
4928
4246
 
4929
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4247
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4930
4248
 
4931
4249
  ostream *_ostream;
4932
4250
  ErrorSeverity _max_severity;
4969
4287
 
4970
4288
#endif /* __error_stream_h__ */
4971
4289
 
4972
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4290
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4973
4291
// This file is part of PUMA.
4974
4292
// Copyright (C) 1999-2003  The PUMA developer team.
4975
4293
//                                                                
4992
4310
#define __OptsParser_h__
4993
4311
 
4994
4312
 
4995
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4313
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4996
4314
// This file is part of PUMA.
4997
4315
// Copyright (C) 1999-2003  The PUMA developer team.
4998
4316
//                                                                
5015
4333
#define __SimpleParser_h__
5016
4334
 
5017
4335
 
5018
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4336
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
5019
4337
#include <vector>
5020
4338
using namespace std;
5021
4339
 
5022
4340
namespace Puma {
5023
4341
 
5024
4342
 
 
4343
/** 
 
4344
 * Simple string parser. 
 
4345
 * \class SimpleParser SimpleParser.h Puma/common/SimpleParser.h
 
4346
 */
5025
4347
 
5026
 
#line 5027 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4348
#line 4349 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5027
4349
} // closed Puma
 
4350
class CCExprResolve;
 
4351
class CExprResolve;
5028
4352
class WinIfExists;
5029
4353
class WinImportHandler;
5030
4354
class WinMacros;
5031
 
class CMatchSyntax;
5032
 
class ExtGnu;
 
4355
class WinAsm;
 
4356
class WinDeclSpecs;
 
4357
class WinMemberExplSpec;
 
4358
class WinTypeKeywords;
 
4359
class WinFriend;
5033
4360
class ExtAC;
5034
4361
class ExtACBuilderCoupling;
5035
4362
class ExtACSyntaxCoupling;
5036
4363
class ExtACTree;
5037
4364
class ExtACKeywords;
5038
 
class WinAsm;
5039
 
class WinDeclSpecs;
5040
 
class WinMemberExplSpec;
5041
 
class WinTypeKeywords;
 
4365
class ExtGnu;
5042
4366
class PragmaOnceUnitState;
5043
4367
class PragmaOnce;
5044
 
class CCExprResolve;
5045
 
class CExprResolve;
 
4368
class CMatchSyntax;
5046
4369
namespace Puma {
5047
4370
 
5048
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4371
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
5049
4372
class SimpleParser {
5050
 
#line 5051 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4373
#line 4374 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4374
  friend class ::CCExprResolve;
 
4375
  friend class ::CExprResolve;
5051
4376
  friend class ::WinIfExists;
5052
4377
  friend class ::WinImportHandler;
5053
4378
  friend class ::WinMacros;
5054
 
  friend class ::CMatchSyntax;
5055
 
  friend class ::ExtGnu;
 
4379
  friend class ::WinAsm;
 
4380
  friend class ::WinDeclSpecs;
 
4381
  friend class ::WinMemberExplSpec;
 
4382
  friend class ::WinTypeKeywords;
 
4383
  friend class ::WinFriend;
5056
4384
  friend class ::ExtAC;
5057
4385
  friend class ::ExtACBuilderCoupling;
5058
4386
  friend class ::ExtACSyntaxCoupling;
5059
4387
  friend class ::ExtACTree;
5060
4388
  friend class ::ExtACKeywords;
5061
 
  friend class ::WinAsm;
5062
 
  friend class ::WinDeclSpecs;
5063
 
  friend class ::WinMemberExplSpec;
5064
 
  friend class ::WinTypeKeywords;
 
4389
  friend class ::ExtGnu;
5065
4390
  friend class ::PragmaOnceUnitState;
5066
4391
  friend class ::PragmaOnce;
5067
 
  friend class ::CCExprResolve;
5068
 
  friend class ::CExprResolve;
 
4392
  friend class ::CMatchSyntax;
5069
4393
 
5070
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4394
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
5071
4395
 
5072
4396
public:
5073
 
  SimpleParser() {}
5074
 
  ~SimpleParser() {}
5075
 
   
5076
 
  static int tokenize (const string &, vector<string> &, 
5077
 
                       const string &delimiters = " ");
5078
 
  static string strip (const string &);
 
4397
  /**
 
4398
   * Remove enclosing double-quotes from a string.
 
4399
   * \param str The string to strip.
 
4400
   * \return String without the enclosing double-quotes.
 
4401
   */
 
4402
  static string strip (const string& str);
 
4403
  /**
 
4404
   * Splits a given string into tokens recognized by the given delimiters.
 
4405
   * \param str The string to split.
 
4406
   * \param tokens A vector for the tokens.
 
4407
   * \param delimiters A string with the delimiters. Default is a space or tab.
 
4408
   * \return Number of recognized tokens.
 
4409
   */
 
4410
  static int tokenize (const string& str, vector<string>& tokens, const string& delimiters = " ");
 
4411
 
 
4412
private:
 
4413
  /**
 
4414
   * Get the position of the next token.
 
4415
   * \param line The string to tokenize.
 
4416
   * \param delimiters A string with the token delimiters.
 
4417
   * \param pos The current position in the string.
 
4418
   * \param lastPos The last position in the string.
 
4419
   * \return The position of the next token.
 
4420
   */
 
4421
  static string::size_type next (const string& line, const string& delimiters, string::size_type pos, string::size_type& lastPos);
 
4422
  /**
 
4423
   * Get the begin of the next token.
 
4424
   * \param line The string to tokenize.
 
4425
   * \param delimiters A string with the token delimiters.
 
4426
   * \param pos The current position in the string.
 
4427
   * \return The begin of the next token.
 
4428
   */
 
4429
  static string::size_type findBeginOfNextToken (const string& line, const string& delimiters, string::size_type pos);
 
4430
  /**
 
4431
   * Get the end of the next token.
 
4432
   * \param line The string to tokenize.
 
4433
   * \param delimiters A string with the token delimiters.
 
4434
   * \param lastPos The last position in the string, i.e. the begin of the next token.
 
4435
   * \return The end of the next token.
 
4436
   */
 
4437
  static string::size_type findEndOfNextToken (const string& line, const string& delimiters, string::size_type lastPos);
5079
4438
};
5080
4439
 
5081
4440
 
5083
4442
 
5084
4443
#endif /* __SimpleParser_h__ */
5085
4444
 
5086
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4445
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5087
4446
using namespace std;
5088
4447
 
5089
4448
namespace Puma {
5090
4449
 
5091
4450
 
 
4451
/** \brief The %Options %Parser searches command line parameters for options and
 
4452
 *  handles their option arguments, if applicable.
 
4453
 */
5092
4454
 
5093
 
#line 5094 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4455
#line 4456 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5094
4456
} // closed Puma
 
4457
class CCExprResolve;
 
4458
class CExprResolve;
5095
4459
class WinIfExists;
5096
4460
class WinImportHandler;
5097
4461
class WinMacros;
5098
 
class CMatchSyntax;
5099
 
class ExtGnu;
 
4462
class WinAsm;
 
4463
class WinDeclSpecs;
 
4464
class WinMemberExplSpec;
 
4465
class WinTypeKeywords;
 
4466
class WinFriend;
5100
4467
class ExtAC;
5101
4468
class ExtACBuilderCoupling;
5102
4469
class ExtACSyntaxCoupling;
5103
4470
class ExtACTree;
5104
4471
class ExtACKeywords;
5105
 
class WinAsm;
5106
 
class WinDeclSpecs;
5107
 
class WinMemberExplSpec;
5108
 
class WinTypeKeywords;
 
4472
class ExtGnu;
5109
4473
class PragmaOnceUnitState;
5110
4474
class PragmaOnce;
5111
 
class CCExprResolve;
5112
 
class CExprResolve;
 
4475
class CMatchSyntax;
5113
4476
namespace Puma {
5114
4477
 
5115
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4478
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5116
4479
class OptsParser : public SimpleParser {
5117
 
#line 5118 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4480
#line 4481 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4481
  friend class ::CCExprResolve;
 
4482
  friend class ::CExprResolve;
5118
4483
  friend class ::WinIfExists;
5119
4484
  friend class ::WinImportHandler;
5120
4485
  friend class ::WinMacros;
5121
 
  friend class ::CMatchSyntax;
5122
 
  friend class ::ExtGnu;
 
4486
  friend class ::WinAsm;
 
4487
  friend class ::WinDeclSpecs;
 
4488
  friend class ::WinMemberExplSpec;
 
4489
  friend class ::WinTypeKeywords;
 
4490
  friend class ::WinFriend;
5123
4491
  friend class ::ExtAC;
5124
4492
  friend class ::ExtACBuilderCoupling;
5125
4493
  friend class ::ExtACSyntaxCoupling;
5126
4494
  friend class ::ExtACTree;
5127
4495
  friend class ::ExtACKeywords;
5128
 
  friend class ::WinAsm;
5129
 
  friend class ::WinDeclSpecs;
5130
 
  friend class ::WinMemberExplSpec;
5131
 
  friend class ::WinTypeKeywords;
 
4496
  friend class ::ExtGnu;
5132
4497
  friend class ::PragmaOnceUnitState;
5133
4498
  friend class ::PragmaOnce;
5134
 
  friend class ::CCExprResolve;
5135
 
  friend class ::CExprResolve;
5136
 
 
5137
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5138
 
 
 
4499
  friend class ::CMatchSyntax;
 
4500
 
 
4501
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4502
 
 
4503
  
 
4504
  
 
4505
  /** \brief Vector holding the commandline parameters. 
 
4506
   *  
 
4507
   *  This vector is filled in the constructor
 
4508
   */
5139
4509
  vector<string> m_argv;
 
4510
 
 
4511
  /** \brief Position of current parameter analyzed by the 
 
4512
   *  options parser.
 
4513
   */
5140
4514
  unsigned int m_curarg;
 
4515
  
 
4516
  /** \brief The increment added to m_curarg used to get to the next 
 
4517
   *  entry of m_argv which shall be analysed.
 
4518
   */
5141
4519
  unsigned int m_tonext;
 
4520
  
 
4521
  /** \brief %Option number of currently processed element of m_argv
 
4522
   */
5142
4523
  int m_number;
 
4524
  
 
4525
  /** \brief Name of current option
 
4526
   */
 
4527
  string m_opt;
5143
4528
 
 
4529
  /** \brief Value of current option argument
 
4530
   */
5144
4531
  string m_arg;
5145
 
  string m_opt;
 
4532
  
5146
4533
   
5147
4534
public:
5148
4535
  
5149
 
  enum {NOARG =-4, ERR = -3, NOOPTION = -2, UNKNOWN = -1, FINISH = 0 };
5150
 
  
5151
 
  enum ArgType { AT_NONE = 0, AT_MANDATORY = 1, AT_OPTIONAL = 2 };
5152
 
  
 
4536
  /** \enum
 
4537
   *  Return codes for OptsParser::getOption() and OptsParser::getArgument()
 
4538
   */
 
4539
  enum {
 
4540
     NOARG =-4, /**< %Option has no argument */
 
4541
     ERR = -3, /**< Error when parsing option */
 
4542
     NOOPTION = -2, /**< Command line parameter is not an option */
 
4543
     UNKNOWN = -1, /**< Parameter is an unknown option */
 
4544
     FINISH = 0 /**< All options are handled */
 
4545
  };
 
4546
  
 
4547
  /** \enum
 
4548
   *  Type of argument associated to an option  
 
4549
   */
 
4550
  enum ArgType { 
 
4551
     AT_NONE = 0, /**< %Option receives no argument */
 
4552
     AT_MANDATORY = 1, /**< %Option requires an argument */
 
4553
     AT_OPTIONAL = 2 /**< %Option has optionally an argument */
 
4554
  };
 
4555
  
 
4556
  /** \struct
 
4557
   *  Type for specifying an array of options recognized by the %Option %Parser.
 
4558
   *  An array of this type has to be passed to the constructor OptsParser::OptsParser()
 
4559
   */
5153
4560
  struct Option {
5154
 
#line 5155 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4561
#line 4562 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4562
  friend class ::CCExprResolve;
 
4563
  friend class ::CExprResolve;
5155
4564
  friend class ::WinIfExists;
5156
4565
  friend class ::WinImportHandler;
5157
4566
  friend class ::WinMacros;
5158
 
  friend class ::CMatchSyntax;
5159
 
  friend class ::ExtGnu;
 
4567
  friend class ::WinAsm;
 
4568
  friend class ::WinDeclSpecs;
 
4569
  friend class ::WinMemberExplSpec;
 
4570
  friend class ::WinTypeKeywords;
 
4571
  friend class ::WinFriend;
5160
4572
  friend class ::ExtAC;
5161
4573
  friend class ::ExtACBuilderCoupling;
5162
4574
  friend class ::ExtACSyntaxCoupling;
5163
4575
  friend class ::ExtACTree;
5164
4576
  friend class ::ExtACKeywords;
5165
 
  friend class ::WinAsm;
5166
 
  friend class ::WinDeclSpecs;
5167
 
  friend class ::WinMemberExplSpec;
5168
 
  friend class ::WinTypeKeywords;
 
4577
  friend class ::ExtGnu;
5169
4578
  friend class ::PragmaOnceUnitState;
5170
4579
  friend class ::PragmaOnce;
5171
 
  friend class ::CCExprResolve;
5172
 
  friend class ::CExprResolve;
5173
 
 
5174
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5175
 
 
5176
 
    int number;
5177
 
    char key; 
5178
 
    const char *name;
5179
 
    const char *desc;
5180
 
    ArgType args;
 
4580
  friend class ::CMatchSyntax;
 
4581
 
 
4582
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4583
 
 
4584
    int number; /**< Number associated with this option */
 
4585
    const char *shortName; /**< Short name of this option. Should ideally not contain more than one character */
 
4586
    const char *longName; /**< Long namen of this option */
 
4587
    const char *desc; /**< Description of this option **/ 
 
4588
    ArgType argType; /**< Type of argument for this option */
5181
4589
  };
5182
4590
 
5183
4591
private:
 
4592
  /** Pointer to array of available options. This value is set to the value of the 
 
4593
   * parameter passed to the constructor OptsParser::OptsParser()
 
4594
   */
5184
4595
  const Option *m_opts;
5185
4596
   
5186
4597
public:
5187
 
  OptsParser (int, char **, const Option *);
5188
 
  OptsParser (const string &, const Option *);
 
4598
  /** \brief Constructor of OptsParser
 
4599
   *  
 
4600
   *  \param argc Number of parameters to be analyzed
 
4601
   *  \param argv Parameters to be analyzed
 
4602
   *  \param opts Pointer to array of options which shall be
 
4603
   *              recognized by the options parser
 
4604
   *
 
4605
   */
 
4606
  OptsParser (int argc, char **argv, const Option *opts);
 
4607
  
 
4608
  /** \brief Constructor of OptsParser
 
4609
   *  
 
4610
   *  \param line Reference to string with parameters to analyse
 
4611
   *              The paramaters are extracted from the string by splitting it up 
 
4612
   *              into tokens at:
 
4613
   *               - space character
 
4614
   *               - tabs 
 
4615
   *               - newline
 
4616
   *               - carriage return
 
4617
   *  \param opts Pointer to array of options which shall be 
 
4618
   *              recognized by the options parser
 
4619
   */
 
4620
  OptsParser (const string &line, const Option *);
5189
4621
 
5190
 
  int getCurrentArgNum () const;
5191
 
  int getNextArgNum () const;
 
4622
  
 
4623
  /** Get next parameter without modification. 
 
4624
   * No option parsing is done
 
4625
   *
 
4626
   * \return OptsParser::NOOPTION or OptsParser::FINISH 
 
4627
   */
 
4628
  int getRawOption ();
 
4629
  
 
4630
  /** \brief Get next option
 
4631
   *
 
4632
   * This function processes the next parameter passed to the constructor 
 
4633
   * OptsParser::OptsParser(). 
 
4634
   * That is, search for options and eventually process
 
4635
   * option and option arguement. 
 
4636
   *
 
4637
   * \return Number of option recognized by the options parser or
 
4638
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
4639
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
4640
   *
 
4641
   */
5192
4642
  int getOption ();
 
4643
  
 
4644
  /** \brief Get result of last processed parameter
 
4645
   *
 
4646
   *  The number returned by this function is identical to the number 
 
4647
   *  returned by the last call of OptsParser::getOption
 
4648
   *   
 
4649
   * \return Number of option recognized by the options parser or
 
4650
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
4651
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
4652
   *
 
4653
   */
5193
4654
  int getResult () const;
5194
4655
  
 
4656
  /** \brief Get option argument of last processed parameter
 
4657
   *
 
4658
   *  This function returns the argument of the option processed during 
 
4659
   *  OptsParser::getOption. If the option does not provide any argument
 
4660
   *  the string will be empty.
 
4661
   *
 
4662
   *  If OptsParser::getOption or respectively OptsParser::getResult returns with 
 
4663
   *  OptsParser::NOOPTION this function (OptsParser::getArgument) returns the last processed parameter, 
 
4664
   *  which is no option, of course.
 
4665
   *
 
4666
   *  \return Argument of last processed parameter
 
4667
   */
5195
4668
  const string &getArgument () const;
 
4669
  
 
4670
  /** \brief Get option name of last processed parameter
 
4671
   *
 
4672
   *  If the last processed parameter did not contain an option the string 
 
4673
   *  returned by this function is empty.
 
4674
   *
 
4675
   *  \return Name of last processed parameter
 
4676
   *
 
4677
   */
5196
4678
  const string &getOptionName () const;
 
4679
  
 
4680
  /** \brief Get position of current argument
 
4681
   *
 
4682
   *  \return Position of currently processed parameter previously passed to OptsParser::OptsParser()
 
4683
   *
 
4684
   */
 
4685
  int getCurrentArgNum () const;
 
4686
  
 
4687
  /** \brief Get position of next argument
 
4688
   *
 
4689
   *  \return Position of next parameter which will be processed by the %Options %Parser
 
4690
   *
 
4691
   */
 
4692
  int getNextArgNum () const;
5197
4693
 
5198
 
  bool revokeArgument();
5199
 
   
5200
4694
private:
5201
 
  int  getShortOption (const string &);
5202
 
  int  getLongOption  (const string &);
5203
 
  bool processOption  (const string &, unsigned int,ArgType argtype);
 
4695
  /** Search for an option in m_argv at position m_curarg
 
4696
   *
 
4697
   *  \param arg Currently processed parameter 
 
4698
   */
 
4699
  const Option*  findOption(const string &arg, bool isLong);
 
4700
  
 
4701
  /** Process an option found by OptsParser::findOption(). 
 
4702
   */
 
4703
  bool processOption  (const string &arg, const Option* curOpt, bool isLong);
5204
4704
};
5205
4705
 
5206
4706
 
5208
4708
 
5209
4709
#endif /* __OptsParser_h__ */
5210
4710
 
5211
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4711
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
5212
4712
using namespace std;
5213
4713
 
5214
4714
namespace Puma {
5215
4715
 
5216
4716
 
5217
4717
 
5218
 
#line 5219 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4718
#line 4719 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5219
4719
} // closed Puma
 
4720
class CCExprResolve;
 
4721
class CExprResolve;
5220
4722
class WinIfExists;
5221
4723
class WinImportHandler;
5222
4724
class WinMacros;
5223
 
class CMatchSyntax;
5224
 
class ExtGnu;
 
4725
class WinAsm;
 
4726
class WinDeclSpecs;
 
4727
class WinMemberExplSpec;
 
4728
class WinTypeKeywords;
 
4729
class WinFriend;
5225
4730
class ExtAC;
5226
4731
class ExtACBuilderCoupling;
5227
4732
class ExtACSyntaxCoupling;
5228
4733
class ExtACTree;
5229
4734
class ExtACKeywords;
5230
 
class WinAsm;
5231
 
class WinDeclSpecs;
5232
 
class WinMemberExplSpec;
5233
 
class WinTypeKeywords;
 
4735
class ExtGnu;
5234
4736
class PragmaOnceUnitState;
5235
4737
class PragmaOnce;
5236
 
class CCExprResolve;
5237
 
class CExprResolve;
 
4738
class CMatchSyntax;
5238
4739
namespace Puma {
5239
4740
 
5240
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4741
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
5241
4742
class Config {
5242
 
#line 5243 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4743
#line 4744 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4744
  friend class ::CCExprResolve;
 
4745
  friend class ::CExprResolve;
5243
4746
  friend class ::WinIfExists;
5244
4747
  friend class ::WinImportHandler;
5245
4748
  friend class ::WinMacros;
5246
 
  friend class ::CMatchSyntax;
5247
 
  friend class ::ExtGnu;
 
4749
  friend class ::WinAsm;
 
4750
  friend class ::WinDeclSpecs;
 
4751
  friend class ::WinMemberExplSpec;
 
4752
  friend class ::WinTypeKeywords;
 
4753
  friend class ::WinFriend;
5248
4754
  friend class ::ExtAC;
5249
4755
  friend class ::ExtACBuilderCoupling;
5250
4756
  friend class ::ExtACSyntaxCoupling;
5251
4757
  friend class ::ExtACTree;
5252
4758
  friend class ::ExtACKeywords;
5253
 
  friend class ::WinAsm;
5254
 
  friend class ::WinDeclSpecs;
5255
 
  friend class ::WinMemberExplSpec;
5256
 
  friend class ::WinTypeKeywords;
 
4759
  friend class ::ExtGnu;
5257
4760
  friend class ::PragmaOnceUnitState;
5258
4761
  friend class ::PragmaOnce;
5259
 
  friend class ::CCExprResolve;
5260
 
  friend class ::CExprResolve;
 
4762
  friend class ::CMatchSyntax;
5261
4763
 
5262
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4764
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
5263
4765
 
5264
4766
  Flags _flags;
5265
4767
  ErrorStream &_err;
5319
4821
private:
5320
4822
  bool Valid (const char *, const char * = (const char *)0) const;
5321
4823
 
5322
 
  bool Process (OptsParser&);
 
4824
  bool Process (OptsParser&, bool unescape = false);
5323
4825
  bool ProcessAssert (const string&);
5324
4826
  bool ProcessDefine (const string&);
5325
4827
  bool ProcessLockMacro (const string&);
5328
4830
  bool ProcessArgument (const string&,const string&);
5329
4831
  bool ProcessPathArgument (const string&,const string&);
5330
4832
 
 
4833
  string Unescape(const string&);
5331
4834
};
5332
4835
 
5333
4836
inline Config::Config (ErrorStream &e) : _err (e)
5369
4872
 
5370
4873
#endif /* __Config_h__ */
5371
4874
 
5372
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4875
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5373
4876
namespace Puma {
5374
4877
 
5375
4878
 
5376
4879
class Token;
5377
4880
 
5378
4881
 
5379
 
#line 5380 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4882
#line 4883 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5380
4883
} // closed Puma
 
4884
class CCExprResolve;
 
4885
class CExprResolve;
5381
4886
class WinIfExists;
5382
4887
class WinImportHandler;
5383
4888
class WinMacros;
5384
 
class CMatchSyntax;
5385
 
class ExtGnu;
 
4889
class WinAsm;
 
4890
class WinDeclSpecs;
 
4891
class WinMemberExplSpec;
 
4892
class WinTypeKeywords;
 
4893
class WinFriend;
5386
4894
class ExtAC;
5387
4895
class ExtACBuilderCoupling;
5388
4896
class ExtACSyntaxCoupling;
5389
4897
class ExtACTree;
5390
4898
class ExtACKeywords;
5391
 
class WinAsm;
5392
 
class WinDeclSpecs;
5393
 
class WinMemberExplSpec;
5394
 
class WinTypeKeywords;
 
4899
class ExtGnu;
5395
4900
class PragmaOnceUnitState;
5396
4901
class PragmaOnce;
5397
 
class CCExprResolve;
5398
 
class CExprResolve;
 
4902
class CMatchSyntax;
5399
4903
namespace Puma {
5400
4904
 
5401
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4905
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5402
4906
class CScanner : public CRecognizer, public Tokenizer {
5403
 
#line 5404 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4907
#line 4908 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4908
  friend class ::CCExprResolve;
 
4909
  friend class ::CExprResolve;
5404
4910
  friend class ::WinIfExists;
5405
4911
  friend class ::WinImportHandler;
5406
4912
  friend class ::WinMacros;
5407
 
  friend class ::CMatchSyntax;
5408
 
  friend class ::ExtGnu;
 
4913
  friend class ::WinAsm;
 
4914
  friend class ::WinDeclSpecs;
 
4915
  friend class ::WinMemberExplSpec;
 
4916
  friend class ::WinTypeKeywords;
 
4917
  friend class ::WinFriend;
5409
4918
  friend class ::ExtAC;
5410
4919
  friend class ::ExtACBuilderCoupling;
5411
4920
  friend class ::ExtACSyntaxCoupling;
5412
4921
  friend class ::ExtACTree;
5413
4922
  friend class ::ExtACKeywords;
5414
 
  friend class ::WinAsm;
5415
 
  friend class ::WinDeclSpecs;
5416
 
  friend class ::WinMemberExplSpec;
5417
 
  friend class ::WinTypeKeywords;
 
4923
  friend class ::ExtGnu;
5418
4924
  friend class ::PragmaOnceUnitState;
5419
4925
  friend class ::PragmaOnce;
5420
 
  friend class ::CCExprResolve;
5421
 
  friend class ::CExprResolve;
 
4926
  friend class ::CMatchSyntax;
5422
4927
 
5423
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4928
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5424
4929
 
5425
4930
  Location loc;
5426
4931
  ErrorSink &err;
5435
4940
  virtual ~CScanner () {}
5436
4941
  void configure (const Config &);
5437
4942
  
5438
 
#line 5439 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
5439
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
4943
#line 4944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4944
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
5440
4945
 
5441
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4946
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5442
4947
void fill_unit (Source &in, Unit &unit);
5443
4948
  
5444
 
#line 5445 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
5445
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
4949
#line 4950 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
4950
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
5446
4951
 
5447
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4952
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5448
4953
void fill_unit (const char *in, Unit &unit);
5449
4954
};
5450
4955
 
5453
4958
 
5454
4959
#endif /* __c_scanner_h__ */
5455
4960
 
5456
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
4961
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5457
4962
// This file is part of PUMA.
5458
4963
// Copyright (C) 1999-2003  The PUMA developer team.
5459
4964
//                                                                
5482
4987
// of arguments.
5483
4988
 
5484
4989
 
5485
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
4990
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5486
4991
namespace Puma {
5487
4992
 
5488
4993
 
5490
4995
class CScanner;
5491
4996
 
5492
4997
 
5493
 
#line 5494 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
4998
#line 4999 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5494
4999
} // closed Puma
 
5000
class CCExprResolve;
 
5001
class CExprResolve;
5495
5002
class WinIfExists;
5496
5003
class WinImportHandler;
5497
5004
class WinMacros;
5498
 
class CMatchSyntax;
5499
 
class ExtGnu;
 
5005
class WinAsm;
 
5006
class WinDeclSpecs;
 
5007
class WinMemberExplSpec;
 
5008
class WinTypeKeywords;
 
5009
class WinFriend;
5500
5010
class ExtAC;
5501
5011
class ExtACBuilderCoupling;
5502
5012
class ExtACSyntaxCoupling;
5503
5013
class ExtACTree;
5504
5014
class ExtACKeywords;
5505
 
class WinAsm;
5506
 
class WinDeclSpecs;
5507
 
class WinMemberExplSpec;
5508
 
class WinTypeKeywords;
 
5015
class ExtGnu;
5509
5016
class PragmaOnceUnitState;
5510
5017
class PragmaOnce;
5511
 
class CCExprResolve;
5512
 
class CExprResolve;
 
5018
class CMatchSyntax;
5513
5019
namespace Puma {
5514
5020
 
5515
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
5021
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5516
5022
class PreMacro : public Chain {
5517
 
#line 5518 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5023
#line 5024 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5024
  friend class ::CCExprResolve;
 
5025
  friend class ::CExprResolve;
5518
5026
  friend class ::WinIfExists;
5519
5027
  friend class ::WinImportHandler;
5520
5028
  friend class ::WinMacros;
5521
 
  friend class ::CMatchSyntax;
5522
 
  friend class ::ExtGnu;
 
5029
  friend class ::WinAsm;
 
5030
  friend class ::WinDeclSpecs;
 
5031
  friend class ::WinMemberExplSpec;
 
5032
  friend class ::WinTypeKeywords;
 
5033
  friend class ::WinFriend;
5523
5034
  friend class ::ExtAC;
5524
5035
  friend class ::ExtACBuilderCoupling;
5525
5036
  friend class ::ExtACSyntaxCoupling;
5526
5037
  friend class ::ExtACTree;
5527
5038
  friend class ::ExtACKeywords;
5528
 
  friend class ::WinAsm;
5529
 
  friend class ::WinDeclSpecs;
5530
 
  friend class ::WinMemberExplSpec;
5531
 
  friend class ::WinTypeKeywords;
 
5039
  friend class ::ExtGnu;
5532
5040
  friend class ::PragmaOnceUnitState;
5533
5041
  friend class ::PragmaOnce;
5534
 
  friend class ::CCExprResolve;
5535
 
  friend class ::CExprResolve;
 
5042
  friend class ::CMatchSyntax;
5536
5043
 
5537
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
5044
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5538
5045
 
5539
5046
public:
5540
5047
  typedef Array<const char *> MacroArgs;
5602
5109
 
5603
5110
#endif /* __pre_macro__ */
5604
5111
 
5605
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParser.h"
 
5112
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTokens.h"
 
5113
// This file is part of PUMA.
 
5114
// Copyright (C) 1999-2003  The PUMA developer team.
 
5115
//                                                                
 
5116
// This program is free software;  you can redistribute it and/or 
 
5117
// modify it under the terms of the GNU General Public License as 
 
5118
// published by the Free Software Foundation; either version 2 of 
 
5119
// the License, or (at your option) any later version.            
 
5120
//                                                                
 
5121
// This program is distributed in the hope that it will be useful,
 
5122
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
5123
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
5124
// GNU General Public License for more details.                   
 
5125
//                                                                
 
5126
// You should have received a copy of the GNU General Public      
 
5127
// License along with this program; if not, write to the Free     
 
5128
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
5129
// MA  02111-1307  USA                                            
 
5130
 
 
5131
#ifndef __C_TOKENS__
 
5132
#define __C_TOKENS__
 
5133
 
 
5134
namespace Puma {
 
5135
 
 
5136
enum CTokens {
 
5137
 
 
5138
  // core tokens, i.e. numbers, operator symbols, brackets, etc.
 
5139
  TOK_AT = 100,
 
5140
  TOK_ZERO_VAL,
 
5141
  TOK_INT_VAL,
 
5142
  TOK_FLT_VAL,
 
5143
  TOK_STRING_VAL,
 
5144
  TOK_CHAR_VAL,
 
5145
  TOK_COMMA,
 
5146
  TOK_ASSIGN,
 
5147
  TOK_QUESTION,
 
5148
  TOK_OR,
 
5149
  TOK_ROOF,
 
5150
  TOK_AND,
 
5151
  TOK_PLUS,
 
5152
  TOK_MINUS,
 
5153
  TOK_MUL,
 
5154
  TOK_DIV,
 
5155
  TOK_MODULO,
 
5156
  TOK_LESS,
 
5157
  TOK_GREATER,
 
5158
  TOK_OPEN_ROUND,
 
5159
  TOK_CLOSE_ROUND,
 
5160
  TOK_OPEN_SQUARE,
 
5161
  TOK_CLOSE_SQUARE,
 
5162
  TOK_OPEN_CURLY,
 
5163
  TOK_CLOSE_CURLY,
 
5164
  TOK_SEMI_COLON,
 
5165
  TOK_COLON,
 
5166
  TOK_NOT,
 
5167
  TOK_TILDE,
 
5168
  TOK_DOT,
 
5169
  TOK_MUL_EQ,
 
5170
  TOK_DIV_EQ,
 
5171
  TOK_MOD_EQ,
 
5172
  TOK_ADD_EQ,
 
5173
  TOK_SUB_EQ,
 
5174
  TOK_LSH_EQ,
 
5175
  TOK_RSH_EQ,
 
5176
  TOK_AND_EQ,
 
5177
  TOK_XOR_EQ,
 
5178
  TOK_IOR_EQ,
 
5179
  TOK_OR_OR,
 
5180
  TOK_AND_AND,
 
5181
  TOK_EQL,
 
5182
  TOK_NEQ,
 
5183
  TOK_LEQ,
 
5184
  TOK_GEQ,
 
5185
  TOK_LSH,
 
5186
  TOK_RSH,
 
5187
  TOK_DOT_STAR,
 
5188
  TOK_PTS_STAR,
 
5189
  TOK_INCR,
 
5190
  TOK_DECR,
 
5191
  TOK_PTS,
 
5192
  TOK_COLON_COLON,
 
5193
  TOK_ELLIPSIS,
 
5194
  TOK_LAST_CORE = TOK_ELLIPSIS, // this is a group separator for the scanner!
 
5195
  
 
5196
  // C keywords:
 
5197
  TOK_ASM,
 
5198
  TOK_AUTO,
 
5199
  TOK_BREAK,
 
5200
  TOK_CASE,
 
5201
  TOK_CHAR,
 
5202
  TOK_CONST,
 
5203
  TOK_CONTINUE,
 
5204
  TOK_DEFAULT,
 
5205
  TOK_DO,
 
5206
  TOK_DOUBLE,
 
5207
  TOK_ELSE,
 
5208
  TOK_ENUM,
 
5209
  TOK_EXTERN,
 
5210
  TOK_FLOAT,
 
5211
  TOK_FOR,
 
5212
  TOK_GOTO,
 
5213
  TOK_IF,
 
5214
  TOK_INLINE,
 
5215
  TOK_INT,
 
5216
  TOK_LONG,
 
5217
  TOK_REGISTER,
 
5218
  TOK_RESTRICT,
 
5219
  TOK_RETURN,
 
5220
  TOK_SHORT,
 
5221
  TOK_SIGNED,
 
5222
  TOK_SIZEOF,
 
5223
  TOK_STATIC,
 
5224
  TOK_STRUCT,
 
5225
  TOK_SWITCH,
 
5226
  TOK_TYPEDEF,
 
5227
  TOK_UNION,
 
5228
  TOK_UNSIGNED,
 
5229
  TOK_VOID,
 
5230
  TOK_VOLATILE,
 
5231
  TOK_WCHAR_T,
 
5232
  TOK_WHILE,
 
5233
 
 
5234
  // C compatibility keywords
 
5235
 
 
5236
  TOK_ASM_2,
 
5237
  TOK_ASM_3,
 
5238
  TOK_BOOL_2,
 
5239
  TOK_CONST_2,
 
5240
  TOK_CONST_3,
 
5241
  TOK_INLINE_2,
 
5242
  TOK_INLINE_3,
 
5243
  TOK_RESTRICT_2,
 
5244
  TOK_RESTRICT_3,
 
5245
  TOK_SIGNED_2,
 
5246
  TOK_SIGNED_3,
 
5247
  TOK_VOLATILE_2,
 
5248
  TOK_VOLATILE_3,
 
5249
  TOK_WCHAR_T_2,
 
5250
  TOK_TYPEOF,
 
5251
  TOK_TYPEOF_2,
 
5252
  TOK_TYPEOF_3,
 
5253
 
 
5254
  // C win specific keywords
 
5255
 
 
5256
  TOK_INT64,
 
5257
  TOK_CDECL,
 
5258
  TOK_CDECL_2,
 
5259
  TOK_STDCALL,
 
5260
  TOK_STDCALL_2,
 
5261
  TOK_FASTCALL,
 
5262
  TOK_FASTCALL_2,
 
5263
  TOK_IF_EXISTS,
 
5264
  TOK_IF_NOT_EXISTS,
 
5265
 
 
5266
  TOK_LAST_C = TOK_IF_NOT_EXISTS,
 
5267
  
 
5268
  // a boolean constant:
 
5269
  TOK_BOOL_VAL,
 
5270
 
 
5271
  // C++ keywords:
 
5272
 
 
5273
  TOK_BOOL,
 
5274
  TOK_CATCH,
 
5275
  TOK_CLASS,
 
5276
  TOK_CONST_CAST,
 
5277
  TOK_DELETE,
 
5278
  TOK_DYN_CAST,
 
5279
  TOK_EXPLICIT,
 
5280
  TOK_EXPORT,
 
5281
  TOK_FRIEND,
 
5282
  TOK_MUTABLE,
 
5283
  TOK_NAMESPACE,
 
5284
  TOK_NEW,
 
5285
  TOK_OPERATOR,
 
5286
  TOK_PRIVATE,
 
5287
  TOK_PROTECTED,
 
5288
  TOK_PUBLIC,
 
5289
  TOK_REINT_CAST,
 
5290
  TOK_STAT_CAST,
 
5291
  TOK_TEMPLATE,
 
5292
  TOK_THIS,
 
5293
  TOK_THROW,
 
5294
  TOK_TRY,
 
5295
  TOK_TYPEID,
 
5296
  TOK_TYPENAME,
 
5297
  TOK_USING,
 
5298
  TOK_VIRTUAL,
 
5299
 
 
5300
  // C++ alternative representation of operators (ISO 646):
 
5301
 
 
5302
  TOK_AND_AND_ISO_646,
 
5303
  TOK_AND_EQ_ISO_646,
 
5304
  TOK_AND_ISO_646,
 
5305
  TOK_OR_ISO_646,
 
5306
  TOK_TILDE_ISO_646,
 
5307
  TOK_NOT_ISO_646,
 
5308
  TOK_NEQ_ISO_646,
 
5309
  TOK_OR_OR_ISO_646,
 
5310
  TOK_IOR_EQ_ISO_646,
 
5311
  TOK_ROOF_ISO_646,
 
5312
  TOK_XOR_EQ_ISO_646,
 
5313
 
 
5314
  TOK_LAST_CC = TOK_XOR_EQ_ISO_646,
 
5315
  
 
5316
  // AspectC++ keywords:
 
5317
 
 
5318
  TOK_POINTCUT,
 
5319
  TOK_ASPECT,
 
5320
  TOK_ADVICE,
 
5321
  TOK_SLICE,
 
5322
  TOK_UNKNOWN_T,
 
5323
 
 
5324
  TOK_LAST_AC = TOK_UNKNOWN_T,
 
5325
  
 
5326
  // further [A](C|C++) token
 
5327
  TOK_ID,
 
5328
 
 
5329
  // These two always have to be the ** last ** token listed here!!!
 
5330
  TOK_EPSILON,
 
5331
  TOK_NO
 
5332
  
 
5333
};
 
5334
 
 
5335
} // namespace Puma
 
5336
 
 
5337
#endif /* __C_TOKENS__ */
 
5338
 
 
5339
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParser.h"
5606
5340
#define TOK_PRE_ASSERT                  1
5607
5341
#define TOK_PRE_COMMA                   2
5608
5342
#define TOK_PRE_DEFINE                  3
5626
5360
#define TOK_PRE_UNDEF                  21
5627
5361
#define TOK_PRE_WARNING                22
5628
5362
 
5629
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
5363
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
5630
5364
// This file is part of PUMA.
5631
5365
// Copyright (C) 1999-2003  The PUMA developer team.
5632
5366
//                                                                
5651
5385
// Syntax tree definition according to the composite pattern from [GoF].
5652
5386
 
5653
5387
 
5654
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
 
5388
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
5655
5389
// This file is part of PUMA.
5656
5390
// Copyright (C) 1999-2003  The PUMA developer team.
5657
5391
//                                                                
5709
5443
 
5710
5444
 
5711
5445
 
5712
 
#line 5713 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5446
#line 5447 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5713
5447
} // closed Puma
 
5448
class CCExprResolve;
 
5449
class CExprResolve;
5714
5450
class WinIfExists;
5715
5451
class WinImportHandler;
5716
5452
class WinMacros;
5717
 
class CMatchSyntax;
5718
 
class ExtGnu;
 
5453
class WinAsm;
 
5454
class WinDeclSpecs;
 
5455
class WinMemberExplSpec;
 
5456
class WinTypeKeywords;
 
5457
class WinFriend;
5719
5458
class ExtAC;
5720
5459
class ExtACBuilderCoupling;
5721
5460
class ExtACSyntaxCoupling;
5722
5461
class ExtACTree;
5723
5462
class ExtACKeywords;
5724
 
class WinAsm;
5725
 
class WinDeclSpecs;
5726
 
class WinMemberExplSpec;
5727
 
class WinTypeKeywords;
 
5463
class ExtGnu;
5728
5464
class PragmaOnceUnitState;
5729
5465
class PragmaOnce;
5730
 
class CCExprResolve;
5731
 
class CExprResolve;
 
5466
class CMatchSyntax;
5732
5467
namespace Puma {
5733
5468
 
5734
 
#line 57 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
 
5469
#line 57 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
5735
5470
class PreVisitor {
5736
 
#line 5737 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5471
#line 5472 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5472
  friend class ::CCExprResolve;
 
5473
  friend class ::CExprResolve;
5737
5474
  friend class ::WinIfExists;
5738
5475
  friend class ::WinImportHandler;
5739
5476
  friend class ::WinMacros;
5740
 
  friend class ::CMatchSyntax;
5741
 
  friend class ::ExtGnu;
 
5477
  friend class ::WinAsm;
 
5478
  friend class ::WinDeclSpecs;
 
5479
  friend class ::WinMemberExplSpec;
 
5480
  friend class ::WinTypeKeywords;
 
5481
  friend class ::WinFriend;
5742
5482
  friend class ::ExtAC;
5743
5483
  friend class ::ExtACBuilderCoupling;
5744
5484
  friend class ::ExtACSyntaxCoupling;
5745
5485
  friend class ::ExtACTree;
5746
5486
  friend class ::ExtACKeywords;
5747
 
  friend class ::WinAsm;
5748
 
  friend class ::WinDeclSpecs;
5749
 
  friend class ::WinMemberExplSpec;
5750
 
  friend class ::WinTypeKeywords;
 
5487
  friend class ::ExtGnu;
5751
5488
  friend class ::PragmaOnceUnitState;
5752
5489
  friend class ::PragmaOnce;
5753
 
  friend class ::CCExprResolve;
5754
 
  friend class ::CExprResolve;
 
5490
  friend class ::CMatchSyntax;
5755
5491
 
5756
 
#line 57 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
 
5492
#line 57 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
5757
5493
 
5758
5494
protected:
5759
5495
  PreVisitor () {};
5842
5578
 
5843
5579
#endif /* __pre_visitor_h__ */
5844
5580
 
5845
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
5581
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
5846
5582
namespace Puma {
5847
5583
 
5848
5584
 
5849
5585
// Common node interface
5850
5586
 
5851
 
#line 5852 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5587
#line 5588 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5852
5588
} // closed Puma
 
5589
class CCExprResolve;
 
5590
class CExprResolve;
5853
5591
class WinIfExists;
5854
5592
class WinImportHandler;
5855
5593
class WinMacros;
5856
 
class CMatchSyntax;
5857
 
class ExtGnu;
 
5594
class WinAsm;
 
5595
class WinDeclSpecs;
 
5596
class WinMemberExplSpec;
 
5597
class WinTypeKeywords;
 
5598
class WinFriend;
5858
5599
class ExtAC;
5859
5600
class ExtACBuilderCoupling;
5860
5601
class ExtACSyntaxCoupling;
5861
5602
class ExtACTree;
5862
5603
class ExtACKeywords;
5863
 
class WinAsm;
5864
 
class WinDeclSpecs;
5865
 
class WinMemberExplSpec;
5866
 
class WinTypeKeywords;
 
5604
class ExtGnu;
5867
5605
class PragmaOnceUnitState;
5868
5606
class PragmaOnce;
5869
 
class CCExprResolve;
5870
 
class CExprResolve;
 
5607
class CMatchSyntax;
5871
5608
namespace Puma {
5872
5609
 
5873
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
5610
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
5874
5611
class PreTree {
5875
 
#line 5876 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5612
#line 5613 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5613
  friend class ::CCExprResolve;
 
5614
  friend class ::CExprResolve;
5876
5615
  friend class ::WinIfExists;
5877
5616
  friend class ::WinImportHandler;
5878
5617
  friend class ::WinMacros;
5879
 
  friend class ::CMatchSyntax;
5880
 
  friend class ::ExtGnu;
 
5618
  friend class ::WinAsm;
 
5619
  friend class ::WinDeclSpecs;
 
5620
  friend class ::WinMemberExplSpec;
 
5621
  friend class ::WinTypeKeywords;
 
5622
  friend class ::WinFriend;
5881
5623
  friend class ::ExtAC;
5882
5624
  friend class ::ExtACBuilderCoupling;
5883
5625
  friend class ::ExtACSyntaxCoupling;
5884
5626
  friend class ::ExtACTree;
5885
5627
  friend class ::ExtACKeywords;
5886
 
  friend class ::WinAsm;
5887
 
  friend class ::WinDeclSpecs;
5888
 
  friend class ::WinMemberExplSpec;
5889
 
  friend class ::WinTypeKeywords;
 
5628
  friend class ::ExtGnu;
5890
5629
  friend class ::PragmaOnceUnitState;
5891
5630
  friend class ::PragmaOnce;
5892
 
  friend class ::CCExprResolve;
5893
 
  friend class ::CExprResolve;
 
5631
  friend class ::CMatchSyntax;
5894
5632
 
5895
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
5633
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
5896
5634
 
5897
5635
protected:
5898
5636
  PreTree () {};
5921
5659
 
5922
5660
#endif /* __pre_syntax_tree__ */
5923
5661
 
5924
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5662
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5663
 
 
5664
#line 5665 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5665
 
 
5666
#ifndef __ac_fwd_PragmaOnceUnitState__
 
5667
#define __ac_fwd_PragmaOnceUnitState__
 
5668
class PragmaOnceUnitState;
 
5669
namespace AC {
 
5670
  template <class JoinPoint>
 
5671
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
5672
  template <class JoinPoint>
 
5673
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
5674
}
 
5675
#endif
 
5676
 
 
5677
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5678
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5679
#endif
 
5680
 
 
5681
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5925
5682
// This file is part of PUMA.
5926
5683
// Copyright (C) 1999-2003  The PUMA developer team.
5927
5684
//                                                                
5946
5703
// Class UnitManager helps you to have control of all units built.
5947
5704
 
5948
5705
 
5949
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5706
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5950
5707
#include <list>
5951
5708
#include <map>
5952
5709
 
5953
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5710
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5954
5711
using namespace std;
5955
5712
 
5956
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5713
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5957
5714
namespace Puma {
5958
5715
 
5959
5716
 
5962
5719
class Tokenizer;
5963
5720
 
5964
5721
 
5965
 
#line 5966 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5722
#line 5723 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5966
5723
} // closed Puma
 
5724
class CCExprResolve;
 
5725
class CExprResolve;
5967
5726
class WinIfExists;
5968
5727
class WinImportHandler;
5969
5728
class WinMacros;
5970
 
class CMatchSyntax;
5971
 
class ExtGnu;
 
5729
class WinAsm;
 
5730
class WinDeclSpecs;
 
5731
class WinMemberExplSpec;
 
5732
class WinTypeKeywords;
 
5733
class WinFriend;
5972
5734
class ExtAC;
5973
5735
class ExtACBuilderCoupling;
5974
5736
class ExtACSyntaxCoupling;
5975
5737
class ExtACTree;
5976
5738
class ExtACKeywords;
5977
 
class WinAsm;
5978
 
class WinDeclSpecs;
5979
 
class WinMemberExplSpec;
5980
 
class WinTypeKeywords;
 
5739
class ExtGnu;
5981
5740
class PragmaOnceUnitState;
5982
5741
class PragmaOnce;
5983
 
class CCExprResolve;
5984
 
class CExprResolve;
 
5742
class CMatchSyntax;
5985
5743
namespace Puma {
5986
5744
 
5987
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5745
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5988
5746
class UnitManager {
5989
 
#line 5990 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5747
#line 5748 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5748
  friend class ::CCExprResolve;
 
5749
  friend class ::CExprResolve;
5990
5750
  friend class ::WinIfExists;
5991
5751
  friend class ::WinImportHandler;
5992
5752
  friend class ::WinMacros;
5993
 
  friend class ::CMatchSyntax;
5994
 
  friend class ::ExtGnu;
 
5753
  friend class ::WinAsm;
 
5754
  friend class ::WinDeclSpecs;
 
5755
  friend class ::WinMemberExplSpec;
 
5756
  friend class ::WinTypeKeywords;
 
5757
  friend class ::WinFriend;
5995
5758
  friend class ::ExtAC;
5996
5759
  friend class ::ExtACBuilderCoupling;
5997
5760
  friend class ::ExtACSyntaxCoupling;
5998
5761
  friend class ::ExtACTree;
5999
5762
  friend class ::ExtACKeywords;
6000
 
  friend class ::WinAsm;
6001
 
  friend class ::WinDeclSpecs;
6002
 
  friend class ::WinMemberExplSpec;
6003
 
  friend class ::WinTypeKeywords;
 
5763
  friend class ::ExtGnu;
6004
5764
  friend class ::PragmaOnceUnitState;
6005
5765
  friend class ::PragmaOnce;
6006
 
  friend class ::CCExprResolve;
6007
 
  friend class ::CExprResolve;
 
5766
  friend class ::CMatchSyntax;
6008
5767
 
6009
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5768
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6010
5769
 
6011
5770
public:
6012
5771
  typedef map<string, Unit*> UMap;
6059
5818
      
6060
5819
  // Initialize the unit manager and the managed 
6061
5820
  // units for the next parse process.
6062
 
  void init ();
 
5821
  
 
5822
#line 5823 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5823
public: __attribute__((always_inline)) inline void __exec_old_init();
 
5824
 
 
5825
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5826
void init ();
6063
5827
};
6064
5828
 
6065
5829
 
6067
5831
 
6068
5832
#endif /* __UnitManager__ */
6069
5833
 
6070
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
5834
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
6071
5835
// This file is part of PUMA.
6072
5836
// Copyright (C) 1999-2003  The PUMA developer team.
6073
5837
//                                                                
6094
5858
// input files. 
6095
5859
 
6096
5860
 
6097
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
5861
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
6098
5862
// This file is part of PUMA.
6099
5863
// Copyright (C) 1999-2003  The PUMA developer team.
6100
5864
//                                                                
6117
5881
#define __Unit_Token_Src__
6118
5882
 
6119
5883
 
6120
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
5884
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
6121
5885
// This file is part of PUMA.
6122
5886
// Copyright (C) 1999-2003  The PUMA developer team.
6123
5887
//                                                                
6145
5909
class Token;
6146
5910
 
6147
5911
 
6148
 
#line 6149 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5912
#line 5913 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6149
5913
} // closed Puma
 
5914
class CCExprResolve;
 
5915
class CExprResolve;
6150
5916
class WinIfExists;
6151
5917
class WinImportHandler;
6152
5918
class WinMacros;
6153
 
class CMatchSyntax;
6154
 
class ExtGnu;
 
5919
class WinAsm;
 
5920
class WinDeclSpecs;
 
5921
class WinMemberExplSpec;
 
5922
class WinTypeKeywords;
 
5923
class WinFriend;
6155
5924
class ExtAC;
6156
5925
class ExtACBuilderCoupling;
6157
5926
class ExtACSyntaxCoupling;
6158
5927
class ExtACTree;
6159
5928
class ExtACKeywords;
6160
 
class WinAsm;
6161
 
class WinDeclSpecs;
6162
 
class WinMemberExplSpec;
6163
 
class WinTypeKeywords;
 
5929
class ExtGnu;
6164
5930
class PragmaOnceUnitState;
6165
5931
class PragmaOnce;
6166
 
class CCExprResolve;
6167
 
class CExprResolve;
 
5932
class CMatchSyntax;
6168
5933
namespace Puma {
6169
5934
 
6170
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
5935
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
6171
5936
class PumaTokenSource {
6172
 
#line 6173 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5937
#line 5938 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
5938
  friend class ::CCExprResolve;
 
5939
  friend class ::CExprResolve;
6173
5940
  friend class ::WinIfExists;
6174
5941
  friend class ::WinImportHandler;
6175
5942
  friend class ::WinMacros;
6176
 
  friend class ::CMatchSyntax;
6177
 
  friend class ::ExtGnu;
 
5943
  friend class ::WinAsm;
 
5944
  friend class ::WinDeclSpecs;
 
5945
  friend class ::WinMemberExplSpec;
 
5946
  friend class ::WinTypeKeywords;
 
5947
  friend class ::WinFriend;
6178
5948
  friend class ::ExtAC;
6179
5949
  friend class ::ExtACBuilderCoupling;
6180
5950
  friend class ::ExtACSyntaxCoupling;
6181
5951
  friend class ::ExtACTree;
6182
5952
  friend class ::ExtACKeywords;
6183
 
  friend class ::WinAsm;
6184
 
  friend class ::WinDeclSpecs;
6185
 
  friend class ::WinMemberExplSpec;
6186
 
  friend class ::WinTypeKeywords;
 
5953
  friend class ::ExtGnu;
6187
5954
  friend class ::PragmaOnceUnitState;
6188
5955
  friend class ::PragmaOnce;
6189
 
  friend class ::CCExprResolve;
6190
 
  friend class ::CExprResolve;
 
5956
  friend class ::CMatchSyntax;
6191
5957
 
6192
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
5958
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
6193
5959
 
6194
5960
protected:
6195
5961
  PumaTokenSource () {}
6204
5970
 
6205
5971
#endif /* __Token_Source__ */
6206
5972
 
6207
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
5973
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
6208
5974
namespace Puma {
6209
5975
 
6210
5976
 
6211
5977
 
6212
 
#line 6213 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
5978
#line 5979 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6213
5979
} // closed Puma
 
5980
class CCExprResolve;
 
5981
class CExprResolve;
6214
5982
class WinIfExists;
6215
5983
class WinImportHandler;
6216
5984
class WinMacros;
6217
 
class CMatchSyntax;
6218
 
class ExtGnu;
 
5985
class WinAsm;
 
5986
class WinDeclSpecs;
 
5987
class WinMemberExplSpec;
 
5988
class WinTypeKeywords;
 
5989
class WinFriend;
6219
5990
class ExtAC;
6220
5991
class ExtACBuilderCoupling;
6221
5992
class ExtACSyntaxCoupling;
6222
5993
class ExtACTree;
6223
5994
class ExtACKeywords;
6224
 
class WinAsm;
6225
 
class WinDeclSpecs;
6226
 
class WinMemberExplSpec;
6227
 
class WinTypeKeywords;
 
5995
class ExtGnu;
6228
5996
class PragmaOnceUnitState;
6229
5997
class PragmaOnce;
6230
 
class CCExprResolve;
6231
 
class CExprResolve;
 
5998
class CMatchSyntax;
6232
5999
namespace Puma {
6233
6000
 
6234
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
6001
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
6235
6002
class UnitTokenSrc : public PumaTokenSource {
6236
 
#line 6237 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6003
#line 6004 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6004
  friend class ::CCExprResolve;
 
6005
  friend class ::CExprResolve;
6237
6006
  friend class ::WinIfExists;
6238
6007
  friend class ::WinImportHandler;
6239
6008
  friend class ::WinMacros;
6240
 
  friend class ::CMatchSyntax;
6241
 
  friend class ::ExtGnu;
 
6009
  friend class ::WinAsm;
 
6010
  friend class ::WinDeclSpecs;
 
6011
  friend class ::WinMemberExplSpec;
 
6012
  friend class ::WinTypeKeywords;
 
6013
  friend class ::WinFriend;
6242
6014
  friend class ::ExtAC;
6243
6015
  friend class ::ExtACBuilderCoupling;
6244
6016
  friend class ::ExtACSyntaxCoupling;
6245
6017
  friend class ::ExtACTree;
6246
6018
  friend class ::ExtACKeywords;
6247
 
  friend class ::WinAsm;
6248
 
  friend class ::WinDeclSpecs;
6249
 
  friend class ::WinMemberExplSpec;
6250
 
  friend class ::WinTypeKeywords;
 
6019
  friend class ::ExtGnu;
6251
6020
  friend class ::PragmaOnceUnitState;
6252
6021
  friend class ::PragmaOnce;
6253
 
  friend class ::CCExprResolve;
6254
 
  friend class ::CExprResolve;
 
6022
  friend class ::CMatchSyntax;
6255
6023
 
6256
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
6024
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
6257
6025
 
6258
6026
  Unit &_unit;
6259
6027
  Token *_curr;
6288
6056
 
6289
6057
#endif /* __Unit_Token_Src__ */
6290
6058
 
6291
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
6059
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
6292
6060
namespace Puma {
6293
6061
 
6294
6062
 
6295
6063
 
6296
 
#line 6297 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6064
#line 6065 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6297
6065
} // closed Puma
 
6066
class CCExprResolve;
 
6067
class CExprResolve;
6298
6068
class WinIfExists;
6299
6069
class WinImportHandler;
6300
6070
class WinMacros;
6301
 
class CMatchSyntax;
6302
 
class ExtGnu;
 
6071
class WinAsm;
 
6072
class WinDeclSpecs;
 
6073
class WinMemberExplSpec;
 
6074
class WinTypeKeywords;
 
6075
class WinFriend;
6303
6076
class ExtAC;
6304
6077
class ExtACBuilderCoupling;
6305
6078
class ExtACSyntaxCoupling;
6306
6079
class ExtACTree;
6307
6080
class ExtACKeywords;
6308
 
class WinAsm;
6309
 
class WinDeclSpecs;
6310
 
class WinMemberExplSpec;
6311
 
class WinTypeKeywords;
 
6081
class ExtGnu;
6312
6082
class PragmaOnceUnitState;
6313
6083
class PragmaOnce;
6314
 
class CCExprResolve;
6315
 
class CExprResolve;
 
6084
class CMatchSyntax;
6316
6085
namespace Puma {
6317
6086
 
6318
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
6087
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
6319
6088
class TokenStream : public PumaTokenSource, public Array<UnitTokenSrc*> {
6320
 
#line 6321 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6089
#line 6090 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6090
  friend class ::CCExprResolve;
 
6091
  friend class ::CExprResolve;
6321
6092
  friend class ::WinIfExists;
6322
6093
  friend class ::WinImportHandler;
6323
6094
  friend class ::WinMacros;
6324
 
  friend class ::CMatchSyntax;
6325
 
  friend class ::ExtGnu;
 
6095
  friend class ::WinAsm;
 
6096
  friend class ::WinDeclSpecs;
 
6097
  friend class ::WinMemberExplSpec;
 
6098
  friend class ::WinTypeKeywords;
 
6099
  friend class ::WinFriend;
6326
6100
  friend class ::ExtAC;
6327
6101
  friend class ::ExtACBuilderCoupling;
6328
6102
  friend class ::ExtACSyntaxCoupling;
6329
6103
  friend class ::ExtACTree;
6330
6104
  friend class ::ExtACKeywords;
6331
 
  friend class ::WinAsm;
6332
 
  friend class ::WinDeclSpecs;
6333
 
  friend class ::WinMemberExplSpec;
6334
 
  friend class ::WinTypeKeywords;
 
6105
  friend class ::ExtGnu;
6335
6106
  friend class ::PragmaOnceUnitState;
6336
6107
  friend class ::PragmaOnce;
6337
 
  friend class ::CCExprResolve;
6338
 
  friend class ::CExprResolve;
 
6108
  friend class ::CMatchSyntax;
6339
6109
 
6340
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
6110
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
6341
6111
 
6342
6112
public:
6343
6113
  TokenStream () : Array<UnitTokenSrc*> (20) {}
6358
6128
 
6359
6129
#endif /* __TokenStream__ */
6360
6130
 
6361
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
6131
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
6362
6132
// This file is part of PUMA.
6363
6133
// Copyright (C) 1999-2003  The PUMA developer team.
6364
6134
//                                                                
6388
6158
// within conditionals.
6389
6159
 
6390
6160
 
6391
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
6161
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
6392
6162
namespace Puma {
6393
6163
 
6394
6164
 
6395
6165
 
6396
 
#line 6397 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6166
#line 6167 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6397
6167
} // closed Puma
 
6168
class CCExprResolve;
 
6169
class CExprResolve;
6398
6170
class WinIfExists;
6399
6171
class WinImportHandler;
6400
6172
class WinMacros;
6401
 
class CMatchSyntax;
6402
 
class ExtGnu;
 
6173
class WinAsm;
 
6174
class WinDeclSpecs;
 
6175
class WinMemberExplSpec;
 
6176
class WinTypeKeywords;
 
6177
class WinFriend;
6403
6178
class ExtAC;
6404
6179
class ExtACBuilderCoupling;
6405
6180
class ExtACSyntaxCoupling;
6406
6181
class ExtACTree;
6407
6182
class ExtACKeywords;
6408
 
class WinAsm;
6409
 
class WinDeclSpecs;
6410
 
class WinMemberExplSpec;
6411
 
class WinTypeKeywords;
 
6183
class ExtGnu;
6412
6184
class PragmaOnceUnitState;
6413
6185
class PragmaOnce;
6414
 
class CCExprResolve;
6415
 
class CExprResolve;
 
6186
class CMatchSyntax;
6416
6187
namespace Puma {
6417
6188
 
6418
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
6189
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
6419
6190
class PrePredicate : public List {
6420
 
#line 6421 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6191
#line 6192 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6192
  friend class ::CCExprResolve;
 
6193
  friend class ::CExprResolve;
6421
6194
  friend class ::WinIfExists;
6422
6195
  friend class ::WinImportHandler;
6423
6196
  friend class ::WinMacros;
6424
 
  friend class ::CMatchSyntax;
6425
 
  friend class ::ExtGnu;
 
6197
  friend class ::WinAsm;
 
6198
  friend class ::WinDeclSpecs;
 
6199
  friend class ::WinMemberExplSpec;
 
6200
  friend class ::WinTypeKeywords;
 
6201
  friend class ::WinFriend;
6426
6202
  friend class ::ExtAC;
6427
6203
  friend class ::ExtACBuilderCoupling;
6428
6204
  friend class ::ExtACSyntaxCoupling;
6429
6205
  friend class ::ExtACTree;
6430
6206
  friend class ::ExtACKeywords;
6431
 
  friend class ::WinAsm;
6432
 
  friend class ::WinDeclSpecs;
6433
 
  friend class ::WinMemberExplSpec;
6434
 
  friend class ::WinTypeKeywords;
 
6207
  friend class ::ExtGnu;
6435
6208
  friend class ::PragmaOnceUnitState;
6436
6209
  friend class ::PragmaOnce;
6437
 
  friend class ::CCExprResolve;
6438
 
  friend class ::CExprResolve;
 
6210
  friend class ::CMatchSyntax;
6439
6211
 
6440
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
6212
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
6441
6213
 
6442
6214
  char *_name;                // The name of the predicate.
6443
6215
  int   _numAnswers;        // The number of arguments.
6466
6238
 
6467
6239
#endif /* __pre_predicate__ */
6468
6240
 
6469
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ImportHandler.h"
 
6241
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ImportHandler.h"
6470
6242
// This file is part of PUMA.
6471
6243
// Copyright (C) 1999-2003  The PUMA developer team.
6472
6244
//                                                                
6497
6269
class Unit;
6498
6270
 
6499
6271
 
6500
 
#line 6501 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6272
#line 6273 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6501
6273
} // closed Puma
 
6274
class CCExprResolve;
 
6275
class CExprResolve;
6502
6276
class WinIfExists;
6503
6277
class WinImportHandler;
6504
6278
class WinMacros;
6505
 
class CMatchSyntax;
6506
 
class ExtGnu;
 
6279
class WinAsm;
 
6280
class WinDeclSpecs;
 
6281
class WinMemberExplSpec;
 
6282
class WinTypeKeywords;
 
6283
class WinFriend;
6507
6284
class ExtAC;
6508
6285
class ExtACBuilderCoupling;
6509
6286
class ExtACSyntaxCoupling;
6510
6287
class ExtACTree;
6511
6288
class ExtACKeywords;
6512
 
class WinAsm;
6513
 
class WinDeclSpecs;
6514
 
class WinMemberExplSpec;
6515
 
class WinTypeKeywords;
 
6289
class ExtGnu;
6516
6290
class PragmaOnceUnitState;
6517
6291
class PragmaOnce;
6518
 
class CCExprResolve;
6519
 
class CExprResolve;
 
6292
class CMatchSyntax;
6520
6293
namespace Puma {
6521
6294
 
6522
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ImportHandler.h"
 
6295
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ImportHandler.h"
6523
6296
class ImportHandler {
6524
 
#line 6525 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6297
#line 6298 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6298
  friend class ::CCExprResolve;
 
6299
  friend class ::CExprResolve;
6525
6300
  friend class ::WinIfExists;
6526
6301
  friend class ::WinImportHandler;
6527
6302
  friend class ::WinMacros;
6528
 
  friend class ::CMatchSyntax;
6529
 
  friend class ::ExtGnu;
 
6303
  friend class ::WinAsm;
 
6304
  friend class ::WinDeclSpecs;
 
6305
  friend class ::WinMemberExplSpec;
 
6306
  friend class ::WinTypeKeywords;
 
6307
  friend class ::WinFriend;
6530
6308
  friend class ::ExtAC;
6531
6309
  friend class ::ExtACBuilderCoupling;
6532
6310
  friend class ::ExtACSyntaxCoupling;
6533
6311
  friend class ::ExtACTree;
6534
6312
  friend class ::ExtACKeywords;
6535
 
  friend class ::WinAsm;
6536
 
  friend class ::WinDeclSpecs;
6537
 
  friend class ::WinMemberExplSpec;
6538
 
  friend class ::WinTypeKeywords;
 
6313
  friend class ::ExtGnu;
6539
6314
  friend class ::PragmaOnceUnitState;
6540
6315
  friend class ::PragmaOnce;
6541
 
  friend class ::CCExprResolve;
6542
 
  friend class ::CExprResolve;
 
6316
  friend class ::CMatchSyntax;
6543
6317
 
6544
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ImportHandler.h"
 
6318
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ImportHandler.h"
6545
6319
 
6546
6320
  PreprocessorParser &parser;
6547
6321
  Unit *header;
6560
6334
 
6561
6335
#endif /* __ImportHandler__ */
6562
6336
 
6563
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6337
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6564
6338
// This file is part of PUMA.
6565
6339
// Copyright (C) 1999-2003  The PUMA developer team.
6566
6340
//                                                                
6589
6363
// to controll which source code will be ignored.
6590
6364
 
6591
6365
 
6592
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6366
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6593
6367
namespace Puma {
6594
6368
 
6595
6369
 
6596
6370
 
6597
 
#line 6598 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6371
#line 6372 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6598
6372
} // closed Puma
 
6373
class CCExprResolve;
 
6374
class CExprResolve;
6599
6375
class WinIfExists;
6600
6376
class WinImportHandler;
6601
6377
class WinMacros;
6602
 
class CMatchSyntax;
6603
 
class ExtGnu;
 
6378
class WinAsm;
 
6379
class WinDeclSpecs;
 
6380
class WinMemberExplSpec;
 
6381
class WinTypeKeywords;
 
6382
class WinFriend;
6604
6383
class ExtAC;
6605
6384
class ExtACBuilderCoupling;
6606
6385
class ExtACSyntaxCoupling;
6607
6386
class ExtACTree;
6608
6387
class ExtACKeywords;
6609
 
class WinAsm;
6610
 
class WinDeclSpecs;
6611
 
class WinMemberExplSpec;
6612
 
class WinTypeKeywords;
 
6388
class ExtGnu;
6613
6389
class PragmaOnceUnitState;
6614
6390
class PragmaOnce;
6615
 
class CCExprResolve;
6616
 
class CExprResolve;
 
6391
class CMatchSyntax;
6617
6392
namespace Puma {
6618
6393
 
6619
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6394
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6620
6395
class PreLevelState {
6621
 
#line 6622 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6396
#line 6397 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6397
  friend class ::CCExprResolve;
 
6398
  friend class ::CExprResolve;
6622
6399
  friend class ::WinIfExists;
6623
6400
  friend class ::WinImportHandler;
6624
6401
  friend class ::WinMacros;
6625
 
  friend class ::CMatchSyntax;
6626
 
  friend class ::ExtGnu;
 
6402
  friend class ::WinAsm;
 
6403
  friend class ::WinDeclSpecs;
 
6404
  friend class ::WinMemberExplSpec;
 
6405
  friend class ::WinTypeKeywords;
 
6406
  friend class ::WinFriend;
6627
6407
  friend class ::ExtAC;
6628
6408
  friend class ::ExtACBuilderCoupling;
6629
6409
  friend class ::ExtACSyntaxCoupling;
6630
6410
  friend class ::ExtACTree;
6631
6411
  friend class ::ExtACKeywords;
6632
 
  friend class ::WinAsm;
6633
 
  friend class ::WinDeclSpecs;
6634
 
  friend class ::WinMemberExplSpec;
6635
 
  friend class ::WinTypeKeywords;
 
6412
  friend class ::ExtGnu;
6636
6413
  friend class ::PragmaOnceUnitState;
6637
6414
  friend class ::PragmaOnce;
6638
 
  friend class ::CCExprResolve;
6639
 
  friend class ::CExprResolve;
 
6415
  friend class ::CMatchSyntax;
6640
6416
 
6641
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6417
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6642
6418
 
6643
6419
  long _level;
6644
6420
        
6645
6421
  // The state structure.
6646
6422
  struct _state {
6647
 
#line 6648 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6423
#line 6424 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6424
  friend class ::CCExprResolve;
 
6425
  friend class ::CExprResolve;
6648
6426
  friend class ::WinIfExists;
6649
6427
  friend class ::WinImportHandler;
6650
6428
  friend class ::WinMacros;
6651
 
  friend class ::CMatchSyntax;
6652
 
  friend class ::ExtGnu;
 
6429
  friend class ::WinAsm;
 
6430
  friend class ::WinDeclSpecs;
 
6431
  friend class ::WinMemberExplSpec;
 
6432
  friend class ::WinTypeKeywords;
 
6433
  friend class ::WinFriend;
6653
6434
  friend class ::ExtAC;
6654
6435
  friend class ::ExtACBuilderCoupling;
6655
6436
  friend class ::ExtACSyntaxCoupling;
6656
6437
  friend class ::ExtACTree;
6657
6438
  friend class ::ExtACKeywords;
6658
 
  friend class ::WinAsm;
6659
 
  friend class ::WinDeclSpecs;
6660
 
  friend class ::WinMemberExplSpec;
6661
 
  friend class ::WinTypeKeywords;
 
6439
  friend class ::ExtGnu;
6662
6440
  friend class ::PragmaOnceUnitState;
6663
6441
  friend class ::PragmaOnce;
6664
 
  friend class ::CCExprResolve;
6665
 
  friend class ::CExprResolve;
 
6442
  friend class ::CMatchSyntax;
6666
6443
 
6667
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6444
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6668
6445
 
6669
6446
    bool state;                // The level value.
6670
6447
    bool passOn;        // Decide whether code will be not ignored.
6701
6478
 
6702
6479
#endif /* __pre_level_state__ */
6703
6480
 
6704
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentTokens.h"
 
6481
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentTokens.h"
6705
6482
// This file is part of PUMA.
6706
6483
// Copyright (C) 1999-2003  The PUMA developer team.
6707
6484
//                                                                
6727
6504
 
6728
6505
 
6729
6506
enum {
 
6507
  TOK_WSPACE = 400,
6730
6508
  TOK_CCSINGLE = 350,
6731
6509
  TOK_CCMULTIBEGIN,
6732
6510
  TOK_CCMULTIEND,
6738
6516
 
6739
6517
#endif /* __C_COMMENT_TOKENS_H__ */
6740
6518
 
6741
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6519
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6742
6520
// This file is part of PUMA.
6743
6521
// Copyright (C) 1999-2003  The PUMA developer team.
6744
6522
//                                                                
6768
6546
using std::set;
6769
6547
 
6770
6548
 
6771
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6549
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6772
6550
// This file is part of PUMA.
6773
6551
// Copyright (C) 1999-2003  The PUMA developer team.
6774
6552
//                                                                
6793
6571
// The macro manager manages all defined macros.
6794
6572
 
6795
6573
 
6796
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6574
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6797
6575
using namespace std;
6798
6576
 
6799
6577
#ifdef __puma
6808
6586
class ErrorStream;
6809
6587
 
6810
6588
 
6811
 
#line 6812 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6589
#line 6590 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6812
6590
} // closed Puma
 
6591
class CCExprResolve;
 
6592
class CExprResolve;
6813
6593
class WinIfExists;
6814
6594
class WinImportHandler;
6815
6595
class WinMacros;
6816
 
class CMatchSyntax;
6817
 
class ExtGnu;
 
6596
class WinAsm;
 
6597
class WinDeclSpecs;
 
6598
class WinMemberExplSpec;
 
6599
class WinTypeKeywords;
 
6600
class WinFriend;
6818
6601
class ExtAC;
6819
6602
class ExtACBuilderCoupling;
6820
6603
class ExtACSyntaxCoupling;
6821
6604
class ExtACTree;
6822
6605
class ExtACKeywords;
6823
 
class WinAsm;
6824
 
class WinDeclSpecs;
6825
 
class WinMemberExplSpec;
6826
 
class WinTypeKeywords;
 
6606
class ExtGnu;
6827
6607
class PragmaOnceUnitState;
6828
6608
class PragmaOnce;
6829
 
class CCExprResolve;
6830
 
class CExprResolve;
 
6609
class CMatchSyntax;
6831
6610
namespace Puma {
6832
6611
 
6833
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6612
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6834
6613
class PreMacroManager {
6835
 
#line 6836 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6614
#line 6615 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6615
  friend class ::CCExprResolve;
 
6616
  friend class ::CExprResolve;
6836
6617
  friend class ::WinIfExists;
6837
6618
  friend class ::WinImportHandler;
6838
6619
  friend class ::WinMacros;
6839
 
  friend class ::CMatchSyntax;
6840
 
  friend class ::ExtGnu;
 
6620
  friend class ::WinAsm;
 
6621
  friend class ::WinDeclSpecs;
 
6622
  friend class ::WinMemberExplSpec;
 
6623
  friend class ::WinTypeKeywords;
 
6624
  friend class ::WinFriend;
6841
6625
  friend class ::ExtAC;
6842
6626
  friend class ::ExtACBuilderCoupling;
6843
6627
  friend class ::ExtACSyntaxCoupling;
6844
6628
  friend class ::ExtACTree;
6845
6629
  friend class ::ExtACKeywords;
6846
 
  friend class ::WinAsm;
6847
 
  friend class ::WinDeclSpecs;
6848
 
  friend class ::WinMemberExplSpec;
6849
 
  friend class ::WinTypeKeywords;
 
6630
  friend class ::ExtGnu;
6850
6631
  friend class ::PragmaOnceUnitState;
6851
6632
  friend class ::PragmaOnce;
6852
 
  friend class ::CCExprResolve;
6853
 
  friend class ::CExprResolve;
 
6633
  friend class ::CMatchSyntax;
6854
6634
 
6855
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6635
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6856
6636
 
6857
6637
  PreMacro *_Line;
6858
6638
  PreMacro *_Date;
6902
6682
 
6903
6683
#endif /* __pre_macro_manager__ */
6904
6684
 
6905
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6685
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6906
6686
namespace Puma {
6907
6687
 
6908
6688
 
6912
6692
class TokenStream;
6913
6693
 
6914
6694
 
6915
 
#line 6916 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6695
#line 6696 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6916
6696
} // closed Puma
 
6697
class CCExprResolve;
 
6698
class CExprResolve;
6917
6699
class WinIfExists;
6918
6700
class WinImportHandler;
6919
6701
class WinMacros;
6920
 
class CMatchSyntax;
6921
 
class ExtGnu;
 
6702
class WinAsm;
 
6703
class WinDeclSpecs;
 
6704
class WinMemberExplSpec;
 
6705
class WinTypeKeywords;
 
6706
class WinFriend;
6922
6707
class ExtAC;
6923
6708
class ExtACBuilderCoupling;
6924
6709
class ExtACSyntaxCoupling;
6925
6710
class ExtACTree;
6926
6711
class ExtACKeywords;
6927
 
class WinAsm;
6928
 
class WinDeclSpecs;
6929
 
class WinMemberExplSpec;
6930
 
class WinTypeKeywords;
 
6712
class ExtGnu;
6931
6713
class PragmaOnceUnitState;
6932
6714
class PragmaOnce;
6933
 
class CCExprResolve;
6934
 
class CExprResolve;
 
6715
class CMatchSyntax;
6935
6716
namespace Puma {
6936
6717
 
6937
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6718
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6938
6719
class PreParserState {
6939
 
#line 6940 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6720
#line 6721 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6721
  friend class ::CCExprResolve;
 
6722
  friend class ::CExprResolve;
6940
6723
  friend class ::WinIfExists;
6941
6724
  friend class ::WinImportHandler;
6942
6725
  friend class ::WinMacros;
6943
 
  friend class ::CMatchSyntax;
6944
 
  friend class ::ExtGnu;
 
6726
  friend class ::WinAsm;
 
6727
  friend class ::WinDeclSpecs;
 
6728
  friend class ::WinMemberExplSpec;
 
6729
  friend class ::WinTypeKeywords;
 
6730
  friend class ::WinFriend;
6945
6731
  friend class ::ExtAC;
6946
6732
  friend class ::ExtACBuilderCoupling;
6947
6733
  friend class ::ExtACSyntaxCoupling;
6948
6734
  friend class ::ExtACTree;
6949
6735
  friend class ::ExtACKeywords;
6950
 
  friend class ::WinAsm;
6951
 
  friend class ::WinDeclSpecs;
6952
 
  friend class ::WinMemberExplSpec;
6953
 
  friend class ::WinTypeKeywords;
 
6736
  friend class ::ExtGnu;
6954
6737
  friend class ::PragmaOnceUnitState;
6955
6738
  friend class ::PragmaOnce;
6956
 
  friend class ::CCExprResolve;
6957
 
  friend class ::CExprResolve;
 
6739
  friend class ::CMatchSyntax;
6958
6740
 
6959
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6741
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6960
6742
 
6961
6743
  // some constant strings
6962
6744
  DString _Line, _File, _Date, _Time, _IncLevel;
7011
6793
 
7012
6794
#endif /* __pre_parser_state__ */
7013
6795
 
7014
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
6796
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
7015
6797
 
7016
 
#line 7017 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6798
#line 6799 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7017
6799
 
7018
6800
#ifndef __ac_fwd_PragmaOnce__
7019
6801
#define __ac_fwd_PragmaOnce__
7020
6802
class PragmaOnce;
7021
6803
namespace AC {
7022
6804
  template <class JoinPoint>
7023
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
7024
 
  template <class JoinPoint>
7025
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
7026
 
  template <class JoinPoint, class Binding>
7027
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
7028
 
  template <class JoinPoint>
7029
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
6805
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
6806
  template <class JoinPoint>
 
6807
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
6808
  template <class JoinPoint>
 
6809
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
6810
  template <class JoinPoint>
 
6811
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
7030
6812
}
7031
6813
#endif
7032
6814
 
7033
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7034
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6815
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6816
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7035
6817
#endif
7036
6818
 
7037
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
6819
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
7038
6820
// This file is part of PUMA.
7039
6821
// Copyright (C) 1999-2003  The PUMA developer team.
7040
6822
//                                                                
7059
6841
// Preprocessor class to handle includes.
7060
6842
 
7061
6843
 
7062
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7063
 
 
7064
 
#line 7065 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6844
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
6845
 
 
6846
#line 6847 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
6847
 
 
6848
#ifndef __ac_fwd_PragmaOnce__
 
6849
#define __ac_fwd_PragmaOnce__
 
6850
class PragmaOnce;
 
6851
namespace AC {
 
6852
  template <class JoinPoint>
 
6853
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
6854
  template <class JoinPoint>
 
6855
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
6856
  template <class JoinPoint>
 
6857
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
6858
  template <class JoinPoint>
 
6859
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
6860
}
 
6861
#endif
 
6862
 
 
6863
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6864
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6865
#endif
7065
6866
 
7066
6867
#ifndef __ac_fwd_WinIfExists__
7067
6868
#define __ac_fwd_WinIfExists__
7068
6869
class WinIfExists;
7069
6870
namespace AC {
7070
6871
  template <class JoinPoint>
7071
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
 
6872
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
7072
6873
}
7073
6874
#endif
7074
6875
 
7075
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
7076
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
6876
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
6877
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
7077
6878
#endif
7078
6879
 
7079
6880
#ifndef __ac_fwd_WinImportHandler__
7080
6881
#define __ac_fwd_WinImportHandler__
7081
6882
class WinImportHandler;
7082
6883
namespace AC {
7083
 
  template <class JoinPoint, class Binding>
7084
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
7085
 
}
7086
 
#endif
7087
 
 
7088
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
7089
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
7090
 
#endif
7091
 
 
7092
 
#ifndef __ac_fwd_PragmaOnce__
7093
 
#define __ac_fwd_PragmaOnce__
7094
 
class PragmaOnce;
7095
 
namespace AC {
7096
 
  template <class JoinPoint>
7097
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
7098
 
  template <class JoinPoint>
7099
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
7100
 
  template <class JoinPoint, class Binding>
7101
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
7102
 
  template <class JoinPoint>
7103
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
7104
 
}
7105
 
#endif
7106
 
 
7107
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7108
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6884
  template <class JoinPoint>
 
6885
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
 
6886
}
 
6887
#endif
 
6888
 
 
6889
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
6890
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
7109
6891
#endif
7110
6892
 
7111
6893
#ifndef __ac_fwd_WinMacros__
7112
6894
#define __ac_fwd_WinMacros__
7113
6895
class WinMacros;
7114
6896
namespace AC {
7115
 
  template <class JoinPoint, class Binding>
7116
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
 
6897
  template <class JoinPoint>
 
6898
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
7117
6899
}
7118
6900
#endif
7119
6901
 
7120
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
7121
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
 
6902
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
6903
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
7122
6904
#endif
7123
6905
 
7124
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7125
 
 
7126
 
#line 7127 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7127
 
 
7128
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7129
 
// This file is part of PUMA.
7130
 
// Copyright (C) 1999-2003  The PUMA developer team.
7131
 
//                                                                
7132
 
// This program is free software;  you can redistribute it and/or 
7133
 
// modify it under the terms of the GNU General Public License as 
7134
 
// published by the Free Software Foundation; either version 2 of 
7135
 
// the License, or (at your option) any later version.            
7136
 
//                                                                
7137
 
// This program is distributed in the hope that it will be useful,
7138
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
7139
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
7140
 
// GNU General Public License for more details.                   
7141
 
//                                                                
7142
 
// You should have received a copy of the GNU General Public      
7143
 
// License along with this program; if not, write to the Free     
7144
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
7145
 
// MA  02111-1307  USA                                            
7146
 
 
7147
 
#ifndef __WinImportHandler__
7148
 
#define __WinImportHandler__
7149
 
 
7150
 
/********************************************************/
7151
 
/* Win #import directive support                        */
7152
 
/********************************************************/
7153
 
 
7154
 
 
7155
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7156
 
using namespace Puma;
7157
 
 
7158
 
 
7159
 
 
7160
 
#line 7161 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7161
 
class WinIfExists;
7162
 
class WinMacros;
7163
 
class CMatchSyntax;
7164
 
class ExtGnu;
7165
 
class ExtAC;
7166
 
class ExtACBuilderCoupling;
7167
 
class ExtACSyntaxCoupling;
7168
 
class ExtACTree;
7169
 
class ExtACKeywords;
7170
 
class WinAsm;
7171
 
class WinDeclSpecs;
7172
 
class WinMemberExplSpec;
7173
 
class WinTypeKeywords;
7174
 
class PragmaOnceUnitState;
7175
 
class PragmaOnce;
7176
 
class CCExprResolve;
7177
 
class CExprResolve;
7178
 
 
7179
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7180
 
class WinImportHandler {
7181
 
#line 7182 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7182
 
 
7183
 
public:
7184
 
  static WinImportHandler *aspectof () {
7185
 
    static WinImportHandler __instance;
7186
 
    return &__instance;
7187
 
  }
7188
 
  static WinImportHandler *aspectOf () {
7189
 
    return aspectof ();
7190
 
  }
7191
 
private:
7192
 
 
7193
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7194
 
 
7195
 
#line 7196 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7196
 
  friend class ::WinIfExists;
7197
 
  friend class ::WinMacros;
7198
 
  friend class ::CMatchSyntax;
7199
 
  friend class ::ExtGnu;
7200
 
  friend class ::ExtAC;
7201
 
  friend class ::ExtACBuilderCoupling;
7202
 
  friend class ::ExtACSyntaxCoupling;
7203
 
  friend class ::ExtACTree;
7204
 
  friend class ::ExtACKeywords;
7205
 
  friend class ::WinAsm;
7206
 
  friend class ::WinDeclSpecs;
7207
 
  friend class ::WinMemberExplSpec;
7208
 
  friend class ::WinTypeKeywords;
7209
 
  friend class ::PragmaOnceUnitState;
7210
 
  friend class ::PragmaOnce;
7211
 
  friend class ::CCExprResolve;
7212
 
  friend class ::CExprResolve;
7213
 
 
7214
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7215
 
 
7216
 
  /********************************************************/
7217
 
  /* Win #import directive                                */
7218
 
  /********************************************************/
7219
 
 
7220
 
  // pointcuts
7221
 
  
7222
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7223
 
 
7224
 
  
7225
 
  // add access method for _importHandler data member
7226
 
  
7227
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7228
 
 
7229
 
 
7230
 
  // handle --import-handler option
7231
 
  
7232
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7233
 
 
7234
 
public: template<class JoinPoint> void __a0_before 
7235
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7236
 
 
7237
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7238
 
(JoinPoint *tjp, const Config &config, bool process_includes)
7239
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7240
 
 {
7241
 
#line 7242 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7242
 
 
7243
 
  JoinPoint *&thisJoinPoint = tjp;
7244
 
 
7245
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7246
 
 
7247
 
#line 7248 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7248
 
 
7249
 
  typedef typename JoinPoint::That __JP_That;
7250
 
  typedef typename JoinPoint::Target __JP_Target;
7251
 
  typedef typename JoinPoint::Result __JP_Result;
7252
 
 
7253
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7254
 
 
7255
 
    const ConfOption *opt;
7256
 
    char *tmp;
7257
 
    
7258
 
    if (process_includes) {
7259
 
      opt = config.Option ("--import-handler");
7260
 
      if (opt && opt->Arguments ()) {
7261
 
        // delete old import handler
7262
 
        if (thisJoinPoint->that ()->_importHandler)
7263
 
          delete[] thisJoinPoint->that ()->_importHandler;
7264
 
        
7265
 
        // get new import handler
7266
 
        tmp = new char[strlen (opt->Argument (0))+1];
7267
 
        strcpy (tmp, opt->Argument (0));
7268
 
        thisJoinPoint->that ()->_importHandler = tmp;
7269
 
      }
7270
 
    }
7271
 
  }
7272
 
#line 7273 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7273
 
 
7274
 
private:
7275
 
 
7276
 
#line 66 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7277
 
 
7278
 
 
7279
 
protected:
7280
 
  WinImportHandler () {}
7281
 
};
7282
 
#line 7283 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7283
 
 
7284
 
namespace AC {
7285
 
  template <class JoinPoint, class Binding>
7286
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
7287
 
    typedef typename Binding::template Arg<0> Arg0;
7288
 
    typedef typename Binding::template Arg<1> Arg1;
7289
 
    ::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
7290
 
  }
7291
 
7292
 
 
7293
 
#line 70 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7294
 
 
7295
 
 
7296
 
 
7297
 
#endif /* __WinImportHandler__ */
7298
 
 
7299
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7300
 
// This file is part of PUMA.
7301
 
// Copyright (C) 1999-2003  The PUMA developer team.
7302
 
//                                                                
7303
 
// This program is free software;  you can redistribute it and/or 
7304
 
// modify it under the terms of the GNU General Public License as 
7305
 
// published by the Free Software Foundation; either version 2 of 
7306
 
// the License, or (at your option) any later version.            
7307
 
//                                                                
7308
 
// This program is distributed in the hope that it will be useful,
7309
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
7310
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
7311
 
// GNU General Public License for more details.                   
7312
 
//                                                                
7313
 
// You should have received a copy of the GNU General Public      
7314
 
// License along with this program; if not, write to the Free     
7315
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
7316
 
// MA  02111-1307  USA                                            
7317
 
 
7318
 
#ifndef __PragmaOnce__
7319
 
#define __PragmaOnce__
7320
 
 
7321
 
/********************************************************/
7322
 
/* Win #pragma once support aspect                      */
7323
 
/********************************************************/
7324
 
 
7325
 
 
7326
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7327
 
using std::cout;
7328
 
using std::endl;
7329
 
 
7330
 
 
7331
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7332
 
using namespace Puma;
7333
 
 
7334
 
 
7335
 
 
7336
 
#line 7337 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7337
 
class WinIfExists;
7338
 
class WinImportHandler;
7339
 
class WinMacros;
7340
 
class CMatchSyntax;
7341
 
class ExtGnu;
7342
 
class ExtAC;
7343
 
class ExtACBuilderCoupling;
7344
 
class ExtACSyntaxCoupling;
7345
 
class ExtACTree;
7346
 
class ExtACKeywords;
7347
 
class WinAsm;
7348
 
class WinDeclSpecs;
7349
 
class WinMemberExplSpec;
7350
 
class WinTypeKeywords;
7351
 
class PragmaOnceUnitState;
7352
 
class CCExprResolve;
7353
 
class CExprResolve;
7354
 
 
7355
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7356
 
class PragmaOnce {
7357
 
#line 7358 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7358
 
 
7359
 
public:
7360
 
  static PragmaOnce *aspectof () {
7361
 
    static PragmaOnce __instance;
7362
 
    return &__instance;
7363
 
  }
7364
 
  static PragmaOnce *aspectOf () {
7365
 
    return aspectof ();
7366
 
  }
7367
 
private:
7368
 
 
7369
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7370
 
 
7371
 
#line 7372 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7372
 
  friend class ::WinIfExists;
7373
 
  friend class ::WinImportHandler;
7374
 
  friend class ::WinMacros;
7375
 
  friend class ::CMatchSyntax;
7376
 
  friend class ::ExtGnu;
7377
 
  friend class ::ExtAC;
7378
 
  friend class ::ExtACBuilderCoupling;
7379
 
  friend class ::ExtACSyntaxCoupling;
7380
 
  friend class ::ExtACTree;
7381
 
  friend class ::ExtACKeywords;
7382
 
  friend class ::WinAsm;
7383
 
  friend class ::WinDeclSpecs;
7384
 
  friend class ::WinMemberExplSpec;
7385
 
  friend class ::WinTypeKeywords;
7386
 
  friend class ::PragmaOnceUnitState;
7387
 
  friend class ::CCExprResolve;
7388
 
  friend class ::CExprResolve;
7389
 
 
7390
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7391
 
 
7392
 
  /******************************************************/
7393
 
  /* detect #pragma once in the token stream of cpp     */
7394
 
  /******************************************************/
7395
 
 
7396
 
  // pointcut definitions
7397
 
  
7398
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7399
 
 
7400
 
  
7401
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7402
 
 
7403
 
  
7404
 
  // extend the preprocessor parser by the filter state
7405
 
  
7406
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7407
 
 
7408
 
 
7409
 
  // initialize the filter state
7410
 
  
7411
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7412
 
 
7413
 
public: template<class JoinPoint> void __a0_after 
7414
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7415
 
 
7416
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7417
 
(JoinPoint *tjp)
7418
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7419
 
 {
7420
 
#line 7421 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7421
 
 
7422
 
  typedef typename JoinPoint::That __JP_That;
7423
 
  typedef typename JoinPoint::Target __JP_Target;
7424
 
  typedef typename JoinPoint::Result __JP_Result;
7425
 
 
7426
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7427
 
 
7428
 
    // TODO: it would be better to have construction advice -> but in lem file
7429
 
    tjp->that ()->_pragma_token = 0;
7430
 
  }
7431
 
#line 7432 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7432
 
 
7433
 
private:
7434
 
 
7435
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7436
 
 
7437
 
  
7438
 
  // filter #pragma once
7439
 
  
7440
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7441
 
 
7442
 
public: template<class JoinPoint> void __a1_after 
7443
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7444
 
 
7445
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7446
 
(JoinPoint *tjp)
7447
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7448
 
 {
7449
 
#line 7450 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7450
 
 
7451
 
  typedef typename JoinPoint::That __JP_That;
7452
 
  typedef typename JoinPoint::Target __JP_Target;
7453
 
  typedef typename JoinPoint::Result __JP_Result;
7454
 
 
7455
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7456
 
 
7457
 
    Token *tok = *tjp->result ();
7458
 
    __JP_That
7459
 
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7460
 
 &that = *tjp->that ();
7461
 
    if (!tok || !tok->is_directive ()) {
7462
 
      that._pragma_token = 0;
7463
 
      return;
7464
 
    }
7465
 
    if (strcmp ("#pragma", tok->text ()) == 0) {
7466
 
      that._pragma_token = tok;
7467
 
    }
7468
 
    else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
7469
 
      Unit *unit = (Unit*)tok->belonging_to ();
7470
 
      assert (unit);
7471
 
      unit->state ().onlyOnce (true);
7472
 
    }
7473
 
  }
7474
 
#line 7475 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7475
 
 
7476
 
private:
7477
 
 
7478
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7479
 
 
7480
 
  
7481
 
  /********************************************************/
7482
 
  /* block the handling of pragma once files              */
7483
 
  /********************************************************/
7484
 
 
7485
 
  // don't let file includer include files twice
7486
 
  // to be precise: the file is included again, but the inclusion produces
7487
 
  // no tokens
7488
 
  
7489
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7490
 
 
7491
 
public: template<class JoinPoint> void __a2_around 
7492
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7493
 
 
7494
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7495
 
(JoinPoint *tjp, Unit *unit)
7496
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7497
 
 {
7498
 
#line 7499 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7499
 
 
7500
 
  typedef typename JoinPoint::That __JP_That;
7501
 
  typedef typename JoinPoint::Target __JP_Target;
7502
 
  typedef typename JoinPoint::Result __JP_Result;
7503
 
 
7504
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7505
 
 
7506
 
    if (! unit || ! unit->state ().onlyOnce ())
7507
 
      tjp->proceed ();
7508
 
  }
7509
 
#line 7510 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7510
 
 
7511
 
private:
7512
 
 
7513
 
#line 83 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7514
 
 
7515
 
 
7516
 
  // includeFile shall return 0 if the file was not included
7517
 
  
7518
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7519
 
 
7520
 
public: template<class JoinPoint> void __a3_after 
7521
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7522
 
 
7523
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7524
 
(JoinPoint *tjp)
7525
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7526
 
 {
7527
 
#line 7528 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7528
 
 
7529
 
  typedef typename JoinPoint::That __JP_That;
7530
 
  typedef typename JoinPoint::Target __JP_Target;
7531
 
  typedef typename JoinPoint::Result __JP_Result;
7532
 
 
7533
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7534
 
 
7535
 
    Unit *&unit = *tjp->result ();
7536
 
    if (unit && unit->state ().onlyOnce ())
7537
 
      unit = 0;
7538
 
  }
7539
 
#line 7540 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7540
 
 
7541
 
private:
7542
 
 
7543
 
#line 91 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7544
 
 
7545
 
    
7546
 
protected:
7547
 
  // this aspect should never be instantiated directly
7548
 
  PragmaOnce () {}
7549
 
};
7550
 
#line 7551 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7551
 
 
7552
 
namespace AC {
7553
 
  template <class JoinPoint>
7554
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
7555
 
    ::PragmaOnce::aspectof()->__a0_after (tjp);
7556
 
  }
7557
 
  template <class JoinPoint>
7558
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
7559
 
    ::PragmaOnce::aspectof()->__a1_after (tjp);
7560
 
  }
7561
 
  template <class JoinPoint, class Binding>
7562
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
7563
 
    typedef typename Binding::template Arg<0> Arg0;
7564
 
    ::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
7565
 
  }
7566
 
  template <class JoinPoint>
7567
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
7568
 
    ::PragmaOnce::aspectof()->__a3_after (tjp);
7569
 
  }
7570
 
7571
 
 
7572
 
#line 96 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7573
 
 
7574
 
 
7575
 
 
7576
 
#endif /* __PragmaOnce__ */
7577
 
 
7578
 
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7579
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7580
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7581
 
 
7582
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
6906
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7583
6907
// This file is part of PUMA.
7584
6908
// Copyright (C) 1999-2003  The PUMA developer team.
7585
6909
//                                                                
7605
6929
// be added last to the composite parser of a translation unit !!!
7606
6930
 
7607
6931
 
7608
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
7609
 
 
7610
 
#line 7611 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
6932
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6933
// This file is part of PUMA.
 
6934
// Copyright (C) 1999-2003  The PUMA developer team.
 
6935
//                                                                
 
6936
// This program is free software;  you can redistribute it and/or 
 
6937
// modify it under the terms of the GNU General Public License as 
 
6938
// published by the Free Software Foundation; either version 2 of 
 
6939
// the License, or (at your option) any later version.            
 
6940
//                                                                
 
6941
// This program is distributed in the hope that it will be useful,
 
6942
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
6943
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
6944
// GNU General Public License for more details.                   
 
6945
//                                                                
 
6946
// You should have received a copy of the GNU General Public      
 
6947
// License along with this program; if not, write to the Free     
 
6948
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
6949
// MA  02111-1307  USA                                            
 
6950
 
 
6951
#ifndef __stack_h__
 
6952
#define __stack_h__
 
6953
 
 
6954
 
 
6955
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6956
namespace Puma {
 
6957
 
 
6958
template <class Item>
 
6959
class Stack : private Array<Item> {
 
6960
public:
 
6961
  Stack (long is = 8192, long incr = 8192) :
 
6962
    Array<Item> (is, incr) {}
 
6963
  void push (Item f) { Array<Item>::append (f); }
 
6964
  Item &top () const { long len = Array<Item>::length ()-1; 
 
6965
                       return Array<Item>::lookup (len >= 0 ? len : 0); }
 
6966
  void pop () { Array<Item>::remove (Array<Item>::length () - 1); }
 
6967
  long length () const { return Array<Item>::length (); }
 
6968
  void reset () { Array<Item>::reset (); }
 
6969
};
 
6970
 
 
6971
} // namespace Puma
 
6972
 
 
6973
#endif /* __stack_h__ */
 
6974
 
 
6975
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6976
 
 
6977
#line 6978 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7611
6978
 
7612
6979
#ifndef __ac_fwd_ExtACKeywords__
7613
6980
#define __ac_fwd_ExtACKeywords__
7614
6981
class ExtACKeywords;
7615
6982
namespace AC {
7616
 
  template <class JoinPoint, class Binding>
7617
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
7618
 
  template <class JoinPoint, class Binding>
7619
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
7620
 
  template <class JoinPoint>
7621
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
6983
  template <class JoinPoint>
 
6984
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
6985
  template <class JoinPoint>
 
6986
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
6987
  template <class JoinPoint>
 
6988
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
7622
6989
}
7623
6990
#endif
7624
6991
 
7625
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7626
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6992
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6993
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7627
6994
#endif
7628
6995
 
7629
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6996
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7630
6997
// This file is part of PUMA.
7631
6998
// Copyright (C) 1999-2003  The PUMA developer team.
7632
6999
//                                                                
7663
7030
class Token;
7664
7031
 
7665
7032
 
7666
 
#line 7667 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7033
#line 7034 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7667
7034
} // closed Puma
 
7035
class CCExprResolve;
 
7036
class CExprResolve;
7668
7037
class WinIfExists;
7669
7038
class WinImportHandler;
7670
7039
class WinMacros;
7671
 
class CMatchSyntax;
7672
 
class ExtGnu;
 
7040
class WinAsm;
 
7041
class WinDeclSpecs;
 
7042
class WinMemberExplSpec;
 
7043
class WinTypeKeywords;
 
7044
class WinFriend;
7673
7045
class ExtAC;
7674
7046
class ExtACBuilderCoupling;
7675
7047
class ExtACSyntaxCoupling;
7676
7048
class ExtACTree;
7677
7049
class ExtACKeywords;
7678
 
class WinAsm;
7679
 
class WinDeclSpecs;
7680
 
class WinMemberExplSpec;
7681
 
class WinTypeKeywords;
 
7050
class ExtGnu;
7682
7051
class PragmaOnceUnitState;
7683
7052
class PragmaOnce;
7684
 
class CCExprResolve;
7685
 
class CExprResolve;
 
7053
class CMatchSyntax;
7686
7054
namespace Puma {
7687
7055
 
7688
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7056
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7689
7057
class CScanner : public CRecognizer, public Tokenizer {
7690
 
#line 7691 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7058
#line 7059 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7059
  friend class ::CCExprResolve;
 
7060
  friend class ::CExprResolve;
7691
7061
  friend class ::WinIfExists;
7692
7062
  friend class ::WinImportHandler;
7693
7063
  friend class ::WinMacros;
7694
 
  friend class ::CMatchSyntax;
7695
 
  friend class ::ExtGnu;
 
7064
  friend class ::WinAsm;
 
7065
  friend class ::WinDeclSpecs;
 
7066
  friend class ::WinMemberExplSpec;
 
7067
  friend class ::WinTypeKeywords;
 
7068
  friend class ::WinFriend;
7696
7069
  friend class ::ExtAC;
7697
7070
  friend class ::ExtACBuilderCoupling;
7698
7071
  friend class ::ExtACSyntaxCoupling;
7699
7072
  friend class ::ExtACTree;
7700
7073
  friend class ::ExtACKeywords;
7701
 
  friend class ::WinAsm;
7702
 
  friend class ::WinDeclSpecs;
7703
 
  friend class ::WinMemberExplSpec;
7704
 
  friend class ::WinTypeKeywords;
 
7074
  friend class ::ExtGnu;
7705
7075
  friend class ::PragmaOnceUnitState;
7706
7076
  friend class ::PragmaOnce;
7707
 
  friend class ::CCExprResolve;
7708
 
  friend class ::CExprResolve;
 
7077
  friend class ::CMatchSyntax;
7709
7078
 
7710
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7079
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7711
7080
 
7712
7081
  Location loc;
7713
7082
  ErrorSink &err;
7722
7091
  virtual ~CScanner () {}
7723
7092
  void configure (const Config &);
7724
7093
  
7725
 
#line 7726 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7726
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
7094
#line 7095 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7095
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
7727
7096
 
7728
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7097
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7729
7098
void fill_unit (Source &in, Unit &unit);
7730
7099
  
7731
 
#line 7732 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7732
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
7100
#line 7101 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7101
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
7733
7102
 
7734
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7103
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7735
7104
void fill_unit (const char *in, Unit &unit);
7736
7105
};
7737
7106
 
7740
7109
 
7741
7110
#endif /* __c_scanner_h__ */
7742
7111
 
7743
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
7112
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7744
7113
// This file is part of PUMA.
7745
7114
// Copyright (C) 1999-2003  The PUMA developer team.
7746
7115
//                                                                
7763
7132
#define __c_unit_h__
7764
7133
 
7765
7134
 
7766
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7135
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7767
7136
 
7768
 
#line 7769 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7137
#line 7138 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7769
7138
 
7770
7139
#ifndef __ac_fwd_ExtACKeywords__
7771
7140
#define __ac_fwd_ExtACKeywords__
7772
7141
class ExtACKeywords;
7773
7142
namespace AC {
7774
 
  template <class JoinPoint, class Binding>
7775
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
7776
 
  template <class JoinPoint, class Binding>
7777
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
7778
 
  template <class JoinPoint>
7779
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
7143
  template <class JoinPoint>
 
7144
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
7145
  template <class JoinPoint>
 
7146
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
7147
  template <class JoinPoint>
 
7148
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
7780
7149
}
7781
7150
#endif
7782
7151
 
7783
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7784
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
7152
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
7153
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7785
7154
#endif
7786
7155
 
7787
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7156
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7788
7157
// This file is part of PUMA.
7789
7158
// Copyright (C) 1999-2003  The PUMA developer team.
7790
7159
//                                                                
7821
7190
class Token;
7822
7191
 
7823
7192
 
7824
 
#line 7825 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7193
#line 7194 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7825
7194
} // closed Puma
 
7195
class CCExprResolve;
 
7196
class CExprResolve;
7826
7197
class WinIfExists;
7827
7198
class WinImportHandler;
7828
7199
class WinMacros;
7829
 
class CMatchSyntax;
7830
 
class ExtGnu;
 
7200
class WinAsm;
 
7201
class WinDeclSpecs;
 
7202
class WinMemberExplSpec;
 
7203
class WinTypeKeywords;
 
7204
class WinFriend;
7831
7205
class ExtAC;
7832
7206
class ExtACBuilderCoupling;
7833
7207
class ExtACSyntaxCoupling;
7834
7208
class ExtACTree;
7835
7209
class ExtACKeywords;
7836
 
class WinAsm;
7837
 
class WinDeclSpecs;
7838
 
class WinMemberExplSpec;
7839
 
class WinTypeKeywords;
 
7210
class ExtGnu;
7840
7211
class PragmaOnceUnitState;
7841
7212
class PragmaOnce;
7842
 
class CCExprResolve;
7843
 
class CExprResolve;
 
7213
class CMatchSyntax;
7844
7214
namespace Puma {
7845
7215
 
7846
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7216
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7847
7217
class CScanner : public CRecognizer, public Tokenizer {
7848
 
#line 7849 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7218
#line 7219 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7219
  friend class ::CCExprResolve;
 
7220
  friend class ::CExprResolve;
7849
7221
  friend class ::WinIfExists;
7850
7222
  friend class ::WinImportHandler;
7851
7223
  friend class ::WinMacros;
7852
 
  friend class ::CMatchSyntax;
7853
 
  friend class ::ExtGnu;
 
7224
  friend class ::WinAsm;
 
7225
  friend class ::WinDeclSpecs;
 
7226
  friend class ::WinMemberExplSpec;
 
7227
  friend class ::WinTypeKeywords;
 
7228
  friend class ::WinFriend;
7854
7229
  friend class ::ExtAC;
7855
7230
  friend class ::ExtACBuilderCoupling;
7856
7231
  friend class ::ExtACSyntaxCoupling;
7857
7232
  friend class ::ExtACTree;
7858
7233
  friend class ::ExtACKeywords;
7859
 
  friend class ::WinAsm;
7860
 
  friend class ::WinDeclSpecs;
7861
 
  friend class ::WinMemberExplSpec;
7862
 
  friend class ::WinTypeKeywords;
 
7234
  friend class ::ExtGnu;
7863
7235
  friend class ::PragmaOnceUnitState;
7864
7236
  friend class ::PragmaOnce;
7865
 
  friend class ::CCExprResolve;
7866
 
  friend class ::CExprResolve;
 
7237
  friend class ::CMatchSyntax;
7867
7238
 
7868
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7239
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7869
7240
 
7870
7241
  Location loc;
7871
7242
  ErrorSink &err;
7880
7251
  virtual ~CScanner () {}
7881
7252
  void configure (const Config &);
7882
7253
  
7883
 
#line 7884 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7884
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
7254
#line 7255 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7255
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
7885
7256
 
7886
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7257
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7887
7258
void fill_unit (Source &in, Unit &unit);
7888
7259
  
7889
 
#line 7890 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7890
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
7260
#line 7261 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7261
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
7891
7262
 
7892
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7263
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7893
7264
void fill_unit (const char *in, Unit &unit);
7894
7265
};
7895
7266
 
7898
7269
 
7899
7270
#endif /* __c_scanner_h__ */
7900
7271
 
7901
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
7272
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7902
7273
using namespace std;
7903
7274
 
7904
7275
namespace Puma {
7905
7276
 
7906
7277
 
7907
7278
 
7908
 
#line 7909 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7279
#line 7280 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7909
7280
} // closed Puma
 
7281
class CCExprResolve;
 
7282
class CExprResolve;
7910
7283
class WinIfExists;
7911
7284
class WinImportHandler;
7912
7285
class WinMacros;
7913
 
class CMatchSyntax;
7914
 
class ExtGnu;
 
7286
class WinAsm;
 
7287
class WinDeclSpecs;
 
7288
class WinMemberExplSpec;
 
7289
class WinTypeKeywords;
 
7290
class WinFriend;
7915
7291
class ExtAC;
7916
7292
class ExtACBuilderCoupling;
7917
7293
class ExtACSyntaxCoupling;
7918
7294
class ExtACTree;
7919
7295
class ExtACKeywords;
7920
 
class WinAsm;
7921
 
class WinDeclSpecs;
7922
 
class WinMemberExplSpec;
7923
 
class WinTypeKeywords;
 
7296
class ExtGnu;
7924
7297
class PragmaOnceUnitState;
7925
7298
class PragmaOnce;
7926
 
class CCExprResolve;
7927
 
class CExprResolve;
 
7299
class CMatchSyntax;
7928
7300
namespace Puma {
7929
7301
 
7930
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
7302
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7931
7303
class CUnit : public Unit, public std::ostringstream {
7932
 
#line 7933 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7304
#line 7305 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7305
  friend class ::CCExprResolve;
 
7306
  friend class ::CExprResolve;
7933
7307
  friend class ::WinIfExists;
7934
7308
  friend class ::WinImportHandler;
7935
7309
  friend class ::WinMacros;
7936
 
  friend class ::CMatchSyntax;
7937
 
  friend class ::ExtGnu;
 
7310
  friend class ::WinAsm;
 
7311
  friend class ::WinDeclSpecs;
 
7312
  friend class ::WinMemberExplSpec;
 
7313
  friend class ::WinTypeKeywords;
 
7314
  friend class ::WinFriend;
7938
7315
  friend class ::ExtAC;
7939
7316
  friend class ::ExtACBuilderCoupling;
7940
7317
  friend class ::ExtACSyntaxCoupling;
7941
7318
  friend class ::ExtACTree;
7942
7319
  friend class ::ExtACKeywords;
7943
 
  friend class ::WinAsm;
7944
 
  friend class ::WinDeclSpecs;
7945
 
  friend class ::WinMemberExplSpec;
7946
 
  friend class ::WinTypeKeywords;
 
7320
  friend class ::ExtGnu;
7947
7321
  friend class ::PragmaOnceUnitState;
7948
7322
  friend class ::PragmaOnce;
7949
 
  friend class ::CCExprResolve;
7950
 
  friend class ::CExprResolve;
 
7323
  friend class ::CMatchSyntax;
7951
7324
 
7952
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
7325
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7953
7326
 
7954
7327
  CScanner _scanner;
7955
7328
 
7971
7344
 
7972
7345
#endif /* __c_unit_h__ */
7973
7346
 
7974
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7347
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
7975
7348
// This file is part of PUMA.
7976
7349
// Copyright (C) 1999-2003  The PUMA developer team.
7977
7350
//                                                                
7997
7370
// all macros of a given string or unit.
7998
7371
 
7999
7372
 
8000
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7373
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
8001
7374
using std::set;
8002
7375
 
8003
7376
 
8004
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7377
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
8005
7378
// This file is part of PUMA.
8006
7379
// Copyright (C) 1999-2003  The PUMA developer team.
8007
7380
//                                                                
8024
7397
#define __pre_arg_desc__
8025
7398
 
8026
7399
 
8027
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
7400
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
8028
7401
// This file is part of PUMA.
8029
7402
// Copyright (C) 1999-2003  The PUMA developer team.
8030
7403
//                                                                
8049
7422
// Special unit for macro expansions
8050
7423
 
8051
7424
 
8052
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
7425
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
8053
7426
namespace Puma {
8054
7427
 
8055
7428
 
8056
7429
 
8057
 
#line 8058 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7430
#line 7431 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8058
7431
} // closed Puma
 
7432
class CCExprResolve;
 
7433
class CExprResolve;
8059
7434
class WinIfExists;
8060
7435
class WinImportHandler;
8061
7436
class WinMacros;
8062
 
class CMatchSyntax;
8063
 
class ExtGnu;
 
7437
class WinAsm;
 
7438
class WinDeclSpecs;
 
7439
class WinMemberExplSpec;
 
7440
class WinTypeKeywords;
 
7441
class WinFriend;
8064
7442
class ExtAC;
8065
7443
class ExtACBuilderCoupling;
8066
7444
class ExtACSyntaxCoupling;
8067
7445
class ExtACTree;
8068
7446
class ExtACKeywords;
8069
 
class WinAsm;
8070
 
class WinDeclSpecs;
8071
 
class WinMemberExplSpec;
8072
 
class WinTypeKeywords;
 
7447
class ExtGnu;
8073
7448
class PragmaOnceUnitState;
8074
7449
class PragmaOnce;
8075
 
class CCExprResolve;
8076
 
class CExprResolve;
 
7450
class CMatchSyntax;
8077
7451
namespace Puma {
8078
7452
 
8079
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
7453
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
8080
7454
class MacroUnit : public Unit {
8081
 
#line 8082 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7455
#line 7456 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7456
  friend class ::CCExprResolve;
 
7457
  friend class ::CExprResolve;
8082
7458
  friend class ::WinIfExists;
8083
7459
  friend class ::WinImportHandler;
8084
7460
  friend class ::WinMacros;
8085
 
  friend class ::CMatchSyntax;
8086
 
  friend class ::ExtGnu;
 
7461
  friend class ::WinAsm;
 
7462
  friend class ::WinDeclSpecs;
 
7463
  friend class ::WinMemberExplSpec;
 
7464
  friend class ::WinTypeKeywords;
 
7465
  friend class ::WinFriend;
8087
7466
  friend class ::ExtAC;
8088
7467
  friend class ::ExtACBuilderCoupling;
8089
7468
  friend class ::ExtACSyntaxCoupling;
8090
7469
  friend class ::ExtACTree;
8091
7470
  friend class ::ExtACKeywords;
8092
 
  friend class ::WinAsm;
8093
 
  friend class ::WinDeclSpecs;
8094
 
  friend class ::WinMemberExplSpec;
8095
 
  friend class ::WinTypeKeywords;
 
7471
  friend class ::ExtGnu;
8096
7472
  friend class ::PragmaOnceUnitState;
8097
7473
  friend class ::PragmaOnce;
8098
 
  friend class ::CCExprResolve;
8099
 
  friend class ::CExprResolve;
 
7474
  friend class ::CMatchSyntax;
8100
7475
 
8101
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
7476
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
8102
7477
 
8103
7478
  Unit *_CallingUnit;
8104
7479
  Token *_StartToken;
8135
7510
 
8136
7511
#endif /* __MacroUnit__ */
8137
7512
 
8138
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7513
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
8139
7514
namespace Puma {
8140
7515
 
8141
7516
 
8142
7517
 
8143
 
#line 8144 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7518
#line 7519 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8144
7519
} // closed Puma
 
7520
class CCExprResolve;
 
7521
class CExprResolve;
8145
7522
class WinIfExists;
8146
7523
class WinImportHandler;
8147
7524
class WinMacros;
8148
 
class CMatchSyntax;
8149
 
class ExtGnu;
 
7525
class WinAsm;
 
7526
class WinDeclSpecs;
 
7527
class WinMemberExplSpec;
 
7528
class WinTypeKeywords;
 
7529
class WinFriend;
8150
7530
class ExtAC;
8151
7531
class ExtACBuilderCoupling;
8152
7532
class ExtACSyntaxCoupling;
8153
7533
class ExtACTree;
8154
7534
class ExtACKeywords;
8155
 
class WinAsm;
8156
 
class WinDeclSpecs;
8157
 
class WinMemberExplSpec;
8158
 
class WinTypeKeywords;
 
7535
class ExtGnu;
8159
7536
class PragmaOnceUnitState;
8160
7537
class PragmaOnce;
8161
 
class CCExprResolve;
8162
 
class CExprResolve;
 
7538
class CMatchSyntax;
8163
7539
namespace Puma {
8164
7540
 
8165
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7541
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
8166
7542
class PreArgDesc {
8167
 
#line 8168 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7543
#line 7544 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7544
  friend class ::CCExprResolve;
 
7545
  friend class ::CExprResolve;
8168
7546
  friend class ::WinIfExists;
8169
7547
  friend class ::WinImportHandler;
8170
7548
  friend class ::WinMacros;
8171
 
  friend class ::CMatchSyntax;
8172
 
  friend class ::ExtGnu;
 
7549
  friend class ::WinAsm;
 
7550
  friend class ::WinDeclSpecs;
 
7551
  friend class ::WinMemberExplSpec;
 
7552
  friend class ::WinTypeKeywords;
 
7553
  friend class ::WinFriend;
8173
7554
  friend class ::ExtAC;
8174
7555
  friend class ::ExtACBuilderCoupling;
8175
7556
  friend class ::ExtACSyntaxCoupling;
8176
7557
  friend class ::ExtACTree;
8177
7558
  friend class ::ExtACKeywords;
8178
 
  friend class ::WinAsm;
8179
 
  friend class ::WinDeclSpecs;
8180
 
  friend class ::WinMemberExplSpec;
8181
 
  friend class ::WinTypeKeywords;
 
7559
  friend class ::ExtGnu;
8182
7560
  friend class ::PragmaOnceUnitState;
8183
7561
  friend class ::PragmaOnce;
8184
 
  friend class ::CCExprResolve;
8185
 
  friend class ::CExprResolve;
 
7562
  friend class ::CMatchSyntax;
8186
7563
 
8187
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7564
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
8188
7565
 
8189
7566
  // Collected arguments of a function-like macro.
8190
7567
  Array<MacroUnit> m_Args;
8213
7590
 
8214
7591
#endif /* __pre_arg_desc__ */
8215
7592
 
8216
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7593
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
8217
7594
namespace Puma {
8218
7595
 
8219
7596
 
8226
7603
class PreMacro;
8227
7604
 
8228
7605
 
8229
 
#line 8230 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7606
#line 7607 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8230
7607
} // closed Puma
 
7608
class CCExprResolve;
 
7609
class CExprResolve;
8231
7610
class WinIfExists;
8232
7611
class WinImportHandler;
8233
7612
class WinMacros;
8234
 
class CMatchSyntax;
8235
 
class ExtGnu;
 
7613
class WinAsm;
 
7614
class WinDeclSpecs;
 
7615
class WinMemberExplSpec;
 
7616
class WinTypeKeywords;
 
7617
class WinFriend;
8236
7618
class ExtAC;
8237
7619
class ExtACBuilderCoupling;
8238
7620
class ExtACSyntaxCoupling;
8239
7621
class ExtACTree;
8240
7622
class ExtACKeywords;
8241
 
class WinAsm;
8242
 
class WinDeclSpecs;
8243
 
class WinMemberExplSpec;
8244
 
class WinTypeKeywords;
 
7623
class ExtGnu;
8245
7624
class PragmaOnceUnitState;
8246
7625
class PragmaOnce;
8247
 
class CCExprResolve;
8248
 
class CExprResolve;
 
7626
class CMatchSyntax;
8249
7627
namespace Puma {
8250
7628
 
8251
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7629
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
8252
7630
class PreMacroExpander {
8253
 
#line 8254 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
7631
#line 7632 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7632
  friend class ::CCExprResolve;
 
7633
  friend class ::CExprResolve;
8254
7634
  friend class ::WinIfExists;
8255
7635
  friend class ::WinImportHandler;
8256
7636
  friend class ::WinMacros;
8257
 
  friend class ::CMatchSyntax;
8258
 
  friend class ::ExtGnu;
 
7637
  friend class ::WinAsm;
 
7638
  friend class ::WinDeclSpecs;
 
7639
  friend class ::WinMemberExplSpec;
 
7640
  friend class ::WinTypeKeywords;
 
7641
  friend class ::WinFriend;
8259
7642
  friend class ::ExtAC;
8260
7643
  friend class ::ExtACBuilderCoupling;
8261
7644
  friend class ::ExtACSyntaxCoupling;
8262
7645
  friend class ::ExtACTree;
8263
7646
  friend class ::ExtACKeywords;
8264
 
  friend class ::WinAsm;
8265
 
  friend class ::WinDeclSpecs;
8266
 
  friend class ::WinMemberExplSpec;
8267
 
  friend class ::WinTypeKeywords;
 
7647
  friend class ::ExtGnu;
8268
7648
  friend class ::PragmaOnceUnitState;
8269
7649
  friend class ::PragmaOnce;
8270
 
  friend class ::CCExprResolve;
8271
 
  friend class ::CExprResolve;
 
7650
  friend class ::CMatchSyntax;
8272
7651
 
8273
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7652
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
8274
7653
 
8275
7654
  TokenStream        *_scanner;
8276
7655
  PreMacroManager    *_macroManager;
8335
7714
  // Push unit on token stream.
8336
7715
  void pushUnit (TokenStream &, Unit *) const;
8337
7716
 
 
7717
  // Get the next non-whitespace non-comment token
 
7718
  Token* nextPreprocessingToken (Token*, Unit*) const;
 
7719
 
 
7720
  // Get the previous non-whitespace non-comment token
 
7721
  Token* prevPreprocessingToken (Token*, Unit*) const;
 
7722
 
 
7723
  // Check if the given unit contains only spaces and comments.
 
7724
  bool onlySpacesAndComments (MacroUnit&) const;
 
7725
 
8338
7726
public:
8339
7727
  // Special constructor. Call reset() before using the expander.
8340
7728
  PreMacroExpander ();
8361
7749
 
8362
7750
#endif /* __pre_macro_expander__ */
8363
7751
 
8364
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7752
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8365
7753
using namespace std;
8366
7754
 
8367
7755
namespace Puma {
8378
7766
class PrePredicateManager;
8379
7767
 
8380
7768
 
8381
 
#line 8382 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8382
 
} // closed Puma
8383
 
class WinIfExists;
8384
 
class WinImportHandler;
8385
 
class WinMacros;
8386
 
class CMatchSyntax;
8387
 
class ExtGnu;
8388
 
class ExtAC;
8389
 
class ExtACBuilderCoupling;
8390
 
class ExtACSyntaxCoupling;
8391
 
class ExtACTree;
8392
 
class ExtACKeywords;
8393
 
class WinAsm;
8394
 
class WinDeclSpecs;
8395
 
class WinMemberExplSpec;
8396
 
class WinTypeKeywords;
8397
 
class PragmaOnceUnitState;
8398
 
class PragmaOnce;
8399
 
class CCExprResolve;
8400
 
class CExprResolve;
8401
 
namespace Puma {
8402
 
 
8403
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7769
#line 7770 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7770
} // closed Puma
 
7771
class CCExprResolve;
 
7772
class CExprResolve;
 
7773
class WinIfExists;
 
7774
class WinImportHandler;
 
7775
class WinMacros;
 
7776
class WinAsm;
 
7777
class WinDeclSpecs;
 
7778
class WinMemberExplSpec;
 
7779
class WinTypeKeywords;
 
7780
class WinFriend;
 
7781
class ExtAC;
 
7782
class ExtACBuilderCoupling;
 
7783
class ExtACSyntaxCoupling;
 
7784
class ExtACTree;
 
7785
class ExtACKeywords;
 
7786
class ExtGnu;
 
7787
class PragmaOnceUnitState;
 
7788
class PragmaOnce;
 
7789
class CMatchSyntax;
 
7790
namespace Puma {
 
7791
 
 
7792
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7793
 
 
7794
#line 7795 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7795
} // closed Puma
 
7796
 
 
7797
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
7798
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
7799
 
 
7800
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7801
// This file is part of PUMA.
 
7802
// Copyright (C) 1999-2003  The PUMA developer team.
 
7803
//                                                                
 
7804
// This program is free software;  you can redistribute it and/or 
 
7805
// modify it under the terms of the GNU General Public License as 
 
7806
// published by the Free Software Foundation; either version 2 of 
 
7807
// the License, or (at your option) any later version.            
 
7808
//                                                                
 
7809
// This program is distributed in the hope that it will be useful,
 
7810
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
7811
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
7812
// GNU General Public License for more details.                   
 
7813
//                                                                
 
7814
// You should have received a copy of the GNU General Public      
 
7815
// License along with this program; if not, write to the Free     
 
7816
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
7817
// MA  02111-1307  USA                                            
 
7818
 
 
7819
#ifndef __WinIfExists__
 
7820
#define __WinIfExists__
 
7821
 
 
7822
/********************************************************/
 
7823
/* Win __if_exists and __if_not_exists support aspect   */
 
7824
/********************************************************/
 
7825
 
 
7826
 
 
7827
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7828
namespace Puma {
 
7829
  
 
7830
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7831
 
 
7832
}
 
7833
 
 
7834
 
 
7835
#line 7836 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7836
class CCExprResolve;
 
7837
class CExprResolve;
 
7838
class WinImportHandler;
 
7839
class WinMacros;
 
7840
class WinAsm;
 
7841
class WinDeclSpecs;
 
7842
class WinMemberExplSpec;
 
7843
class WinTypeKeywords;
 
7844
class WinFriend;
 
7845
class ExtAC;
 
7846
class ExtACBuilderCoupling;
 
7847
class ExtACSyntaxCoupling;
 
7848
class ExtACTree;
 
7849
class ExtACKeywords;
 
7850
class ExtGnu;
 
7851
class PragmaOnceUnitState;
 
7852
class PragmaOnce;
 
7853
class CMatchSyntax;
 
7854
 
 
7855
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7856
class WinIfExists {
 
7857
#line 7858 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7858
 
 
7859
public:
 
7860
  static WinIfExists *aspectof () {
 
7861
    static WinIfExists __instance;
 
7862
    return &__instance;
 
7863
  }
 
7864
  static WinIfExists *aspectOf () {
 
7865
    return aspectof ();
 
7866
  }
 
7867
private:
 
7868
 
 
7869
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7870
 
 
7871
#line 7872 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7872
  friend class ::CCExprResolve;
 
7873
  friend class ::CExprResolve;
 
7874
  friend class ::WinImportHandler;
 
7875
  friend class ::WinMacros;
 
7876
  friend class ::WinAsm;
 
7877
  friend class ::WinDeclSpecs;
 
7878
  friend class ::WinMemberExplSpec;
 
7879
  friend class ::WinTypeKeywords;
 
7880
  friend class ::WinFriend;
 
7881
  friend class ::ExtAC;
 
7882
  friend class ::ExtACBuilderCoupling;
 
7883
  friend class ::ExtACSyntaxCoupling;
 
7884
  friend class ::ExtACTree;
 
7885
  friend class ::ExtACKeywords;
 
7886
  friend class ::ExtGnu;
 
7887
  friend class ::PragmaOnceUnitState;
 
7888
  friend class ::PragmaOnce;
 
7889
  friend class ::CMatchSyntax;
 
7890
 
 
7891
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7892
 
 
7893
  /********************************************************/
 
7894
  /* Win __if_exists and __if_not_exists                  */
 
7895
  /********************************************************/
 
7896
 
 
7897
  // pointcut definitions
 
7898
  
 
7899
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7900
 
 
7901
 
 
7902
  // structural extensions
 
7903
  
 
7904
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7905
 
 
7906
 
 
7907
  // preprocess __if_exists and __if_not_exists statements
 
7908
  
 
7909
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7910
 
 
7911
public: template<class JoinPoint> void __a0_around 
 
7912
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7913
 
 
7914
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7915
(JoinPoint *tjp)
 
7916
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7917
 {
 
7918
#line 7919 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7919
 
 
7920
  JoinPoint *&thisJoinPoint = tjp;
 
7921
 
 
7922
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7923
 
 
7924
#line 7925 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7925
 
 
7926
  typedef typename JoinPoint::That __JP_That;
 
7927
  typedef typename JoinPoint::Target __JP_Target;
 
7928
  typedef typename JoinPoint::Result __JP_Result;
 
7929
 
 
7930
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7931
 
 
7932
    Puma::Token *token;
 
7933
    int type;
 
7934
    __JP_That
 
7935
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7936
 *preparser;
 
7937
  
 
7938
    preparser = tjp->that ();
 
7939
    tjp->proceed (); // get the next token
 
7940
    token = *tjp->result ();
 
7941
    if (token) {
 
7942
      type = token->type ();
 
7943
      // __if_exists (...) { ... }
 
7944
      if (type == Puma::TOK_IF_EXISTS) {
 
7945
        preparser->skip_up_to (Puma::TOK_CLOSE_CURLY);
 
7946
        *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
7947
        return;
 
7948
        // __if_not_exists (...) { ... }
 
7949
      } else if (type == Puma::TOK_IF_NOT_EXISTS) {
 
7950
        preparser->skip_up_to (Puma::TOK_OPEN_CURLY);
 
7951
        preparser->_depth.push (1);
 
7952
        *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
7953
        return;
 
7954
      }
 
7955
      // skip closing `}' of __if_not_exists
 
7956
      if (preparser->_depth.length ()) {
 
7957
        if (type == Puma::TOK_OPEN_CURLY) 
 
7958
          preparser->_depth.top () = preparser->_depth.top () + 1;
 
7959
        else if (type == Puma::TOK_CLOSE_CURLY) { 
 
7960
          preparser->_depth.top () = preparser->_depth.top () - 1;
 
7961
          if (preparser->_depth.top () == 0) {
 
7962
            preparser->_depth.pop ();
 
7963
            *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
7964
            return;
 
7965
          }
 
7966
        }
 
7967
      }
 
7968
    }
 
7969
  }
 
7970
#line 7971 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7971
 
 
7972
private:
 
7973
 
 
7974
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7975
 
 
7976
 
 
7977
protected:
 
7978
  WinIfExists () {}
 
7979
};
 
7980
#line 7981 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
7981
 
 
7982
namespace AC {
 
7983
  template <class JoinPoint>
 
7984
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
 
7985
    ::WinIfExists::aspectof()->__a0_around (tjp);
 
7986
  }
 
7987
 
7988
 
 
7989
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7990
 
 
7991
 
 
7992
namespace Puma {
 
7993
  
 
7994
#line 95 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7995
 
 
7996
    
 
7997
  // skip __if_exists resp. __if_not_exists statement
 
7998
  
 
7999
#line 135 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
8000
 
 
8001
}
 
8002
 
 
8003
#endif /* __WinIfExists__ */
 
8004
 
 
8005
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8006
#endif
 
8007
namespace Puma {
 
8008
 
 
8009
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8010
 
 
8011
#line 8012 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8012
} // closed Puma
 
8013
 
 
8014
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8015
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8016
 
 
8017
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8018
// This file is part of PUMA.
 
8019
// Copyright (C) 1999-2003  The PUMA developer team.
 
8020
//                                                                
 
8021
// This program is free software;  you can redistribute it and/or 
 
8022
// modify it under the terms of the GNU General Public License as 
 
8023
// published by the Free Software Foundation; either version 2 of 
 
8024
// the License, or (at your option) any later version.            
 
8025
//                                                                
 
8026
// This program is distributed in the hope that it will be useful,
 
8027
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
8028
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
8029
// GNU General Public License for more details.                   
 
8030
//                                                                
 
8031
// You should have received a copy of the GNU General Public      
 
8032
// License along with this program; if not, write to the Free     
 
8033
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
8034
// MA  02111-1307  USA                                            
 
8035
 
 
8036
#ifndef __PragmaOnce__
 
8037
#define __PragmaOnce__
 
8038
 
 
8039
/********************************************************/
 
8040
/* Win #pragma once support aspect                      */
 
8041
/********************************************************/
 
8042
 
 
8043
 
 
8044
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8045
#include <string.h>
 
8046
 
 
8047
 
 
8048
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8049
 
 
8050
#line 8051 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8051
class CCExprResolve;
 
8052
class CExprResolve;
 
8053
class WinIfExists;
 
8054
class WinImportHandler;
 
8055
class WinMacros;
 
8056
class WinAsm;
 
8057
class WinDeclSpecs;
 
8058
class WinMemberExplSpec;
 
8059
class WinTypeKeywords;
 
8060
class WinFriend;
 
8061
class ExtAC;
 
8062
class ExtACBuilderCoupling;
 
8063
class ExtACSyntaxCoupling;
 
8064
class ExtACTree;
 
8065
class ExtACKeywords;
 
8066
class ExtGnu;
 
8067
class PragmaOnceUnitState;
 
8068
class CMatchSyntax;
 
8069
 
 
8070
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8071
class PragmaOnce {
 
8072
#line 8073 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8073
 
 
8074
public:
 
8075
  static PragmaOnce *aspectof () {
 
8076
    static PragmaOnce __instance;
 
8077
    return &__instance;
 
8078
  }
 
8079
  static PragmaOnce *aspectOf () {
 
8080
    return aspectof ();
 
8081
  }
 
8082
private:
 
8083
 
 
8084
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8085
 
 
8086
#line 8087 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8087
  friend class ::CCExprResolve;
 
8088
  friend class ::CExprResolve;
 
8089
  friend class ::WinIfExists;
 
8090
  friend class ::WinImportHandler;
 
8091
  friend class ::WinMacros;
 
8092
  friend class ::WinAsm;
 
8093
  friend class ::WinDeclSpecs;
 
8094
  friend class ::WinMemberExplSpec;
 
8095
  friend class ::WinTypeKeywords;
 
8096
  friend class ::WinFriend;
 
8097
  friend class ::ExtAC;
 
8098
  friend class ::ExtACBuilderCoupling;
 
8099
  friend class ::ExtACSyntaxCoupling;
 
8100
  friend class ::ExtACTree;
 
8101
  friend class ::ExtACKeywords;
 
8102
  friend class ::ExtGnu;
 
8103
  friend class ::PragmaOnceUnitState;
 
8104
  friend class ::CMatchSyntax;
 
8105
 
 
8106
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8107
 
 
8108
  /******************************************************/
 
8109
  /* detect #pragma once in the token stream of cpp     */
 
8110
  /******************************************************/
 
8111
 
 
8112
  // pointcut definitions
 
8113
  
 
8114
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8115
 
 
8116
  
 
8117
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8118
 
 
8119
  
 
8120
  // extend the preprocessor parser by the filter state
 
8121
  
 
8122
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8123
 
 
8124
 
 
8125
  // initialize the filter state
 
8126
  
 
8127
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8128
 
 
8129
public: template<class JoinPoint> void __a0_after 
 
8130
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8131
 
 
8132
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8133
(JoinPoint *tjp)
 
8134
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8135
 {
 
8136
#line 8137 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8137
 
 
8138
  typedef typename JoinPoint::That __JP_That;
 
8139
  typedef typename JoinPoint::Target __JP_Target;
 
8140
  typedef typename JoinPoint::Result __JP_Result;
 
8141
 
 
8142
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8143
 
 
8144
    // TODO: it would be better to have construction advice -> but in lem file
 
8145
    tjp->that ()->_pragma_token = 0;
 
8146
  }
 
8147
#line 8148 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8148
 
 
8149
private:
 
8150
 
 
8151
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8152
 
 
8153
  
 
8154
  // filter #pragma once
 
8155
  
 
8156
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8157
 
 
8158
public: template<class JoinPoint> void __a1_after 
 
8159
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8160
 
 
8161
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8162
(JoinPoint *tjp)
 
8163
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8164
 {
 
8165
#line 8166 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8166
 
 
8167
  typedef typename JoinPoint::That __JP_That;
 
8168
  typedef typename JoinPoint::Target __JP_Target;
 
8169
  typedef typename JoinPoint::Result __JP_Result;
 
8170
 
 
8171
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8172
 
 
8173
    Puma::Token *tok = *tjp->result ();
 
8174
    __JP_That
 
8175
#line 55 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8176
 &that = *tjp->that ();
 
8177
    if (!tok || !tok->is_directive ()) {
 
8178
      that._pragma_token = 0;
 
8179
      return;
 
8180
    }
 
8181
    if (strcmp ("#pragma", tok->text ()) == 0) {
 
8182
      that._pragma_token = tok;
 
8183
    }
 
8184
    else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
 
8185
      Puma::Unit *unit = (Puma::Unit*)tok->belonging_to ();
 
8186
      assert (unit);
 
8187
      unit->state ().onlyOnce (true);
 
8188
    }
 
8189
  }
 
8190
#line 8191 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8191
 
 
8192
private:
 
8193
 
 
8194
#line 68 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8195
 
 
8196
  
 
8197
  /********************************************************/
 
8198
  /* block the handling of pragma once files              */
 
8199
  /********************************************************/
 
8200
 
 
8201
  // don't let file includer include files twice
 
8202
  // to be precise: the file is included again, but the inclusion produces
 
8203
  // no tokens
 
8204
  
 
8205
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8206
 
 
8207
public: template<class JoinPoint> void __a2_around 
 
8208
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8209
 
 
8210
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8211
(JoinPoint *tjp, Puma::Unit *unit)
 
8212
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8213
 {
 
8214
#line 8215 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8215
 
 
8216
  typedef typename JoinPoint::That __JP_That;
 
8217
  typedef typename JoinPoint::Target __JP_Target;
 
8218
  typedef typename JoinPoint::Result __JP_Result;
 
8219
 
 
8220
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8221
 
 
8222
    if (! unit || ! unit->state ().onlyOnce ())
 
8223
      tjp->proceed ();
 
8224
  }
 
8225
#line 8226 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8226
 
 
8227
private:
 
8228
 
 
8229
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8230
 
 
8231
 
 
8232
  // includeFile shall return 0 if the file was not included
 
8233
  
 
8234
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8235
 
 
8236
public: template<class JoinPoint> void __a3_after 
 
8237
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8238
 
 
8239
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8240
(JoinPoint *tjp)
 
8241
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8242
 {
 
8243
#line 8244 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8244
 
 
8245
  typedef typename JoinPoint::That __JP_That;
 
8246
  typedef typename JoinPoint::Target __JP_Target;
 
8247
  typedef typename JoinPoint::Result __JP_Result;
 
8248
 
 
8249
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8250
 
 
8251
    Puma::Unit *&unit = *tjp->result ();
 
8252
    if (unit && unit->state ().onlyOnce ())
 
8253
      //unit = 0;
 
8254
      tjp->that ()->_guarded = true;
 
8255
  }
 
8256
#line 8257 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8257
 
 
8258
private:
 
8259
 
 
8260
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8261
 
 
8262
    
 
8263
protected:
 
8264
  // this aspect should never be instantiated directly
 
8265
  PragmaOnce () {}
 
8266
};
 
8267
#line 8268 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8268
 
 
8269
namespace AC {
 
8270
  template <class JoinPoint>
 
8271
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
 
8272
    ::PragmaOnce::aspectof()->__a0_after (tjp);
 
8273
  }
 
8274
  template <class JoinPoint>
 
8275
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
 
8276
    ::PragmaOnce::aspectof()->__a1_after (tjp);
 
8277
  }
 
8278
  template <class JoinPoint>
 
8279
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
 
8280
    typedef typename JoinPoint::Binding_PragmaOnce_PragmaOnce_a2_around::template Arg<0> Arg0;
 
8281
    ::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
 
8282
  }
 
8283
  template <class JoinPoint>
 
8284
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
 
8285
    ::PragmaOnce::aspectof()->__a3_after (tjp);
 
8286
  }
 
8287
 
8288
 
 
8289
#line 96 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8290
 
 
8291
 
 
8292
 
 
8293
#endif /* __PragmaOnce__ */
 
8294
 
 
8295
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8296
#endif
 
8297
namespace Puma {
 
8298
 
 
8299
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8404
8300
class PreprocessorParser : public PumaTokenSource {
8405
 
#line 8406 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8301
#line 8302 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8302
  friend class ::CCExprResolve;
 
8303
  friend class ::CExprResolve;
8406
8304
  friend class ::WinIfExists;
8407
8305
  friend class ::WinImportHandler;
8408
8306
  friend class ::WinMacros;
8409
 
  friend class ::CMatchSyntax;
8410
 
  friend class ::ExtGnu;
 
8307
  friend class ::WinAsm;
 
8308
  friend class ::WinDeclSpecs;
 
8309
  friend class ::WinMemberExplSpec;
 
8310
  friend class ::WinTypeKeywords;
 
8311
  friend class ::WinFriend;
8411
8312
  friend class ::ExtAC;
8412
8313
  friend class ::ExtACBuilderCoupling;
8413
8314
  friend class ::ExtACSyntaxCoupling;
8414
8315
  friend class ::ExtACTree;
8415
8316
  friend class ::ExtACKeywords;
8416
 
  friend class ::WinAsm;
8417
 
  friend class ::WinDeclSpecs;
8418
 
  friend class ::WinMemberExplSpec;
8419
 
  friend class ::WinTypeKeywords;
 
8317
  friend class ::ExtGnu;
8420
8318
  friend class ::PragmaOnceUnitState;
8421
8319
  friend class ::PragmaOnce;
8422
 
  friend class ::CCExprResolve;
8423
 
  friend class ::CExprResolve;
 
8320
  friend class ::CMatchSyntax;
8424
8321
 
8425
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8322
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8426
8323
 
8427
8324
public:
8428
8325
  // The current mode for token preprocessing
8482
8379
  PreLevelState       *levelState () const       { return _levelState; }
8483
8380
  PreParserState      *parserState () const      { return _parserState; }
8484
8381
  PreMacroManager     *macroManager () const     { return _macroManager; }
 
8382
  void macroManager   (PreMacroManager *m)       { _macroManager = m; }
8485
8383
  PreFileIncluder     *fileIncluder () const     { return _fileIncluder; }
8486
8384
  PrePredicateManager *predicateManager () const { return _predicateManager; }
8487
8385
  UnitManager         *unitManager () const      { return _unitManager; }
8489
8387
  PreMode              pre_mode () const         { return _pre_mode; } 
8490
8388
  bool                 supportGNU () const       { return _support_gnu; }
8491
8389
  CScanner            &cscanner () const         { return (CScanner&) _scanner; }
 
8390
  const char          *importHandler () const    { return _importHandler; }
8492
8391
 
8493
8392
  // Return the preprocessor syntax tree.
8494
8393
  PreTree *syntaxTree () const;
8508
8407
        
8509
8408
  // Configure the preprocessor.
8510
8409
  
8511
 
#line 8512 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8512
 
public: inline void __exec_old_configure(const ::Puma::Config & ,bool );
 
8410
#line 8411 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8411
public: __attribute__((always_inline)) inline void __exec_old_configure(const ::Puma::Config & ,bool );
8513
8412
 
8514
 
#line 132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8413
#line 134 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8515
8414
void configure (const Config &, bool = true);
8516
8415
        
8517
8416
  // Get the next token to parse.
8518
8417
  
8519
 
#line 8520 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8520
 
public: inline ::Puma::Token * __exec_old_next();
 
8418
#line 8419 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8419
public: __attribute__((always_inline)) inline ::Puma::Token * __exec_old_next();
8521
8420
 
8522
 
#line 135 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8421
#line 137 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8523
8422
Token *next ();
8524
8423
        
8525
8424
  TokenStream *scanner () const { return _stream; }
8551
8450
 
8552
8451
  void supportGNU (bool);
8553
8452
   private:
 
8453
 
 
8454
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8455
 Puma :: Token * _pragma_token ;   private:
8554
8456
  typedef PreprocessorParser WinIfExistsCpp;
8555
8457
 
8556
 
#line 92 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
8557
 
 public :
8558
 
 
8559
 
Stack < unsigned > _depth ;
8560
 
 
8561
 
void skip_up_to ( int ) ;  private:
8562
 
 
8563
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
8564
 
 public :
8565
 
const char * importHandler ( ) const { return _importHandler ; }  private:
8566
 
 
8567
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8568
 
 Token * _pragma_token ;
8569
 
#line 165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8458
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
8459
 public :
 
8460
 
 
8461
Puma :: Stack < unsigned > _depth ;
 
8462
 
 
8463
void skip_up_to ( int ) ;
 
8464
#line 167 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8570
8465
};
8571
8466
 
8572
8467
 
8574
8469
 
8575
8470
#endif /* __preprocessor_parser__ */
8576
8471
 
8577
 
#line 8578 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8578
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8579
 
 
8580
 
#line 170 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8581
 
 
8582
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8472
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8583
8473
using std::map;
8584
8474
 
8585
8475
namespace Puma {
8591
8481
class Unit;
8592
8482
 
8593
8483
 
8594
 
#line 8595 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8484
#line 8485 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8595
8485
} // closed Puma
 
8486
class CCExprResolve;
 
8487
class CExprResolve;
8596
8488
class WinIfExists;
8597
8489
class WinImportHandler;
8598
8490
class WinMacros;
8599
 
class CMatchSyntax;
8600
 
class ExtGnu;
 
8491
class WinAsm;
 
8492
class WinDeclSpecs;
 
8493
class WinMemberExplSpec;
 
8494
class WinTypeKeywords;
 
8495
class WinFriend;
8601
8496
class ExtAC;
8602
8497
class ExtACBuilderCoupling;
8603
8498
class ExtACSyntaxCoupling;
8604
8499
class ExtACTree;
8605
8500
class ExtACKeywords;
8606
 
class WinAsm;
8607
 
class WinDeclSpecs;
8608
 
class WinMemberExplSpec;
8609
 
class WinTypeKeywords;
 
8501
class ExtGnu;
8610
8502
class PragmaOnceUnitState;
8611
8503
class PragmaOnce;
8612
 
class CCExprResolve;
8613
 
class CExprResolve;
 
8504
class CMatchSyntax;
8614
8505
namespace Puma {
8615
8506
 
8616
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8507
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8617
8508
class PreFileIncluder {
8618
 
#line 8619 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8509
#line 8510 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8510
  friend class ::CCExprResolve;
 
8511
  friend class ::CExprResolve;
8619
8512
  friend class ::WinIfExists;
8620
8513
  friend class ::WinImportHandler;
8621
8514
  friend class ::WinMacros;
8622
 
  friend class ::CMatchSyntax;
8623
 
  friend class ::ExtGnu;
 
8515
  friend class ::WinAsm;
 
8516
  friend class ::WinDeclSpecs;
 
8517
  friend class ::WinMemberExplSpec;
 
8518
  friend class ::WinTypeKeywords;
 
8519
  friend class ::WinFriend;
8624
8520
  friend class ::ExtAC;
8625
8521
  friend class ::ExtACBuilderCoupling;
8626
8522
  friend class ::ExtACSyntaxCoupling;
8627
8523
  friend class ::ExtACTree;
8628
8524
  friend class ::ExtACKeywords;
8629
 
  friend class ::WinAsm;
8630
 
  friend class ::WinDeclSpecs;
8631
 
  friend class ::WinMemberExplSpec;
8632
 
  friend class ::WinTypeKeywords;
 
8525
  friend class ::ExtGnu;
8633
8526
  friend class ::PragmaOnceUnitState;
8634
8527
  friend class ::PragmaOnce;
8635
 
  friend class ::CCExprResolve;
8636
 
  friend class ::CExprResolve;
 
8528
  friend class ::CMatchSyntax;
8637
8529
 
8638
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8530
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8639
8531
 
8640
8532
  int                       _next;
8641
8533
  PreParserState     *_state;
8646
8538
  PreMacroExpander _expander;
8647
8539
 
8648
8540
  // List of include paths.
8649
 
  Array<char*> _includeDirs;
 
8541
  Array<Filename> _includeDirs;
8650
8542
  
8651
8543
  // true if the last included file was protected by an active include guard
8652
8544
  bool _guarded;
8680
8572
        
8681
8573
public:
8682
8574
  PreFileIncluder (PreprocessorParser &);
8683
 
  ~PreFileIncluder ();
8684
8575
                
8685
8576
  // Push unit on token stack.
8686
8577
  
8687
 
#line 8688 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8688
 
public: inline void __exec_old_pushOnStack(::Puma::Unit * );
 
8578
#line 8579 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8579
public: __attribute__((always_inline)) inline void __exec_old_pushOnStack(::Puma::Unit * );
8689
8580
 
8690
 
#line 86 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8581
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8691
8582
void pushOnStack (Unit *);
8692
8583
        
8693
8584
  // Include a file.
8694
8585
  
8695
 
#line 8696 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8696
 
public: inline ::Puma::Unit * __exec_old_includeFile(const char * name);
 
8586
#line 8587 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8587
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_includeFile(const char * name);
8697
8588
 
8698
 
#line 89 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8589
#line 89 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8699
8590
Unit *includeFile (const char *name);
8700
8591
  Unit *handleIncludeOption (const char *name);
8701
8592
                          
8709
8600
  // Add a new include path to list of include paths.
8710
8601
  void addIncludePath (const char *path);
8711
8602
        
8712
 
  Array<char*> &getIncludePaths () { return (Array<char*> &)_includeDirs; }
 
8603
  Array<Filename> &getIncludePaths () { return _includeDirs; }
8713
8604
};
8714
8605
 
8715
8606
 
8717
8608
 
8718
8609
#endif /* __pre_file_includer__ */
8719
8610
 
8720
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
8611
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
8721
8612
// This file is part of PUMA.
8722
8613
// Copyright (C) 1999-2003  The PUMA developer team.
8723
8614
//                                                                
8743
8634
// a part of a syntax tree.
8744
8635
 
8745
8636
 
8746
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
8637
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
8747
8638
namespace Puma {
8748
8639
 
8749
8640
 
8750
8641
 
8751
 
#line 8752 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8642
#line 8643 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8752
8643
} // closed Puma
 
8644
class CCExprResolve;
 
8645
class CExprResolve;
8753
8646
class WinIfExists;
8754
8647
class WinImportHandler;
8755
8648
class WinMacros;
8756
 
class CMatchSyntax;
8757
 
class ExtGnu;
 
8649
class WinAsm;
 
8650
class WinDeclSpecs;
 
8651
class WinMemberExplSpec;
 
8652
class WinTypeKeywords;
 
8653
class WinFriend;
8758
8654
class ExtAC;
8759
8655
class ExtACBuilderCoupling;
8760
8656
class ExtACSyntaxCoupling;
8761
8657
class ExtACTree;
8762
8658
class ExtACKeywords;
8763
 
class WinAsm;
8764
 
class WinDeclSpecs;
8765
 
class WinMemberExplSpec;
8766
 
class WinTypeKeywords;
 
8659
class ExtGnu;
8767
8660
class PragmaOnceUnitState;
8768
8661
class PragmaOnce;
8769
 
class CCExprResolve;
8770
 
class CExprResolve;
 
8662
class CMatchSyntax;
8771
8663
namespace Puma {
8772
8664
 
8773
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
8665
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
8774
8666
class PreTreeToken : public PreTree {
8775
 
#line 8776 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8667
#line 8668 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8668
  friend class ::CCExprResolve;
 
8669
  friend class ::CExprResolve;
8776
8670
  friend class ::WinIfExists;
8777
8671
  friend class ::WinImportHandler;
8778
8672
  friend class ::WinMacros;
8779
 
  friend class ::CMatchSyntax;
8780
 
  friend class ::ExtGnu;
 
8673
  friend class ::WinAsm;
 
8674
  friend class ::WinDeclSpecs;
 
8675
  friend class ::WinMemberExplSpec;
 
8676
  friend class ::WinTypeKeywords;
 
8677
  friend class ::WinFriend;
8781
8678
  friend class ::ExtAC;
8782
8679
  friend class ::ExtACBuilderCoupling;
8783
8680
  friend class ::ExtACSyntaxCoupling;
8784
8681
  friend class ::ExtACTree;
8785
8682
  friend class ::ExtACKeywords;
8786
 
  friend class ::WinAsm;
8787
 
  friend class ::WinDeclSpecs;
8788
 
  friend class ::WinMemberExplSpec;
8789
 
  friend class ::WinTypeKeywords;
 
8683
  friend class ::ExtGnu;
8790
8684
  friend class ::PragmaOnceUnitState;
8791
8685
  friend class ::PragmaOnce;
8792
 
  friend class ::CCExprResolve;
8793
 
  friend class ::CExprResolve;
 
8686
  friend class ::CMatchSyntax;
8794
8687
 
8795
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
8688
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
8796
8689
 
8797
8690
  Token *_token;
8798
8691
        
8817
8710
 
8818
8711
#endif /*__syntax_tree_token__ */
8819
8712
 
8820
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8821
 
 
8822
 
#line 8823 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8713
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8714
 
 
8715
#line 8716 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8716
 
 
8717
#ifndef __ac_fwd_PragmaOnce__
 
8718
#define __ac_fwd_PragmaOnce__
 
8719
class PragmaOnce;
 
8720
namespace AC {
 
8721
  template <class JoinPoint>
 
8722
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
8723
  template <class JoinPoint>
 
8724
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
8725
  template <class JoinPoint>
 
8726
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
8727
  template <class JoinPoint>
 
8728
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
8729
}
 
8730
#endif
 
8731
 
 
8732
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8733
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8734
#endif
8823
8735
 
8824
8736
#ifndef __ac_fwd_WinIfExists__
8825
8737
#define __ac_fwd_WinIfExists__
8826
8738
class WinIfExists;
8827
8739
namespace AC {
8828
8740
  template <class JoinPoint>
8829
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
 
8741
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
8830
8742
}
8831
8743
#endif
8832
8744
 
8833
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
8834
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8745
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8746
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
8835
8747
#endif
8836
8748
 
8837
8749
#ifndef __ac_fwd_WinImportHandler__
8838
8750
#define __ac_fwd_WinImportHandler__
8839
8751
class WinImportHandler;
8840
8752
namespace AC {
8841
 
  template <class JoinPoint, class Binding>
8842
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
8843
 
}
8844
 
#endif
8845
 
 
8846
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
8847
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
8848
 
#endif
8849
 
 
8850
 
#ifndef __ac_fwd_PragmaOnce__
8851
 
#define __ac_fwd_PragmaOnce__
8852
 
class PragmaOnce;
8853
 
namespace AC {
8854
 
  template <class JoinPoint>
8855
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
8856
 
  template <class JoinPoint>
8857
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
8858
 
  template <class JoinPoint, class Binding>
8859
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
8860
 
  template <class JoinPoint>
8861
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
8862
 
}
8863
 
#endif
8864
 
 
8865
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
8866
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8753
  template <class JoinPoint>
 
8754
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
 
8755
}
 
8756
#endif
 
8757
 
 
8758
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
8759
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
8867
8760
#endif
8868
8761
 
8869
8762
#ifndef __ac_fwd_WinMacros__
8870
8763
#define __ac_fwd_WinMacros__
8871
8764
class WinMacros;
8872
8765
namespace AC {
8873
 
  template <class JoinPoint, class Binding>
8874
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
 
8766
  template <class JoinPoint>
 
8767
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
8875
8768
}
8876
8769
#endif
8877
8770
 
8878
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
8879
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
 
8771
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
8772
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
8880
8773
#endif
8881
8774
 
8882
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8883
 
 
8884
 
#line 8885 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8885
 
 
8886
 
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8887
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8888
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8889
 
 
8890
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8775
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8891
8776
// This file is part of PUMA.
8892
8777
// Copyright (C) 1999-2003  The PUMA developer team.
8893
8778
//                                                                
8936
8821
class PrePredicateManager;
8937
8822
 
8938
8823
 
8939
 
#line 8940 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8824
#line 8825 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8940
8825
} // closed Puma
 
8826
class CCExprResolve;
 
8827
class CExprResolve;
8941
8828
class WinIfExists;
8942
8829
class WinImportHandler;
8943
8830
class WinMacros;
8944
 
class CMatchSyntax;
8945
 
class ExtGnu;
 
8831
class WinAsm;
 
8832
class WinDeclSpecs;
 
8833
class WinMemberExplSpec;
 
8834
class WinTypeKeywords;
 
8835
class WinFriend;
8946
8836
class ExtAC;
8947
8837
class ExtACBuilderCoupling;
8948
8838
class ExtACSyntaxCoupling;
8949
8839
class ExtACTree;
8950
8840
class ExtACKeywords;
8951
 
class WinAsm;
8952
 
class WinDeclSpecs;
8953
 
class WinMemberExplSpec;
8954
 
class WinTypeKeywords;
 
8841
class ExtGnu;
8955
8842
class PragmaOnceUnitState;
8956
8843
class PragmaOnce;
8957
 
class CCExprResolve;
8958
 
class CExprResolve;
8959
 
namespace Puma {
8960
 
 
8961
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8844
class CMatchSyntax;
 
8845
namespace Puma {
 
8846
 
 
8847
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8848
 
 
8849
#line 8850 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8850
} // closed Puma
 
8851
 
 
8852
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8853
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8854
#include "WinIfExists.ah"
 
8855
#endif
 
8856
namespace Puma {
 
8857
 
 
8858
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8859
 
 
8860
#line 8861 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8861
} // closed Puma
 
8862
 
 
8863
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8864
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8865
#include "PragmaOnce.ah"
 
8866
#endif
 
8867
namespace Puma {
 
8868
 
 
8869
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8962
8870
class PreprocessorParser : public PumaTokenSource {
8963
 
#line 8964 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
8871
#line 8872 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8872
  friend class ::CCExprResolve;
 
8873
  friend class ::CExprResolve;
8964
8874
  friend class ::WinIfExists;
8965
8875
  friend class ::WinImportHandler;
8966
8876
  friend class ::WinMacros;
8967
 
  friend class ::CMatchSyntax;
8968
 
  friend class ::ExtGnu;
 
8877
  friend class ::WinAsm;
 
8878
  friend class ::WinDeclSpecs;
 
8879
  friend class ::WinMemberExplSpec;
 
8880
  friend class ::WinTypeKeywords;
 
8881
  friend class ::WinFriend;
8969
8882
  friend class ::ExtAC;
8970
8883
  friend class ::ExtACBuilderCoupling;
8971
8884
  friend class ::ExtACSyntaxCoupling;
8972
8885
  friend class ::ExtACTree;
8973
8886
  friend class ::ExtACKeywords;
8974
 
  friend class ::WinAsm;
8975
 
  friend class ::WinDeclSpecs;
8976
 
  friend class ::WinMemberExplSpec;
8977
 
  friend class ::WinTypeKeywords;
 
8887
  friend class ::ExtGnu;
8978
8888
  friend class ::PragmaOnceUnitState;
8979
8889
  friend class ::PragmaOnce;
8980
 
  friend class ::CCExprResolve;
8981
 
  friend class ::CExprResolve;
 
8890
  friend class ::CMatchSyntax;
8982
8891
 
8983
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8892
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8984
8893
 
8985
8894
public:
8986
8895
  // The current mode for token preprocessing
9040
8949
  PreLevelState       *levelState () const       { return _levelState; }
9041
8950
  PreParserState      *parserState () const      { return _parserState; }
9042
8951
  PreMacroManager     *macroManager () const     { return _macroManager; }
 
8952
  void macroManager   (PreMacroManager *m)       { _macroManager = m; }
9043
8953
  PreFileIncluder     *fileIncluder () const     { return _fileIncluder; }
9044
8954
  PrePredicateManager *predicateManager () const { return _predicateManager; }
9045
8955
  UnitManager         *unitManager () const      { return _unitManager; }
9047
8957
  PreMode              pre_mode () const         { return _pre_mode; } 
9048
8958
  bool                 supportGNU () const       { return _support_gnu; }
9049
8959
  CScanner            &cscanner () const         { return (CScanner&) _scanner; }
 
8960
  const char          *importHandler () const    { return _importHandler; }
9050
8961
 
9051
8962
  // Return the preprocessor syntax tree.
9052
8963
  PreTree *syntaxTree () const;
9066
8977
        
9067
8978
  // Configure the preprocessor.
9068
8979
  
9069
 
#line 9070 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
9070
 
public: inline void __exec_old_configure(const ::Puma::Config & ,bool );
 
8980
#line 8981 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8981
public: __attribute__((always_inline)) inline void __exec_old_configure(const ::Puma::Config & ,bool );
9071
8982
 
9072
 
#line 132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8983
#line 134 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9073
8984
void configure (const Config &, bool = true);
9074
8985
        
9075
8986
  // Get the next token to parse.
9076
8987
  
9077
 
#line 9078 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
9078
 
public: inline ::Puma::Token * __exec_old_next();
 
8988
#line 8989 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
8989
public: __attribute__((always_inline)) inline ::Puma::Token * __exec_old_next();
9079
8990
 
9080
 
#line 135 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8991
#line 137 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9081
8992
Token *next ();
9082
8993
        
9083
8994
  TokenStream *scanner () const { return _stream; }
9109
9020
 
9110
9021
  void supportGNU (bool);
9111
9022
   private:
 
9023
 
 
9024
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9025
 Puma :: Token * _pragma_token ;   private:
9112
9026
  typedef PreprocessorParser WinIfExistsCpp;
9113
9027
 
9114
 
#line 92 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
9115
 
 public :
9116
 
 
9117
 
Stack < unsigned > _depth ;
9118
 
 
9119
 
void skip_up_to ( int ) ;  private:
9120
 
 
9121
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
9122
 
 public :
9123
 
const char * importHandler ( ) const { return _importHandler ; }  private:
9124
 
 
9125
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
9126
 
 Token * _pragma_token ;
9127
 
#line 165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9028
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9029
 public :
 
9030
 
 
9031
Puma :: Stack < unsigned > _depth ;
 
9032
 
 
9033
void skip_up_to ( int ) ;
 
9034
#line 167 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9128
9035
};
9129
9036
 
9130
9037
 
9132
9039
 
9133
9040
#endif /* __preprocessor_parser__ */
9134
9041
 
9135
 
#line 9136 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
9136
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
9137
 
 
9138
 
#line 170 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9139
 
 
9140
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9042
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9141
9043
// This file is part of PUMA.
9142
9044
// Copyright (C) 1999-2003  The PUMA developer team.
9143
9045
//                                                                
9162
9064
// Contains all node classes for the preprocessor syntax tree.
9163
9065
 
9164
9066
 
9165
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
9067
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
9166
9068
// This file is part of PUMA.
9167
9069
// Copyright (C) 1999-2003  The PUMA developer team.
9168
9070
//                                                                
9185
9087
#define __syntax_tree_composite__
9186
9088
 
9187
9089
 
9188
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
9090
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
9189
9091
namespace Puma {
9190
9092
 
9191
9093
 
9192
9094
// Generic composite nodes:
9193
9095
 
9194
 
#line 9195 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9096
#line 9097 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9195
9097
} // closed Puma
 
9098
class CCExprResolve;
 
9099
class CExprResolve;
9196
9100
class WinIfExists;
9197
9101
class WinImportHandler;
9198
9102
class WinMacros;
9199
 
class CMatchSyntax;
9200
 
class ExtGnu;
 
9103
class WinAsm;
 
9104
class WinDeclSpecs;
 
9105
class WinMemberExplSpec;
 
9106
class WinTypeKeywords;
 
9107
class WinFriend;
9201
9108
class ExtAC;
9202
9109
class ExtACBuilderCoupling;
9203
9110
class ExtACSyntaxCoupling;
9204
9111
class ExtACTree;
9205
9112
class ExtACKeywords;
9206
 
class WinAsm;
9207
 
class WinDeclSpecs;
9208
 
class WinMemberExplSpec;
9209
 
class WinTypeKeywords;
 
9113
class ExtGnu;
9210
9114
class PragmaOnceUnitState;
9211
9115
class PragmaOnce;
9212
 
class CCExprResolve;
9213
 
class CExprResolve;
 
9116
class CMatchSyntax;
9214
9117
namespace Puma {
9215
9118
 
9216
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
9119
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
9217
9120
class PreTreeComposite : public PreTree {
9218
 
#line 9219 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9121
#line 9122 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9122
  friend class ::CCExprResolve;
 
9123
  friend class ::CExprResolve;
9219
9124
  friend class ::WinIfExists;
9220
9125
  friend class ::WinImportHandler;
9221
9126
  friend class ::WinMacros;
9222
 
  friend class ::CMatchSyntax;
9223
 
  friend class ::ExtGnu;
 
9127
  friend class ::WinAsm;
 
9128
  friend class ::WinDeclSpecs;
 
9129
  friend class ::WinMemberExplSpec;
 
9130
  friend class ::WinTypeKeywords;
 
9131
  friend class ::WinFriend;
9224
9132
  friend class ::ExtAC;
9225
9133
  friend class ::ExtACBuilderCoupling;
9226
9134
  friend class ::ExtACSyntaxCoupling;
9227
9135
  friend class ::ExtACTree;
9228
9136
  friend class ::ExtACKeywords;
9229
 
  friend class ::WinAsm;
9230
 
  friend class ::WinDeclSpecs;
9231
 
  friend class ::WinMemberExplSpec;
9232
 
  friend class ::WinTypeKeywords;
 
9137
  friend class ::ExtGnu;
9233
9138
  friend class ::PragmaOnceUnitState;
9234
9139
  friend class ::PragmaOnce;
9235
 
  friend class ::CCExprResolve;
9236
 
  friend class ::CExprResolve;
 
9140
  friend class ::CMatchSyntax;
9237
9141
 
9238
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
9142
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
9239
9143
 
9240
9144
private:
9241
9145
  Array<PreTree*> *son_array;
9272
9176
 
9273
9177
#endif /* __syntax_tree_composite__ */
9274
9178
 
9275
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9179
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9276
9180
namespace Puma {
9277
9181
 
9278
9182
 
9279
9183
// The root node of the preprocessor syntax tree.
9280
9184
 
9281
 
#line 9282 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9185
#line 9186 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9282
9186
} // closed Puma
 
9187
class CCExprResolve;
 
9188
class CExprResolve;
9283
9189
class WinIfExists;
9284
9190
class WinImportHandler;
9285
9191
class WinMacros;
9286
 
class CMatchSyntax;
9287
 
class ExtGnu;
 
9192
class WinAsm;
 
9193
class WinDeclSpecs;
 
9194
class WinMemberExplSpec;
 
9195
class WinTypeKeywords;
 
9196
class WinFriend;
9288
9197
class ExtAC;
9289
9198
class ExtACBuilderCoupling;
9290
9199
class ExtACSyntaxCoupling;
9291
9200
class ExtACTree;
9292
9201
class ExtACKeywords;
9293
 
class WinAsm;
9294
 
class WinDeclSpecs;
9295
 
class WinMemberExplSpec;
9296
 
class WinTypeKeywords;
 
9202
class ExtGnu;
9297
9203
class PragmaOnceUnitState;
9298
9204
class PragmaOnce;
9299
 
class CCExprResolve;
9300
 
class CExprResolve;
 
9205
class CMatchSyntax;
9301
9206
namespace Puma {
9302
9207
 
9303
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9208
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9304
9209
class PreProgram : public PreTreeComposite {
9305
 
#line 9306 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9210
#line 9211 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9211
  friend class ::CCExprResolve;
 
9212
  friend class ::CExprResolve;
9306
9213
  friend class ::WinIfExists;
9307
9214
  friend class ::WinImportHandler;
9308
9215
  friend class ::WinMacros;
9309
 
  friend class ::CMatchSyntax;
9310
 
  friend class ::ExtGnu;
 
9216
  friend class ::WinAsm;
 
9217
  friend class ::WinDeclSpecs;
 
9218
  friend class ::WinMemberExplSpec;
 
9219
  friend class ::WinTypeKeywords;
 
9220
  friend class ::WinFriend;
9311
9221
  friend class ::ExtAC;
9312
9222
  friend class ::ExtACBuilderCoupling;
9313
9223
  friend class ::ExtACSyntaxCoupling;
9314
9224
  friend class ::ExtACTree;
9315
9225
  friend class ::ExtACKeywords;
9316
 
  friend class ::WinAsm;
9317
 
  friend class ::WinDeclSpecs;
9318
 
  friend class ::WinMemberExplSpec;
9319
 
  friend class ::WinTypeKeywords;
 
9226
  friend class ::ExtGnu;
9320
9227
  friend class ::PragmaOnceUnitState;
9321
9228
  friend class ::PragmaOnce;
9322
 
  friend class ::CCExprResolve;
9323
 
  friend class ::CExprResolve;
 
9229
  friend class ::CMatchSyntax;
9324
9230
 
9325
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9231
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9326
9232
 
9327
9233
public:
9328
9234
  PreProgram (PreTree* a) : PreTreeComposite (1, 0) 
9338
9244
 
9339
9245
// Assemble groups of directive groups to a `super' group => the program.
9340
9246
 
9341
 
#line 9342 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9247
#line 9248 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9342
9248
} // closed Puma
 
9249
class CCExprResolve;
 
9250
class CExprResolve;
9343
9251
class WinIfExists;
9344
9252
class WinImportHandler;
9345
9253
class WinMacros;
9346
 
class CMatchSyntax;
9347
 
class ExtGnu;
 
9254
class WinAsm;
 
9255
class WinDeclSpecs;
 
9256
class WinMemberExplSpec;
 
9257
class WinTypeKeywords;
 
9258
class WinFriend;
9348
9259
class ExtAC;
9349
9260
class ExtACBuilderCoupling;
9350
9261
class ExtACSyntaxCoupling;
9351
9262
class ExtACTree;
9352
9263
class ExtACKeywords;
9353
 
class WinAsm;
9354
 
class WinDeclSpecs;
9355
 
class WinMemberExplSpec;
9356
 
class WinTypeKeywords;
 
9264
class ExtGnu;
9357
9265
class PragmaOnceUnitState;
9358
9266
class PragmaOnce;
9359
 
class CCExprResolve;
9360
 
class CExprResolve;
 
9267
class CMatchSyntax;
9361
9268
namespace Puma {
9362
9269
 
9363
 
#line 47 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9270
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9364
9271
class PreDirectiveGroups : public PreTreeComposite {
9365
 
#line 9366 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9272
#line 9273 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9273
  friend class ::CCExprResolve;
 
9274
  friend class ::CExprResolve;
9366
9275
  friend class ::WinIfExists;
9367
9276
  friend class ::WinImportHandler;
9368
9277
  friend class ::WinMacros;
9369
 
  friend class ::CMatchSyntax;
9370
 
  friend class ::ExtGnu;
 
9278
  friend class ::WinAsm;
 
9279
  friend class ::WinDeclSpecs;
 
9280
  friend class ::WinMemberExplSpec;
 
9281
  friend class ::WinTypeKeywords;
 
9282
  friend class ::WinFriend;
9371
9283
  friend class ::ExtAC;
9372
9284
  friend class ::ExtACBuilderCoupling;
9373
9285
  friend class ::ExtACSyntaxCoupling;
9374
9286
  friend class ::ExtACTree;
9375
9287
  friend class ::ExtACKeywords;
9376
 
  friend class ::WinAsm;
9377
 
  friend class ::WinDeclSpecs;
9378
 
  friend class ::WinMemberExplSpec;
9379
 
  friend class ::WinTypeKeywords;
 
9288
  friend class ::ExtGnu;
9380
9289
  friend class ::PragmaOnceUnitState;
9381
9290
  friend class ::PragmaOnce;
9382
 
  friend class ::CCExprResolve;
9383
 
  friend class ::CExprResolve;
 
9291
  friend class ::CMatchSyntax;
9384
9292
 
9385
 
#line 47 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9293
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9386
9294
 
9387
9295
public:
9388
9296
  PreDirectiveGroups () : PreTreeComposite (-1, 0) {};
9398
9306
// Assemble conditional directives to a logical group.
9399
9307
// Like: #if ... #elif ... #else ... #endif.
9400
9308
 
9401
 
#line 9402 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9309
#line 9310 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9402
9310
} // closed Puma
 
9311
class CCExprResolve;
 
9312
class CExprResolve;
9403
9313
class WinIfExists;
9404
9314
class WinImportHandler;
9405
9315
class WinMacros;
9406
 
class CMatchSyntax;
9407
 
class ExtGnu;
 
9316
class WinAsm;
 
9317
class WinDeclSpecs;
 
9318
class WinMemberExplSpec;
 
9319
class WinTypeKeywords;
 
9320
class WinFriend;
9408
9321
class ExtAC;
9409
9322
class ExtACBuilderCoupling;
9410
9323
class ExtACSyntaxCoupling;
9411
9324
class ExtACTree;
9412
9325
class ExtACKeywords;
9413
 
class WinAsm;
9414
 
class WinDeclSpecs;
9415
 
class WinMemberExplSpec;
9416
 
class WinTypeKeywords;
 
9326
class ExtGnu;
9417
9327
class PragmaOnceUnitState;
9418
9328
class PragmaOnce;
9419
 
class CCExprResolve;
9420
 
class CExprResolve;
 
9329
class CMatchSyntax;
9421
9330
namespace Puma {
9422
9331
 
9423
 
#line 61 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9332
#line 61 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9424
9333
class PreConditionalGroup : public PreTreeComposite {
9425
 
#line 9426 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9334
#line 9335 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9335
  friend class ::CCExprResolve;
 
9336
  friend class ::CExprResolve;
9426
9337
  friend class ::WinIfExists;
9427
9338
  friend class ::WinImportHandler;
9428
9339
  friend class ::WinMacros;
9429
 
  friend class ::CMatchSyntax;
9430
 
  friend class ::ExtGnu;
 
9340
  friend class ::WinAsm;
 
9341
  friend class ::WinDeclSpecs;
 
9342
  friend class ::WinMemberExplSpec;
 
9343
  friend class ::WinTypeKeywords;
 
9344
  friend class ::WinFriend;
9431
9345
  friend class ::ExtAC;
9432
9346
  friend class ::ExtACBuilderCoupling;
9433
9347
  friend class ::ExtACSyntaxCoupling;
9434
9348
  friend class ::ExtACTree;
9435
9349
  friend class ::ExtACKeywords;
9436
 
  friend class ::WinAsm;
9437
 
  friend class ::WinDeclSpecs;
9438
 
  friend class ::WinMemberExplSpec;
9439
 
  friend class ::WinTypeKeywords;
 
9350
  friend class ::ExtGnu;
9440
9351
  friend class ::PragmaOnceUnitState;
9441
9352
  friend class ::PragmaOnce;
9442
 
  friend class ::CCExprResolve;
9443
 
  friend class ::CExprResolve;
 
9353
  friend class ::CMatchSyntax;
9444
9354
 
9445
 
#line 61 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9355
#line 61 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9446
9356
 
9447
9357
public:
9448
9358
  PreConditionalGroup (PreTree* a, PreTree* b, PreTree* c) : 
9465
9375
// conditional group to a logical group.
9466
9376
// Like: ... #elif ... #elif ... #elif ... #else.
9467
9377
 
9468
 
#line 9469 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9378
#line 9379 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9469
9379
} // closed Puma
 
9380
class CCExprResolve;
 
9381
class CExprResolve;
9470
9382
class WinIfExists;
9471
9383
class WinImportHandler;
9472
9384
class WinMacros;
9473
 
class CMatchSyntax;
9474
 
class ExtGnu;
 
9385
class WinAsm;
 
9386
class WinDeclSpecs;
 
9387
class WinMemberExplSpec;
 
9388
class WinTypeKeywords;
 
9389
class WinFriend;
9475
9390
class ExtAC;
9476
9391
class ExtACBuilderCoupling;
9477
9392
class ExtACSyntaxCoupling;
9478
9393
class ExtACTree;
9479
9394
class ExtACKeywords;
9480
 
class WinAsm;
9481
 
class WinDeclSpecs;
9482
 
class WinMemberExplSpec;
9483
 
class WinTypeKeywords;
 
9395
class ExtGnu;
9484
9396
class PragmaOnceUnitState;
9485
9397
class PragmaOnce;
9486
 
class CCExprResolve;
9487
 
class CExprResolve;
 
9398
class CMatchSyntax;
9488
9399
namespace Puma {
9489
9400
 
9490
 
#line 82 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9401
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9491
9402
class PreElsePart : public PreTreeComposite {
9492
 
#line 9493 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9403
#line 9404 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9404
  friend class ::CCExprResolve;
 
9405
  friend class ::CExprResolve;
9493
9406
  friend class ::WinIfExists;
9494
9407
  friend class ::WinImportHandler;
9495
9408
  friend class ::WinMacros;
9496
 
  friend class ::CMatchSyntax;
9497
 
  friend class ::ExtGnu;
 
9409
  friend class ::WinAsm;
 
9410
  friend class ::WinDeclSpecs;
 
9411
  friend class ::WinMemberExplSpec;
 
9412
  friend class ::WinTypeKeywords;
 
9413
  friend class ::WinFriend;
9498
9414
  friend class ::ExtAC;
9499
9415
  friend class ::ExtACBuilderCoupling;
9500
9416
  friend class ::ExtACSyntaxCoupling;
9501
9417
  friend class ::ExtACTree;
9502
9418
  friend class ::ExtACKeywords;
9503
 
  friend class ::WinAsm;
9504
 
  friend class ::WinDeclSpecs;
9505
 
  friend class ::WinMemberExplSpec;
9506
 
  friend class ::WinTypeKeywords;
 
9419
  friend class ::ExtGnu;
9507
9420
  friend class ::PragmaOnceUnitState;
9508
9421
  friend class ::PragmaOnce;
9509
 
  friend class ::CCExprResolve;
9510
 
  friend class ::CExprResolve;
 
9422
  friend class ::CMatchSyntax;
9511
9423
 
9512
 
#line 82 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9424
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9513
9425
 
9514
9426
public:
9515
9427
  PreElsePart (PreTree* a, PreTree* b) : 
9532
9444
// group to a logical group.
9533
9445
// Like: ... #elif ... #elif ... #elif.
9534
9446
 
9535
 
#line 9536 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9447
#line 9448 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9536
9448
} // closed Puma
 
9449
class CCExprResolve;
 
9450
class CExprResolve;
9537
9451
class WinIfExists;
9538
9452
class WinImportHandler;
9539
9453
class WinMacros;
9540
 
class CMatchSyntax;
9541
 
class ExtGnu;
 
9454
class WinAsm;
 
9455
class WinDeclSpecs;
 
9456
class WinMemberExplSpec;
 
9457
class WinTypeKeywords;
 
9458
class WinFriend;
9542
9459
class ExtAC;
9543
9460
class ExtACBuilderCoupling;
9544
9461
class ExtACSyntaxCoupling;
9545
9462
class ExtACTree;
9546
9463
class ExtACKeywords;
9547
 
class WinAsm;
9548
 
class WinDeclSpecs;
9549
 
class WinMemberExplSpec;
9550
 
class WinTypeKeywords;
 
9464
class ExtGnu;
9551
9465
class PragmaOnceUnitState;
9552
9466
class PragmaOnce;
9553
 
class CCExprResolve;
9554
 
class CExprResolve;
 
9467
class CMatchSyntax;
9555
9468
namespace Puma {
9556
9469
 
9557
 
#line 103 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9470
#line 103 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9558
9471
class PreElifPart : public PreTreeComposite
9559
9472
 {
9560
 
#line 9561 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9473
#line 9474 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9474
  friend class ::CCExprResolve;
 
9475
  friend class ::CExprResolve;
9561
9476
  friend class ::WinIfExists;
9562
9477
  friend class ::WinImportHandler;
9563
9478
  friend class ::WinMacros;
9564
 
  friend class ::CMatchSyntax;
9565
 
  friend class ::ExtGnu;
 
9479
  friend class ::WinAsm;
 
9480
  friend class ::WinDeclSpecs;
 
9481
  friend class ::WinMemberExplSpec;
 
9482
  friend class ::WinTypeKeywords;
 
9483
  friend class ::WinFriend;
9566
9484
  friend class ::ExtAC;
9567
9485
  friend class ::ExtACBuilderCoupling;
9568
9486
  friend class ::ExtACSyntaxCoupling;
9569
9487
  friend class ::ExtACTree;
9570
9488
  friend class ::ExtACKeywords;
9571
 
  friend class ::WinAsm;
9572
 
  friend class ::WinDeclSpecs;
9573
 
  friend class ::WinMemberExplSpec;
9574
 
  friend class ::WinTypeKeywords;
 
9489
  friend class ::ExtGnu;
9575
9490
  friend class ::PragmaOnceUnitState;
9576
9491
  friend class ::PragmaOnce;
9577
 
  friend class ::CCExprResolve;
9578
 
  friend class ::CExprResolve;
 
9492
  friend class ::CMatchSyntax;
9579
9493
 
9580
 
#line 104 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9494
#line 104 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9581
9495
 
9582
9496
    public:
9583
9497
                                // Dynamic sons, no daughters.
9598
9512
 
9599
9513
// The #if directive.
9600
9514
 
9601
 
#line 9602 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9515
#line 9516 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9602
9516
} // closed Puma
 
9517
class CCExprResolve;
 
9518
class CExprResolve;
9603
9519
class WinIfExists;
9604
9520
class WinImportHandler;
9605
9521
class WinMacros;
9606
 
class CMatchSyntax;
9607
 
class ExtGnu;
 
9522
class WinAsm;
 
9523
class WinDeclSpecs;
 
9524
class WinMemberExplSpec;
 
9525
class WinTypeKeywords;
 
9526
class WinFriend;
9608
9527
class ExtAC;
9609
9528
class ExtACBuilderCoupling;
9610
9529
class ExtACSyntaxCoupling;
9611
9530
class ExtACTree;
9612
9531
class ExtACKeywords;
9613
 
class WinAsm;
9614
 
class WinDeclSpecs;
9615
 
class WinMemberExplSpec;
9616
 
class WinTypeKeywords;
 
9532
class ExtGnu;
9617
9533
class PragmaOnceUnitState;
9618
9534
class PragmaOnce;
9619
 
class CCExprResolve;
9620
 
class CExprResolve;
 
9535
class CMatchSyntax;
9621
9536
namespace Puma {
9622
9537
 
9623
 
#line 123 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9538
#line 123 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9624
9539
class PreIfDirective : public PreTreeComposite
9625
9540
 {
9626
 
#line 9627 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9541
#line 9542 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9542
  friend class ::CCExprResolve;
 
9543
  friend class ::CExprResolve;
9627
9544
  friend class ::WinIfExists;
9628
9545
  friend class ::WinImportHandler;
9629
9546
  friend class ::WinMacros;
9630
 
  friend class ::CMatchSyntax;
9631
 
  friend class ::ExtGnu;
 
9547
  friend class ::WinAsm;
 
9548
  friend class ::WinDeclSpecs;
 
9549
  friend class ::WinMemberExplSpec;
 
9550
  friend class ::WinTypeKeywords;
 
9551
  friend class ::WinFriend;
9632
9552
  friend class ::ExtAC;
9633
9553
  friend class ::ExtACBuilderCoupling;
9634
9554
  friend class ::ExtACSyntaxCoupling;
9635
9555
  friend class ::ExtACTree;
9636
9556
  friend class ::ExtACKeywords;
9637
 
  friend class ::WinAsm;
9638
 
  friend class ::WinDeclSpecs;
9639
 
  friend class ::WinMemberExplSpec;
9640
 
  friend class ::WinTypeKeywords;
 
9557
  friend class ::ExtGnu;
9641
9558
  friend class ::PragmaOnceUnitState;
9642
9559
  friend class ::PragmaOnce;
9643
 
  friend class ::CCExprResolve;
9644
 
  friend class ::CExprResolve;
 
9560
  friend class ::CMatchSyntax;
9645
9561
 
9646
 
#line 124 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9562
#line 124 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9647
9563
 
9648
9564
    public:
9649
9565
                                        
9662
9578
 
9663
9579
// The #ifdef directive.
9664
9580
 
9665
 
#line 9666 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9581
#line 9582 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9666
9582
} // closed Puma
 
9583
class CCExprResolve;
 
9584
class CExprResolve;
9667
9585
class WinIfExists;
9668
9586
class WinImportHandler;
9669
9587
class WinMacros;
9670
 
class CMatchSyntax;
9671
 
class ExtGnu;
 
9588
class WinAsm;
 
9589
class WinDeclSpecs;
 
9590
class WinMemberExplSpec;
 
9591
class WinTypeKeywords;
 
9592
class WinFriend;
9672
9593
class ExtAC;
9673
9594
class ExtACBuilderCoupling;
9674
9595
class ExtACSyntaxCoupling;
9675
9596
class ExtACTree;
9676
9597
class ExtACKeywords;
9677
 
class WinAsm;
9678
 
class WinDeclSpecs;
9679
 
class WinMemberExplSpec;
9680
 
class WinTypeKeywords;
 
9598
class ExtGnu;
9681
9599
class PragmaOnceUnitState;
9682
9600
class PragmaOnce;
9683
 
class CCExprResolve;
9684
 
class CExprResolve;
 
9601
class CMatchSyntax;
9685
9602
namespace Puma {
9686
9603
 
9687
 
#line 141 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9604
#line 141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9688
9605
class PreIfdefDirective : public PreTreeComposite
9689
9606
 {
9690
 
#line 9691 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9607
#line 9608 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9608
  friend class ::CCExprResolve;
 
9609
  friend class ::CExprResolve;
9691
9610
  friend class ::WinIfExists;
9692
9611
  friend class ::WinImportHandler;
9693
9612
  friend class ::WinMacros;
9694
 
  friend class ::CMatchSyntax;
9695
 
  friend class ::ExtGnu;
 
9613
  friend class ::WinAsm;
 
9614
  friend class ::WinDeclSpecs;
 
9615
  friend class ::WinMemberExplSpec;
 
9616
  friend class ::WinTypeKeywords;
 
9617
  friend class ::WinFriend;
9696
9618
  friend class ::ExtAC;
9697
9619
  friend class ::ExtACBuilderCoupling;
9698
9620
  friend class ::ExtACSyntaxCoupling;
9699
9621
  friend class ::ExtACTree;
9700
9622
  friend class ::ExtACKeywords;
9701
 
  friend class ::WinAsm;
9702
 
  friend class ::WinDeclSpecs;
9703
 
  friend class ::WinMemberExplSpec;
9704
 
  friend class ::WinTypeKeywords;
 
9623
  friend class ::ExtGnu;
9705
9624
  friend class ::PragmaOnceUnitState;
9706
9625
  friend class ::PragmaOnce;
9707
 
  friend class ::CCExprResolve;
9708
 
  friend class ::CExprResolve;
 
9626
  friend class ::CMatchSyntax;
9709
9627
 
9710
 
#line 142 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9628
#line 142 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9711
9629
 
9712
9630
    public:
9713
9631
                                        
9729
9647
 
9730
9648
// The #ifndef directive.
9731
9649
 
9732
 
#line 9733 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9650
#line 9651 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9733
9651
} // closed Puma
 
9652
class CCExprResolve;
 
9653
class CExprResolve;
9734
9654
class WinIfExists;
9735
9655
class WinImportHandler;
9736
9656
class WinMacros;
9737
 
class CMatchSyntax;
9738
 
class ExtGnu;
 
9657
class WinAsm;
 
9658
class WinDeclSpecs;
 
9659
class WinMemberExplSpec;
 
9660
class WinTypeKeywords;
 
9661
class WinFriend;
9739
9662
class ExtAC;
9740
9663
class ExtACBuilderCoupling;
9741
9664
class ExtACSyntaxCoupling;
9742
9665
class ExtACTree;
9743
9666
class ExtACKeywords;
9744
 
class WinAsm;
9745
 
class WinDeclSpecs;
9746
 
class WinMemberExplSpec;
9747
 
class WinTypeKeywords;
 
9667
class ExtGnu;
9748
9668
class PragmaOnceUnitState;
9749
9669
class PragmaOnce;
9750
 
class CCExprResolve;
9751
 
class CExprResolve;
 
9670
class CMatchSyntax;
9752
9671
namespace Puma {
9753
9672
 
9754
 
#line 162 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9673
#line 162 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9755
9674
class PreIfndefDirective : public PreTreeComposite
9756
9675
 {
9757
 
#line 9758 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9676
#line 9677 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9677
  friend class ::CCExprResolve;
 
9678
  friend class ::CExprResolve;
9758
9679
  friend class ::WinIfExists;
9759
9680
  friend class ::WinImportHandler;
9760
9681
  friend class ::WinMacros;
9761
 
  friend class ::CMatchSyntax;
9762
 
  friend class ::ExtGnu;
 
9682
  friend class ::WinAsm;
 
9683
  friend class ::WinDeclSpecs;
 
9684
  friend class ::WinMemberExplSpec;
 
9685
  friend class ::WinTypeKeywords;
 
9686
  friend class ::WinFriend;
9763
9687
  friend class ::ExtAC;
9764
9688
  friend class ::ExtACBuilderCoupling;
9765
9689
  friend class ::ExtACSyntaxCoupling;
9766
9690
  friend class ::ExtACTree;
9767
9691
  friend class ::ExtACKeywords;
9768
 
  friend class ::WinAsm;
9769
 
  friend class ::WinDeclSpecs;
9770
 
  friend class ::WinMemberExplSpec;
9771
 
  friend class ::WinTypeKeywords;
 
9692
  friend class ::ExtGnu;
9772
9693
  friend class ::PragmaOnceUnitState;
9773
9694
  friend class ::PragmaOnce;
9774
 
  friend class ::CCExprResolve;
9775
 
  friend class ::CExprResolve;
 
9695
  friend class ::CMatchSyntax;
9776
9696
 
9777
 
#line 163 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9697
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9778
9698
 
9779
9699
    public:
9780
9700
                                        
9796
9716
 
9797
9717
// The #elif directive.
9798
9718
 
9799
 
#line 9800 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9719
#line 9720 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9800
9720
} // closed Puma
 
9721
class CCExprResolve;
 
9722
class CExprResolve;
9801
9723
class WinIfExists;
9802
9724
class WinImportHandler;
9803
9725
class WinMacros;
9804
 
class CMatchSyntax;
9805
 
class ExtGnu;
 
9726
class WinAsm;
 
9727
class WinDeclSpecs;
 
9728
class WinMemberExplSpec;
 
9729
class WinTypeKeywords;
 
9730
class WinFriend;
9806
9731
class ExtAC;
9807
9732
class ExtACBuilderCoupling;
9808
9733
class ExtACSyntaxCoupling;
9809
9734
class ExtACTree;
9810
9735
class ExtACKeywords;
9811
 
class WinAsm;
9812
 
class WinDeclSpecs;
9813
 
class WinMemberExplSpec;
9814
 
class WinTypeKeywords;
 
9736
class ExtGnu;
9815
9737
class PragmaOnceUnitState;
9816
9738
class PragmaOnce;
9817
 
class CCExprResolve;
9818
 
class CExprResolve;
 
9739
class CMatchSyntax;
9819
9740
namespace Puma {
9820
9741
 
9821
 
#line 183 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9742
#line 183 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9822
9743
class PreElifDirective : public PreTreeComposite
9823
9744
 {
9824
 
#line 9825 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9745
#line 9746 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9746
  friend class ::CCExprResolve;
 
9747
  friend class ::CExprResolve;
9825
9748
  friend class ::WinIfExists;
9826
9749
  friend class ::WinImportHandler;
9827
9750
  friend class ::WinMacros;
9828
 
  friend class ::CMatchSyntax;
9829
 
  friend class ::ExtGnu;
 
9751
  friend class ::WinAsm;
 
9752
  friend class ::WinDeclSpecs;
 
9753
  friend class ::WinMemberExplSpec;
 
9754
  friend class ::WinTypeKeywords;
 
9755
  friend class ::WinFriend;
9830
9756
  friend class ::ExtAC;
9831
9757
  friend class ::ExtACBuilderCoupling;
9832
9758
  friend class ::ExtACSyntaxCoupling;
9833
9759
  friend class ::ExtACTree;
9834
9760
  friend class ::ExtACKeywords;
9835
 
  friend class ::WinAsm;
9836
 
  friend class ::WinDeclSpecs;
9837
 
  friend class ::WinMemberExplSpec;
9838
 
  friend class ::WinTypeKeywords;
 
9761
  friend class ::ExtGnu;
9839
9762
  friend class ::PragmaOnceUnitState;
9840
9763
  friend class ::PragmaOnce;
9841
 
  friend class ::CCExprResolve;
9842
 
  friend class ::CExprResolve;
 
9764
  friend class ::CMatchSyntax;
9843
9765
 
9844
 
#line 184 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9766
#line 184 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9845
9767
 
9846
9768
    public:
9847
9769
                                        
9860
9782
 
9861
9783
// The #else directive.
9862
9784
 
9863
 
#line 9864 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9785
#line 9786 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9864
9786
} // closed Puma
 
9787
class CCExprResolve;
 
9788
class CExprResolve;
9865
9789
class WinIfExists;
9866
9790
class WinImportHandler;
9867
9791
class WinMacros;
9868
 
class CMatchSyntax;
9869
 
class ExtGnu;
 
9792
class WinAsm;
 
9793
class WinDeclSpecs;
 
9794
class WinMemberExplSpec;
 
9795
class WinTypeKeywords;
 
9796
class WinFriend;
9870
9797
class ExtAC;
9871
9798
class ExtACBuilderCoupling;
9872
9799
class ExtACSyntaxCoupling;
9873
9800
class ExtACTree;
9874
9801
class ExtACKeywords;
9875
 
class WinAsm;
9876
 
class WinDeclSpecs;
9877
 
class WinMemberExplSpec;
9878
 
class WinTypeKeywords;
 
9802
class ExtGnu;
9879
9803
class PragmaOnceUnitState;
9880
9804
class PragmaOnce;
9881
 
class CCExprResolve;
9882
 
class CExprResolve;
 
9805
class CMatchSyntax;
9883
9806
namespace Puma {
9884
9807
 
9885
 
#line 201 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9808
#line 201 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9886
9809
class PreElseDirective : public PreTreeComposite
9887
9810
 {
9888
 
#line 9889 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9811
#line 9812 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9812
  friend class ::CCExprResolve;
 
9813
  friend class ::CExprResolve;
9889
9814
  friend class ::WinIfExists;
9890
9815
  friend class ::WinImportHandler;
9891
9816
  friend class ::WinMacros;
9892
 
  friend class ::CMatchSyntax;
9893
 
  friend class ::ExtGnu;
 
9817
  friend class ::WinAsm;
 
9818
  friend class ::WinDeclSpecs;
 
9819
  friend class ::WinMemberExplSpec;
 
9820
  friend class ::WinTypeKeywords;
 
9821
  friend class ::WinFriend;
9894
9822
  friend class ::ExtAC;
9895
9823
  friend class ::ExtACBuilderCoupling;
9896
9824
  friend class ::ExtACSyntaxCoupling;
9897
9825
  friend class ::ExtACTree;
9898
9826
  friend class ::ExtACKeywords;
9899
 
  friend class ::WinAsm;
9900
 
  friend class ::WinDeclSpecs;
9901
 
  friend class ::WinMemberExplSpec;
9902
 
  friend class ::WinTypeKeywords;
 
9827
  friend class ::ExtGnu;
9903
9828
  friend class ::PragmaOnceUnitState;
9904
9829
  friend class ::PragmaOnce;
9905
 
  friend class ::CCExprResolve;
9906
 
  friend class ::CExprResolve;
 
9830
  friend class ::CMatchSyntax;
9907
9831
 
9908
 
#line 202 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9832
#line 202 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9909
9833
 
9910
9834
    public:
9911
9835
                                        
9924
9848
 
9925
9849
// The #endif directive.
9926
9850
 
9927
 
#line 9928 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9851
#line 9852 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9928
9852
} // closed Puma
 
9853
class CCExprResolve;
 
9854
class CExprResolve;
9929
9855
class WinIfExists;
9930
9856
class WinImportHandler;
9931
9857
class WinMacros;
9932
 
class CMatchSyntax;
9933
 
class ExtGnu;
 
9858
class WinAsm;
 
9859
class WinDeclSpecs;
 
9860
class WinMemberExplSpec;
 
9861
class WinTypeKeywords;
 
9862
class WinFriend;
9934
9863
class ExtAC;
9935
9864
class ExtACBuilderCoupling;
9936
9865
class ExtACSyntaxCoupling;
9937
9866
class ExtACTree;
9938
9867
class ExtACKeywords;
9939
 
class WinAsm;
9940
 
class WinDeclSpecs;
9941
 
class WinMemberExplSpec;
9942
 
class WinTypeKeywords;
 
9868
class ExtGnu;
9943
9869
class PragmaOnceUnitState;
9944
9870
class PragmaOnce;
9945
 
class CCExprResolve;
9946
 
class CExprResolve;
 
9871
class CMatchSyntax;
9947
9872
namespace Puma {
9948
9873
 
9949
 
#line 219 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9874
#line 219 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9950
9875
class PreEndifDirective : public PreTreeComposite
9951
9876
 {
9952
 
#line 9953 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9877
#line 9878 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9878
  friend class ::CCExprResolve;
 
9879
  friend class ::CExprResolve;
9953
9880
  friend class ::WinIfExists;
9954
9881
  friend class ::WinImportHandler;
9955
9882
  friend class ::WinMacros;
9956
 
  friend class ::CMatchSyntax;
9957
 
  friend class ::ExtGnu;
 
9883
  friend class ::WinAsm;
 
9884
  friend class ::WinDeclSpecs;
 
9885
  friend class ::WinMemberExplSpec;
 
9886
  friend class ::WinTypeKeywords;
 
9887
  friend class ::WinFriend;
9958
9888
  friend class ::ExtAC;
9959
9889
  friend class ::ExtACBuilderCoupling;
9960
9890
  friend class ::ExtACSyntaxCoupling;
9961
9891
  friend class ::ExtACTree;
9962
9892
  friend class ::ExtACKeywords;
9963
 
  friend class ::WinAsm;
9964
 
  friend class ::WinDeclSpecs;
9965
 
  friend class ::WinMemberExplSpec;
9966
 
  friend class ::WinTypeKeywords;
 
9893
  friend class ::ExtGnu;
9967
9894
  friend class ::PragmaOnceUnitState;
9968
9895
  friend class ::PragmaOnce;
9969
 
  friend class ::CCExprResolve;
9970
 
  friend class ::CExprResolve;
 
9896
  friend class ::CMatchSyntax;
9971
9897
 
9972
 
#line 220 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9898
#line 220 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
9973
9899
 
9974
9900
    public:
9975
9901
                                        
9988
9914
 
9989
9915
// The #include and #include_next directive.
9990
9916
 
9991
 
#line 9992 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9917
#line 9918 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
9992
9918
} // closed Puma
 
9919
class CCExprResolve;
 
9920
class CExprResolve;
9993
9921
class WinIfExists;
9994
9922
class WinImportHandler;
9995
9923
class WinMacros;
9996
 
class CMatchSyntax;
9997
 
class ExtGnu;
 
9924
class WinAsm;
 
9925
class WinDeclSpecs;
 
9926
class WinMemberExplSpec;
 
9927
class WinTypeKeywords;
 
9928
class WinFriend;
9998
9929
class ExtAC;
9999
9930
class ExtACBuilderCoupling;
10000
9931
class ExtACSyntaxCoupling;
10001
9932
class ExtACTree;
10002
9933
class ExtACKeywords;
10003
 
class WinAsm;
10004
 
class WinDeclSpecs;
10005
 
class WinMemberExplSpec;
10006
 
class WinTypeKeywords;
 
9934
class ExtGnu;
10007
9935
class PragmaOnceUnitState;
10008
9936
class PragmaOnce;
10009
 
class CCExprResolve;
10010
 
class CExprResolve;
 
9937
class CMatchSyntax;
10011
9938
namespace Puma {
10012
9939
 
10013
 
#line 237 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9940
#line 237 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10014
9941
class PreIncludeDirective : public PreTreeComposite
10015
9942
 {
10016
 
#line 10017 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9943
#line 9944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
9944
  friend class ::CCExprResolve;
 
9945
  friend class ::CExprResolve;
10017
9946
  friend class ::WinIfExists;
10018
9947
  friend class ::WinImportHandler;
10019
9948
  friend class ::WinMacros;
10020
 
  friend class ::CMatchSyntax;
10021
 
  friend class ::ExtGnu;
 
9949
  friend class ::WinAsm;
 
9950
  friend class ::WinDeclSpecs;
 
9951
  friend class ::WinMemberExplSpec;
 
9952
  friend class ::WinTypeKeywords;
 
9953
  friend class ::WinFriend;
10022
9954
  friend class ::ExtAC;
10023
9955
  friend class ::ExtACBuilderCoupling;
10024
9956
  friend class ::ExtACSyntaxCoupling;
10025
9957
  friend class ::ExtACTree;
10026
9958
  friend class ::ExtACKeywords;
10027
 
  friend class ::WinAsm;
10028
 
  friend class ::WinDeclSpecs;
10029
 
  friend class ::WinMemberExplSpec;
10030
 
  friend class ::WinTypeKeywords;
 
9959
  friend class ::ExtGnu;
10031
9960
  friend class ::PragmaOnceUnitState;
10032
9961
  friend class ::PragmaOnce;
10033
 
  friend class ::CCExprResolve;
10034
 
  friend class ::CExprResolve;
 
9962
  friend class ::CMatchSyntax;
10035
9963
 
10036
 
#line 238 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
9964
#line 238 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10037
9965
 
10038
9966
        int _depth;
10039
9967
 
10068
9996
 
10069
9997
// The #assert directive.
10070
9998
 
10071
 
#line 10072 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
9999
#line 10000 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10072
10000
} // closed Puma
 
10001
class CCExprResolve;
 
10002
class CExprResolve;
10073
10003
class WinIfExists;
10074
10004
class WinImportHandler;
10075
10005
class WinMacros;
10076
 
class CMatchSyntax;
10077
 
class ExtGnu;
 
10006
class WinAsm;
 
10007
class WinDeclSpecs;
 
10008
class WinMemberExplSpec;
 
10009
class WinTypeKeywords;
 
10010
class WinFriend;
10078
10011
class ExtAC;
10079
10012
class ExtACBuilderCoupling;
10080
10013
class ExtACSyntaxCoupling;
10081
10014
class ExtACTree;
10082
10015
class ExtACKeywords;
10083
 
class WinAsm;
10084
 
class WinDeclSpecs;
10085
 
class WinMemberExplSpec;
10086
 
class WinTypeKeywords;
 
10016
class ExtGnu;
10087
10017
class PragmaOnceUnitState;
10088
10018
class PragmaOnce;
10089
 
class CCExprResolve;
10090
 
class CExprResolve;
 
10019
class CMatchSyntax;
10091
10020
namespace Puma {
10092
10021
 
10093
 
#line 271 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10022
#line 271 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10094
10023
class PreAssertDirective : public PreTreeComposite
10095
10024
 {
10096
 
#line 10097 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10025
#line 10026 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10026
  friend class ::CCExprResolve;
 
10027
  friend class ::CExprResolve;
10097
10028
  friend class ::WinIfExists;
10098
10029
  friend class ::WinImportHandler;
10099
10030
  friend class ::WinMacros;
10100
 
  friend class ::CMatchSyntax;
10101
 
  friend class ::ExtGnu;
 
10031
  friend class ::WinAsm;
 
10032
  friend class ::WinDeclSpecs;
 
10033
  friend class ::WinMemberExplSpec;
 
10034
  friend class ::WinTypeKeywords;
 
10035
  friend class ::WinFriend;
10102
10036
  friend class ::ExtAC;
10103
10037
  friend class ::ExtACBuilderCoupling;
10104
10038
  friend class ::ExtACSyntaxCoupling;
10105
10039
  friend class ::ExtACTree;
10106
10040
  friend class ::ExtACKeywords;
10107
 
  friend class ::WinAsm;
10108
 
  friend class ::WinDeclSpecs;
10109
 
  friend class ::WinMemberExplSpec;
10110
 
  friend class ::WinTypeKeywords;
 
10041
  friend class ::ExtGnu;
10111
10042
  friend class ::PragmaOnceUnitState;
10112
10043
  friend class ::PragmaOnce;
10113
 
  friend class ::CCExprResolve;
10114
 
  friend class ::CExprResolve;
 
10044
  friend class ::CMatchSyntax;
10115
10045
 
10116
 
#line 272 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10046
#line 272 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10117
10047
 
10118
10048
    public:
10119
10049
                                        
10135
10065
 
10136
10066
// The #unassert directive.
10137
10067
 
10138
 
#line 10139 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10068
#line 10069 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10139
10069
} // closed Puma
 
10070
class CCExprResolve;
 
10071
class CExprResolve;
10140
10072
class WinIfExists;
10141
10073
class WinImportHandler;
10142
10074
class WinMacros;
10143
 
class CMatchSyntax;
10144
 
class ExtGnu;
 
10075
class WinAsm;
 
10076
class WinDeclSpecs;
 
10077
class WinMemberExplSpec;
 
10078
class WinTypeKeywords;
 
10079
class WinFriend;
10145
10080
class ExtAC;
10146
10081
class ExtACBuilderCoupling;
10147
10082
class ExtACSyntaxCoupling;
10148
10083
class ExtACTree;
10149
10084
class ExtACKeywords;
10150
 
class WinAsm;
10151
 
class WinDeclSpecs;
10152
 
class WinMemberExplSpec;
10153
 
class WinTypeKeywords;
 
10085
class ExtGnu;
10154
10086
class PragmaOnceUnitState;
10155
10087
class PragmaOnce;
10156
 
class CCExprResolve;
10157
 
class CExprResolve;
 
10088
class CMatchSyntax;
10158
10089
namespace Puma {
10159
10090
 
10160
 
#line 292 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10091
#line 292 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10161
10092
class PreUnassertDirective : public PreTreeComposite
10162
10093
 {
10163
 
#line 10164 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10094
#line 10095 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10095
  friend class ::CCExprResolve;
 
10096
  friend class ::CExprResolve;
10164
10097
  friend class ::WinIfExists;
10165
10098
  friend class ::WinImportHandler;
10166
10099
  friend class ::WinMacros;
10167
 
  friend class ::CMatchSyntax;
10168
 
  friend class ::ExtGnu;
 
10100
  friend class ::WinAsm;
 
10101
  friend class ::WinDeclSpecs;
 
10102
  friend class ::WinMemberExplSpec;
 
10103
  friend class ::WinTypeKeywords;
 
10104
  friend class ::WinFriend;
10169
10105
  friend class ::ExtAC;
10170
10106
  friend class ::ExtACBuilderCoupling;
10171
10107
  friend class ::ExtACSyntaxCoupling;
10172
10108
  friend class ::ExtACTree;
10173
10109
  friend class ::ExtACKeywords;
10174
 
  friend class ::WinAsm;
10175
 
  friend class ::WinDeclSpecs;
10176
 
  friend class ::WinMemberExplSpec;
10177
 
  friend class ::WinTypeKeywords;
 
10110
  friend class ::ExtGnu;
10178
10111
  friend class ::PragmaOnceUnitState;
10179
10112
  friend class ::PragmaOnce;
10180
 
  friend class ::CCExprResolve;
10181
 
  friend class ::CExprResolve;
 
10113
  friend class ::CMatchSyntax;
10182
10114
 
10183
 
#line 293 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10115
#line 293 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10184
10116
 
10185
10117
    public:
10186
10118
                                        
10203
10135
// The #define directive that defines function-like macros.
10204
10136
// Like: #define FUNCTION (id,...,id) ... ... ...
10205
10137
 
10206
 
#line 10207 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10138
#line 10139 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10207
10139
} // closed Puma
 
10140
class CCExprResolve;
 
10141
class CExprResolve;
10208
10142
class WinIfExists;
10209
10143
class WinImportHandler;
10210
10144
class WinMacros;
10211
 
class CMatchSyntax;
10212
 
class ExtGnu;
 
10145
class WinAsm;
 
10146
class WinDeclSpecs;
 
10147
class WinMemberExplSpec;
 
10148
class WinTypeKeywords;
 
10149
class WinFriend;
10213
10150
class ExtAC;
10214
10151
class ExtACBuilderCoupling;
10215
10152
class ExtACSyntaxCoupling;
10216
10153
class ExtACTree;
10217
10154
class ExtACKeywords;
10218
 
class WinAsm;
10219
 
class WinDeclSpecs;
10220
 
class WinMemberExplSpec;
10221
 
class WinTypeKeywords;
 
10155
class ExtGnu;
10222
10156
class PragmaOnceUnitState;
10223
10157
class PragmaOnce;
10224
 
class CCExprResolve;
10225
 
class CExprResolve;
 
10158
class CMatchSyntax;
10226
10159
namespace Puma {
10227
10160
 
10228
 
#line 314 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10161
#line 314 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10229
10162
class PreDefineFunctionDirective : public PreTreeComposite
10230
10163
 {
10231
 
#line 10232 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10164
#line 10165 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10165
  friend class ::CCExprResolve;
 
10166
  friend class ::CExprResolve;
10232
10167
  friend class ::WinIfExists;
10233
10168
  friend class ::WinImportHandler;
10234
10169
  friend class ::WinMacros;
10235
 
  friend class ::CMatchSyntax;
10236
 
  friend class ::ExtGnu;
 
10170
  friend class ::WinAsm;
 
10171
  friend class ::WinDeclSpecs;
 
10172
  friend class ::WinMemberExplSpec;
 
10173
  friend class ::WinTypeKeywords;
 
10174
  friend class ::WinFriend;
10237
10175
  friend class ::ExtAC;
10238
10176
  friend class ::ExtACBuilderCoupling;
10239
10177
  friend class ::ExtACSyntaxCoupling;
10240
10178
  friend class ::ExtACTree;
10241
10179
  friend class ::ExtACKeywords;
10242
 
  friend class ::WinAsm;
10243
 
  friend class ::WinDeclSpecs;
10244
 
  friend class ::WinMemberExplSpec;
10245
 
  friend class ::WinTypeKeywords;
 
10180
  friend class ::ExtGnu;
10246
10181
  friend class ::PragmaOnceUnitState;
10247
10182
  friend class ::PragmaOnce;
10248
 
  friend class ::CCExprResolve;
10249
 
  friend class ::CExprResolve;
 
10183
  friend class ::CMatchSyntax;
10250
10184
 
10251
 
#line 315 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10185
#line 315 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10252
10186
 
10253
10187
    public:
10254
10188
                                        
10292
10226
// The #define directive that defines symbolic constants macros.
10293
10227
// Like: #define CONSTANT ... ... ...
10294
10228
 
10295
 
#line 10296 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10229
#line 10230 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10296
10230
} // closed Puma
 
10231
class CCExprResolve;
 
10232
class CExprResolve;
10297
10233
class WinIfExists;
10298
10234
class WinImportHandler;
10299
10235
class WinMacros;
10300
 
class CMatchSyntax;
10301
 
class ExtGnu;
 
10236
class WinAsm;
 
10237
class WinDeclSpecs;
 
10238
class WinMemberExplSpec;
 
10239
class WinTypeKeywords;
 
10240
class WinFriend;
10302
10241
class ExtAC;
10303
10242
class ExtACBuilderCoupling;
10304
10243
class ExtACSyntaxCoupling;
10305
10244
class ExtACTree;
10306
10245
class ExtACKeywords;
10307
 
class WinAsm;
10308
 
class WinDeclSpecs;
10309
 
class WinMemberExplSpec;
10310
 
class WinTypeKeywords;
 
10246
class ExtGnu;
10311
10247
class PragmaOnceUnitState;
10312
10248
class PragmaOnce;
10313
 
class CCExprResolve;
10314
 
class CExprResolve;
 
10249
class CMatchSyntax;
10315
10250
namespace Puma {
10316
10251
 
10317
 
#line 357 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10252
#line 357 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10318
10253
class PreDefineConstantDirective : public PreTreeComposite
10319
10254
 {
10320
 
#line 10321 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10255
#line 10256 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10256
  friend class ::CCExprResolve;
 
10257
  friend class ::CExprResolve;
10321
10258
  friend class ::WinIfExists;
10322
10259
  friend class ::WinImportHandler;
10323
10260
  friend class ::WinMacros;
10324
 
  friend class ::CMatchSyntax;
10325
 
  friend class ::ExtGnu;
 
10261
  friend class ::WinAsm;
 
10262
  friend class ::WinDeclSpecs;
 
10263
  friend class ::WinMemberExplSpec;
 
10264
  friend class ::WinTypeKeywords;
 
10265
  friend class ::WinFriend;
10326
10266
  friend class ::ExtAC;
10327
10267
  friend class ::ExtACBuilderCoupling;
10328
10268
  friend class ::ExtACSyntaxCoupling;
10329
10269
  friend class ::ExtACTree;
10330
10270
  friend class ::ExtACKeywords;
10331
 
  friend class ::WinAsm;
10332
 
  friend class ::WinDeclSpecs;
10333
 
  friend class ::WinMemberExplSpec;
10334
 
  friend class ::WinTypeKeywords;
 
10271
  friend class ::ExtGnu;
10335
10272
  friend class ::PragmaOnceUnitState;
10336
10273
  friend class ::PragmaOnce;
10337
 
  friend class ::CCExprResolve;
10338
 
  friend class ::CExprResolve;
 
10274
  friend class ::CMatchSyntax;
10339
10275
 
10340
 
#line 358 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10276
#line 358 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10341
10277
 
10342
10278
    public:
10343
10279
                                        
10359
10295
 
10360
10296
// The #undef directive.
10361
10297
 
10362
 
#line 10363 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10298
#line 10299 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10363
10299
} // closed Puma
 
10300
class CCExprResolve;
 
10301
class CExprResolve;
10364
10302
class WinIfExists;
10365
10303
class WinImportHandler;
10366
10304
class WinMacros;
10367
 
class CMatchSyntax;
10368
 
class ExtGnu;
 
10305
class WinAsm;
 
10306
class WinDeclSpecs;
 
10307
class WinMemberExplSpec;
 
10308
class WinTypeKeywords;
 
10309
class WinFriend;
10369
10310
class ExtAC;
10370
10311
class ExtACBuilderCoupling;
10371
10312
class ExtACSyntaxCoupling;
10372
10313
class ExtACTree;
10373
10314
class ExtACKeywords;
10374
 
class WinAsm;
10375
 
class WinDeclSpecs;
10376
 
class WinMemberExplSpec;
10377
 
class WinTypeKeywords;
 
10315
class ExtGnu;
10378
10316
class PragmaOnceUnitState;
10379
10317
class PragmaOnce;
10380
 
class CCExprResolve;
10381
 
class CExprResolve;
 
10318
class CMatchSyntax;
10382
10319
namespace Puma {
10383
10320
 
10384
 
#line 378 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10321
#line 378 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10385
10322
class PreUndefDirective : public PreTreeComposite
10386
10323
 {
10387
 
#line 10388 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10324
#line 10325 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10325
  friend class ::CCExprResolve;
 
10326
  friend class ::CExprResolve;
10388
10327
  friend class ::WinIfExists;
10389
10328
  friend class ::WinImportHandler;
10390
10329
  friend class ::WinMacros;
10391
 
  friend class ::CMatchSyntax;
10392
 
  friend class ::ExtGnu;
 
10330
  friend class ::WinAsm;
 
10331
  friend class ::WinDeclSpecs;
 
10332
  friend class ::WinMemberExplSpec;
 
10333
  friend class ::WinTypeKeywords;
 
10334
  friend class ::WinFriend;
10393
10335
  friend class ::ExtAC;
10394
10336
  friend class ::ExtACBuilderCoupling;
10395
10337
  friend class ::ExtACSyntaxCoupling;
10396
10338
  friend class ::ExtACTree;
10397
10339
  friend class ::ExtACKeywords;
10398
 
  friend class ::WinAsm;
10399
 
  friend class ::WinDeclSpecs;
10400
 
  friend class ::WinMemberExplSpec;
10401
 
  friend class ::WinTypeKeywords;
 
10340
  friend class ::ExtGnu;
10402
10341
  friend class ::PragmaOnceUnitState;
10403
10342
  friend class ::PragmaOnce;
10404
 
  friend class ::CCExprResolve;
10405
 
  friend class ::CExprResolve;
 
10343
  friend class ::CMatchSyntax;
10406
10344
 
10407
 
#line 379 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10345
#line 379 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10408
10346
 
10409
10347
    public:
10410
10348
                                        
10426
10364
 
10427
10365
// The #warning directive.
10428
10366
 
10429
 
#line 10430 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10367
#line 10368 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10430
10368
} // closed Puma
 
10369
class CCExprResolve;
 
10370
class CExprResolve;
10431
10371
class WinIfExists;
10432
10372
class WinImportHandler;
10433
10373
class WinMacros;
10434
 
class CMatchSyntax;
10435
 
class ExtGnu;
 
10374
class WinAsm;
 
10375
class WinDeclSpecs;
 
10376
class WinMemberExplSpec;
 
10377
class WinTypeKeywords;
 
10378
class WinFriend;
10436
10379
class ExtAC;
10437
10380
class ExtACBuilderCoupling;
10438
10381
class ExtACSyntaxCoupling;
10439
10382
class ExtACTree;
10440
10383
class ExtACKeywords;
10441
 
class WinAsm;
10442
 
class WinDeclSpecs;
10443
 
class WinMemberExplSpec;
10444
 
class WinTypeKeywords;
 
10384
class ExtGnu;
10445
10385
class PragmaOnceUnitState;
10446
10386
class PragmaOnce;
10447
 
class CCExprResolve;
10448
 
class CExprResolve;
 
10387
class CMatchSyntax;
10449
10388
namespace Puma {
10450
10389
 
10451
 
#line 399 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10390
#line 399 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10452
10391
class PreWarningDirective : public PreTreeComposite
10453
10392
 {
10454
 
#line 10455 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10393
#line 10394 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10394
  friend class ::CCExprResolve;
 
10395
  friend class ::CExprResolve;
10455
10396
  friend class ::WinIfExists;
10456
10397
  friend class ::WinImportHandler;
10457
10398
  friend class ::WinMacros;
10458
 
  friend class ::CMatchSyntax;
10459
 
  friend class ::ExtGnu;
 
10399
  friend class ::WinAsm;
 
10400
  friend class ::WinDeclSpecs;
 
10401
  friend class ::WinMemberExplSpec;
 
10402
  friend class ::WinTypeKeywords;
 
10403
  friend class ::WinFriend;
10460
10404
  friend class ::ExtAC;
10461
10405
  friend class ::ExtACBuilderCoupling;
10462
10406
  friend class ::ExtACSyntaxCoupling;
10463
10407
  friend class ::ExtACTree;
10464
10408
  friend class ::ExtACKeywords;
10465
 
  friend class ::WinAsm;
10466
 
  friend class ::WinDeclSpecs;
10467
 
  friend class ::WinMemberExplSpec;
10468
 
  friend class ::WinTypeKeywords;
 
10409
  friend class ::ExtGnu;
10469
10410
  friend class ::PragmaOnceUnitState;
10470
10411
  friend class ::PragmaOnce;
10471
 
  friend class ::CCExprResolve;
10472
 
  friend class ::CExprResolve;
 
10412
  friend class ::CMatchSyntax;
10473
10413
 
10474
 
#line 400 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10414
#line 400 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10475
10415
 
10476
10416
    public:
10477
10417
                                        
10490
10430
 
10491
10431
// The #error directive.
10492
10432
 
10493
 
#line 10494 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10433
#line 10434 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10494
10434
} // closed Puma
 
10435
class CCExprResolve;
 
10436
class CExprResolve;
10495
10437
class WinIfExists;
10496
10438
class WinImportHandler;
10497
10439
class WinMacros;
10498
 
class CMatchSyntax;
10499
 
class ExtGnu;
 
10440
class WinAsm;
 
10441
class WinDeclSpecs;
 
10442
class WinMemberExplSpec;
 
10443
class WinTypeKeywords;
 
10444
class WinFriend;
10500
10445
class ExtAC;
10501
10446
class ExtACBuilderCoupling;
10502
10447
class ExtACSyntaxCoupling;
10503
10448
class ExtACTree;
10504
10449
class ExtACKeywords;
10505
 
class WinAsm;
10506
 
class WinDeclSpecs;
10507
 
class WinMemberExplSpec;
10508
 
class WinTypeKeywords;
 
10450
class ExtGnu;
10509
10451
class PragmaOnceUnitState;
10510
10452
class PragmaOnce;
10511
 
class CCExprResolve;
10512
 
class CExprResolve;
 
10453
class CMatchSyntax;
10513
10454
namespace Puma {
10514
10455
 
10515
 
#line 417 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10456
#line 417 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10516
10457
class PreErrorDirective : public PreTreeComposite
10517
10458
 {
10518
 
#line 10519 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10459
#line 10460 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10460
  friend class ::CCExprResolve;
 
10461
  friend class ::CExprResolve;
10519
10462
  friend class ::WinIfExists;
10520
10463
  friend class ::WinImportHandler;
10521
10464
  friend class ::WinMacros;
10522
 
  friend class ::CMatchSyntax;
10523
 
  friend class ::ExtGnu;
 
10465
  friend class ::WinAsm;
 
10466
  friend class ::WinDeclSpecs;
 
10467
  friend class ::WinMemberExplSpec;
 
10468
  friend class ::WinTypeKeywords;
 
10469
  friend class ::WinFriend;
10524
10470
  friend class ::ExtAC;
10525
10471
  friend class ::ExtACBuilderCoupling;
10526
10472
  friend class ::ExtACSyntaxCoupling;
10527
10473
  friend class ::ExtACTree;
10528
10474
  friend class ::ExtACKeywords;
10529
 
  friend class ::WinAsm;
10530
 
  friend class ::WinDeclSpecs;
10531
 
  friend class ::WinMemberExplSpec;
10532
 
  friend class ::WinTypeKeywords;
 
10475
  friend class ::ExtGnu;
10533
10476
  friend class ::PragmaOnceUnitState;
10534
10477
  friend class ::PragmaOnce;
10535
 
  friend class ::CCExprResolve;
10536
 
  friend class ::CExprResolve;
 
10478
  friend class ::CMatchSyntax;
10537
10479
 
10538
 
#line 418 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10480
#line 418 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10539
10481
 
10540
10482
    public:
10541
10483
                                        
10555
10497
// Collects comma separated argument identifiers for a function-like macro.
10556
10498
// Like: id, id, ..., id.
10557
10499
 
10558
 
#line 10559 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10500
#line 10501 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10559
10501
} // closed Puma
 
10502
class CCExprResolve;
 
10503
class CExprResolve;
10560
10504
class WinIfExists;
10561
10505
class WinImportHandler;
10562
10506
class WinMacros;
10563
 
class CMatchSyntax;
10564
 
class ExtGnu;
 
10507
class WinAsm;
 
10508
class WinDeclSpecs;
 
10509
class WinMemberExplSpec;
 
10510
class WinTypeKeywords;
 
10511
class WinFriend;
10565
10512
class ExtAC;
10566
10513
class ExtACBuilderCoupling;
10567
10514
class ExtACSyntaxCoupling;
10568
10515
class ExtACTree;
10569
10516
class ExtACKeywords;
10570
 
class WinAsm;
10571
 
class WinDeclSpecs;
10572
 
class WinMemberExplSpec;
10573
 
class WinTypeKeywords;
 
10517
class ExtGnu;
10574
10518
class PragmaOnceUnitState;
10575
10519
class PragmaOnce;
10576
 
class CCExprResolve;
10577
 
class CExprResolve;
 
10520
class CMatchSyntax;
10578
10521
namespace Puma {
10579
10522
 
10580
 
#line 436 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10523
#line 436 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10581
10524
class PreIdentifierList : public PreTreeComposite
10582
10525
 {
10583
 
#line 10584 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10526
#line 10527 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10527
  friend class ::CCExprResolve;
 
10528
  friend class ::CExprResolve;
10584
10529
  friend class ::WinIfExists;
10585
10530
  friend class ::WinImportHandler;
10586
10531
  friend class ::WinMacros;
10587
 
  friend class ::CMatchSyntax;
10588
 
  friend class ::ExtGnu;
 
10532
  friend class ::WinAsm;
 
10533
  friend class ::WinDeclSpecs;
 
10534
  friend class ::WinMemberExplSpec;
 
10535
  friend class ::WinTypeKeywords;
 
10536
  friend class ::WinFriend;
10589
10537
  friend class ::ExtAC;
10590
10538
  friend class ::ExtACBuilderCoupling;
10591
10539
  friend class ::ExtACSyntaxCoupling;
10592
10540
  friend class ::ExtACTree;
10593
10541
  friend class ::ExtACKeywords;
10594
 
  friend class ::WinAsm;
10595
 
  friend class ::WinDeclSpecs;
10596
 
  friend class ::WinMemberExplSpec;
10597
 
  friend class ::WinTypeKeywords;
 
10542
  friend class ::ExtGnu;
10598
10543
  friend class ::PragmaOnceUnitState;
10599
10544
  friend class ::PragmaOnce;
10600
 
  friend class ::CCExprResolve;
10601
 
  friend class ::CExprResolve;
 
10545
  friend class ::CMatchSyntax;
10602
10546
 
10603
 
#line 437 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10547
#line 437 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10604
10548
 
10605
10549
    public:
10606
10550
                                        // Dynamic sons, no daughters. 
10622
10566
 
10623
10567
// Collects every kind of token  (except comments) for the macro body.
10624
10568
 
10625
 
#line 10626 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10569
#line 10570 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10626
10570
} // closed Puma
 
10571
class CCExprResolve;
 
10572
class CExprResolve;
10627
10573
class WinIfExists;
10628
10574
class WinImportHandler;
10629
10575
class WinMacros;
10630
 
class CMatchSyntax;
10631
 
class ExtGnu;
 
10576
class WinAsm;
 
10577
class WinDeclSpecs;
 
10578
class WinMemberExplSpec;
 
10579
class WinTypeKeywords;
 
10580
class WinFriend;
10632
10581
class ExtAC;
10633
10582
class ExtACBuilderCoupling;
10634
10583
class ExtACSyntaxCoupling;
10635
10584
class ExtACTree;
10636
10585
class ExtACKeywords;
10637
 
class WinAsm;
10638
 
class WinDeclSpecs;
10639
 
class WinMemberExplSpec;
10640
 
class WinTypeKeywords;
 
10586
class ExtGnu;
10641
10587
class PragmaOnceUnitState;
10642
10588
class PragmaOnce;
10643
 
class CCExprResolve;
10644
 
class CExprResolve;
 
10589
class CMatchSyntax;
10645
10590
namespace Puma {
10646
10591
 
10647
 
#line 457 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10592
#line 457 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10648
10593
class PreTokenList : public PreTreeComposite
10649
10594
 {
10650
 
#line 10651 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10595
#line 10596 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10596
  friend class ::CCExprResolve;
 
10597
  friend class ::CExprResolve;
10651
10598
  friend class ::WinIfExists;
10652
10599
  friend class ::WinImportHandler;
10653
10600
  friend class ::WinMacros;
10654
 
  friend class ::CMatchSyntax;
10655
 
  friend class ::ExtGnu;
 
10601
  friend class ::WinAsm;
 
10602
  friend class ::WinDeclSpecs;
 
10603
  friend class ::WinMemberExplSpec;
 
10604
  friend class ::WinTypeKeywords;
 
10605
  friend class ::WinFriend;
10656
10606
  friend class ::ExtAC;
10657
10607
  friend class ::ExtACBuilderCoupling;
10658
10608
  friend class ::ExtACSyntaxCoupling;
10659
10609
  friend class ::ExtACTree;
10660
10610
  friend class ::ExtACKeywords;
10661
 
  friend class ::WinAsm;
10662
 
  friend class ::WinDeclSpecs;
10663
 
  friend class ::WinMemberExplSpec;
10664
 
  friend class ::WinTypeKeywords;
 
10611
  friend class ::ExtGnu;
10665
10612
  friend class ::PragmaOnceUnitState;
10666
10613
  friend class ::PragmaOnce;
10667
 
  friend class ::CCExprResolve;
10668
 
  friend class ::CExprResolve;
 
10614
  friend class ::CMatchSyntax;
10669
10615
 
10670
 
#line 458 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10616
#line 458 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10671
10617
 
10672
10618
    public:
10673
10619
                                        
10691
10637
 
10692
10638
// Contains every kind of token  (except comments) for the macro body.
10693
10639
 
10694
 
#line 10695 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10640
#line 10641 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10695
10641
} // closed Puma
 
10642
class CCExprResolve;
 
10643
class CExprResolve;
10696
10644
class WinIfExists;
10697
10645
class WinImportHandler;
10698
10646
class WinMacros;
10699
 
class CMatchSyntax;
10700
 
class ExtGnu;
 
10647
class WinAsm;
 
10648
class WinDeclSpecs;
 
10649
class WinMemberExplSpec;
 
10650
class WinTypeKeywords;
 
10651
class WinFriend;
10701
10652
class ExtAC;
10702
10653
class ExtACBuilderCoupling;
10703
10654
class ExtACSyntaxCoupling;
10704
10655
class ExtACTree;
10705
10656
class ExtACKeywords;
10706
 
class WinAsm;
10707
 
class WinDeclSpecs;
10708
 
class WinMemberExplSpec;
10709
 
class WinTypeKeywords;
 
10657
class ExtGnu;
10710
10658
class PragmaOnceUnitState;
10711
10659
class PragmaOnce;
10712
 
class CCExprResolve;
10713
 
class CExprResolve;
 
10660
class CMatchSyntax;
10714
10661
namespace Puma {
10715
10662
 
10716
 
#line 480 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10663
#line 480 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10717
10664
class PreTokenListPart : public PreTreeComposite
10718
10665
 {
10719
 
#line 10720 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10666
#line 10667 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10667
  friend class ::CCExprResolve;
 
10668
  friend class ::CExprResolve;
10720
10669
  friend class ::WinIfExists;
10721
10670
  friend class ::WinImportHandler;
10722
10671
  friend class ::WinMacros;
10723
 
  friend class ::CMatchSyntax;
10724
 
  friend class ::ExtGnu;
 
10672
  friend class ::WinAsm;
 
10673
  friend class ::WinDeclSpecs;
 
10674
  friend class ::WinMemberExplSpec;
 
10675
  friend class ::WinTypeKeywords;
 
10676
  friend class ::WinFriend;
10725
10677
  friend class ::ExtAC;
10726
10678
  friend class ::ExtACBuilderCoupling;
10727
10679
  friend class ::ExtACSyntaxCoupling;
10728
10680
  friend class ::ExtACTree;
10729
10681
  friend class ::ExtACKeywords;
10730
 
  friend class ::WinAsm;
10731
 
  friend class ::WinDeclSpecs;
10732
 
  friend class ::WinMemberExplSpec;
10733
 
  friend class ::WinTypeKeywords;
 
10682
  friend class ::ExtGnu;
10734
10683
  friend class ::PragmaOnceUnitState;
10735
10684
  friend class ::PragmaOnce;
10736
 
  friend class ::CCExprResolve;
10737
 
  friend class ::CExprResolve;
 
10685
  friend class ::CMatchSyntax;
10738
10686
 
10739
 
#line 481 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10687
#line 481 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10740
10688
 
10741
10689
    public:
10742
10690
                                        // Dynamic sons, no daughters.
10754
10702
 
10755
10703
// Semantic node for conditionals.
10756
10704
 
10757
 
#line 10758 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10705
#line 10706 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10758
10706
} // closed Puma
 
10707
class CCExprResolve;
 
10708
class CExprResolve;
10759
10709
class WinIfExists;
10760
10710
class WinImportHandler;
10761
10711
class WinMacros;
10762
 
class CMatchSyntax;
10763
 
class ExtGnu;
 
10712
class WinAsm;
 
10713
class WinDeclSpecs;
 
10714
class WinMemberExplSpec;
 
10715
class WinTypeKeywords;
 
10716
class WinFriend;
10764
10717
class ExtAC;
10765
10718
class ExtACBuilderCoupling;
10766
10719
class ExtACSyntaxCoupling;
10767
10720
class ExtACTree;
10768
10721
class ExtACKeywords;
10769
 
class WinAsm;
10770
 
class WinDeclSpecs;
10771
 
class WinMemberExplSpec;
10772
 
class WinTypeKeywords;
 
10722
class ExtGnu;
10773
10723
class PragmaOnceUnitState;
10774
10724
class PragmaOnce;
10775
 
class CCExprResolve;
10776
 
class CExprResolve;
 
10725
class CMatchSyntax;
10777
10726
namespace Puma {
10778
10727
 
10779
 
#line 497 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10728
#line 497 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10780
10729
class PreCondSemNode : public PreTree
10781
10730
 {
10782
 
#line 10783 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10731
#line 10732 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10732
  friend class ::CCExprResolve;
 
10733
  friend class ::CExprResolve;
10783
10734
  friend class ::WinIfExists;
10784
10735
  friend class ::WinImportHandler;
10785
10736
  friend class ::WinMacros;
10786
 
  friend class ::CMatchSyntax;
10787
 
  friend class ::ExtGnu;
 
10737
  friend class ::WinAsm;
 
10738
  friend class ::WinDeclSpecs;
 
10739
  friend class ::WinMemberExplSpec;
 
10740
  friend class ::WinTypeKeywords;
 
10741
  friend class ::WinFriend;
10788
10742
  friend class ::ExtAC;
10789
10743
  friend class ::ExtACBuilderCoupling;
10790
10744
  friend class ::ExtACSyntaxCoupling;
10791
10745
  friend class ::ExtACTree;
10792
10746
  friend class ::ExtACKeywords;
10793
 
  friend class ::WinAsm;
10794
 
  friend class ::WinDeclSpecs;
10795
 
  friend class ::WinMemberExplSpec;
10796
 
  friend class ::WinTypeKeywords;
 
10747
  friend class ::ExtGnu;
10797
10748
  friend class ::PragmaOnceUnitState;
10798
10749
  friend class ::PragmaOnce;
10799
 
  friend class ::CCExprResolve;
10800
 
  friend class ::CExprResolve;
 
10750
  friend class ::CMatchSyntax;
10801
10751
 
10802
 
#line 498 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10752
#line 498 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10803
10753
 
10804
10754
        // Boolean value of the condition of a conditional.
10805
10755
        bool _value;
10820
10770
 
10821
10771
// Semantic node for the #include directive.
10822
10772
 
10823
 
#line 10824 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10773
#line 10774 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10824
10774
} // closed Puma
 
10775
class CCExprResolve;
 
10776
class CExprResolve;
10825
10777
class WinIfExists;
10826
10778
class WinImportHandler;
10827
10779
class WinMacros;
10828
 
class CMatchSyntax;
10829
 
class ExtGnu;
 
10780
class WinAsm;
 
10781
class WinDeclSpecs;
 
10782
class WinMemberExplSpec;
 
10783
class WinTypeKeywords;
 
10784
class WinFriend;
10830
10785
class ExtAC;
10831
10786
class ExtACBuilderCoupling;
10832
10787
class ExtACSyntaxCoupling;
10833
10788
class ExtACTree;
10834
10789
class ExtACKeywords;
10835
 
class WinAsm;
10836
 
class WinDeclSpecs;
10837
 
class WinMemberExplSpec;
10838
 
class WinTypeKeywords;
 
10790
class ExtGnu;
10839
10791
class PragmaOnceUnitState;
10840
10792
class PragmaOnce;
10841
 
class CCExprResolve;
10842
 
class CExprResolve;
 
10793
class CMatchSyntax;
10843
10794
namespace Puma {
10844
10795
 
10845
 
#line 517 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10796
#line 517 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10846
10797
class PreInclSemNode : public PreTree
10847
10798
 {
10848
 
#line 10849 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10799
#line 10800 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10800
  friend class ::CCExprResolve;
 
10801
  friend class ::CExprResolve;
10849
10802
  friend class ::WinIfExists;
10850
10803
  friend class ::WinImportHandler;
10851
10804
  friend class ::WinMacros;
10852
 
  friend class ::CMatchSyntax;
10853
 
  friend class ::ExtGnu;
 
10805
  friend class ::WinAsm;
 
10806
  friend class ::WinDeclSpecs;
 
10807
  friend class ::WinMemberExplSpec;
 
10808
  friend class ::WinTypeKeywords;
 
10809
  friend class ::WinFriend;
10854
10810
  friend class ::ExtAC;
10855
10811
  friend class ::ExtACBuilderCoupling;
10856
10812
  friend class ::ExtACSyntaxCoupling;
10857
10813
  friend class ::ExtACTree;
10858
10814
  friend class ::ExtACKeywords;
10859
 
  friend class ::WinAsm;
10860
 
  friend class ::WinDeclSpecs;
10861
 
  friend class ::WinMemberExplSpec;
10862
 
  friend class ::WinTypeKeywords;
 
10815
  friend class ::ExtGnu;
10863
10816
  friend class ::PragmaOnceUnitState;
10864
10817
  friend class ::PragmaOnce;
10865
 
  friend class ::CCExprResolve;
10866
 
  friend class ::CExprResolve;
 
10818
  friend class ::CMatchSyntax;
10867
10819
 
10868
 
#line 518 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10820
#line 518 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10869
10821
 
10870
10822
        // Pointer of the included file unit.
10871
10823
        Unit* _unit;
10895
10847
// Special parse error node to show the location of an error in the
10896
10848
// preprocessor syntax tree.
10897
10849
 
10898
 
#line 10899 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10850
#line 10851 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10899
10851
} // closed Puma
 
10852
class CCExprResolve;
 
10853
class CExprResolve;
10900
10854
class WinIfExists;
10901
10855
class WinImportHandler;
10902
10856
class WinMacros;
10903
 
class CMatchSyntax;
10904
 
class ExtGnu;
 
10857
class WinAsm;
 
10858
class WinDeclSpecs;
 
10859
class WinMemberExplSpec;
 
10860
class WinTypeKeywords;
 
10861
class WinFriend;
10905
10862
class ExtAC;
10906
10863
class ExtACBuilderCoupling;
10907
10864
class ExtACSyntaxCoupling;
10908
10865
class ExtACTree;
10909
10866
class ExtACKeywords;
10910
 
class WinAsm;
10911
 
class WinDeclSpecs;
10912
 
class WinMemberExplSpec;
10913
 
class WinTypeKeywords;
 
10867
class ExtGnu;
10914
10868
class PragmaOnceUnitState;
10915
10869
class PragmaOnce;
10916
 
class CCExprResolve;
10917
 
class CExprResolve;
 
10870
class CMatchSyntax;
10918
10871
namespace Puma {
10919
10872
 
10920
 
#line 546 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10873
#line 546 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10921
10874
class PreError : public PreTree
10922
10875
 {
10923
 
#line 10924 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10876
#line 10877 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10877
  friend class ::CCExprResolve;
 
10878
  friend class ::CExprResolve;
10924
10879
  friend class ::WinIfExists;
10925
10880
  friend class ::WinImportHandler;
10926
10881
  friend class ::WinMacros;
10927
 
  friend class ::CMatchSyntax;
10928
 
  friend class ::ExtGnu;
 
10882
  friend class ::WinAsm;
 
10883
  friend class ::WinDeclSpecs;
 
10884
  friend class ::WinMemberExplSpec;
 
10885
  friend class ::WinTypeKeywords;
 
10886
  friend class ::WinFriend;
10929
10887
  friend class ::ExtAC;
10930
10888
  friend class ::ExtACBuilderCoupling;
10931
10889
  friend class ::ExtACSyntaxCoupling;
10932
10890
  friend class ::ExtACTree;
10933
10891
  friend class ::ExtACKeywords;
10934
 
  friend class ::WinAsm;
10935
 
  friend class ::WinDeclSpecs;
10936
 
  friend class ::WinMemberExplSpec;
10937
 
  friend class ::WinTypeKeywords;
 
10892
  friend class ::ExtGnu;
10938
10893
  friend class ::PragmaOnceUnitState;
10939
10894
  friend class ::PragmaOnce;
10940
 
  friend class ::CCExprResolve;
10941
 
  friend class ::CExprResolve;
 
10895
  friend class ::CMatchSyntax;
10942
10896
 
10943
 
#line 547 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
10897
#line 547 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
10944
10898
 
10945
10899
    public:
10946
10900
 
10957
10911
 
10958
10912
#endif /* __pre_syntax_tree_nodes__ */
10959
10913
 
10960
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10914
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10961
10915
// This file is part of PUMA.
10962
10916
// Copyright (C) 1999-2003  The PUMA developer team.
10963
10917
//                                                                
10983
10937
// through the `#assert' directive in the source code.
10984
10938
 
10985
10939
 
10986
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10940
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10987
10941
using std::map;
10988
10942
 
10989
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10943
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10990
10944
using std::string;
10991
10945
 
10992
10946
namespace Puma {
10995
10949
class PrePredicate;
10996
10950
 
10997
10951
 
10998
 
#line 10999 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10952
#line 10953 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
10999
10953
} // closed Puma
 
10954
class CCExprResolve;
 
10955
class CExprResolve;
11000
10956
class WinIfExists;
11001
10957
class WinImportHandler;
11002
10958
class WinMacros;
11003
 
class CMatchSyntax;
11004
 
class ExtGnu;
 
10959
class WinAsm;
 
10960
class WinDeclSpecs;
 
10961
class WinMemberExplSpec;
 
10962
class WinTypeKeywords;
 
10963
class WinFriend;
11005
10964
class ExtAC;
11006
10965
class ExtACBuilderCoupling;
11007
10966
class ExtACSyntaxCoupling;
11008
10967
class ExtACTree;
11009
10968
class ExtACKeywords;
11010
 
class WinAsm;
11011
 
class WinDeclSpecs;
11012
 
class WinMemberExplSpec;
11013
 
class WinTypeKeywords;
 
10969
class ExtGnu;
11014
10970
class PragmaOnceUnitState;
11015
10971
class PragmaOnce;
11016
 
class CCExprResolve;
11017
 
class CExprResolve;
 
10972
class CMatchSyntax;
11018
10973
namespace Puma {
11019
10974
 
11020
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10975
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
11021
10976
class PrePredicateManager : private map<string, PrePredicate*> {
11022
 
#line 11023 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
10977
#line 10978 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
10978
  friend class ::CCExprResolve;
 
10979
  friend class ::CExprResolve;
11023
10980
  friend class ::WinIfExists;
11024
10981
  friend class ::WinImportHandler;
11025
10982
  friend class ::WinMacros;
11026
 
  friend class ::CMatchSyntax;
11027
 
  friend class ::ExtGnu;
 
10983
  friend class ::WinAsm;
 
10984
  friend class ::WinDeclSpecs;
 
10985
  friend class ::WinMemberExplSpec;
 
10986
  friend class ::WinTypeKeywords;
 
10987
  friend class ::WinFriend;
11028
10988
  friend class ::ExtAC;
11029
10989
  friend class ::ExtACBuilderCoupling;
11030
10990
  friend class ::ExtACSyntaxCoupling;
11031
10991
  friend class ::ExtACTree;
11032
10992
  friend class ::ExtACKeywords;
11033
 
  friend class ::WinAsm;
11034
 
  friend class ::WinDeclSpecs;
11035
 
  friend class ::WinMemberExplSpec;
11036
 
  friend class ::WinTypeKeywords;
 
10993
  friend class ::ExtGnu;
11037
10994
  friend class ::PragmaOnceUnitState;
11038
10995
  friend class ::PragmaOnce;
11039
 
  friend class ::CCExprResolve;
11040
 
  friend class ::CExprResolve;
 
10996
  friend class ::CMatchSyntax;
11041
10997
 
11042
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10998
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
11043
10999
 
11044
11000
 
11045
11001
  typedef map<string, PrePredicate*> PMap;
11064
11020
 
11065
11021
#endif /* __pre_predicate_manager__ */
11066
11022
 
11067
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
11023
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
11068
11024
#include <stdlib.h>
11069
11025
 
11070
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
11026
#line 54 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
11071
11027
using namespace std;
11072
11028
 
11073
11029
 
11638
11594
      if (state->passOnToken && ! state->errorDirective) {
11639
11595
        // Check every C++ identifier for macro calls.
11640
11596
        if (state->currToken->is_identifier ()) 
11641
 
          if ((macro = _macroManager->getMacro (state->currToken->text ()))) {
 
11597
          if ((macro = _macroManager->getMacro (state->currToken->dtext ()))) {
11642
11598
            
11643
11599
            // Check whether a special predefined macro was called
11644
11600
            // and update it if necessary.
11724
11680
 
11725
11681
} // namespace Puma
11726
11682
 
11727
 
#line 711 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
11683
#line 711 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
11728
11684
/* Next is all token values, in a form suitable for use by makeheaders.
11729
11685
** This section will be null unless lemon is run with the -m switch.
11730
11686
*/
11810
11766
** point and size of each hash table.
11811
11767
*/
11812
11768
 
11813
 
#line 11814 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
11769
#line 11770 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
11770
class CCExprResolve;
 
11771
class CExprResolve;
11814
11772
class WinIfExists;
11815
11773
class WinImportHandler;
11816
11774
class WinMacros;
11817
 
class CMatchSyntax;
11818
 
class ExtGnu;
 
11775
class WinAsm;
 
11776
class WinDeclSpecs;
 
11777
class WinMemberExplSpec;
 
11778
class WinTypeKeywords;
 
11779
class WinFriend;
11819
11780
class ExtAC;
11820
11781
class ExtACBuilderCoupling;
11821
11782
class ExtACSyntaxCoupling;
11822
11783
class ExtACTree;
11823
11784
class ExtACKeywords;
11824
 
class WinAsm;
11825
 
class WinDeclSpecs;
11826
 
class WinMemberExplSpec;
11827
 
class WinTypeKeywords;
 
11785
class ExtGnu;
11828
11786
class PragmaOnceUnitState;
11829
11787
class PragmaOnce;
11830
 
class CCExprResolve;
11831
 
class CExprResolve;
 
11788
class CMatchSyntax;
11832
11789
 
11833
 
#line 795 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
11790
#line 795 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
11834
11791
struct yyActionEntry {
11835
 
#line 11836 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
11792
#line 11793 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
11793
  friend class ::CCExprResolve;
 
11794
  friend class ::CExprResolve;
11836
11795
  friend class ::WinIfExists;
11837
11796
  friend class ::WinImportHandler;
11838
11797
  friend class ::WinMacros;
11839
 
  friend class ::CMatchSyntax;
11840
 
  friend class ::ExtGnu;
 
11798
  friend class ::WinAsm;
 
11799
  friend class ::WinDeclSpecs;
 
11800
  friend class ::WinMemberExplSpec;
 
11801
  friend class ::WinTypeKeywords;
 
11802
  friend class ::WinFriend;
11841
11803
  friend class ::ExtAC;
11842
11804
  friend class ::ExtACBuilderCoupling;
11843
11805
  friend class ::ExtACSyntaxCoupling;
11844
11806
  friend class ::ExtACTree;
11845
11807
  friend class ::ExtACKeywords;
11846
 
  friend class ::WinAsm;
11847
 
  friend class ::WinDeclSpecs;
11848
 
  friend class ::WinMemberExplSpec;
11849
 
  friend class ::WinTypeKeywords;
 
11808
  friend class ::ExtGnu;
11850
11809
  friend class ::PragmaOnceUnitState;
11851
11810
  friend class ::PragmaOnce;
11852
 
  friend class ::CCExprResolve;
11853
 
  friend class ::CExprResolve;
 
11811
  friend class ::CMatchSyntax;
11854
11812
 
11855
 
#line 795 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
11813
#line 795 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
11856
11814
 
11857
11815
  YYCODETYPE   lookahead;   /* The value of the look-ahead token */
11858
11816
  YYACTIONTYPE action;      /* Action to take for this look-ahead */
12397
12355
**     the given look-ahead is found in the action hash table.
12398
12356
*/
12399
12357
 
12400
 
#line 12401 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
12358
#line 12359 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
12359
class CCExprResolve;
 
12360
class CExprResolve;
12401
12361
class WinIfExists;
12402
12362
class WinImportHandler;
12403
12363
class WinMacros;
12404
 
class CMatchSyntax;
12405
 
class ExtGnu;
 
12364
class WinAsm;
 
12365
class WinDeclSpecs;
 
12366
class WinMemberExplSpec;
 
12367
class WinTypeKeywords;
 
12368
class WinFriend;
12406
12369
class ExtAC;
12407
12370
class ExtACBuilderCoupling;
12408
12371
class ExtACSyntaxCoupling;
12409
12372
class ExtACTree;
12410
12373
class ExtACKeywords;
12411
 
class WinAsm;
12412
 
class WinDeclSpecs;
12413
 
class WinMemberExplSpec;
12414
 
class WinTypeKeywords;
 
12374
class ExtGnu;
12415
12375
class PragmaOnceUnitState;
12416
12376
class PragmaOnce;
12417
 
class CCExprResolve;
12418
 
class CExprResolve;
 
12377
class CMatchSyntax;
12419
12378
 
12420
 
#line 1338 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12379
#line 1338 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12421
12380
struct yyStateEntry {
12422
 
#line 12423 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
12381
#line 12382 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
12382
  friend class ::CCExprResolve;
 
12383
  friend class ::CExprResolve;
12423
12384
  friend class ::WinIfExists;
12424
12385
  friend class ::WinImportHandler;
12425
12386
  friend class ::WinMacros;
12426
 
  friend class ::CMatchSyntax;
12427
 
  friend class ::ExtGnu;
 
12387
  friend class ::WinAsm;
 
12388
  friend class ::WinDeclSpecs;
 
12389
  friend class ::WinMemberExplSpec;
 
12390
  friend class ::WinTypeKeywords;
 
12391
  friend class ::WinFriend;
12428
12392
  friend class ::ExtAC;
12429
12393
  friend class ::ExtACBuilderCoupling;
12430
12394
  friend class ::ExtACSyntaxCoupling;
12431
12395
  friend class ::ExtACTree;
12432
12396
  friend class ::ExtACKeywords;
12433
 
  friend class ::WinAsm;
12434
 
  friend class ::WinDeclSpecs;
12435
 
  friend class ::WinMemberExplSpec;
12436
 
  friend class ::WinTypeKeywords;
 
12397
  friend class ::ExtGnu;
12437
12398
  friend class ::PragmaOnceUnitState;
12438
12399
  friend class ::PragmaOnce;
12439
 
  friend class ::CCExprResolve;
12440
 
  friend class ::CExprResolve;
 
12400
  friend class ::CMatchSyntax;
12441
12401
 
12442
 
#line 1338 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12402
#line 1338 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12443
12403
 
12444
12404
  struct yyActionEntry *hashtbl; /* Start of the hash table in yyActionTable */
12445
12405
  int mask;                      /* Mask used for hashing the look-ahead */
12571
12531
**      It is sometimes called the "minor" token.
12572
12532
*/
12573
12533
 
12574
 
#line 12575 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
12534
#line 12535 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
12535
class CCExprResolve;
 
12536
class CExprResolve;
12575
12537
class WinIfExists;
12576
12538
class WinImportHandler;
12577
12539
class WinMacros;
12578
 
class CMatchSyntax;
12579
 
class ExtGnu;
 
12540
class WinAsm;
 
12541
class WinDeclSpecs;
 
12542
class WinMemberExplSpec;
 
12543
class WinTypeKeywords;
 
12544
class WinFriend;
12580
12545
class ExtAC;
12581
12546
class ExtACBuilderCoupling;
12582
12547
class ExtACSyntaxCoupling;
12583
12548
class ExtACTree;
12584
12549
class ExtACKeywords;
12585
 
class WinAsm;
12586
 
class WinDeclSpecs;
12587
 
class WinMemberExplSpec;
12588
 
class WinTypeKeywords;
 
12550
class ExtGnu;
12589
12551
class PragmaOnceUnitState;
12590
12552
class PragmaOnce;
12591
 
class CCExprResolve;
12592
 
class CExprResolve;
 
12553
class CMatchSyntax;
12593
12554
 
12594
 
#line 1468 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12555
#line 1468 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12595
12556
struct yyStackEntry {
12596
 
#line 12597 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
12557
#line 12558 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
12558
  friend class ::CCExprResolve;
 
12559
  friend class ::CExprResolve;
12597
12560
  friend class ::WinIfExists;
12598
12561
  friend class ::WinImportHandler;
12599
12562
  friend class ::WinMacros;
12600
 
  friend class ::CMatchSyntax;
12601
 
  friend class ::ExtGnu;
 
12563
  friend class ::WinAsm;
 
12564
  friend class ::WinDeclSpecs;
 
12565
  friend class ::WinMemberExplSpec;
 
12566
  friend class ::WinTypeKeywords;
 
12567
  friend class ::WinFriend;
12602
12568
  friend class ::ExtAC;
12603
12569
  friend class ::ExtACBuilderCoupling;
12604
12570
  friend class ::ExtACSyntaxCoupling;
12605
12571
  friend class ::ExtACTree;
12606
12572
  friend class ::ExtACKeywords;
12607
 
  friend class ::WinAsm;
12608
 
  friend class ::WinDeclSpecs;
12609
 
  friend class ::WinMemberExplSpec;
12610
 
  friend class ::WinTypeKeywords;
 
12573
  friend class ::ExtGnu;
12611
12574
  friend class ::PragmaOnceUnitState;
12612
12575
  friend class ::PragmaOnce;
12613
 
  friend class ::CCExprResolve;
12614
 
  friend class ::CExprResolve;
 
12576
  friend class ::CMatchSyntax;
12615
12577
 
12616
 
#line 1468 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12578
#line 1468 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12617
12579
 
12618
12580
  int stateno;       /* The state-number */
12619
12581
  int major;         /* The major token value.  This is the code
12625
12587
/* The state of the parser is completely contained in an instance of
12626
12588
** the following structure */
12627
12589
 
12628
 
#line 12629 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
12590
#line 12591 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
12591
class CCExprResolve;
 
12592
class CExprResolve;
12629
12593
class WinIfExists;
12630
12594
class WinImportHandler;
12631
12595
class WinMacros;
12632
 
class CMatchSyntax;
12633
 
class ExtGnu;
 
12596
class WinAsm;
 
12597
class WinDeclSpecs;
 
12598
class WinMemberExplSpec;
 
12599
class WinTypeKeywords;
 
12600
class WinFriend;
12634
12601
class ExtAC;
12635
12602
class ExtACBuilderCoupling;
12636
12603
class ExtACSyntaxCoupling;
12637
12604
class ExtACTree;
12638
12605
class ExtACKeywords;
12639
 
class WinAsm;
12640
 
class WinDeclSpecs;
12641
 
class WinMemberExplSpec;
12642
 
class WinTypeKeywords;
 
12606
class ExtGnu;
12643
12607
class PragmaOnceUnitState;
12644
12608
class PragmaOnce;
12645
 
class CCExprResolve;
12646
 
class CExprResolve;
 
12609
class CMatchSyntax;
12647
12610
 
12648
 
#line 1478 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12611
#line 1478 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12649
12612
struct yyParser {
12650
 
#line 12651 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
12613
#line 12614 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
12614
  friend class ::CCExprResolve;
 
12615
  friend class ::CExprResolve;
12651
12616
  friend class ::WinIfExists;
12652
12617
  friend class ::WinImportHandler;
12653
12618
  friend class ::WinMacros;
12654
 
  friend class ::CMatchSyntax;
12655
 
  friend class ::ExtGnu;
 
12619
  friend class ::WinAsm;
 
12620
  friend class ::WinDeclSpecs;
 
12621
  friend class ::WinMemberExplSpec;
 
12622
  friend class ::WinTypeKeywords;
 
12623
  friend class ::WinFriend;
12656
12624
  friend class ::ExtAC;
12657
12625
  friend class ::ExtACBuilderCoupling;
12658
12626
  friend class ::ExtACSyntaxCoupling;
12659
12627
  friend class ::ExtACTree;
12660
12628
  friend class ::ExtACKeywords;
12661
 
  friend class ::WinAsm;
12662
 
  friend class ::WinDeclSpecs;
12663
 
  friend class ::WinMemberExplSpec;
12664
 
  friend class ::WinTypeKeywords;
 
12629
  friend class ::ExtGnu;
12665
12630
  friend class ::PragmaOnceUnitState;
12666
12631
  friend class ::PragmaOnce;
12667
 
  friend class ::CCExprResolve;
12668
 
  friend class ::CExprResolve;
 
12632
  friend class ::CMatchSyntax;
12669
12633
 
12670
 
#line 1478 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12634
#line 1478 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12671
12635
 
12672
12636
  int idx;                            /* Index of top element in stack */
12673
12637
  int errcnt;                         /* Shifts left before out of the error */
12873
12837
  *err << state->lastToken->location () << sev_fatal 
12874
12838
       << "Giving up. Preprocessor stack overflow (>1000)" << endMessage;
12875
12839
 
12876
 
#line 1683 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12840
#line 1683 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
12877
12841
     return;
12878
12842
  }
12879
12843
  yypParser->top->stateno = yyNewState;
12894
12858
/* The following table contains information about every rule that
12895
12859
** is used during the reduce.
12896
12860
*/
12897
 
 
12898
 
#line 12899 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
12899
 
class WinIfExists;
12900
 
class WinImportHandler;
12901
 
class WinMacros;
12902
 
class CMatchSyntax;
12903
 
class ExtGnu;
12904
 
class ExtAC;
12905
 
class ExtACBuilderCoupling;
12906
 
class ExtACSyntaxCoupling;
12907
 
class ExtACTree;
12908
 
class ExtACKeywords;
12909
 
class WinAsm;
12910
 
class WinDeclSpecs;
12911
 
class WinMemberExplSpec;
12912
 
class WinTypeKeywords;
12913
 
class PragmaOnceUnitState;
12914
 
class PragmaOnce;
12915
 
class CCExprResolve;
12916
 
class CExprResolve;
12917
 
 
12918
 
#line 1704 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
12919
12861
static struct {
12920
 
#line 12921 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
12921
 
  friend class ::WinIfExists;
12922
 
  friend class ::WinImportHandler;
12923
 
  friend class ::WinMacros;
12924
 
  friend class ::CMatchSyntax;
12925
 
  friend class ::ExtGnu;
12926
 
  friend class ::ExtAC;
12927
 
  friend class ::ExtACBuilderCoupling;
12928
 
  friend class ::ExtACSyntaxCoupling;
12929
 
  friend class ::ExtACTree;
12930
 
  friend class ::ExtACKeywords;
12931
 
  friend class ::WinAsm;
12932
 
  friend class ::WinDeclSpecs;
12933
 
  friend class ::WinMemberExplSpec;
12934
 
  friend class ::WinTypeKeywords;
12935
 
  friend class ::PragmaOnceUnitState;
12936
 
  friend class ::PragmaOnce;
12937
 
  friend class ::CCExprResolve;
12938
 
  friend class ::CExprResolve;
12939
 
 
12940
 
#line 1704 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
12941
 
 
12942
12862
  YYCODETYPE lhs;         /* Symbol on the left-hand side of the rule */
12943
12863
  unsigned char nrhs;     /* Number of right-hand side symbols in the rule */
12944
12864
} yyRuleInfo[] = {
13036
12956
{
13037
12957
        state->syntaxTree = new PreProgram (yymsp[0].minor.yy0);
13038
12958
    }
13039
 
#line 1802 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12959
#line 1802 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13040
12960
        break;
13041
12961
      case 1:
13042
12962
        YYTRACE("directive_groups ::=")
13044
12964
{
13045
12965
        yygotominor.yy0 = new PreDirectiveGroups ();
13046
12966
    }
13047
 
#line 1810 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12967
#line 1810 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13048
12968
        break;
13049
12969
      case 2:
13050
12970
        YYTRACE("directive_groups ::= directive_groups directive_group")
13053
12973
        yymsp[-1].minor.yy0->add_son (yymsp[0].minor.yy0);
13054
12974
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13055
12975
    }
13056
 
#line 1819 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12976
#line 1819 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13057
12977
        break;
13058
12978
      case 3:
13059
12979
        YYTRACE("directive_groups ::= directive_groups error")
13062
12982
        yymsp[-1].minor.yy0->add_son (new PreError ());
13063
12983
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13064
12984
    }
13065
 
#line 1828 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12985
#line 1828 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13066
12986
        /* No destructor defined for error */
13067
12987
        break;
13068
12988
      case 4:
13071
12991
{
13072
12992
        yygotominor.yy0 = yymsp[0].minor.yy0;
13073
12993
    }
13074
 
#line 1837 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
12994
#line 1837 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13075
12995
        break;
13076
12996
      case 5:
13077
12997
        YYTRACE("directive_group ::= conditional_group")
13079
12999
{
13080
13000
        yygotominor.yy0 = yymsp[0].minor.yy0;
13081
13001
    }
13082
 
#line 1845 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13002
#line 1845 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13083
13003
        break;
13084
13004
      case 6:
13085
13005
        YYTRACE("conditional_group ::= if_part directive_groups endif_part")
13087
13007
{
13088
13008
        yygotominor.yy0 = new PreConditionalGroup (yymsp[-2].minor.yy0, yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13089
13009
    }
13090
 
#line 1853 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13010
#line 1853 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13091
13011
        break;
13092
13012
      case 7:
13093
13013
        YYTRACE("conditional_group ::= if_part elif_part directive_groups endif_part")
13095
13015
{
13096
13016
        yygotominor.yy0 = new PreConditionalGroup (yymsp[-3].minor.yy0, yymsp[-2].minor.yy0, yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13097
13017
    }
13098
 
#line 1861 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13018
#line 1861 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13099
13019
        break;
13100
13020
      case 8:
13101
13021
        YYTRACE("conditional_group ::= if_part else_part directive_groups endif_part")
13103
13023
{
13104
13024
        yygotominor.yy0 = new PreConditionalGroup (yymsp[-3].minor.yy0, yymsp[-2].minor.yy0, yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13105
13025
    }
13106
 
#line 1869 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13026
#line 1869 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13107
13027
        break;
13108
13028
      case 9:
13109
13029
        YYTRACE("if_part ::= if_line TOK_PRE_DIRECTIVE_END")
13111
13031
{
13112
13032
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13113
13033
    }
13114
 
#line 1877 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13034
#line 1877 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13115
13035
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13116
13036
        break;
13117
13037
      case 10:
13120
13040
{
13121
13041
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13122
13042
    }
13123
 
#line 1886 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13043
#line 1886 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13124
13044
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13125
13045
        break;
13126
13046
      case 11:
13129
13049
{
13130
13050
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13131
13051
    }
13132
 
#line 1895 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13052
#line 1895 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13133
13053
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13134
13054
        break;
13135
13055
      case 12:
13138
13058
{
13139
13059
        yygotominor.yy0 = new PreElsePart (yymsp[-2].minor.yy0, yymsp[-1].minor.yy0);
13140
13060
    }
13141
 
#line 1904 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13061
#line 1904 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13142
13062
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13143
13063
        break;
13144
13064
      case 13:
13147
13067
{
13148
13068
        yygotominor.yy0 = new PreElsePart (yymsp[-3].minor.yy0, yymsp[-2].minor.yy0, yymsp[-1].minor.yy0);
13149
13069
    }
13150
 
#line 1913 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13070
#line 1913 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13151
13071
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13152
13072
        break;
13153
13073
      case 14:
13157
13077
        yygotominor.yy0 = new PreElifPart ();
13158
13078
        ((PreElifPart*) (yygotominor.yy0))->addSons (yymsp[-2].minor.yy0, yymsp[-1].minor.yy0);
13159
13079
    }
13160
 
#line 1923 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13080
#line 1923 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13161
13081
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13162
13082
        break;
13163
13083
      case 15:
13167
13087
        ((PreElifPart*) (yymsp[-3].minor.yy0))->addSons (yymsp[-2].minor.yy0, yymsp[-1].minor.yy0);
13168
13088
        yygotominor.yy0 = yymsp[-3].minor.yy0;
13169
13089
    }
13170
 
#line 1933 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13090
#line 1933 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13171
13091
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13172
13092
        break;
13173
13093
      case 16:
13176
13096
{
13177
13097
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13178
13098
    }
13179
 
#line 1942 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13099
#line 1942 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13180
13100
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13181
13101
        break;
13182
13102
      case 17:
13235
13155
                level->setState (false);
13236
13156
            } 
13237
13157
    }
13238
 
#line 2001 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13158
#line 2001 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13239
13159
        break;
13240
13160
      case 18:
13241
13161
        YYTRACE("ifdef_line ::= TOK_PRE_IFDEF token_list")
13253
13173
          level->setState (false);
13254
13174
        }
13255
13175
    }
13256
 
#line 2019 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13176
#line 2019 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13257
13177
        break;
13258
13178
      case 19:
13259
13179
        YYTRACE("ifdef_line ::= TOK_PRE_IFDEF TOK_PRE_ID token_list")
13288
13208
                level->setState (false);
13289
13209
            } 
13290
13210
    }
13291
 
#line 2054 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13211
#line 2054 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13292
13212
        break;
13293
13213
      case 20:
13294
13214
        YYTRACE("ifndef_line ::= TOK_PRE_IFNDEF token_list")
13306
13226
          level->setState (false);
13307
13227
        }
13308
13228
    }
13309
 
#line 2072 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13229
#line 2072 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13310
13230
        break;
13311
13231
      case 21:
13312
13232
        YYTRACE("ifndef_line ::= TOK_PRE_IFNDEF TOK_PRE_ID token_list")
13341
13261
                level->setState (false);
13342
13262
            } 
13343
13263
    }
13344
 
#line 2107 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13264
#line 2107 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13345
13265
        break;
13346
13266
      case 22:
13347
13267
        YYTRACE("elif_line ::= TOK_PRE_ELIF token_list")
13396
13316
                    } 
13397
13317
            }
13398
13318
    }
13399
 
#line 2162 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13319
#line 2162 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13400
13320
        break;
13401
13321
      case 23:
13402
13322
        YYTRACE("else_line ::= TOK_PRE_ELSE token_list")
13413
13333
                level->setState (false);
13414
13334
            } 
13415
13335
    }
13416
 
#line 2179 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13336
#line 2179 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13417
13337
        break;
13418
13338
      case 24:
13419
13339
        YYTRACE("endif_line ::= TOK_PRE_ENDIF token_list")
13431
13351
            level->higher ();
13432
13352
        }
13433
13353
    }
13434
 
#line 2197 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13354
#line 2197 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13435
13355
        break;
13436
13356
      case 25:
13437
13357
        YYTRACE("control_line ::= include_line TOK_PRE_DIRECTIVE_END")
13439
13359
{
13440
13360
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13441
13361
    }
13442
 
#line 2205 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13362
#line 2205 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13443
13363
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13444
13364
        break;
13445
13365
      case 26:
13448
13368
{
13449
13369
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13450
13370
    }
13451
 
#line 2214 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13371
#line 2214 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13452
13372
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13453
13373
        break;
13454
13374
      case 27:
13457
13377
{
13458
13378
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13459
13379
    }
13460
 
#line 2223 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13380
#line 2223 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13461
13381
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13462
13382
        break;
13463
13383
      case 28:
13466
13386
{
13467
13387
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13468
13388
    }
13469
 
#line 2232 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13389
#line 2232 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13470
13390
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13471
13391
        break;
13472
13392
      case 29:
13475
13395
{
13476
13396
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13477
13397
    }
13478
 
#line 2241 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13398
#line 2241 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13479
13399
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13480
13400
        break;
13481
13401
      case 30:
13484
13404
{
13485
13405
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13486
13406
    }
13487
 
#line 2250 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13407
#line 2250 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13488
13408
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13489
13409
        break;
13490
13410
      case 31:
13493
13413
{
13494
13414
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13495
13415
    }
13496
 
#line 2259 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13416
#line 2259 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13497
13417
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13498
13418
        break;
13499
13419
      case 32:
13502
13422
{
13503
13423
        yygotominor.yy0 = yymsp[-1].minor.yy0;
13504
13424
    }
13505
 
#line 2268 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13425
#line 2268 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13506
13426
        /* No destructor defined for TOK_PRE_DIRECTIVE_END */
13507
13427
        break;
13508
13428
      case 33:
13568
13488
            }
13569
13489
        }
13570
13490
    }
13571
 
#line 2334 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13491
#line 2334 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13572
13492
        break;
13573
13493
      case 34:
13574
13494
        YYTRACE("include_next_line ::= TOK_PRE_INCLUDE_NEXT token_list")
13606
13526
            }
13607
13527
        }
13608
13528
    }
13609
 
#line 2372 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13529
#line 2372 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13610
13530
        break;
13611
13531
      case 35:
13612
13532
        YYTRACE("assert_line ::= TOK_PRE_ASSERT token_list")
13614
13534
{
13615
13535
        yygotominor.yy0 = new PreAssertDirective (yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13616
13536
    }
13617
 
#line 2380 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13537
#line 2380 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13618
13538
        break;
13619
13539
      case 36:
13620
13540
        YYTRACE("assert_line ::= TOK_PRE_ASSERT TOK_PRE_ID token_list")
13644
13564
            }
13645
13565
        }
13646
13566
    }
13647
 
#line 2410 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13567
#line 2410 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13648
13568
        break;
13649
13569
      case 37:
13650
13570
        YYTRACE("unassert_line ::= TOK_PRE_UNASSERT token_list")
13652
13572
{
13653
13573
        yygotominor.yy0 = new PreUnassertDirective (yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13654
13574
    }
13655
 
#line 2418 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13575
#line 2418 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13656
13576
        break;
13657
13577
      case 38:
13658
13578
        YYTRACE("unassert_line ::= TOK_PRE_UNASSERT TOK_PRE_ID token_list")
13683
13603
            }
13684
13604
        }
13685
13605
    }
13686
 
#line 2449 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13606
#line 2449 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13687
13607
        break;
13688
13608
      case 39:
13689
13609
        YYTRACE("define_line ::= TOK_PRE_DEFINE token_list")
13691
13611
{
13692
13612
        yygotominor.yy0 = new PreDefineConstantDirective (yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13693
13613
    }
13694
 
#line 2457 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13614
#line 2457 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13695
13615
        break;
13696
13616
      case 40:
13697
13617
        YYTRACE("define_line ::= TOK_PRE_DEFINE TOK_PRE_ID TOK_PRE_LPAREN TOK_PRE_RPAREN token_list")
13704
13624
            // Build a new function-like macro without arguments.
13705
13625
            char*     str   = buildString (yymsp[0].minor.yy0);
13706
13626
            PreMacro* macro = new PreMacro (((PreTreeToken*) yymsp[-3].minor.yy0)->
13707
 
                              token ()->text (), (PreTree*) 0, str);
 
13627
                              token ()->dtext (), (PreTree*) 0, str);
13708
13628
            delete[] str;
13709
13629
            macro->location (((PreTreeToken*) yymsp[-4].minor.yy0)->token ()->location ());
13710
13630
            
13716
13636
                delete macro;
13717
13637
        }
13718
13638
    }
13719
 
#line 2482 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13639
#line 2482 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13720
13640
        break;
13721
13641
      case 41:
13722
13642
        YYTRACE("define_line ::= TOK_PRE_DEFINE TOK_PRE_ID TOK_PRE_LPAREN TOK_PRE_REST TOK_PRE_RPAREN token_list")
13730
13650
            // of arguments.
13731
13651
            char*     str   = buildString (yymsp[0].minor.yy0);
13732
13652
            PreMacro* macro = new PreMacro (((PreTreeToken*) yymsp[-4].minor.yy0)->
13733
 
                              token ()->text (), (PreTree*) 0, str, 
 
13653
                              token ()->dtext (), (PreTree*) 0, str, 
13734
13654
                              PreMacro::VAR_ARG_MACRO);
13735
13655
            delete[] str;
13736
13656
            macro->location (((PreTreeToken*) yymsp[-5].minor.yy0)->token ()->location ());
13743
13663
                delete macro;
13744
13664
        }
13745
13665
    }
13746
 
#line 2509 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13666
#line 2509 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13747
13667
        break;
13748
13668
      case 42:
13749
13669
        YYTRACE("define_line ::= TOK_PRE_DEFINE TOK_PRE_ID TOK_PRE_LPAREN identifier_list TOK_PRE_RPAREN token_list")
13756
13676
            // Build a new function-like macro with arguments.
13757
13677
            char*     str   = buildString (yymsp[0].minor.yy0);
13758
13678
            PreMacro* macro = new PreMacro (((PreTreeToken*) yymsp[-4].minor.yy0)->
13759
 
                              token ()->text (), yymsp[-2].minor.yy0, str);
 
13679
                              token ()->dtext (), yymsp[-2].minor.yy0, str);
13760
13680
            delete[] str;
13761
13681
            macro->location (((PreTreeToken*) yymsp[-5].minor.yy0)->token ()->location ());
13762
13682
        
13768
13688
                delete macro;
13769
13689
        }
13770
13690
    }
13771
 
#line 2534 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13691
#line 2534 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13772
13692
        break;
13773
13693
      case 43:
13774
13694
        YYTRACE("define_line ::= TOK_PRE_DEFINE TOK_PRE_ID TOK_PRE_LPAREN identifier_list TOK_PRE_REST TOK_PRE_RPAREN token_list")
13781
13701
            // Build a new function-like macro with arguments.
13782
13702
            char*     str   = buildString (yymsp[0].minor.yy0);
13783
13703
            PreMacro* macro = new PreMacro (((PreTreeToken*) yymsp[-5].minor.yy0)->
13784
 
                              token ()->text (), yymsp[-3].minor.yy0, str, 
 
13704
                              token ()->dtext (), yymsp[-3].minor.yy0, str, 
13785
13705
                              PreMacro::VAR_ARG_MACRO);
13786
13706
            delete[] str;
13787
13707
            macro->location (((PreTreeToken*) yymsp[-6].minor.yy0)->token ()->location ());
13794
13714
                delete macro;
13795
13715
        }
13796
13716
    }
13797
 
#line 2560 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13717
#line 2560 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13798
13718
        break;
13799
13719
      case 44:
13800
13720
        YYTRACE("define_line ::= TOK_PRE_DEFINE TOK_PRE_ID TOK_PRE_LPAREN identifier_list TOK_PRE_COMMA TOK_PRE_REST TOK_PRE_RPAREN token_list")
13807
13727
            // Build a new function-like macro with arguments.
13808
13728
            char*     str   = buildString (yymsp[0].minor.yy0);
13809
13729
            PreMacro* macro = new PreMacro (((PreTreeToken*) yymsp[-6].minor.yy0)->
13810
 
                              token ()->text (), yymsp[-4].minor.yy0, str, 
 
13730
                              token ()->dtext (), yymsp[-4].minor.yy0, str, 
13811
13731
                              PreMacro::VAR_ARG_MACRO);
13812
13732
            delete[] str;
13813
13733
            macro->addArg ("__VA_ARGS__");
13821
13741
                delete macro;
13822
13742
        }
13823
13743
    }
13824
 
#line 2587 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13744
#line 2587 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13825
13745
        break;
13826
13746
      case 45:
13827
13747
        YYTRACE("define_line ::= TOK_PRE_DEFINE TOK_PRE_ID token_list")
13834
13754
            // Build a new simple macro.
13835
13755
            char*     str   = buildString (yymsp[0].minor.yy0);
13836
13756
            PreMacro* macro = new PreMacro (((PreTreeToken*) yymsp[-1].minor.yy0)->
13837
 
                              token ()->text (), str);
 
13757
                              token ()->dtext (), str);
13838
13758
            delete[] str;
13839
13759
            macro->location (((PreTreeToken*) yymsp[-2].minor.yy0)->token ()->location ());
13840
13760
            
13846
13766
                delete macro;
13847
13767
        }
13848
13768
    }
13849
 
#line 2612 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13769
#line 2612 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13850
13770
        break;
13851
13771
      case 46:
13852
13772
        YYTRACE("undef_line ::= TOK_PRE_UNDEF token_list")
13854
13774
{
13855
13775
        yygotominor.yy0 = new PreUndefDirective (yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13856
13776
    }
13857
 
#line 2620 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13777
#line 2620 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13858
13778
        break;
13859
13779
      case 47:
13860
13780
        YYTRACE("undef_line ::= TOK_PRE_UNDEF TOK_PRE_ID token_list")
13865
13785
        // Remove the macro given by its name from macro manager.
13866
13786
        if (! state->errorDirective && state->passOnToken) 
13867
13787
            parser->macroManager ()->removeMacro (((PreTreeToken*) yymsp[-1].minor.yy0)->
13868
 
                                                  token ()->text ());
 
13788
                                                  token ()->dtext ());
13869
13789
    }
13870
 
#line 2633 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13790
#line 2633 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13871
13791
        break;
13872
13792
      case 48:
13873
13793
        YYTRACE("warning_line ::= TOK_PRE_WARNING token_list")
13885
13805
            delete[] message;
13886
13806
        }
13887
13807
    }
13888
 
#line 2651 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13808
#line 2651 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13889
13809
        break;
13890
13810
      case 49:
13891
13811
        YYTRACE("error_line ::= TOK_PRE_ERROR token_list")
13907
13827
            delete[] message;
13908
13828
        }
13909
13829
    }
13910
 
#line 2673 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13830
#line 2673 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13911
13831
        break;
13912
13832
      case 50:
13913
13833
        YYTRACE("identifier_list ::= TOK_PRE_ID")
13915
13835
13916
13836
        yygotominor.yy0 = new PreIdentifierList (yymsp[0].minor.yy0);
13917
13837
    }
13918
 
#line 2681 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13838
#line 2681 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13919
13839
        break;
13920
13840
      case 51:
13921
13841
        YYTRACE("identifier_list ::= identifier_list TOK_PRE_COMMA TOK_PRE_ID")
13924
13844
        ((PreIdentifierList*) (yymsp[-2].minor.yy0))->addSons (yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13925
13845
        yygotominor.yy0 = yymsp[-2].minor.yy0;
13926
13846
    }
13927
 
#line 2690 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13847
#line 2690 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13928
13848
        break;
13929
13849
      case 52:
13930
13850
        YYTRACE("token_list ::= TOK_PRE_NEWLINE")
13938
13858
        else
13939
13859
            yygotominor.yy0 = yymsp[0].minor.yy0;  
13940
13860
    }
13941
 
#line 2704 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13861
#line 2704 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13942
13862
        break;
13943
13863
      case 53:
13944
13864
        YYTRACE("token_list ::= token_list_part TOK_PRE_NEWLINE")
13952
13872
        else
13953
13873
            yygotominor.yy0 = new PreTokenList (yymsp[-1].minor.yy0, yymsp[0].minor.yy0);
13954
13874
    }
13955
 
#line 2718 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13875
#line 2718 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13956
13876
        break;
13957
13877
      case 54:
13958
13878
        YYTRACE("token_list_part ::= TOK_PRE_TOKEN_LIST")
13960
13880
13961
13881
        yygotominor.yy0 = new PreTokenListPart (yymsp[0].minor.yy0); 
13962
13882
    }
13963
 
#line 2726 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13883
#line 2726 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13964
13884
        break;
13965
13885
      case 55:
13966
13886
        YYTRACE("token_list_part ::= token_list_part TOK_PRE_TOKEN_LIST")
13969
13889
        yymsp[-1].minor.yy0->add_son (yymsp[0].minor.yy0);
13970
13890
        yygotominor.yy0 = yymsp[-1].minor.yy0; 
13971
13891
    }
13972
 
#line 2735 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13892
#line 2735 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
13973
13893
        break;
13974
13894
  };
13975
13895
  yygoto = yyRuleInfo[yyruleno].lhs;
14040
13960
                 << state->lastToken->text () << "'" << endMessage; 
14041
13961
    }
14042
13962
 
14043
 
#line 2806 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
 
13963
#line 2806 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
14044
13964
}
14045
13965
 
14046
13966
/*
14208
14128
  return;
14209
14129
}
14210
14130
 
14211
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
14212
 
 
14213
 
#line 14214 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14214
 
 
14215
 
struct TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0 {
14216
 
  typedef ::Puma::Token * Result;
14217
 
  typedef ::Puma::PreprocessorParser That;
14218
 
  typedef ::Puma::PreprocessorParser Target;
14219
 
  static const int JPID = 138;
14220
 
  static const AC::JPType JPTYPE = (AC::JPType)4;
14221
 
  struct Res {
14222
 
    typedef ::Puma::Token * Type;
14223
 
    typedef ::Puma::Token * ReferredType;
14224
 
  };
14225
 
  enum { ARGS = 0 };
14226
 
  template <int I, int DUMMY = 0> struct Arg {
14227
 
    typedef void Type;
14228
 
    typedef void ReferredType;
14229
 
  };
14230
 
 
14231
 
  Result *_result;
14232
 
  That *_that;
14233
 
 
14234
 
  inline Result *result() {return (Result*)_result;}
14235
 
  inline That *that() {return (That*)_that;}
14236
 
 
14237
 
};
14238
 
 
14239
 
 
14240
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14241
 
 
14242
 
#line 14243 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14243
 
 
14244
 
struct TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0 {
14245
 
  typedef ::Puma::Token * Result;
14246
 
  typedef ::Puma::PreprocessorParser That;
14247
 
  typedef ::Puma::PreprocessorParser Target;
14248
 
  static const int JPID = 139;
14249
 
  static const AC::JPType JPTYPE = (AC::JPType)4;
14250
 
  struct Res {
14251
 
    typedef ::Puma::Token * Type;
14252
 
    typedef ::Puma::Token * ReferredType;
14253
 
  };
14254
 
  enum { ARGS = 0 };
14255
 
  template <int I, int DUMMY = 0> struct Arg {
14256
 
    typedef void Type;
14257
 
    typedef void ReferredType;
14258
 
  };
14259
 
 
14260
 
  Result *_result;
14261
 
  That *_that;
14262
 
 
14263
 
  inline Result *result() {return (Result*)_result;}
14264
 
  inline That *that() {return (That*)_that;}
14265
 
 
14266
 
};
14267
 
 
14268
 
 
14269
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14270
 
void
14271
 
#line 2972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14272
 
 Puma::PreprocessorParser 
14273
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
14274
 
::skip_up_to (int end_token) {
14275
 
#line 14276 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14276
 
 
14277
 
 
14278
 
struct __call__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0 {
14279
 
static inline ::Puma::Token * invoke (::Puma::PreprocessorParser *srcthis, ::Puma::PreprocessorParser *dstthis){
14280
 
  AC::ResultBuffer< ::Puma::Token *  > result;
14281
 
  TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0 tjp;
14282
 
  tjp._result = &(TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0::Result&)result;
14283
 
  tjp._that =  (TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0::That*)srcthis;
14284
 
  ::new (&result) ::Puma::Token *  (dstthis->parseToken());
14285
 
  AC::invoke_PragmaOnce_PragmaOnce_a1_after<TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0> (&tjp);
14286
 
  return (::Puma::Token * &)result;
14287
 
 }
14288
 
};
14289
 
 
14290
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14291
 
 
14292
 
#line 14293 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14293
 
 
14294
 
 
14295
 
struct __call__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0 {
14296
 
static inline ::Puma::Token * invoke (::Puma::PreprocessorParser *srcthis, ::Puma::PreprocessorParser *dstthis){
14297
 
  AC::ResultBuffer< ::Puma::Token *  > result;
14298
 
  TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0 tjp;
14299
 
  tjp._result = &(TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0::Result&)result;
14300
 
  tjp._that =  (TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0::That*)srcthis;
14301
 
  ::new (&result) ::Puma::Token *  (dstthis->parseToken());
14302
 
  AC::invoke_PragmaOnce_PragmaOnce_a1_after<TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0> (&tjp);
14303
 
  return (::Puma::Token * &)result;
14304
 
 }
14305
 
};
14306
 
 
14307
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14308
 
 
14309
 
    unsigned parenthesis = 0, curlies = 0;
14310
 
    Token *token;
14311
 
    int type;
14312
 
    
14313
 
    // skip up to the first non-nested `{'
14314
 
    while ((token = __call__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0::invoke ((::Puma::PreprocessorParser*)this,(::Puma::PreprocessorParser*)this ))) {
14315
 
      type = token->type ();
14316
 
      if (type == TOK_OPEN_CURLY) {
14317
 
        if (parenthesis == 0 && curlies == 0)
14318
 
          break;
14319
 
        curlies++;
14320
 
      } else if (type == TOK_CLOSE_CURLY)
14321
 
        curlies--;
14322
 
      else if (type == TOK_OPEN_ROUND)
14323
 
        parenthesis++;
14324
 
      else if (type == TOK_CLOSE_ROUND)
14325
 
        parenthesis--;
14326
 
    }
14327
 
    
14328
 
    // skip up to the first non-nested `}'
14329
 
    if (end_token == TOK_CLOSE_CURLY) {
14330
 
      parenthesis = curlies = 0;
14331
 
      while ((token = __call__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0::invoke ((::Puma::PreprocessorParser*)this,(::Puma::PreprocessorParser*)this ))) {
14332
 
        type = token->type ();
14333
 
        if (type == TOK_OPEN_CURLY)
14334
 
          curlies++;
14335
 
        else if (type == TOK_CLOSE_CURLY) {
14336
 
          if (parenthesis == 0 && curlies == 0)
14337
 
            break;
14338
 
          curlies--;
14339
 
        } else if (type == TOK_OPEN_ROUND)
14340
 
          parenthesis++;
14341
 
        else if (type == TOK_CLOSE_ROUND)
14342
 
          parenthesis--;
 
14131
#line 14132 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14132
 
 
14133
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
14134
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
14135
#include "WinIfExists.ah"
 
14136
#endif
 
14137
 
 
14138
#line 2972 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
14139
 
 
14140
#line 98 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
14141
 void Puma::PreprocessorParser :: skip_up_to ( int end_token ) {
 
14142
unsigned parenthesis = 0 , curlies = 0 ;
 
14143
Puma :: Token * token ;
 
14144
int type ;
 
14145
 
 
14146
 
 
14147
while ( ( token = parseToken ( ) ) ) {
 
14148
type = token -> type ( ) ;
 
14149
if ( type == Puma :: TOK_OPEN_CURLY ) {
 
14150
if ( parenthesis == 0 && curlies == 0 )
 
14151
break ;
 
14152
curlies ++ ;
 
14153
} else if ( type == Puma :: TOK_CLOSE_CURLY )
 
14154
curlies -- ;
 
14155
else if ( type == Puma :: TOK_OPEN_ROUND )
 
14156
parenthesis ++ ;
 
14157
else if ( type == Puma :: TOK_CLOSE_ROUND )
 
14158
parenthesis -- ;
 
14159
}
 
14160
 
 
14161
 
 
14162
if ( end_token == Puma :: TOK_CLOSE_CURLY ) {
 
14163
parenthesis = curlies = 0 ;
 
14164
while ( ( token = parseToken ( ) ) ) {
 
14165
type = token -> type ( ) ;
 
14166
if ( type == Puma :: TOK_OPEN_CURLY )
 
14167
curlies ++ ;
 
14168
else if ( type == Puma :: TOK_CLOSE_CURLY ) {
 
14169
if ( parenthesis == 0 && curlies == 0 )
 
14170
break ;
 
14171
curlies -- ;
 
14172
} else if ( type == Puma :: TOK_OPEN_ROUND )
 
14173
parenthesis ++ ;
 
14174
else if ( type == Puma :: TOK_CLOSE_ROUND )
 
14175
parenthesis -- ;
 
14176
}
 
14177
}
 
14178
}
 
14179
#line 14180 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14180
 
 
14181
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__
 
14182
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
14183
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
14184
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
14185
#include "CCExprResolveCC.ah"
 
14186
#endif
 
14187
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14188
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14189
#include "ExtACTree.ah"
 
14190
#endif
 
14191
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
14192
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
14193
#include "ExtGnu.ah"
 
14194
#endif
 
14195
#endif
 
14196
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
14197
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
14198
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
14199
#include "CCExprResolveH.ah"
 
14200
#endif
 
14201
#endif
 
14202
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
14203
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
14204
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
14205
#include "CExprResolveCC.ah"
 
14206
#endif
 
14207
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14208
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14209
#include "ExtACTree.ah"
 
14210
#endif
 
14211
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
14212
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
14213
#include "ExtGnu.ah"
 
14214
#endif
 
14215
#endif
 
14216
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
14217
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
14218
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
14219
#include "CExprResolveH.ah"
 
14220
#endif
 
14221
#endif
 
14222
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
14223
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
14224
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
14225
 
 
14226
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
14227
#endif
 
14228
#endif
 
14229
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
14230
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
14231
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
14232
 
 
14233
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14234
// This file is part of PUMA.
 
14235
// Copyright (C) 1999-2003  The PUMA developer team.
 
14236
//                                                                
 
14237
// This program is free software;  you can redistribute it and/or 
 
14238
// modify it under the terms of the GNU General Public License as 
 
14239
// published by the Free Software Foundation; either version 2 of 
 
14240
// the License, or (at your option) any later version.            
 
14241
//                                                                
 
14242
// This program is distributed in the hope that it will be useful,
 
14243
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
14244
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
14245
// GNU General Public License for more details.                   
 
14246
//                                                                
 
14247
// You should have received a copy of the GNU General Public      
 
14248
// License along with this program; if not, write to the Free     
 
14249
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
14250
// MA  02111-1307  USA                                            
 
14251
 
 
14252
#ifndef __WinImportHandler__
 
14253
#define __WinImportHandler__
 
14254
 
 
14255
/********************************************************/
 
14256
/* Win #import directive support                        */
 
14257
/********************************************************/
 
14258
 
 
14259
 
 
14260
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14261
 
 
14262
#line 14263 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14263
class CCExprResolve;
 
14264
class CExprResolve;
 
14265
class WinIfExists;
 
14266
class WinMacros;
 
14267
class WinAsm;
 
14268
class WinDeclSpecs;
 
14269
class WinMemberExplSpec;
 
14270
class WinTypeKeywords;
 
14271
class WinFriend;
 
14272
class ExtAC;
 
14273
class ExtACBuilderCoupling;
 
14274
class ExtACSyntaxCoupling;
 
14275
class ExtACTree;
 
14276
class ExtACKeywords;
 
14277
class ExtGnu;
 
14278
class PragmaOnceUnitState;
 
14279
class PragmaOnce;
 
14280
class CMatchSyntax;
 
14281
 
 
14282
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14283
class WinImportHandler {
 
14284
#line 14285 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14285
 
 
14286
public:
 
14287
  static WinImportHandler *aspectof () {
 
14288
    static WinImportHandler __instance;
 
14289
    return &__instance;
 
14290
  }
 
14291
  static WinImportHandler *aspectOf () {
 
14292
    return aspectof ();
 
14293
  }
 
14294
private:
 
14295
 
 
14296
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14297
 
 
14298
#line 14299 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14299
  friend class ::CCExprResolve;
 
14300
  friend class ::CExprResolve;
 
14301
  friend class ::WinIfExists;
 
14302
  friend class ::WinMacros;
 
14303
  friend class ::WinAsm;
 
14304
  friend class ::WinDeclSpecs;
 
14305
  friend class ::WinMemberExplSpec;
 
14306
  friend class ::WinTypeKeywords;
 
14307
  friend class ::WinFriend;
 
14308
  friend class ::ExtAC;
 
14309
  friend class ::ExtACBuilderCoupling;
 
14310
  friend class ::ExtACSyntaxCoupling;
 
14311
  friend class ::ExtACTree;
 
14312
  friend class ::ExtACKeywords;
 
14313
  friend class ::ExtGnu;
 
14314
  friend class ::PragmaOnceUnitState;
 
14315
  friend class ::PragmaOnce;
 
14316
  friend class ::CMatchSyntax;
 
14317
 
 
14318
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14319
 
 
14320
  /********************************************************/
 
14321
  /* Win #import directive                                */
 
14322
  /********************************************************/
 
14323
 
 
14324
  // pointcuts
 
14325
  
 
14326
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14327
 
 
14328
  
 
14329
  // handle --import-handler option
 
14330
  
 
14331
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14332
 
 
14333
public: template<class JoinPoint> void __a0_before 
 
14334
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14335
 
 
14336
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14337
(JoinPoint *tjp, const Puma::Config &config, bool process_includes)
 
14338
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14339
 {
 
14340
#line 14341 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14341
 
 
14342
  JoinPoint *&thisJoinPoint = tjp;
 
14343
 
 
14344
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14345
 
 
14346
#line 14347 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14347
 
 
14348
  typedef typename JoinPoint::That __JP_That;
 
14349
  typedef typename JoinPoint::Target __JP_Target;
 
14350
  typedef typename JoinPoint::Result __JP_Result;
 
14351
 
 
14352
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14353
 
 
14354
    const Puma::ConfOption *opt;
 
14355
    char *tmp;
 
14356
    
 
14357
    if (process_includes) {
 
14358
      opt = config.Option ("--import-handler");
 
14359
      if (opt && opt->Arguments ()) {
 
14360
        // delete old import handler
 
14361
        if (thisJoinPoint->that ()->_importHandler)
 
14362
          delete[] thisJoinPoint->that ()->_importHandler;
 
14363
        
 
14364
        // get new import handler
 
14365
        tmp = new char[strlen (opt->Argument (0))+1];
 
14366
        strcpy (tmp, opt->Argument (0));
 
14367
        thisJoinPoint->that ()->_importHandler = tmp;
14343
14368
      }
14344
14369
    }
14345
14370
  }
14346
 
#line 2972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14347
 
 
14348
 
#line 14349 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14349
 
 
14350
 
#ifdef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
14351
 
/*** begin of aspect includes ***/
14352
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__)
14353
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
14354
 
 
14355
 
#line 7 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14356
 
#endif
14357
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__)
14358
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
14359
 
 
14360
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14361
 
#endif
14362
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__)
14363
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
14364
 
 
14365
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14371
#line 14372 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14372
 
 
14373
private:
 
14374
 
 
14375
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14376
 
 
14377
 
 
14378
protected:
 
14379
  WinImportHandler () {}
 
14380
};
 
14381
#line 14382 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14382
 
 
14383
namespace AC {
 
14384
  template <class JoinPoint>
 
14385
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
 
14386
    typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<0> Arg0;
 
14387
    typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<1> Arg1;
 
14388
    ::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
 
14389
  }
 
14390
 
14391
 
 
14392
#line 62 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
14393
 
 
14394
 
 
14395
 
 
14396
#endif /* __WinImportHandler__ */
 
14397
 
 
14398
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
14399
#endif
 
14400
#endif
 
14401
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
14402
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
14403
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
14404
 
 
14405
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14366
14406
// This file is part of PUMA.
14367
14407
// Copyright (C) 1999-2003  The PUMA developer team.
14368
14408
//                                                                
14389
14429
/********************************************************/
14390
14430
 
14391
14431
 
14392
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
14393
 
using namespace Puma;
14394
 
 
14395
 
 
14396
 
 
14397
 
#line 14398 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14432
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14433
 
 
14434
#line 14435 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14435
class CCExprResolve;
 
14436
class CExprResolve;
14398
14437
class WinIfExists;
14399
14438
class WinImportHandler;
14400
 
class CMatchSyntax;
14401
 
class ExtGnu;
 
14439
class WinAsm;
 
14440
class WinDeclSpecs;
 
14441
class WinMemberExplSpec;
 
14442
class WinTypeKeywords;
 
14443
class WinFriend;
14402
14444
class ExtAC;
14403
14445
class ExtACBuilderCoupling;
14404
14446
class ExtACSyntaxCoupling;
14405
14447
class ExtACTree;
14406
14448
class ExtACKeywords;
14407
 
class WinAsm;
14408
 
class WinDeclSpecs;
14409
 
class WinMemberExplSpec;
14410
 
class WinTypeKeywords;
 
14449
class ExtGnu;
14411
14450
class PragmaOnceUnitState;
14412
14451
class PragmaOnce;
14413
 
class CCExprResolve;
14414
 
class CExprResolve;
 
14452
class CMatchSyntax;
14415
14453
 
14416
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14454
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14417
14455
class WinMacros {
14418
 
#line 14419 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14456
#line 14457 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14419
14457
 
14420
14458
public:
14421
14459
  static WinMacros *aspectof () {
14427
14465
  }
14428
14466
private:
14429
14467
 
14430
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14468
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14431
14469
 
14432
 
#line 14433 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14470
#line 14471 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14471
  friend class ::CCExprResolve;
 
14472
  friend class ::CExprResolve;
14433
14473
  friend class ::WinIfExists;
14434
14474
  friend class ::WinImportHandler;
14435
 
  friend class ::CMatchSyntax;
14436
 
  friend class ::ExtGnu;
 
14475
  friend class ::WinAsm;
 
14476
  friend class ::WinDeclSpecs;
 
14477
  friend class ::WinMemberExplSpec;
 
14478
  friend class ::WinTypeKeywords;
 
14479
  friend class ::WinFriend;
14437
14480
  friend class ::ExtAC;
14438
14481
  friend class ::ExtACBuilderCoupling;
14439
14482
  friend class ::ExtACSyntaxCoupling;
14440
14483
  friend class ::ExtACTree;
14441
14484
  friend class ::ExtACKeywords;
14442
 
  friend class ::WinAsm;
14443
 
  friend class ::WinDeclSpecs;
14444
 
  friend class ::WinMemberExplSpec;
14445
 
  friend class ::WinTypeKeywords;
 
14485
  friend class ::ExtGnu;
14446
14486
  friend class ::PragmaOnceUnitState;
14447
14487
  friend class ::PragmaOnce;
14448
 
  friend class ::CCExprResolve;
14449
 
  friend class ::CExprResolve;
 
14488
  friend class ::CMatchSyntax;
14450
14489
 
14451
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14490
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14452
14491
 
14453
14492
  /********************************************************/
14454
14493
  /* Win specific predefined macros                       */
14456
14495
 
14457
14496
  // predefine win specific macros
14458
14497
  
14459
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14498
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14460
14499
 
14461
14500
public: template<class JoinPoint> void __a0_before 
14462
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14501
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14463
14502
 
14464
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
14465
 
(JoinPoint *tjp, const Config &config)
14466
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14503
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14504
(JoinPoint *tjp, const Puma::Config &config)
 
14505
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14467
14506
 {
14468
 
#line 14469 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14507
#line 14508 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14469
14508
 
14470
14509
  JoinPoint *&thisJoinPoint = tjp;
14471
14510
 
14472
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14511
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14473
14512
 
14474
 
#line 14475 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14513
#line 14514 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14475
14514
 
14476
14515
  typedef typename JoinPoint::That __JP_That;
14477
14516
  typedef typename JoinPoint::Target __JP_Target;
14478
14517
  typedef typename JoinPoint::Result __JP_Result;
14479
14518
 
14480
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14519
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14481
14520
 
14482
14521
    if (config.Option ("--vc")) {
14483
14522
      // constants
14490
14529
      thisJoinPoint->that ()->defMacro ("__noop", " ");
14491
14530
 
14492
14531
      // function-like macros
14493
 
      PreMacro::MacroArgs *args = new PreMacro::MacroArgs (1);
 
14532
      Puma::PreMacro::MacroArgs *args = new Puma::PreMacro::MacroArgs (1);
14494
14533
      args->append ("__arg0");
14495
14534
      thisJoinPoint->that ()->macroManager ()->addMacro (
14496
 
        new PreMacro ("__declspec", args, " "));
 
14535
        new Puma::PreMacro ("__declspec", args, " "));
14497
14536
    }
14498
14537
  }
14499
 
#line 14500 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14538
#line 14539 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14500
14539
 
14501
14540
private:
14502
14541
 
14503
 
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14542
#line 54 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14504
14543
 
14505
14544
 
14506
14545
protected:
14507
14546
  WinMacros () {}
14508
14547
};
14509
 
#line 14510 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14548
#line 14549 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14510
14549
 
14511
14550
namespace AC {
14512
 
  template <class JoinPoint, class Binding>
14513
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
14514
 
    typedef typename Binding::template Arg<0> Arg0;
 
14551
  template <class JoinPoint>
 
14552
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
 
14553
    typedef typename JoinPoint::Binding_WinMacros_WinMacros_a0_before::template Arg<0> Arg0;
14515
14554
    ::WinMacros::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp));
14516
14555
  }
14517
14556
14518
14557
 
14519
 
#line 60 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
14558
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14520
14559
 
14521
14560
 
14522
14561
 
14523
14562
#endif /* __WinMacros__ */
14524
14563
 
14525
 
#line 15 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14526
 
#endif
14527
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__)
14528
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
14529
 
#include "CMatchSyntax.ah"
14530
 
#endif
14531
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__)
14532
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__
14533
 
#include "ExtGnu.ah"
14534
 
#endif
14535
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__)
14536
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__
 
14564
#line 59 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
14565
#endif
 
14566
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
14567
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
14568
 
 
14569
#line 63 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
14570
#endif
 
14571
#endif
 
14572
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
14573
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
14574
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
14575
#include "WinAsm.ah"
 
14576
#endif
 
14577
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14578
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14579
#include "ExtACTree.ah"
 
14580
#endif
 
14581
#endif
 
14582
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
14583
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
14584
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
14585
#include "WinDeclSpecs.ah"
 
14586
#endif
 
14587
#endif
 
14588
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
14589
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
14590
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
14591
#include "WinMemberExplSpec.ah"
 
14592
#endif
 
14593
#endif
 
14594
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
14595
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
14596
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
14597
#include "WinTypeKeywords.ah"
 
14598
#endif
 
14599
#endif
 
14600
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
14601
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
14602
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
14603
#include "WinFriend.ah"
 
14604
#endif
 
14605
#endif
 
14606
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
14607
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
14608
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
14537
14609
#include "ExtAC.ah"
14538
14610
#endif
14539
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__)
14540
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
14611
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14612
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14613
#include "ExtACTree.ah"
 
14614
#endif
 
14615
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14616
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14617
#include "ExtACKeywords.ah"
 
14618
#endif
 
14619
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
14620
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
14621
#include "ExtGnu.ah"
 
14622
#endif
 
14623
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
14624
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
14625
#include "PragmaOnceUnitState.ah"
 
14626
#endif
 
14627
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
14628
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
14629
#include "CMatchSyntax.ah"
 
14630
#endif
 
14631
#endif
 
14632
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
14633
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
14634
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
14541
14635
#include "ExtACBuilderH.ah"
14542
14636
#endif
14543
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__)
14544
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
14637
#endif
 
14638
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
14639
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
14640
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
14545
14641
#include "ExtACBuilderCC.ah"
14546
14642
#endif
14547
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__)
14548
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
14643
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14644
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14645
#include "ExtACTree.ah"
 
14646
#endif
 
14647
#endif
 
14648
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
14649
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
14650
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
14549
14651
#include "ExtACSyntaxH.ah"
14550
14652
#endif
14551
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__)
14552
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
14653
#endif
 
14654
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
14655
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
14656
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
14553
14657
#include "ExtACSyntaxCC.ah"
14554
14658
#endif
14555
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__)
14556
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14659
#endif
 
14660
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14661
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
14662
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14557
14663
#include "ExtACTree.ah"
14558
14664
#endif
14559
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__)
14560
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14665
#endif
 
14666
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14667
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14668
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14561
14669
 
14562
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
14670
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
14563
14671
// This file is part of PUMA.
14564
14672
// Copyright (C) 1999-2003  The PUMA developer team.
14565
14673
//                                                                
14582
14690
#define __ext_ac_keywords_ah__
14583
14691
 
14584
14692
 
14585
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
14693
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
14586
14694
 
14587
 
#line 14588 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14695
#line 14696 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14588
14696
 
14589
14697
#ifndef __ac_fwd_ExtACKeywords__
14590
14698
#define __ac_fwd_ExtACKeywords__
14591
14699
class ExtACKeywords;
14592
14700
namespace AC {
14593
 
  template <class JoinPoint, class Binding>
14594
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
14595
 
  template <class JoinPoint, class Binding>
14596
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
14597
 
  template <class JoinPoint>
14598
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
14701
  template <class JoinPoint>
 
14702
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
14703
  template <class JoinPoint>
 
14704
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
14705
  template <class JoinPoint>
 
14706
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
14599
14707
}
14600
14708
#endif
14601
14709
 
14602
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14603
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14710
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
14711
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14604
14712
#endif
14605
14713
 
14606
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
14714
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
14607
14715
// This file is part of PUMA.
14608
14716
// Copyright (C) 1999-2003  The PUMA developer team.
14609
14717
//                                                                
14628
14736
// Special project derivation for C++ sources.
14629
14737
 
14630
14738
 
14631
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
14739
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
14632
14740
// This file is part of PUMA.
14633
14741
// Copyright (C) 1999-2003  The PUMA developer team.
14634
14742
//                                                                
14654
14762
// methods for searching and writing files. 
14655
14763
 
14656
14764
 
14657
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
14765
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
14658
14766
// This file is part of PUMA.
14659
14767
// Copyright (C) 1999-2003  The PUMA developer team.
14660
14768
//                                                                
14679
14787
// Manages directories and methods to access the files in it.
14680
14788
 
14681
14789
 
14682
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
14790
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
14683
14791
// This file is part of PUMA.
14684
14792
// Copyright (C) 1999-2003  The PUMA developer team.
14685
14793
//                                                                
14708
14816
 
14709
14817
 
14710
14818
 
14711
 
#line 14712 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14819
#line 14820 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14712
14820
} // closed Puma
 
14821
class CCExprResolve;
 
14822
class CExprResolve;
14713
14823
class WinIfExists;
14714
14824
class WinImportHandler;
14715
14825
class WinMacros;
14716
 
class CMatchSyntax;
14717
 
class ExtGnu;
 
14826
class WinAsm;
 
14827
class WinDeclSpecs;
 
14828
class WinMemberExplSpec;
 
14829
class WinTypeKeywords;
 
14830
class WinFriend;
14718
14831
class ExtAC;
14719
14832
class ExtACBuilderCoupling;
14720
14833
class ExtACSyntaxCoupling;
14721
14834
class ExtACTree;
14722
14835
class ExtACKeywords;
14723
 
class WinAsm;
14724
 
class WinDeclSpecs;
14725
 
class WinMemberExplSpec;
14726
 
class WinTypeKeywords;
 
14836
class ExtGnu;
14727
14837
class PragmaOnceUnitState;
14728
14838
class PragmaOnce;
14729
 
class CCExprResolve;
14730
 
class CExprResolve;
 
14839
class CMatchSyntax;
14731
14840
namespace Puma {
14732
14841
 
14733
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
14842
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
14734
14843
class PathInfo {
14735
 
#line 14736 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14844
#line 14845 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14845
  friend class ::CCExprResolve;
 
14846
  friend class ::CExprResolve;
14736
14847
  friend class ::WinIfExists;
14737
14848
  friend class ::WinImportHandler;
14738
14849
  friend class ::WinMacros;
14739
 
  friend class ::CMatchSyntax;
14740
 
  friend class ::ExtGnu;
 
14850
  friend class ::WinAsm;
 
14851
  friend class ::WinDeclSpecs;
 
14852
  friend class ::WinMemberExplSpec;
 
14853
  friend class ::WinTypeKeywords;
 
14854
  friend class ::WinFriend;
14741
14855
  friend class ::ExtAC;
14742
14856
  friend class ::ExtACBuilderCoupling;
14743
14857
  friend class ::ExtACSyntaxCoupling;
14744
14858
  friend class ::ExtACTree;
14745
14859
  friend class ::ExtACKeywords;
14746
 
  friend class ::WinAsm;
14747
 
  friend class ::WinDeclSpecs;
14748
 
  friend class ::WinMemberExplSpec;
14749
 
  friend class ::WinTypeKeywords;
 
14860
  friend class ::ExtGnu;
14750
14861
  friend class ::PragmaOnceUnitState;
14751
14862
  friend class ::PragmaOnce;
14752
 
  friend class ::CCExprResolve;
14753
 
  friend class ::CExprResolve;
 
14863
  friend class ::CMatchSyntax;
14754
14864
 
14755
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
14865
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
14756
14866
 
14757
14867
  const char *_src;        // Source path.
14758
14868
  const char *_dest;        // Destination path.
14779
14889
 
14780
14890
#endif /* __path_info__ */
14781
14891
 
14782
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
14892
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
14783
14893
// This file is part of PUMA.
14784
14894
// Copyright (C) 1999-2003  The PUMA developer team.
14785
14895
//                                                                
14806
14916
// are iterated. 
14807
14917
 
14808
14918
 
14809
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
14919
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
14810
14920
// This file is part of PUMA.
14811
14921
// Copyright (C) 1999-2003  The PUMA developer team.
14812
14922
//                                                                
14829
14939
#define __project_file__
14830
14940
 
14831
14941
 
14832
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
14942
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
14833
14943
using std::map;
14834
14944
 
14835
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
14945
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
14836
14946
using std::string;
14837
14947
 
14838
14948
 
14839
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
14949
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
14840
14950
namespace Puma {
14841
14951
 
14842
14952
// the project file abstraction is used to store all filenames relevant
14843
14953
// for a specific file that is managed by Puma.
14844
14954
 
14845
14955
 
14846
 
#line 14847 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14956
#line 14957 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14847
14957
} // closed Puma
 
14958
class CCExprResolve;
 
14959
class CExprResolve;
14848
14960
class WinIfExists;
14849
14961
class WinImportHandler;
14850
14962
class WinMacros;
14851
 
class CMatchSyntax;
14852
 
class ExtGnu;
 
14963
class WinAsm;
 
14964
class WinDeclSpecs;
 
14965
class WinMemberExplSpec;
 
14966
class WinTypeKeywords;
 
14967
class WinFriend;
14853
14968
class ExtAC;
14854
14969
class ExtACBuilderCoupling;
14855
14970
class ExtACSyntaxCoupling;
14856
14971
class ExtACTree;
14857
14972
class ExtACKeywords;
14858
 
class WinAsm;
14859
 
class WinDeclSpecs;
14860
 
class WinMemberExplSpec;
14861
 
class WinTypeKeywords;
 
14973
class ExtGnu;
14862
14974
class PragmaOnceUnitState;
14863
14975
class PragmaOnce;
14864
 
class CCExprResolve;
14865
 
class CExprResolve;
 
14976
class CMatchSyntax;
14866
14977
namespace Puma {
14867
14978
 
14868
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
14979
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
14869
14980
class ProjectFile {
14870
 
#line 14871 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
14981
#line 14982 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
14982
  friend class ::CCExprResolve;
 
14983
  friend class ::CExprResolve;
14871
14984
  friend class ::WinIfExists;
14872
14985
  friend class ::WinImportHandler;
14873
14986
  friend class ::WinMacros;
14874
 
  friend class ::CMatchSyntax;
14875
 
  friend class ::ExtGnu;
 
14987
  friend class ::WinAsm;
 
14988
  friend class ::WinDeclSpecs;
 
14989
  friend class ::WinMemberExplSpec;
 
14990
  friend class ::WinTypeKeywords;
 
14991
  friend class ::WinFriend;
14876
14992
  friend class ::ExtAC;
14877
14993
  friend class ::ExtACBuilderCoupling;
14878
14994
  friend class ::ExtACSyntaxCoupling;
14879
14995
  friend class ::ExtACTree;
14880
14996
  friend class ::ExtACKeywords;
14881
 
  friend class ::WinAsm;
14882
 
  friend class ::WinDeclSpecs;
14883
 
  friend class ::WinMemberExplSpec;
14884
 
  friend class ::WinTypeKeywords;
 
14997
  friend class ::ExtGnu;
14885
14998
  friend class ::PragmaOnceUnitState;
14886
14999
  friend class ::PragmaOnce;
14887
 
  friend class ::CCExprResolve;
14888
 
  friend class ::CExprResolve;
 
15000
  friend class ::CMatchSyntax;
14889
15001
 
14890
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
15002
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
14891
15003
 
14892
15004
  Filename _nick_name;
14893
15005
  Filename _dest_path;
14911
15023
 
14912
15024
#endif // __project_file__
14913
15025
 
14914
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
15026
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
14915
15027
namespace Puma {
14916
15028
 
14917
15029
class PathManager;
14918
15030
class RegComp;
14919
15031
 
14920
15032
 
14921
 
#line 14922 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15033
#line 15034 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14922
15034
} // closed Puma
 
15035
class CCExprResolve;
 
15036
class CExprResolve;
14923
15037
class WinIfExists;
14924
15038
class WinImportHandler;
14925
15039
class WinMacros;
14926
 
class CMatchSyntax;
14927
 
class ExtGnu;
 
15040
class WinAsm;
 
15041
class WinDeclSpecs;
 
15042
class WinMemberExplSpec;
 
15043
class WinTypeKeywords;
 
15044
class WinFriend;
14928
15045
class ExtAC;
14929
15046
class ExtACBuilderCoupling;
14930
15047
class ExtACSyntaxCoupling;
14931
15048
class ExtACTree;
14932
15049
class ExtACKeywords;
14933
 
class WinAsm;
14934
 
class WinDeclSpecs;
14935
 
class WinMemberExplSpec;
14936
 
class WinTypeKeywords;
 
15050
class ExtGnu;
14937
15051
class PragmaOnceUnitState;
14938
15052
class PragmaOnce;
14939
 
class CCExprResolve;
14940
 
class CExprResolve;
 
15053
class CMatchSyntax;
14941
15054
namespace Puma {
14942
15055
 
14943
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
15056
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
14944
15057
class PathIterator : public PFMConstIter {
14945
 
#line 14946 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15058
#line 15059 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15059
  friend class ::CCExprResolve;
 
15060
  friend class ::CExprResolve;
14946
15061
  friend class ::WinIfExists;
14947
15062
  friend class ::WinImportHandler;
14948
15063
  friend class ::WinMacros;
14949
 
  friend class ::CMatchSyntax;
14950
 
  friend class ::ExtGnu;
 
15064
  friend class ::WinAsm;
 
15065
  friend class ::WinDeclSpecs;
 
15066
  friend class ::WinMemberExplSpec;
 
15067
  friend class ::WinTypeKeywords;
 
15068
  friend class ::WinFriend;
14951
15069
  friend class ::ExtAC;
14952
15070
  friend class ::ExtACBuilderCoupling;
14953
15071
  friend class ::ExtACSyntaxCoupling;
14954
15072
  friend class ::ExtACTree;
14955
15073
  friend class ::ExtACKeywords;
14956
 
  friend class ::WinAsm;
14957
 
  friend class ::WinDeclSpecs;
14958
 
  friend class ::WinMemberExplSpec;
14959
 
  friend class ::WinTypeKeywords;
 
15074
  friend class ::ExtGnu;
14960
15075
  friend class ::PragmaOnceUnitState;
14961
15076
  friend class ::PragmaOnce;
14962
 
  friend class ::CCExprResolve;
14963
 
  friend class ::CExprResolve;
 
15077
  friend class ::CMatchSyntax;
14964
15078
 
14965
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
15079
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
14966
15080
 
14967
15081
  friend class PathManager;
14968
15082
 
14987
15101
 
14988
15102
#endif /* __path_iterator__ */
14989
15103
 
14990
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
15104
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
14991
15105
namespace Puma {
14992
15106
 
14993
15107
class RegComp;
14995
15109
class Unit;
14996
15110
 
14997
15111
 
14998
 
#line 14999 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15112
#line 15113 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14999
15113
} // closed Puma
 
15114
class CCExprResolve;
 
15115
class CExprResolve;
15000
15116
class WinIfExists;
15001
15117
class WinImportHandler;
15002
15118
class WinMacros;
15003
 
class CMatchSyntax;
15004
 
class ExtGnu;
 
15119
class WinAsm;
 
15120
class WinDeclSpecs;
 
15121
class WinMemberExplSpec;
 
15122
class WinTypeKeywords;
 
15123
class WinFriend;
15005
15124
class ExtAC;
15006
15125
class ExtACBuilderCoupling;
15007
15126
class ExtACSyntaxCoupling;
15008
15127
class ExtACTree;
15009
15128
class ExtACKeywords;
15010
 
class WinAsm;
15011
 
class WinDeclSpecs;
15012
 
class WinMemberExplSpec;
15013
 
class WinTypeKeywords;
 
15129
class ExtGnu;
15014
15130
class PragmaOnceUnitState;
15015
15131
class PragmaOnce;
15016
 
class CCExprResolve;
15017
 
class CExprResolve;
 
15132
class CMatchSyntax;
15018
15133
namespace Puma {
15019
15134
 
15020
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
15135
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
15021
15136
class PathManager {
15022
 
#line 15023 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15137
#line 15138 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15138
  friend class ::CCExprResolve;
 
15139
  friend class ::CExprResolve;
15023
15140
  friend class ::WinIfExists;
15024
15141
  friend class ::WinImportHandler;
15025
15142
  friend class ::WinMacros;
15026
 
  friend class ::CMatchSyntax;
15027
 
  friend class ::ExtGnu;
 
15143
  friend class ::WinAsm;
 
15144
  friend class ::WinDeclSpecs;
 
15145
  friend class ::WinMemberExplSpec;
 
15146
  friend class ::WinTypeKeywords;
 
15147
  friend class ::WinFriend;
15028
15148
  friend class ::ExtAC;
15029
15149
  friend class ::ExtACBuilderCoupling;
15030
15150
  friend class ::ExtACSyntaxCoupling;
15031
15151
  friend class ::ExtACTree;
15032
15152
  friend class ::ExtACKeywords;
15033
 
  friend class ::WinAsm;
15034
 
  friend class ::WinDeclSpecs;
15035
 
  friend class ::WinMemberExplSpec;
15036
 
  friend class ::WinTypeKeywords;
 
15153
  friend class ::ExtGnu;
15037
15154
  friend class ::PragmaOnceUnitState;
15038
15155
  friend class ::PragmaOnce;
15039
 
  friend class ::CCExprResolve;
15040
 
  friend class ::CExprResolve;
 
15156
  friend class ::CMatchSyntax;
15041
15157
 
15042
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
15158
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
15043
15159
 
15044
15160
 
15045
15161
  ErrorStream     *_err;
15141
15257
 
15142
15258
#endif /* __path_manager__ */
15143
15259
 
15144
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
15260
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
15261
 
 
15262
#line 15263 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15263
 
 
15264
#ifndef __ac_fwd_PragmaOnceUnitState__
 
15265
#define __ac_fwd_PragmaOnceUnitState__
 
15266
class PragmaOnceUnitState;
 
15267
namespace AC {
 
15268
  template <class JoinPoint>
 
15269
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
15270
  template <class JoinPoint>
 
15271
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
15272
}
 
15273
#endif
 
15274
 
 
15275
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
15276
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
15277
#endif
 
15278
 
 
15279
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
15280
// This file is part of PUMA.
 
15281
// Copyright (C) 1999-2003  The PUMA developer team.
 
15282
//                                                                
 
15283
// This program is free software;  you can redistribute it and/or 
 
15284
// modify it under the terms of the GNU General Public License as 
 
15285
// published by the Free Software Foundation; either version 2 of 
 
15286
// the License, or (at your option) any later version.            
 
15287
//                                                                
 
15288
// This program is distributed in the hope that it will be useful,
 
15289
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
15290
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
15291
// GNU General Public License for more details.                   
 
15292
//                                                                
 
15293
// You should have received a copy of the GNU General Public      
 
15294
// License along with this program; if not, write to the Free     
 
15295
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
15296
// MA  02111-1307  USA                                            
 
15297
 
 
15298
#ifndef __UnitManager__
 
15299
#define __UnitManager__
 
15300
 
 
15301
// Class UnitManager helps you to have control of all units built.
 
15302
 
 
15303
#include <iostream>
 
15304
#include <list>
 
15305
#include <map>
 
15306
#include <string>
 
15307
using namespace std;
 
15308
#include "Puma/ErrorStream.h"
 
15309
 
 
15310
namespace Puma {
 
15311
 
 
15312
 
 
15313
class Unit;
 
15314
class Source;
 
15315
class Tokenizer;
 
15316
 
 
15317
 
 
15318
#line 15319 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15319
} // closed Puma
 
15320
class CCExprResolve;
 
15321
class CExprResolve;
 
15322
class WinIfExists;
 
15323
class WinImportHandler;
 
15324
class WinMacros;
 
15325
class WinAsm;
 
15326
class WinDeclSpecs;
 
15327
class WinMemberExplSpec;
 
15328
class WinTypeKeywords;
 
15329
class WinFriend;
 
15330
class ExtAC;
 
15331
class ExtACBuilderCoupling;
 
15332
class ExtACSyntaxCoupling;
 
15333
class ExtACTree;
 
15334
class ExtACKeywords;
 
15335
class ExtGnu;
 
15336
class PragmaOnceUnitState;
 
15337
class PragmaOnce;
 
15338
class CMatchSyntax;
 
15339
namespace Puma {
 
15340
 
 
15341
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
15342
class UnitManager {
 
15343
#line 15344 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15344
  friend class ::CCExprResolve;
 
15345
  friend class ::CExprResolve;
 
15346
  friend class ::WinIfExists;
 
15347
  friend class ::WinImportHandler;
 
15348
  friend class ::WinMacros;
 
15349
  friend class ::WinAsm;
 
15350
  friend class ::WinDeclSpecs;
 
15351
  friend class ::WinMemberExplSpec;
 
15352
  friend class ::WinTypeKeywords;
 
15353
  friend class ::WinFriend;
 
15354
  friend class ::ExtAC;
 
15355
  friend class ::ExtACBuilderCoupling;
 
15356
  friend class ::ExtACSyntaxCoupling;
 
15357
  friend class ::ExtACTree;
 
15358
  friend class ::ExtACKeywords;
 
15359
  friend class ::ExtGnu;
 
15360
  friend class ::PragmaOnceUnitState;
 
15361
  friend class ::PragmaOnce;
 
15362
  friend class ::CMatchSyntax;
 
15363
 
 
15364
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
15365
 
 
15366
public:
 
15367
  typedef map<string, Unit*> UMap;
 
15368
private:
 
15369
  ErrorStream *_err;        // For error messages.
 
15370
  list<Unit*> _nonames;     // Noname units list.
 
15371
  mutable UMap _umap;       // Named units, map supports fast lookup by name
 
15372
  typedef UMap::value_type UMapPair;
 
15373
  Tokenizer *_tokenizer;    // File scanner.
 
15374
 
 
15375
public:
 
15376
  UnitManager (ErrorStream &err) : _err (&err), _tokenizer (0) {}
 
15377
        
 
15378
  // Destructor: Delete all units.
 
15379
  virtual ~UnitManager ();
 
15380
        
 
15381
  // Get the unit hash table.
 
15382
  UMap &getTable () const { return _umap; }
 
15383
  typedef UMap::iterator UMapIter;
 
15384
        
 
15385
  // Get/Set the file scanner that is used by newUnit
 
15386
  Tokenizer *tokenizer () const { return _tokenizer; }
 
15387
  void tokenizer (Tokenizer *t) { _tokenizer = t; }
 
15388
 
 
15389
  // Add a unit to manager.
 
15390
  void addUnit (Unit *unit);
 
15391
        
 
15392
  // Remove (and destroy) a unit from hash table. If the name
 
15393
  // is NULL remove all (but not the nonames).
 
15394
  void removeUnit (const char *name = (const char*) 0, bool = false, 
 
15395
                   bool destroy = true) const;
 
15396
 
 
15397
  // Empty a unit. Don't remove from hash table.
 
15398
  // Preserve the last save location information.
 
15399
  void closeUnit (const char *name = (const char*) 0, bool = false) const;
 
15400
 
 
15401
  // Build and add a new unit. 
 
15402
  Unit *newUnit (const char *, Source *in = (Source*) 0, bool = false);
 
15403
        
 
15404
  // Get a unit by name. 
 
15405
  Unit *getUnit (const char *name, bool = false) const;
 
15406
                        
 
15407
  // Print given unit to the given outstream. If no
 
15408
  // name is given, print all units.
 
15409
  void print (const char *name = (const char*) 0, bool = false, 
 
15410
              ostream &out = cout) const;
 
15411
 
 
15412
  // Destroy all noname units.
 
15413
  void removeNonames ();
 
15414
      
 
15415
  // Initialize the unit manager and the managed 
 
15416
  // units for the next parse process.
 
15417
  
 
15418
#line 15419 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15419
public: __attribute__((always_inline)) inline void __exec_old_init();
 
15420
 
 
15421
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
15422
void init ();
 
15423
};
 
15424
 
 
15425
 
 
15426
} // namespace Puma
 
15427
 
 
15428
#endif /* __UnitManager__ */
 
15429
 
 
15430
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
15145
15431
// This file is part of PUMA.
15146
15432
// Copyright (C) 1999-2003  The PUMA developer team.
15147
15433
//                                                                
15168
15454
 
15169
15455
// Project file save mode.
15170
15456
 
15171
 
#line 15172 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15457
#line 15458 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15172
15458
} // closed Puma
 
15459
class CCExprResolve;
 
15460
class CExprResolve;
15173
15461
class WinIfExists;
15174
15462
class WinImportHandler;
15175
15463
class WinMacros;
15176
 
class CMatchSyntax;
15177
 
class ExtGnu;
 
15464
class WinAsm;
 
15465
class WinDeclSpecs;
 
15466
class WinMemberExplSpec;
 
15467
class WinTypeKeywords;
 
15468
class WinFriend;
15178
15469
class ExtAC;
15179
15470
class ExtACBuilderCoupling;
15180
15471
class ExtACSyntaxCoupling;
15181
15472
class ExtACTree;
15182
15473
class ExtACKeywords;
15183
 
class WinAsm;
15184
 
class WinDeclSpecs;
15185
 
class WinMemberExplSpec;
15186
 
class WinTypeKeywords;
 
15474
class ExtGnu;
15187
15475
class PragmaOnceUnitState;
15188
15476
class PragmaOnce;
15189
 
class CCExprResolve;
15190
 
class CExprResolve;
 
15477
class CMatchSyntax;
15191
15478
namespace Puma {
15192
15479
 
15193
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
15480
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
15194
15481
struct SaveMode {
15195
 
#line 15196 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15482
#line 15483 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15483
  friend class ::CCExprResolve;
 
15484
  friend class ::CExprResolve;
15196
15485
  friend class ::WinIfExists;
15197
15486
  friend class ::WinImportHandler;
15198
15487
  friend class ::WinMacros;
15199
 
  friend class ::CMatchSyntax;
15200
 
  friend class ::ExtGnu;
 
15488
  friend class ::WinAsm;
 
15489
  friend class ::WinDeclSpecs;
 
15490
  friend class ::WinMemberExplSpec;
 
15491
  friend class ::WinTypeKeywords;
 
15492
  friend class ::WinFriend;
15201
15493
  friend class ::ExtAC;
15202
15494
  friend class ::ExtACBuilderCoupling;
15203
15495
  friend class ::ExtACSyntaxCoupling;
15204
15496
  friend class ::ExtACTree;
15205
15497
  friend class ::ExtACKeywords;
15206
 
  friend class ::WinAsm;
15207
 
  friend class ::WinDeclSpecs;
15208
 
  friend class ::WinMemberExplSpec;
15209
 
  friend class ::WinTypeKeywords;
 
15498
  friend class ::ExtGnu;
15210
15499
  friend class ::PragmaOnceUnitState;
15211
15500
  friend class ::PragmaOnce;
15212
 
  friend class ::CCExprResolve;
15213
 
  friend class ::CExprResolve;
 
15501
  friend class ::CMatchSyntax;
15214
15502
 
15215
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
15503
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
15216
15504
 
15217
15505
  enum Mode { 
15218
15506
    OVERWRITE = 1, 
15226
15514
 
15227
15515
#endif /* __SaveMode__ */
15228
15516
 
15229
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
15517
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
15230
15518
#include <fstream>
15231
15519
 
15232
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
15520
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
15233
15521
using namespace std;
15234
15522
 
15235
15523
namespace Puma {
15236
15524
 
15237
15525
 
15238
15526
 
15239
 
#line 15240 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15527
#line 15528 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15240
15528
} // closed Puma
 
15529
class CCExprResolve;
 
15530
class CExprResolve;
15241
15531
class WinIfExists;
15242
15532
class WinImportHandler;
15243
15533
class WinMacros;
15244
 
class CMatchSyntax;
15245
 
class ExtGnu;
 
15534
class WinAsm;
 
15535
class WinDeclSpecs;
 
15536
class WinMemberExplSpec;
 
15537
class WinTypeKeywords;
 
15538
class WinFriend;
15246
15539
class ExtAC;
15247
15540
class ExtACBuilderCoupling;
15248
15541
class ExtACSyntaxCoupling;
15249
15542
class ExtACTree;
15250
15543
class ExtACKeywords;
15251
 
class WinAsm;
15252
 
class WinDeclSpecs;
15253
 
class WinMemberExplSpec;
15254
 
class WinTypeKeywords;
 
15544
class ExtGnu;
15255
15545
class PragmaOnceUnitState;
15256
15546
class PragmaOnce;
15257
 
class CCExprResolve;
15258
 
class CExprResolve;
 
15547
class CMatchSyntax;
15259
15548
namespace Puma {
15260
15549
 
15261
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
15550
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
15262
15551
class Project : public PathManager, public SaveMode {
15263
 
#line 15264 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15552
#line 15553 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15553
  friend class ::CCExprResolve;
 
15554
  friend class ::CExprResolve;
15264
15555
  friend class ::WinIfExists;
15265
15556
  friend class ::WinImportHandler;
15266
15557
  friend class ::WinMacros;
15267
 
  friend class ::CMatchSyntax;
15268
 
  friend class ::ExtGnu;
 
15558
  friend class ::WinAsm;
 
15559
  friend class ::WinDeclSpecs;
 
15560
  friend class ::WinMemberExplSpec;
 
15561
  friend class ::WinTypeKeywords;
 
15562
  friend class ::WinFriend;
15269
15563
  friend class ::ExtAC;
15270
15564
  friend class ::ExtACBuilderCoupling;
15271
15565
  friend class ::ExtACSyntaxCoupling;
15272
15566
  friend class ::ExtACTree;
15273
15567
  friend class ::ExtACKeywords;
15274
 
  friend class ::WinAsm;
15275
 
  friend class ::WinDeclSpecs;
15276
 
  friend class ::WinMemberExplSpec;
15277
 
  friend class ::WinTypeKeywords;
 
15568
  friend class ::ExtGnu;
15278
15569
  friend class ::PragmaOnceUnitState;
15279
15570
  friend class ::PragmaOnce;
15280
 
  friend class ::CCExprResolve;
15281
 
  friend class ::CExprResolve;
 
15571
  friend class ::CMatchSyntax;
15282
15572
 
15283
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
15573
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
15284
15574
 
15285
15575
  UnitManager  _unitManager; 
15286
15576
  const char  *_suffix;           // Current file name suffix.
15367
15657
 
15368
15658
#endif /* __project__ */
15369
15659
 
15370
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
15660
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
15371
15661
 
15372
 
#line 15373 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15662
#line 15663 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15373
15663
 
15374
15664
#ifndef __ac_fwd_ExtACKeywords__
15375
15665
#define __ac_fwd_ExtACKeywords__
15376
15666
class ExtACKeywords;
15377
15667
namespace AC {
15378
 
  template <class JoinPoint, class Binding>
15379
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
15380
 
  template <class JoinPoint, class Binding>
15381
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
15382
 
  template <class JoinPoint>
15383
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
15668
  template <class JoinPoint>
 
15669
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
15670
  template <class JoinPoint>
 
15671
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
15672
  template <class JoinPoint>
 
15673
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
15384
15674
}
15385
15675
#endif
15386
15676
 
15387
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
15388
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
15677
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
15678
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
15389
15679
#endif
15390
15680
 
15391
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
15681
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
15392
15682
// This file is part of PUMA.
15393
15683
// Copyright (C) 1999-2003  The PUMA developer team.
15394
15684
//                                                                
15425
15715
class Token;
15426
15716
 
15427
15717
 
15428
 
#line 15429 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15718
#line 15719 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15429
15719
} // closed Puma
 
15720
class CCExprResolve;
 
15721
class CExprResolve;
15430
15722
class WinIfExists;
15431
15723
class WinImportHandler;
15432
15724
class WinMacros;
15433
 
class CMatchSyntax;
15434
 
class ExtGnu;
 
15725
class WinAsm;
 
15726
class WinDeclSpecs;
 
15727
class WinMemberExplSpec;
 
15728
class WinTypeKeywords;
 
15729
class WinFriend;
15435
15730
class ExtAC;
15436
15731
class ExtACBuilderCoupling;
15437
15732
class ExtACSyntaxCoupling;
15438
15733
class ExtACTree;
15439
15734
class ExtACKeywords;
15440
 
class WinAsm;
15441
 
class WinDeclSpecs;
15442
 
class WinMemberExplSpec;
15443
 
class WinTypeKeywords;
 
15735
class ExtGnu;
15444
15736
class PragmaOnceUnitState;
15445
15737
class PragmaOnce;
15446
 
class CCExprResolve;
15447
 
class CExprResolve;
 
15738
class CMatchSyntax;
15448
15739
namespace Puma {
15449
15740
 
15450
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
15741
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
15451
15742
class CScanner : public CRecognizer, public Tokenizer {
15452
 
#line 15453 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15743
#line 15744 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15744
  friend class ::CCExprResolve;
 
15745
  friend class ::CExprResolve;
15453
15746
  friend class ::WinIfExists;
15454
15747
  friend class ::WinImportHandler;
15455
15748
  friend class ::WinMacros;
15456
 
  friend class ::CMatchSyntax;
15457
 
  friend class ::ExtGnu;
 
15749
  friend class ::WinAsm;
 
15750
  friend class ::WinDeclSpecs;
 
15751
  friend class ::WinMemberExplSpec;
 
15752
  friend class ::WinTypeKeywords;
 
15753
  friend class ::WinFriend;
15458
15754
  friend class ::ExtAC;
15459
15755
  friend class ::ExtACBuilderCoupling;
15460
15756
  friend class ::ExtACSyntaxCoupling;
15461
15757
  friend class ::ExtACTree;
15462
15758
  friend class ::ExtACKeywords;
15463
 
  friend class ::WinAsm;
15464
 
  friend class ::WinDeclSpecs;
15465
 
  friend class ::WinMemberExplSpec;
15466
 
  friend class ::WinTypeKeywords;
 
15759
  friend class ::ExtGnu;
15467
15760
  friend class ::PragmaOnceUnitState;
15468
15761
  friend class ::PragmaOnce;
15469
 
  friend class ::CCExprResolve;
15470
 
  friend class ::CExprResolve;
 
15762
  friend class ::CMatchSyntax;
15471
15763
 
15472
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
15764
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
15473
15765
 
15474
15766
  Location loc;
15475
15767
  ErrorSink &err;
15484
15776
  virtual ~CScanner () {}
15485
15777
  void configure (const Config &);
15486
15778
  
15487
 
#line 15488 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
15488
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
15779
#line 15780 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15780
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
15489
15781
 
15490
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
15782
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
15491
15783
void fill_unit (Source &in, Unit &unit);
15492
15784
  
15493
 
#line 15494 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
15494
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
15785
#line 15786 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15786
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
15495
15787
 
15496
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
15788
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
15497
15789
void fill_unit (const char *in, Unit &unit);
15498
15790
};
15499
15791
 
15502
15794
 
15503
15795
#endif /* __c_scanner_h__ */
15504
15796
 
15505
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
15797
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
15506
15798
namespace Puma {
15507
15799
 
15508
15800
 
15510
15802
class CTypeInfo;
15511
15803
 
15512
15804
 
15513
 
#line 15514 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15805
#line 15806 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15514
15806
} // closed Puma
 
15807
class CCExprResolve;
 
15808
class CExprResolve;
15515
15809
class WinIfExists;
15516
15810
class WinImportHandler;
15517
15811
class WinMacros;
15518
 
class CMatchSyntax;
15519
 
class ExtGnu;
 
15812
class WinAsm;
 
15813
class WinDeclSpecs;
 
15814
class WinMemberExplSpec;
 
15815
class WinTypeKeywords;
 
15816
class WinFriend;
15520
15817
class ExtAC;
15521
15818
class ExtACBuilderCoupling;
15522
15819
class ExtACSyntaxCoupling;
15523
15820
class ExtACTree;
15524
15821
class ExtACKeywords;
15525
 
class WinAsm;
15526
 
class WinDeclSpecs;
15527
 
class WinMemberExplSpec;
15528
 
class WinTypeKeywords;
 
15822
class ExtGnu;
15529
15823
class PragmaOnceUnitState;
15530
15824
class PragmaOnce;
15531
 
class CCExprResolve;
15532
 
class CExprResolve;
 
15825
class CMatchSyntax;
15533
15826
namespace Puma {
15534
15827
 
15535
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
15828
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
15536
15829
class CProject : public Project {
15537
 
#line 15538 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15830
#line 15831 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15831
  friend class ::CCExprResolve;
 
15832
  friend class ::CExprResolve;
15538
15833
  friend class ::WinIfExists;
15539
15834
  friend class ::WinImportHandler;
15540
15835
  friend class ::WinMacros;
15541
 
  friend class ::CMatchSyntax;
15542
 
  friend class ::ExtGnu;
 
15836
  friend class ::WinAsm;
 
15837
  friend class ::WinDeclSpecs;
 
15838
  friend class ::WinMemberExplSpec;
 
15839
  friend class ::WinTypeKeywords;
 
15840
  friend class ::WinFriend;
15543
15841
  friend class ::ExtAC;
15544
15842
  friend class ::ExtACBuilderCoupling;
15545
15843
  friend class ::ExtACSyntaxCoupling;
15546
15844
  friend class ::ExtACTree;
15547
15845
  friend class ::ExtACKeywords;
15548
 
  friend class ::WinAsm;
15549
 
  friend class ::WinDeclSpecs;
15550
 
  friend class ::WinMemberExplSpec;
15551
 
  friend class ::WinTypeKeywords;
 
15846
  friend class ::ExtGnu;
15552
15847
  friend class ::PragmaOnceUnitState;
15553
15848
  friend class ::PragmaOnce;
15554
 
  friend class ::CCExprResolve;
15555
 
  friend class ::CExprResolve;
 
15849
  friend class ::CMatchSyntax;
15556
15850
 
15557
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
15851
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
15558
15852
 
15559
15853
  Config _config;
15560
15854
  CScanner _scanner;
15590
15884
  // Scan the file `file' or the source if given. When
15591
15885
  // scanning a source the resulting unit gets the name `file'.
15592
15886
  
15593
 
#line 15594 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
15594
 
public: inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
 
15887
#line 15888 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15888
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
15595
15889
 
15596
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
15890
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
15597
15891
virtual Unit *scanFile (const char *file, Source * = (Source*)0, 
15598
15892
                          bool isFile = true);
15599
15893
        
15623
15917
 
15624
15918
#endif /* __CProject_h__ */
15625
15919
 
15626
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
15920
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
15627
15921
// This file is part of PUMA.
15628
15922
// Copyright (C) 1999-2003  The PUMA developer team.
15629
15923
//                                                                
15649
15943
// absolute path of the corresponding file.
15650
15944
 
15651
15945
 
15652
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
15946
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
15653
15947
namespace Puma {
15654
15948
 
15655
15949
 
15656
15950
class Project;
15657
15951
 
15658
15952
 
15659
 
#line 15660 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15953
#line 15954 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15660
15954
} // closed Puma
 
15955
class CCExprResolve;
 
15956
class CExprResolve;
15661
15957
class WinIfExists;
15662
15958
class WinImportHandler;
15663
15959
class WinMacros;
15664
 
class CMatchSyntax;
15665
 
class ExtGnu;
 
15960
class WinAsm;
 
15961
class WinDeclSpecs;
 
15962
class WinMemberExplSpec;
 
15963
class WinTypeKeywords;
 
15964
class WinFriend;
15666
15965
class ExtAC;
15667
15966
class ExtACBuilderCoupling;
15668
15967
class ExtACSyntaxCoupling;
15669
15968
class ExtACTree;
15670
15969
class ExtACKeywords;
15671
 
class WinAsm;
15672
 
class WinDeclSpecs;
15673
 
class WinMemberExplSpec;
15674
 
class WinTypeKeywords;
 
15970
class ExtGnu;
15675
15971
class PragmaOnceUnitState;
15676
15972
class PragmaOnce;
15677
 
class CCExprResolve;
15678
 
class CExprResolve;
 
15973
class CMatchSyntax;
15679
15974
namespace Puma {
15680
15975
 
15681
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
15976
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
15682
15977
class FileUnit : public Unit {
15683
 
#line 15684 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
15978
#line 15979 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
15979
  friend class ::CCExprResolve;
 
15980
  friend class ::CExprResolve;
15684
15981
  friend class ::WinIfExists;
15685
15982
  friend class ::WinImportHandler;
15686
15983
  friend class ::WinMacros;
15687
 
  friend class ::CMatchSyntax;
15688
 
  friend class ::ExtGnu;
 
15984
  friend class ::WinAsm;
 
15985
  friend class ::WinDeclSpecs;
 
15986
  friend class ::WinMemberExplSpec;
 
15987
  friend class ::WinTypeKeywords;
 
15988
  friend class ::WinFriend;
15689
15989
  friend class ::ExtAC;
15690
15990
  friend class ::ExtACBuilderCoupling;
15691
15991
  friend class ::ExtACSyntaxCoupling;
15692
15992
  friend class ::ExtACTree;
15693
15993
  friend class ::ExtACKeywords;
15694
 
  friend class ::WinAsm;
15695
 
  friend class ::WinDeclSpecs;
15696
 
  friend class ::WinMemberExplSpec;
15697
 
  friend class ::WinTypeKeywords;
 
15994
  friend class ::ExtGnu;
15698
15995
  friend class ::PragmaOnceUnitState;
15699
15996
  friend class ::PragmaOnce;
15700
 
  friend class ::CCExprResolve;
15701
 
  friend class ::CExprResolve;
 
15997
  friend class ::CMatchSyntax;
15702
15998
 
15703
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
15999
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
15704
16000
 
15705
16001
  char *_lastLocation; 
15706
16002
  char *_absolutePath;
15766
16062
 
15767
16063
#endif /* __FileUnit__ */
15768
16064
 
15769
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15770
 
using namespace Puma;
15771
 
 
 
16065
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15772
16066
// *****************************************
15773
16067
// AspectC++ keyword handling in the scanner
15774
16068
// *****************************************
15775
16069
 
15776
 
#line 15777 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
16070
#line 16071 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
16071
class CCExprResolve;
 
16072
class CExprResolve;
15777
16073
class WinIfExists;
15778
16074
class WinImportHandler;
15779
16075
class WinMacros;
15780
 
class CMatchSyntax;
15781
 
class ExtGnu;
 
16076
class WinAsm;
 
16077
class WinDeclSpecs;
 
16078
class WinMemberExplSpec;
 
16079
class WinTypeKeywords;
 
16080
class WinFriend;
15782
16081
class ExtAC;
15783
16082
class ExtACBuilderCoupling;
15784
16083
class ExtACSyntaxCoupling;
15785
16084
class ExtACTree;
15786
 
class WinAsm;
15787
 
class WinDeclSpecs;
15788
 
class WinMemberExplSpec;
15789
 
class WinTypeKeywords;
 
16085
class ExtGnu;
15790
16086
class PragmaOnceUnitState;
15791
16087
class PragmaOnce;
15792
 
class CCExprResolve;
15793
 
class CExprResolve;
 
16088
class CMatchSyntax;
15794
16089
 
15795
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16090
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15796
16091
class ExtACKeywords {
15797
 
#line 15798 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
16092
#line 16093 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15798
16093
 
15799
16094
public:
15800
16095
  static ExtACKeywords *aspectof () {
15806
16101
  }
15807
16102
private:
15808
16103
 
15809
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16104
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15810
16105
 
15811
 
#line 15812 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
16106
#line 16107 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
 
16107
  friend class ::CCExprResolve;
 
16108
  friend class ::CExprResolve;
15812
16109
  friend class ::WinIfExists;
15813
16110
  friend class ::WinImportHandler;
15814
16111
  friend class ::WinMacros;
15815
 
  friend class ::CMatchSyntax;
15816
 
  friend class ::ExtGnu;
 
16112
  friend class ::WinAsm;
 
16113
  friend class ::WinDeclSpecs;
 
16114
  friend class ::WinMemberExplSpec;
 
16115
  friend class ::WinTypeKeywords;
 
16116
  friend class ::WinFriend;
15817
16117
  friend class ::ExtAC;
15818
16118
  friend class ::ExtACBuilderCoupling;
15819
16119
  friend class ::ExtACSyntaxCoupling;
15820
16120
  friend class ::ExtACTree;
15821
 
  friend class ::WinAsm;
15822
 
  friend class ::WinDeclSpecs;
15823
 
  friend class ::WinMemberExplSpec;
15824
 
  friend class ::WinTypeKeywords;
 
16121
  friend class ::ExtGnu;
15825
16122
  friend class ::PragmaOnceUnitState;
15826
16123
  friend class ::PragmaOnce;
15827
 
  friend class ::CCExprResolve;
15828
 
  friend class ::CExprResolve;
 
16124
  friend class ::CMatchSyntax;
15829
16125
 
15830
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16126
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15831
16127
 
15832
16128
 
15833
16129
  bool _prj_keywords;
15834
 
  CProject *_project; // active project
 
16130
  Puma::CProject *_project; // active project
15835
16131
  
15836
16132
protected:
15837
16133
  ExtACKeywords () : _prj_keywords (false) {}
 
16134
  
15838
16135
public:
15839
16136
  // allow/forbid AspectC++ keywords in normal project files
15840
16137
  void prj_keywords (bool kw) { _prj_keywords = kw; }
15841
16138
  
15842
16139
  
15843
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16140
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15844
16141
 
15845
16142
public: void __a0_before 
15846
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16143
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15847
16144
 
15848
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15849
 
(CProject &project)
15850
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16145
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16146
(Puma::CProject &project)
 
16147
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15851
16148
 {
15852
16149
    _project = &project;
15853
16150
  }
15854
16151
  
15855
16152
  
15856
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16153
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15857
16154
 
15858
16155
public: template<class JoinPoint> void __a1_before 
15859
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16156
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15860
16157
 
15861
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15862
 
(JoinPoint *tjp, Unit &unit)
15863
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16158
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16159
(JoinPoint *tjp, Puma::Unit &unit)
 
16160
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15864
16161
 {
15865
 
#line 15866 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
16162
#line 16163 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15866
16163
 
15867
16164
  typedef typename JoinPoint::That __JP_That;
15868
16165
  typedef typename JoinPoint::Target __JP_Target;
15869
16166
  typedef typename JoinPoint::Result __JP_Result;
15870
16167
 
15871
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16168
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15872
16169
 
15873
16170
    if (!unit.isFile ())
15874
16171
      return;
15875
16172
      
15876
16173
    bool ac_kw = _prj_keywords;
15877
16174
    // in external files the AspectC++ keywords are always identifiers
15878
 
    if (!((FileUnit*)&unit)->belongsTo (*_project)) {
 
16175
    if (!((Puma::FileUnit*)&unit)->belongsTo (*_project)) {
15879
16176
      ac_kw = false;
15880
16177
    }
15881
16178
    // in aspect headers keywords are keywords
15888
16185
  }
15889
16186
  
15890
16187
  
15891
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16188
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15892
16189
 
15893
16190
public: template<class JoinPoint> void __a2_before 
15894
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16191
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15895
16192
 
15896
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16193
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15897
16194
(JoinPoint *tjp)
15898
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16195
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15899
16196
 {
15900
 
#line 15901 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
16197
#line 16198 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15901
16198
 
15902
16199
  typedef typename JoinPoint::That __JP_That;
15903
16200
  typedef typename JoinPoint::Target __JP_Target;
15904
16201
  typedef typename JoinPoint::Result __JP_Result;
15905
16202
 
15906
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16203
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15907
16204
 
15908
16205
    _project = tjp->that ();
15909
16206
  }
15910
16207
};
15911
 
#line 15912 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
 
16208
#line 16209 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15912
16209
 
15913
16210
namespace AC {
15914
 
  template <class JoinPoint, class Binding>
15915
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
15916
 
    typedef typename Binding::template Arg<0> Arg0;
 
16211
  template <class JoinPoint>
 
16212
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
 
16213
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a0_before::template Arg<0> Arg0;
15917
16214
    ::ExtACKeywords::aspectof()->__a0_before ((Puma::CProject &)Arg0::val (tjp));
15918
16215
  }
15919
 
  template <class JoinPoint, class Binding>
15920
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
15921
 
    typedef typename Binding::template Arg<0> Arg0;
 
16216
  template <class JoinPoint>
 
16217
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
 
16218
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a1_before::template Arg<0> Arg0;
15922
16219
    ::ExtACKeywords::aspectof()->__a1_before (tjp, (Puma::Unit &)Arg0::val (tjp));
15923
16220
  }
15924
16221
  template <class JoinPoint>
15925
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
 
16222
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
15926
16223
    ::ExtACKeywords::aspectof()->__a2_before (tjp);
15927
16224
  }
15928
16225
15929
16226
 
15930
 
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
16227
#line 72 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15931
16228
  
15932
16229
 
15933
16230
#endif /* __ext_ac_keywords_ah__ */
15934
16231
 
15935
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
15936
 
#endif
15937
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
15938
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
16232
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
16233
#endif
 
16234
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16235
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16236
#include "PragmaOnceUnitState.ah"
 
16237
#endif
 
16238
#endif
 
16239
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
16240
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
16241
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
16242
#include "ExtACTree.ah"
 
16243
#endif
 
16244
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
16245
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
16246
#include "ExtGnu.ah"
 
16247
#endif
 
16248
#endif
 
16249
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
16250
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
16251
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
16252
#include "ExtACTree.ah"
 
16253
#endif
 
16254
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
16255
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
16256
#include "ExtGnuCSemDeclSpecs.ah"
 
16257
#endif
 
16258
#endif
 
16259
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16260
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16261
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16262
#include "PragmaOnceUnitState.ah"
 
16263
#endif
 
16264
#endif
 
16265
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
16266
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16267
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
16268
#include "PragmaOnceUnitState.ah"
 
16269
#endif
 
16270
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
16271
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
16272
 
 
16273
#line 203 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
 
16274
#endif
 
16275
#endif
 
16276
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
16277
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
16278
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
15939
16279
#include "TraceSyntax.ah"
15940
16280
#endif
15941
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__)
15942
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__
15943
 
#include "WinAsm.ah"
15944
 
#endif
15945
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
15946
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
15947
 
#include "WinDeclSpecs.ah"
15948
 
#endif
15949
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
15950
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
15951
 
#include "WinMemberExplSpec.ah"
15952
 
#endif
15953
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
15954
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
15955
 
#include "WinTypeKeywords.ah"
15956
 
#endif
15957
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
15958
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
15959
 
 
15960
 
#line 75 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
15961
 
#endif
15962
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
15963
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
15964
 
 
15965
 
#line 79 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
15966
 
#endif
15967
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__)
15968
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
15969
 
#include "CCExprResolveH.ah"
15970
 
#endif
15971
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__)
15972
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
15973
 
#include "CCExprResolveCC.ah"
15974
 
#endif
15975
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__)
15976
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__
15977
 
#include "CExprResolveH.ah"
15978
 
#endif
15979
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__)
15980
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
15981
 
#include "CExprResolveCC.ah"
15982
 
#endif
15983
 
/*** end of aspect includes ***/
15984
 
#undef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
15985
 
#undef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
15986
 
#endif // __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
 
16281
#endif
 
16282
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
16283
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
16284
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
16285
#include "CMatchSyntax.ah"
 
16286
#endif
 
16287
#endif
 
16288
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
16289
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__
 
16290
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__