~ubuntu-branches/ubuntu/quantal/aspectc++/quantal

« back to all changes in this revision

Viewing changes to Puma/gen-release/step2/src/PreprocessorParser.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/PreprocessorParser.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_PreprocessorParser_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/PreprocessorParser.cc"
9
 
 
10
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.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_PreprocessorParser_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/PreprocessorParser.cc"
 
9
 
 
10
#line 11 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.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/PreprocessorParser.cc"
44
 
 
45
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
46
 
 
47
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
48
 
 
49
 
#ifndef __ac_fwd_WinIfExists__
50
 
#define __ac_fwd_WinIfExists__
51
 
class WinIfExists;
 
59
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
60
 
 
61
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
62
 
 
63
#line 64 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
64
 
 
65
#ifndef __ac_fwd_PragmaOnce__
 
66
#define __ac_fwd_PragmaOnce__
 
67
class PragmaOnce;
52
68
namespace AC {
53
69
  template <class JoinPoint>
54
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
 
70
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
71
  template <class JoinPoint>
 
72
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
73
  template <class JoinPoint>
 
74
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
75
  template <class JoinPoint>
 
76
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
55
77
}
56
78
#endif
57
79
 
58
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
59
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
80
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
81
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
60
82
#endif
61
83
 
62
84
#ifndef __ac_fwd_WinImportHandler__
63
85
#define __ac_fwd_WinImportHandler__
64
86
class WinImportHandler;
65
87
namespace AC {
66
 
  template <class JoinPoint, class Binding>
67
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
68
 
}
69
 
#endif
70
 
 
71
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
72
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
73
 
#endif
74
 
 
75
 
#ifndef __ac_fwd_PragmaOnce__
76
 
#define __ac_fwd_PragmaOnce__
77
 
class PragmaOnce;
78
 
namespace AC {
79
 
  template <class JoinPoint>
80
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
81
 
  template <class JoinPoint>
82
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
83
 
  template <class JoinPoint, class Binding>
84
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
85
 
  template <class JoinPoint>
86
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
87
 
}
88
 
#endif
89
 
 
90
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
91
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
88
  template <class JoinPoint>
 
89
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
 
90
}
 
91
#endif
 
92
 
 
93
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
94
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
92
95
#endif
93
96
 
94
97
#ifndef __ac_fwd_WinMacros__
95
98
#define __ac_fwd_WinMacros__
96
99
class WinMacros;
97
100
namespace AC {
98
 
  template <class JoinPoint, class Binding>
99
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
100
 
}
101
 
#endif
102
 
 
103
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
104
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
105
 
#endif
106
 
 
107
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
101
  template <class JoinPoint>
 
102
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
 
103
}
 
104
#endif
 
105
 
 
106
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
107
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
108
#endif
 
109
 
 
110
#ifndef __ac_fwd_WinIfExists__
 
111
#define __ac_fwd_WinIfExists__
 
112
class WinIfExists;
 
113
namespace AC {
 
114
  template <class JoinPoint>
 
115
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
 
116
}
 
117
#endif
 
118
 
 
119
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
120
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
121
#endif
 
122
 
 
123
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
108
124
// This file is part of PUMA.
109
125
// Copyright (C) 1999-2003  The PUMA developer team.
110
126
//                                                                
124
140
// MA  02111-1307  USA                                            
125
141
 
126
142
 
127
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
143
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
128
144
// This file is part of PUMA.
129
145
// Copyright (C) 1999-2003  The PUMA developer team.
130
146
//                                                                
152
168
 
153
169
#include <stdlib.h>
154
170
 
155
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
171
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
156
172
// This file is part of PUMA.
157
173
// Copyright (C) 1999-2003  The PUMA developer team.
158
174
//                                                                
180
196
 
181
197
 
182
198
 
183
 
#line 184 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
199
#line 200 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
184
200
} // closed Puma
 
201
class CCExprResolve;
 
202
class CExprResolve;
185
203
class WinIfExists;
186
204
class WinImportHandler;
187
205
class WinMacros;
188
 
class CMatchSyntax;
189
 
class ExtGnu;
 
206
class WinAsm;
 
207
class WinDeclSpecs;
 
208
class WinMemberExplSpec;
 
209
class WinTypeKeywords;
 
210
class WinFriend;
190
211
class ExtAC;
191
212
class ExtACBuilderCoupling;
192
213
class ExtACSyntaxCoupling;
193
214
class ExtACTree;
194
215
class ExtACKeywords;
195
 
class WinAsm;
196
 
class WinDeclSpecs;
197
 
class WinMemberExplSpec;
198
 
class WinTypeKeywords;
 
216
class ExtGnu;
199
217
class PragmaOnceUnitState;
200
218
class PragmaOnce;
201
 
class CCExprResolve;
202
 
class CExprResolve;
 
219
class CMatchSyntax;
203
220
namespace Puma {
204
221
 
205
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
222
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
206
223
class LanguageID {
207
 
#line 208 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
224
#line 225 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
225
  friend class ::CCExprResolve;
 
226
  friend class ::CExprResolve;
208
227
  friend class ::WinIfExists;
209
228
  friend class ::WinImportHandler;
210
229
  friend class ::WinMacros;
211
 
  friend class ::CMatchSyntax;
212
 
  friend class ::ExtGnu;
 
230
  friend class ::WinAsm;
 
231
  friend class ::WinDeclSpecs;
 
232
  friend class ::WinMemberExplSpec;
 
233
  friend class ::WinTypeKeywords;
 
234
  friend class ::WinFriend;
213
235
  friend class ::ExtAC;
214
236
  friend class ::ExtACBuilderCoupling;
215
237
  friend class ::ExtACSyntaxCoupling;
216
238
  friend class ::ExtACTree;
217
239
  friend class ::ExtACKeywords;
218
 
  friend class ::WinAsm;
219
 
  friend class ::WinDeclSpecs;
220
 
  friend class ::WinMemberExplSpec;
221
 
  friend class ::WinTypeKeywords;
 
240
  friend class ::ExtGnu;
222
241
  friend class ::PragmaOnceUnitState;
223
242
  friend class ::PragmaOnce;
224
 
  friend class ::CCExprResolve;
225
 
  friend class ::CExprResolve;
 
243
  friend class ::CMatchSyntax;
226
244
 
227
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
245
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
228
246
 
229
247
  const char *_id;
230
248
 
241
259
 
242
260
#endif /* __language_id_h__ */
243
261
 
244
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
 
262
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
245
263
// This file is part of PUMA.
246
264
// Copyright (C) 1999-2003  The PUMA developer team.
247
265
//                                                                
264
282
#define __location_h__
265
283
 
266
284
 
267
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
285
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
286
// This file is part of PUMA.
 
287
// Copyright (C) 1999-2003  The PUMA developer team.
 
288
//                                                                
 
289
// This program is free software;  you can redistribute it and/or 
 
290
// modify it under the terms of the GNU General Public License as 
 
291
// published by the Free Software Foundation; either version 2 of 
 
292
// the License, or (at your option) any later version.            
 
293
//                                                                
 
294
// This program is distributed in the hope that it will be useful,
 
295
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
296
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
297
// GNU General Public License for more details.                   
 
298
//                                                                
 
299
// You should have received a copy of the GNU General Public      
 
300
// License along with this program; if not, write to the Free     
 
301
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
302
// MA  02111-1307  USA                                            
 
303
 
 
304
#ifndef __filename_h__
 
305
#define __filename_h__
 
306
 
 
307
 
 
308
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
268
309
// This file is part of PUMA.
269
310
// Copyright (C) 1999-2003  The PUMA developer team.
270
311
//                                                                
287
328
#define __smart_ptr_h__
288
329
 
289
330
 
290
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
331
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
291
332
// This file is part of PUMA.
292
333
// Copyright (C) 1999-2003  The PUMA developer team.
293
334
//                                                                
313
354
 
314
355
 
315
356
 
316
 
#line 317 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
357
#line 358 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
317
358
} // closed Puma
 
359
class CCExprResolve;
 
360
class CExprResolve;
318
361
class WinIfExists;
319
362
class WinImportHandler;
320
363
class WinMacros;
321
 
class CMatchSyntax;
322
 
class ExtGnu;
 
364
class WinAsm;
 
365
class WinDeclSpecs;
 
366
class WinMemberExplSpec;
 
367
class WinTypeKeywords;
 
368
class WinFriend;
323
369
class ExtAC;
324
370
class ExtACBuilderCoupling;
325
371
class ExtACSyntaxCoupling;
326
372
class ExtACTree;
327
373
class ExtACKeywords;
328
 
class WinAsm;
329
 
class WinDeclSpecs;
330
 
class WinMemberExplSpec;
331
 
class WinTypeKeywords;
 
374
class ExtGnu;
332
375
class PragmaOnceUnitState;
333
376
class PragmaOnce;
334
 
class CCExprResolve;
335
 
class CExprResolve;
 
377
class CMatchSyntax;
336
378
namespace Puma {
337
379
 
338
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
380
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
339
381
class RefCnt {
340
 
#line 341 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
382
#line 383 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
383
  friend class ::CCExprResolve;
 
384
  friend class ::CExprResolve;
341
385
  friend class ::WinIfExists;
342
386
  friend class ::WinImportHandler;
343
387
  friend class ::WinMacros;
344
 
  friend class ::CMatchSyntax;
345
 
  friend class ::ExtGnu;
 
388
  friend class ::WinAsm;
 
389
  friend class ::WinDeclSpecs;
 
390
  friend class ::WinMemberExplSpec;
 
391
  friend class ::WinTypeKeywords;
 
392
  friend class ::WinFriend;
346
393
  friend class ::ExtAC;
347
394
  friend class ::ExtACBuilderCoupling;
348
395
  friend class ::ExtACSyntaxCoupling;
349
396
  friend class ::ExtACTree;
350
397
  friend class ::ExtACKeywords;
351
 
  friend class ::WinAsm;
352
 
  friend class ::WinDeclSpecs;
353
 
  friend class ::WinMemberExplSpec;
354
 
  friend class ::WinTypeKeywords;
 
398
  friend class ::ExtGnu;
355
399
  friend class ::PragmaOnceUnitState;
356
400
  friend class ::PragmaOnce;
357
 
  friend class ::CCExprResolve;
358
 
  friend class ::CExprResolve;
 
401
  friend class ::CMatchSyntax;
359
402
 
360
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
403
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
361
404
 
362
405
  int _counter;
363
406
 
375
418
 
376
419
#endif /* __ref_cnt_h__ */
377
420
 
378
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
421
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
379
422
namespace Puma {
380
423
 
381
424
 
382
425
 
383
 
#line 384 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
426
#line 427 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
384
427
} // closed Puma
 
428
class CCExprResolve;
 
429
class CExprResolve;
385
430
class WinIfExists;
386
431
class WinImportHandler;
387
432
class WinMacros;
388
 
class CMatchSyntax;
389
 
class ExtGnu;
 
433
class WinAsm;
 
434
class WinDeclSpecs;
 
435
class WinMemberExplSpec;
 
436
class WinTypeKeywords;
 
437
class WinFriend;
390
438
class ExtAC;
391
439
class ExtACBuilderCoupling;
392
440
class ExtACSyntaxCoupling;
393
441
class ExtACTree;
394
442
class ExtACKeywords;
395
 
class WinAsm;
396
 
class WinDeclSpecs;
397
 
class WinMemberExplSpec;
398
 
class WinTypeKeywords;
 
443
class ExtGnu;
399
444
class PragmaOnceUnitState;
400
445
class PragmaOnce;
401
 
class CCExprResolve;
402
 
class CExprResolve;
 
446
class CMatchSyntax;
403
447
namespace Puma {
404
448
 
405
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
449
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
406
450
class SmartPtr {
407
 
#line 408 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
451
#line 452 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
452
  friend class ::CCExprResolve;
 
453
  friend class ::CExprResolve;
408
454
  friend class ::WinIfExists;
409
455
  friend class ::WinImportHandler;
410
456
  friend class ::WinMacros;
411
 
  friend class ::CMatchSyntax;
412
 
  friend class ::ExtGnu;
 
457
  friend class ::WinAsm;
 
458
  friend class ::WinDeclSpecs;
 
459
  friend class ::WinMemberExplSpec;
 
460
  friend class ::WinTypeKeywords;
 
461
  friend class ::WinFriend;
413
462
  friend class ::ExtAC;
414
463
  friend class ::ExtACBuilderCoupling;
415
464
  friend class ::ExtACSyntaxCoupling;
416
465
  friend class ::ExtACTree;
417
466
  friend class ::ExtACKeywords;
418
 
  friend class ::WinAsm;
419
 
  friend class ::WinDeclSpecs;
420
 
  friend class ::WinMemberExplSpec;
421
 
  friend class ::WinTypeKeywords;
 
467
  friend class ::ExtGnu;
422
468
  friend class ::PragmaOnceUnitState;
423
469
  friend class ::PragmaOnce;
424
 
  friend class ::CCExprResolve;
425
 
  friend class ::CExprResolve;
 
470
  friend class ::CMatchSyntax;
426
471
 
427
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
472
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
428
473
 
429
474
  RefCnt *_data;
430
475
 
446
491
 
447
492
#endif /* __smart_ptr_h__ */
448
493
 
449
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
494
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
450
495
// This file is part of PUMA.
451
496
// Copyright (C) 1999-2003  The PUMA developer team.
452
497
//                                                                
475
520
 
476
521
 
477
522
 
478
 
#line 479 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
523
#line 524 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
479
524
} // closed Puma
 
525
class CCExprResolve;
 
526
class CExprResolve;
480
527
class WinIfExists;
481
528
class WinImportHandler;
482
529
class WinMacros;
483
 
class CMatchSyntax;
484
 
class ExtGnu;
 
530
class WinAsm;
 
531
class WinDeclSpecs;
 
532
class WinMemberExplSpec;
 
533
class WinTypeKeywords;
 
534
class WinFriend;
485
535
class ExtAC;
486
536
class ExtACBuilderCoupling;
487
537
class ExtACSyntaxCoupling;
488
538
class ExtACTree;
489
539
class ExtACKeywords;
490
 
class WinAsm;
491
 
class WinDeclSpecs;
492
 
class WinMemberExplSpec;
493
 
class WinTypeKeywords;
 
540
class ExtGnu;
494
541
class PragmaOnceUnitState;
495
542
class PragmaOnce;
496
 
class CCExprResolve;
497
 
class CExprResolve;
 
543
class CMatchSyntax;
498
544
namespace Puma {
499
545
 
500
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
546
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
501
547
class Printable {
502
 
#line 503 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
548
#line 549 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
549
  friend class ::CCExprResolve;
 
550
  friend class ::CExprResolve;
503
551
  friend class ::WinIfExists;
504
552
  friend class ::WinImportHandler;
505
553
  friend class ::WinMacros;
506
 
  friend class ::CMatchSyntax;
507
 
  friend class ::ExtGnu;
 
554
  friend class ::WinAsm;
 
555
  friend class ::WinDeclSpecs;
 
556
  friend class ::WinMemberExplSpec;
 
557
  friend class ::WinTypeKeywords;
 
558
  friend class ::WinFriend;
508
559
  friend class ::ExtAC;
509
560
  friend class ::ExtACBuilderCoupling;
510
561
  friend class ::ExtACSyntaxCoupling;
511
562
  friend class ::ExtACTree;
512
563
  friend class ::ExtACKeywords;
513
 
  friend class ::WinAsm;
514
 
  friend class ::WinDeclSpecs;
515
 
  friend class ::WinMemberExplSpec;
516
 
  friend class ::WinTypeKeywords;
 
564
  friend class ::ExtGnu;
517
565
  friend class ::PragmaOnceUnitState;
518
566
  friend class ::PragmaOnce;
519
 
  friend class ::CCExprResolve;
520
 
  friend class ::CExprResolve;
 
567
  friend class ::CMatchSyntax;
521
568
 
522
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
569
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
523
570
 
524
571
public:
525
572
  virtual ~Printable () {}
537
584
 
538
585
#endif /* __printable_h__ */
539
586
 
540
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
541
 
// This file is part of PUMA.
542
 
// Copyright (C) 1999-2003  The PUMA developer team.
543
 
//                                                                
544
 
// This program is free software;  you can redistribute it and/or 
545
 
// modify it under the terms of the GNU General Public License as 
546
 
// published by the Free Software Foundation; either version 2 of 
547
 
// the License, or (at your option) any later version.            
548
 
//                                                                
549
 
// This program is distributed in the hope that it will be useful,
550
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
551
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
552
 
// GNU General Public License for more details.                   
553
 
//                                                                
554
 
// You should have received a copy of the GNU General Public      
555
 
// License along with this program; if not, write to the Free     
556
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
557
 
// MA  02111-1307  USA                                            
558
 
 
559
 
#ifndef __location_info_h__
560
 
#define __location_info_h__
561
 
 
562
 
 
563
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
564
 
// This file is part of PUMA.
565
 
// Copyright (C) 1999-2003  The PUMA developer team.
566
 
//                                                                
567
 
// This program is free software;  you can redistribute it and/or 
568
 
// modify it under the terms of the GNU General Public License as 
569
 
// published by the Free Software Foundation; either version 2 of 
570
 
// the License, or (at your option) any later version.            
571
 
//                                                                
572
 
// This program is distributed in the hope that it will be useful,
573
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
574
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
575
 
// GNU General Public License for more details.                   
576
 
//                                                                
577
 
// You should have received a copy of the GNU General Public      
578
 
// License along with this program; if not, write to the Free     
579
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
580
 
// MA  02111-1307  USA                                            
581
 
 
582
 
#ifndef __filename_h__
583
 
#define __filename_h__
584
 
 
585
 
 
586
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
587
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
587
588
// This file is part of PUMA.
588
589
// Copyright (C) 1999-2003  The PUMA developer team.
589
590
//                                                                
606
607
#define __filename_info_h__
607
608
 
608
609
 
609
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
610
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
610
611
// This file is part of PUMA.
611
612
// Copyright (C) 1999-2003  The PUMA developer team.
612
613
//                                                                
629
630
#define __DString_h__
630
631
 
631
632
 
632
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
633
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
633
634
// This file is part of PUMA.
634
635
// Copyright (C) 1999-2003  The PUMA developer team.
635
636
//                                                                
652
653
#define __StrHashTable_h__
653
654
 
654
655
 
655
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
656
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
656
657
// This file is part of PUMA.
657
658
// Copyright (C) 1999-2003  The PUMA developer team.
658
659
//                                                                
675
676
#define __StrHashKey_h__
676
677
 
677
678
 
678
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
679
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
679
680
// This file is part of PUMA.
680
681
// Copyright (C) 1999-2003  The PUMA developer team.
681
682
//                                                                
705
706
class Unit;
706
707
 
707
708
 
708
 
#line 709 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
709
#line 710 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
709
710
} // closed Puma
 
711
class CCExprResolve;
 
712
class CExprResolve;
710
713
class WinIfExists;
711
714
class WinImportHandler;
712
715
class WinMacros;
713
 
class CMatchSyntax;
714
 
class ExtGnu;
 
716
class WinAsm;
 
717
class WinDeclSpecs;
 
718
class WinMemberExplSpec;
 
719
class WinTypeKeywords;
 
720
class WinFriend;
715
721
class ExtAC;
716
722
class ExtACBuilderCoupling;
717
723
class ExtACSyntaxCoupling;
718
724
class ExtACTree;
719
725
class ExtACKeywords;
720
 
class WinAsm;
721
 
class WinDeclSpecs;
722
 
class WinMemberExplSpec;
723
 
class WinTypeKeywords;
 
726
class ExtGnu;
724
727
class PragmaOnceUnitState;
725
728
class PragmaOnce;
726
 
class CCExprResolve;
727
 
class CExprResolve;
 
729
class CMatchSyntax;
728
730
namespace Puma {
729
731
 
730
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
732
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
731
733
class StrCol {
732
 
#line 733 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
734
#line 735 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
735
  friend class ::CCExprResolve;
 
736
  friend class ::CExprResolve;
733
737
  friend class ::WinIfExists;
734
738
  friend class ::WinImportHandler;
735
739
  friend class ::WinMacros;
736
 
  friend class ::CMatchSyntax;
737
 
  friend class ::ExtGnu;
 
740
  friend class ::WinAsm;
 
741
  friend class ::WinDeclSpecs;
 
742
  friend class ::WinMemberExplSpec;
 
743
  friend class ::WinTypeKeywords;
 
744
  friend class ::WinFriend;
738
745
  friend class ::ExtAC;
739
746
  friend class ::ExtACBuilderCoupling;
740
747
  friend class ::ExtACSyntaxCoupling;
741
748
  friend class ::ExtACTree;
742
749
  friend class ::ExtACKeywords;
743
 
  friend class ::WinAsm;
744
 
  friend class ::WinDeclSpecs;
745
 
  friend class ::WinMemberExplSpec;
746
 
  friend class ::WinTypeKeywords;
 
750
  friend class ::ExtGnu;
747
751
  friend class ::PragmaOnceUnitState;
748
752
  friend class ::PragmaOnce;
749
 
  friend class ::CCExprResolve;
750
 
  friend class ::CExprResolve;
 
753
  friend class ::CMatchSyntax;
751
754
 
752
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
755
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
753
756
 
754
757
protected:
755
758
  StrCol () {}
777
780
 
778
781
#endif /* __str_col__ */
779
782
 
780
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
783
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
781
784
// This file is part of PUMA.
782
785
// Copyright (C) 1999-2003  The PUMA developer team.
783
786
//                                                                
812
815
 
813
816
 
814
817
 
815
 
#line 816 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
818
#line 819 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
816
819
} // closed Puma
 
820
class CCExprResolve;
 
821
class CExprResolve;
817
822
class WinIfExists;
818
823
class WinImportHandler;
819
824
class WinMacros;
820
 
class CMatchSyntax;
821
 
class ExtGnu;
 
825
class WinAsm;
 
826
class WinDeclSpecs;
 
827
class WinMemberExplSpec;
 
828
class WinTypeKeywords;
 
829
class WinFriend;
822
830
class ExtAC;
823
831
class ExtACBuilderCoupling;
824
832
class ExtACSyntaxCoupling;
825
833
class ExtACTree;
826
834
class ExtACKeywords;
827
 
class WinAsm;
828
 
class WinDeclSpecs;
829
 
class WinMemberExplSpec;
830
 
class WinTypeKeywords;
 
835
class ExtGnu;
831
836
class PragmaOnceUnitState;
832
837
class PragmaOnce;
833
 
class CCExprResolve;
834
 
class CExprResolve;
 
838
class CMatchSyntax;
835
839
namespace Puma {
836
840
 
837
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
841
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
838
842
class Chain {
839
 
#line 840 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
843
#line 844 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
844
  friend class ::CCExprResolve;
 
845
  friend class ::CExprResolve;
840
846
  friend class ::WinIfExists;
841
847
  friend class ::WinImportHandler;
842
848
  friend class ::WinMacros;
843
 
  friend class ::CMatchSyntax;
844
 
  friend class ::ExtGnu;
 
849
  friend class ::WinAsm;
 
850
  friend class ::WinDeclSpecs;
 
851
  friend class ::WinMemberExplSpec;
 
852
  friend class ::WinTypeKeywords;
 
853
  friend class ::WinFriend;
845
854
  friend class ::ExtAC;
846
855
  friend class ::ExtACBuilderCoupling;
847
856
  friend class ::ExtACSyntaxCoupling;
848
857
  friend class ::ExtACTree;
849
858
  friend class ::ExtACKeywords;
850
 
  friend class ::WinAsm;
851
 
  friend class ::WinDeclSpecs;
852
 
  friend class ::WinMemberExplSpec;
853
 
  friend class ::WinTypeKeywords;
 
859
  friend class ::ExtGnu;
854
860
  friend class ::PragmaOnceUnitState;
855
861
  friend class ::PragmaOnce;
856
 
  friend class ::CCExprResolve;
857
 
  friend class ::CExprResolve;
 
862
  friend class ::CMatchSyntax;
858
863
 
859
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
864
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
860
865
 
861
866
  Chain *next;
862
867
 
920
925
 
921
926
#endif /* __Chain_h__ */
922
927
 
923
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
928
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
924
929
namespace Puma {
925
930
 
926
931
 
927
932
 
928
 
#line 929 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
933
#line 934 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
929
934
} // closed Puma
 
935
class CCExprResolve;
 
936
class CExprResolve;
930
937
class WinIfExists;
931
938
class WinImportHandler;
932
939
class WinMacros;
933
 
class CMatchSyntax;
934
 
class ExtGnu;
 
940
class WinAsm;
 
941
class WinDeclSpecs;
 
942
class WinMemberExplSpec;
 
943
class WinTypeKeywords;
 
944
class WinFriend;
935
945
class ExtAC;
936
946
class ExtACBuilderCoupling;
937
947
class ExtACSyntaxCoupling;
938
948
class ExtACTree;
939
949
class ExtACKeywords;
940
 
class WinAsm;
941
 
class WinDeclSpecs;
942
 
class WinMemberExplSpec;
943
 
class WinTypeKeywords;
 
950
class ExtGnu;
944
951
class PragmaOnceUnitState;
945
952
class PragmaOnce;
946
 
class CCExprResolve;
947
 
class CExprResolve;
 
953
class CMatchSyntax;
948
954
namespace Puma {
949
955
 
950
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
956
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
951
957
class StrHashKey : public Chain {
952
 
#line 953 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
958
#line 959 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
959
  friend class ::CCExprResolve;
 
960
  friend class ::CExprResolve;
953
961
  friend class ::WinIfExists;
954
962
  friend class ::WinImportHandler;
955
963
  friend class ::WinMacros;
956
 
  friend class ::CMatchSyntax;
957
 
  friend class ::ExtGnu;
 
964
  friend class ::WinAsm;
 
965
  friend class ::WinDeclSpecs;
 
966
  friend class ::WinMemberExplSpec;
 
967
  friend class ::WinTypeKeywords;
 
968
  friend class ::WinFriend;
958
969
  friend class ::ExtAC;
959
970
  friend class ::ExtACBuilderCoupling;
960
971
  friend class ::ExtACSyntaxCoupling;
961
972
  friend class ::ExtACTree;
962
973
  friend class ::ExtACKeywords;
963
 
  friend class ::WinAsm;
964
 
  friend class ::WinDeclSpecs;
965
 
  friend class ::WinMemberExplSpec;
966
 
  friend class ::WinTypeKeywords;
 
974
  friend class ::ExtGnu;
967
975
  friend class ::PragmaOnceUnitState;
968
976
  friend class ::PragmaOnce;
969
 
  friend class ::CCExprResolve;
970
 
  friend class ::CExprResolve;
 
977
  friend class ::CMatchSyntax;
971
978
 
972
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
979
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
973
980
 
974
981
  unsigned int m_Magic;
975
982
  unsigned int m_Len;
980
987
public:
981
988
  StrHashKey (int m, const char *s, int l) : 
982
989
    m_Magic (m), m_Len (l), m_Str (StrCol::dup (s, l)) {}
 
990
  ~StrHashKey () { if (m_Str) delete[] m_Str; }
983
991
 
984
992
  unsigned int getMagic () const { return m_Magic; }
985
993
  unsigned int length () const { return m_Len; }
991
999
 
992
1000
#endif /* __StrHashKey_h__ */
993
1001
 
994
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1002
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
995
1003
#include <assert.h>
996
1004
 
997
1005
namespace Puma {
998
1006
 
999
1007
 
1000
1008
 
1001
 
#line 1002 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1009
#line 1010 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1002
1010
} // closed Puma
 
1011
class CCExprResolve;
 
1012
class CExprResolve;
1003
1013
class WinIfExists;
1004
1014
class WinImportHandler;
1005
1015
class WinMacros;
1006
 
class CMatchSyntax;
1007
 
class ExtGnu;
 
1016
class WinAsm;
 
1017
class WinDeclSpecs;
 
1018
class WinMemberExplSpec;
 
1019
class WinTypeKeywords;
 
1020
class WinFriend;
1008
1021
class ExtAC;
1009
1022
class ExtACBuilderCoupling;
1010
1023
class ExtACSyntaxCoupling;
1011
1024
class ExtACTree;
1012
1025
class ExtACKeywords;
1013
 
class WinAsm;
1014
 
class WinDeclSpecs;
1015
 
class WinMemberExplSpec;
1016
 
class WinTypeKeywords;
 
1026
class ExtGnu;
1017
1027
class PragmaOnceUnitState;
1018
1028
class PragmaOnce;
1019
 
class CCExprResolve;
1020
 
class CExprResolve;
 
1029
class CMatchSyntax;
1021
1030
namespace Puma {
1022
1031
 
1023
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1032
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1024
1033
class StrHashTable {
1025
 
#line 1026 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1034
#line 1035 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1035
  friend class ::CCExprResolve;
 
1036
  friend class ::CExprResolve;
1026
1037
  friend class ::WinIfExists;
1027
1038
  friend class ::WinImportHandler;
1028
1039
  friend class ::WinMacros;
1029
 
  friend class ::CMatchSyntax;
1030
 
  friend class ::ExtGnu;
 
1040
  friend class ::WinAsm;
 
1041
  friend class ::WinDeclSpecs;
 
1042
  friend class ::WinMemberExplSpec;
 
1043
  friend class ::WinTypeKeywords;
 
1044
  friend class ::WinFriend;
1031
1045
  friend class ::ExtAC;
1032
1046
  friend class ::ExtACBuilderCoupling;
1033
1047
  friend class ::ExtACSyntaxCoupling;
1034
1048
  friend class ::ExtACTree;
1035
1049
  friend class ::ExtACKeywords;
1036
 
  friend class ::WinAsm;
1037
 
  friend class ::WinDeclSpecs;
1038
 
  friend class ::WinMemberExplSpec;
1039
 
  friend class ::WinTypeKeywords;
 
1050
  friend class ::ExtGnu;
1040
1051
  friend class ::PragmaOnceUnitState;
1041
1052
  friend class ::PragmaOnce;
1042
 
  friend class ::CCExprResolve;
1043
 
  friend class ::CExprResolve;
 
1053
  friend class ::CMatchSyntax;
1044
1054
 
1045
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1055
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1046
1056
 
1047
1057
  StrHashKey *_emptyKey;
1048
1058
 
1055
1065
  StrHashKey *empty () const { assert (_emptyKey); return _emptyKey; }
1056
1066
  StrHashKey *insert (const char *);
1057
1067
  void remove (StrHashKey *);
 
1068
  void clear ();
1058
1069
 
1059
1070
  enum { STRHASHTABLE_SIZE=0xffff };
1060
1071
  
1062
1073
  Chain m_Table[STRHASHTABLE_SIZE];
1063
1074
 
1064
1075
  StrHashKey *find (unsigned int, const char *, unsigned int);
1065
 
  unsigned int hash (const char *, unsigned int);
 
1076
  unsigned int hash (const char *, unsigned int &);
1066
1077
};
1067
1078
 
1068
1079
 
1070
1081
 
1071
1082
#endif /* __StrHashTable_h__ */
1072
1083
 
1073
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1084
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1074
1085
#include <assert.h>
1075
1086
 
1076
1087
namespace Puma {
1079
1090
extern StrHashTable ___str_dict;
1080
1091
 
1081
1092
 
1082
 
#line 1083 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1093
#line 1094 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1083
1094
} // closed Puma
 
1095
class CCExprResolve;
 
1096
class CExprResolve;
1084
1097
class WinIfExists;
1085
1098
class WinImportHandler;
1086
1099
class WinMacros;
1087
 
class CMatchSyntax;
1088
 
class ExtGnu;
 
1100
class WinAsm;
 
1101
class WinDeclSpecs;
 
1102
class WinMemberExplSpec;
 
1103
class WinTypeKeywords;
 
1104
class WinFriend;
1089
1105
class ExtAC;
1090
1106
class ExtACBuilderCoupling;
1091
1107
class ExtACSyntaxCoupling;
1092
1108
class ExtACTree;
1093
1109
class ExtACKeywords;
1094
 
class WinAsm;
1095
 
class WinDeclSpecs;
1096
 
class WinMemberExplSpec;
1097
 
class WinTypeKeywords;
 
1110
class ExtGnu;
1098
1111
class PragmaOnceUnitState;
1099
1112
class PragmaOnce;
1100
 
class CCExprResolve;
1101
 
class CExprResolve;
 
1113
class CMatchSyntax;
1102
1114
namespace Puma {
1103
1115
 
1104
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1116
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1105
1117
class DString {
1106
 
#line 1107 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1118
#line 1119 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1119
  friend class ::CCExprResolve;
 
1120
  friend class ::CExprResolve;
1107
1121
  friend class ::WinIfExists;
1108
1122
  friend class ::WinImportHandler;
1109
1123
  friend class ::WinMacros;
1110
 
  friend class ::CMatchSyntax;
1111
 
  friend class ::ExtGnu;
 
1124
  friend class ::WinAsm;
 
1125
  friend class ::WinDeclSpecs;
 
1126
  friend class ::WinMemberExplSpec;
 
1127
  friend class ::WinTypeKeywords;
 
1128
  friend class ::WinFriend;
1112
1129
  friend class ::ExtAC;
1113
1130
  friend class ::ExtACBuilderCoupling;
1114
1131
  friend class ::ExtACSyntaxCoupling;
1115
1132
  friend class ::ExtACTree;
1116
1133
  friend class ::ExtACKeywords;
1117
 
  friend class ::WinAsm;
1118
 
  friend class ::WinDeclSpecs;
1119
 
  friend class ::WinMemberExplSpec;
1120
 
  friend class ::WinTypeKeywords;
 
1134
  friend class ::ExtGnu;
1121
1135
  friend class ::PragmaOnceUnitState;
1122
1136
  friend class ::PragmaOnce;
1123
 
  friend class ::CCExprResolve;
1124
 
  friend class ::CExprResolve;
 
1137
  friend class ::CMatchSyntax;
1125
1138
 
1126
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1139
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1127
1140
 
1128
1141
  StrHashKey *m_Key;
1129
1142
 
1190
1203
    assert (m_Key);
1191
1204
    return c_str ();
1192
1205
  }
 
1206
  
 
1207
  static void clearDict() {
 
1208
    ___str_dict.clear ();
 
1209
  }
1193
1210
};
1194
1211
 
1195
1212
 
1197
1214
 
1198
1215
#endif /* __DString_h__ */
1199
1216
 
1200
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1217
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1201
1218
namespace Puma {
1202
1219
 
1203
1220
 
1204
1221
 
1205
 
#line 1206 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1222
#line 1223 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1206
1223
} // closed Puma
 
1224
class CCExprResolve;
 
1225
class CExprResolve;
1207
1226
class WinIfExists;
1208
1227
class WinImportHandler;
1209
1228
class WinMacros;
1210
 
class CMatchSyntax;
1211
 
class ExtGnu;
 
1229
class WinAsm;
 
1230
class WinDeclSpecs;
 
1231
class WinMemberExplSpec;
 
1232
class WinTypeKeywords;
 
1233
class WinFriend;
1212
1234
class ExtAC;
1213
1235
class ExtACBuilderCoupling;
1214
1236
class ExtACSyntaxCoupling;
1215
1237
class ExtACTree;
1216
1238
class ExtACKeywords;
1217
 
class WinAsm;
1218
 
class WinDeclSpecs;
1219
 
class WinMemberExplSpec;
1220
 
class WinTypeKeywords;
 
1239
class ExtGnu;
1221
1240
class PragmaOnceUnitState;
1222
1241
class PragmaOnce;
1223
 
class CCExprResolve;
1224
 
class CExprResolve;
 
1242
class CMatchSyntax;
1225
1243
namespace Puma {
1226
1244
 
1227
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1245
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1228
1246
class FilenameInfo : public RefCnt {
1229
 
#line 1230 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1247
#line 1248 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1248
  friend class ::CCExprResolve;
 
1249
  friend class ::CExprResolve;
1230
1250
  friend class ::WinIfExists;
1231
1251
  friend class ::WinImportHandler;
1232
1252
  friend class ::WinMacros;
1233
 
  friend class ::CMatchSyntax;
1234
 
  friend class ::ExtGnu;
 
1253
  friend class ::WinAsm;
 
1254
  friend class ::WinDeclSpecs;
 
1255
  friend class ::WinMemberExplSpec;
 
1256
  friend class ::WinTypeKeywords;
 
1257
  friend class ::WinFriend;
1235
1258
  friend class ::ExtAC;
1236
1259
  friend class ::ExtACBuilderCoupling;
1237
1260
  friend class ::ExtACSyntaxCoupling;
1238
1261
  friend class ::ExtACTree;
1239
1262
  friend class ::ExtACKeywords;
1240
 
  friend class ::WinAsm;
1241
 
  friend class ::WinDeclSpecs;
1242
 
  friend class ::WinMemberExplSpec;
1243
 
  friend class ::WinTypeKeywords;
 
1263
  friend class ::ExtGnu;
1244
1264
  friend class ::PragmaOnceUnitState;
1245
1265
  friend class ::PragmaOnce;
1246
 
  friend class ::CCExprResolve;
1247
 
  friend class ::CExprResolve;
 
1266
  friend class ::CMatchSyntax;
1248
1267
 
1249
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1268
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1250
1269
 
1251
1270
  DString _name;
1252
1271
  const char *_path;
1256
1275
  FilenameInfo () : _path ((const char*)0), _root ((const char*)0) {}
1257
1276
  ~FilenameInfo ();
1258
1277
  void name (const char *n);
1259
 
  void name (const DString &dsn) { _name = dsn; }
 
1278
//  void name (const DString &dsn) { _name = dsn; }
1260
1279
  const char *name () const { return _name.c_str (); }
1261
1280
  const char *path ();
1262
1281
  const char *root ();
1271
1290
 
1272
1291
#endif /* __filename_info_h__ */
1273
1292
 
1274
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1293
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
1275
1294
namespace Puma {
1276
1295
 
1277
1296
 
1278
1297
 
1279
 
#line 1280 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1298
#line 1299 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1280
1299
} // closed Puma
 
1300
class CCExprResolve;
 
1301
class CExprResolve;
1281
1302
class WinIfExists;
1282
1303
class WinImportHandler;
1283
1304
class WinMacros;
1284
 
class CMatchSyntax;
1285
 
class ExtGnu;
 
1305
class WinAsm;
 
1306
class WinDeclSpecs;
 
1307
class WinMemberExplSpec;
 
1308
class WinTypeKeywords;
 
1309
class WinFriend;
1286
1310
class ExtAC;
1287
1311
class ExtACBuilderCoupling;
1288
1312
class ExtACSyntaxCoupling;
1289
1313
class ExtACTree;
1290
1314
class ExtACKeywords;
1291
 
class WinAsm;
1292
 
class WinDeclSpecs;
1293
 
class WinMemberExplSpec;
1294
 
class WinTypeKeywords;
 
1315
class ExtGnu;
1295
1316
class PragmaOnceUnitState;
1296
1317
class PragmaOnce;
1297
 
class CCExprResolve;
1298
 
class CExprResolve;
 
1318
class CMatchSyntax;
1299
1319
namespace Puma {
1300
1320
 
1301
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1321
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
1302
1322
class Filename : public SmartPtr, public Printable {
1303
 
#line 1304 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1323
#line 1324 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1324
  friend class ::CCExprResolve;
 
1325
  friend class ::CExprResolve;
1304
1326
  friend class ::WinIfExists;
1305
1327
  friend class ::WinImportHandler;
1306
1328
  friend class ::WinMacros;
1307
 
  friend class ::CMatchSyntax;
1308
 
  friend class ::ExtGnu;
 
1329
  friend class ::WinAsm;
 
1330
  friend class ::WinDeclSpecs;
 
1331
  friend class ::WinMemberExplSpec;
 
1332
  friend class ::WinTypeKeywords;
 
1333
  friend class ::WinFriend;
1309
1334
  friend class ::ExtAC;
1310
1335
  friend class ::ExtACBuilderCoupling;
1311
1336
  friend class ::ExtACSyntaxCoupling;
1312
1337
  friend class ::ExtACTree;
1313
1338
  friend class ::ExtACKeywords;
1314
 
  friend class ::WinAsm;
1315
 
  friend class ::WinDeclSpecs;
1316
 
  friend class ::WinMemberExplSpec;
1317
 
  friend class ::WinTypeKeywords;
 
1339
  friend class ::ExtGnu;
1318
1340
  friend class ::PragmaOnceUnitState;
1319
1341
  friend class ::PragmaOnce;
1320
 
  friend class ::CCExprResolve;
1321
 
  friend class ::CExprResolve;
 
1342
  friend class ::CMatchSyntax;
1322
1343
 
1323
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1344
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
1324
1345
 
1325
1346
  FilenameInfo *info () const { return (FilenameInfo*)data (); }
1326
1347
 
1328
1349
  Filename () {}
1329
1350
  Filename (const char *n) { name (n); }
1330
1351
  Filename &operator = (const char *n) { name (n); return *this; }
 
1352
  bool operator ~ () const { return info () != 0; }
1331
1353
  void name (const char *n);
1332
1354
  const char *name () const;
1333
1355
  const char *path () const;
1343
1365
 
1344
1366
#endif /* __filename_h__ */
1345
1367
 
1346
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
1368
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
1347
1369
namespace Puma {
1348
1370
 
1349
1371
 
1350
1372
 
1351
 
#line 1352 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1373
#line 1374 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1352
1374
} // closed Puma
 
1375
class CCExprResolve;
 
1376
class CExprResolve;
1353
1377
class WinIfExists;
1354
1378
class WinImportHandler;
1355
1379
class WinMacros;
1356
 
class CMatchSyntax;
1357
 
class ExtGnu;
 
1380
class WinAsm;
 
1381
class WinDeclSpecs;
 
1382
class WinMemberExplSpec;
 
1383
class WinTypeKeywords;
 
1384
class WinFriend;
1358
1385
class ExtAC;
1359
1386
class ExtACBuilderCoupling;
1360
1387
class ExtACSyntaxCoupling;
1361
1388
class ExtACTree;
1362
1389
class ExtACKeywords;
1363
 
class WinAsm;
1364
 
class WinDeclSpecs;
1365
 
class WinMemberExplSpec;
1366
 
class WinTypeKeywords;
 
1390
class ExtGnu;
1367
1391
class PragmaOnceUnitState;
1368
1392
class PragmaOnce;
1369
 
class CCExprResolve;
1370
 
class CExprResolve;
 
1393
class CMatchSyntax;
1371
1394
namespace Puma {
1372
1395
 
1373
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
1374
 
class LocationInfo : public RefCnt {
1375
 
#line 1376 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1396
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
1397
class Location {
 
1398
#line 1399 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1399
  friend class ::CCExprResolve;
 
1400
  friend class ::CExprResolve;
1376
1401
  friend class ::WinIfExists;
1377
1402
  friend class ::WinImportHandler;
1378
1403
  friend class ::WinMacros;
1379
 
  friend class ::CMatchSyntax;
1380
 
  friend class ::ExtGnu;
 
1404
  friend class ::WinAsm;
 
1405
  friend class ::WinDeclSpecs;
 
1406
  friend class ::WinMemberExplSpec;
 
1407
  friend class ::WinTypeKeywords;
 
1408
  friend class ::WinFriend;
1381
1409
  friend class ::ExtAC;
1382
1410
  friend class ::ExtACBuilderCoupling;
1383
1411
  friend class ::ExtACSyntaxCoupling;
1384
1412
  friend class ::ExtACTree;
1385
1413
  friend class ::ExtACKeywords;
1386
 
  friend class ::WinAsm;
1387
 
  friend class ::WinDeclSpecs;
1388
 
  friend class ::WinMemberExplSpec;
1389
 
  friend class ::WinTypeKeywords;
 
1414
  friend class ::ExtGnu;
1390
1415
  friend class ::PragmaOnceUnitState;
1391
1416
  friend class ::PragmaOnce;
1392
 
  friend class ::CCExprResolve;
1393
 
  friend class ::CExprResolve;
 
1417
  friend class ::CMatchSyntax;
1394
1418
 
1395
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
1419
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
1396
1420
 
1397
1421
  Filename _filename;
1398
1422
  int _line;
 
1423
  int _column;
1399
1424
 
1400
1425
public:
1401
 
  LocationInfo () : _filename (), _line (0) {}
1402
 
  void setup (Filename f, int l);
 
1426
  Location () : _filename (), _line (0), _column (0) {}
 
1427
  Location (Filename f, int l, int c = 0) { setup (f, l, c); }
 
1428
  void setup (Filename f, int l, int c = 0) {
 
1429
    _filename = f;
 
1430
    _line     = l;
 
1431
    _column   = c;
 
1432
  }
1403
1433
  const Filename &filename () const { return _filename; }
1404
1434
  int line () const { return _line; }
1405
 
  bool operator < (const LocationInfo &l) const;
1406
 
  bool operator == (const LocationInfo &l) const;
1407
 
};
1408
 
 
1409
 
 
1410
 
} // namespace Puma
1411
 
 
1412
 
#endif /* __location_info_h__ */
1413
 
 
1414
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
1415
 
namespace Puma {
1416
 
 
1417
 
 
1418
 
 
1419
 
#line 1420 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
1420
 
} // closed Puma
1421
 
class WinIfExists;
1422
 
class WinImportHandler;
1423
 
class WinMacros;
1424
 
class CMatchSyntax;
1425
 
class ExtGnu;
1426
 
class ExtAC;
1427
 
class ExtACBuilderCoupling;
1428
 
class ExtACSyntaxCoupling;
1429
 
class ExtACTree;
1430
 
class ExtACKeywords;
1431
 
class WinAsm;
1432
 
class WinDeclSpecs;
1433
 
class WinMemberExplSpec;
1434
 
class WinTypeKeywords;
1435
 
class PragmaOnceUnitState;
1436
 
class PragmaOnce;
1437
 
class CCExprResolve;
1438
 
class CExprResolve;
1439
 
namespace Puma {
1440
 
 
1441
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
1442
 
class Location : public SmartPtr, public Printable {
1443
 
#line 1444 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
1444
 
  friend class ::WinIfExists;
1445
 
  friend class ::WinImportHandler;
1446
 
  friend class ::WinMacros;
1447
 
  friend class ::CMatchSyntax;
1448
 
  friend class ::ExtGnu;
1449
 
  friend class ::ExtAC;
1450
 
  friend class ::ExtACBuilderCoupling;
1451
 
  friend class ::ExtACSyntaxCoupling;
1452
 
  friend class ::ExtACTree;
1453
 
  friend class ::ExtACKeywords;
1454
 
  friend class ::WinAsm;
1455
 
  friend class ::WinDeclSpecs;
1456
 
  friend class ::WinMemberExplSpec;
1457
 
  friend class ::WinTypeKeywords;
1458
 
  friend class ::PragmaOnceUnitState;
1459
 
  friend class ::PragmaOnce;
1460
 
  friend class ::CCExprResolve;
1461
 
  friend class ::CExprResolve;
1462
 
 
1463
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
1464
 
 
1465
 
  LocationInfo *info () const { return (LocationInfo*)data (); }
1466
 
 
1467
 
public:
1468
 
  Location () {}
1469
 
  Location (Filename f, int l) { setup (f, l); }
1470
 
  Location (LocationInfo *lptr) : SmartPtr (lptr) {}
1471
 
  LocationInfo *operator ~ () { if (info ()) info ()->ref (); return info (); }
1472
 
  void setup (Filename f, int l);
1473
 
  const Filename &filename () const   { return info ()->filename (); }
1474
 
  int line () const;
1475
 
  bool operator == (const Location &l) const;
 
1435
  int column () const { return _column; }
 
1436
  bool operator == (const Location &l) const {
 
1437
    return filename () == l.filename () && line () == l.line () &&
 
1438
      column () == l.column ();
 
1439
  }
1476
1440
  bool operator != (const Location &l) const { return ! (*this == l); }
1477
 
  bool operator < (const Location &l) const;
 
1441
  bool operator < (const Location &l) const {
 
1442
    // TODO: does it make sense to compare the filenames? better assert?
 
1443
    if (filename () != l.filename ())
 
1444
      return false;
 
1445
    return line () < l.line () && column () < l.column ();
 
1446
  }
 
1447
};
1478
1448
 
1479
 
  virtual void print (ostream &os) const {
1480
 
    if (info ())
 
1449
inline std::ostream &operator << (std::ostream &os, const Location &loc) {
1481
1450
#ifdef VISUAL_STUDIO
1482
 
      os << filename () << "(" << line () << ")";
 
1451
  os << loc.filename () << "(" << loc.line () << ")";
1483
1452
#else
1484
 
      os << filename () << ":" << line ();
 
1453
  os << loc.filename () << ":" << loc.line ();
1485
1454
#endif
1486
 
  }
1487
 
};
1488
 
 
1489
 
 
 
1455
  return os;  
 
1456
}
1490
1457
} // namespace Puma
1491
1458
 
1492
1459
#endif /* __location_h__ */
1493
1460
 
1494
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
1461
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
1495
1462
// This file is part of PUMA.
1496
1463
// Copyright (C) 1999-2003  The PUMA developer team.
1497
1464
//                                                                
1526
1493
class List;
1527
1494
 
1528
1495
 
1529
 
#line 1530 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1496
#line 1497 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1530
1497
} // closed Puma
 
1498
class CCExprResolve;
 
1499
class CExprResolve;
1531
1500
class WinIfExists;
1532
1501
class WinImportHandler;
1533
1502
class WinMacros;
1534
 
class CMatchSyntax;
1535
 
class ExtGnu;
 
1503
class WinAsm;
 
1504
class WinDeclSpecs;
 
1505
class WinMemberExplSpec;
 
1506
class WinTypeKeywords;
 
1507
class WinFriend;
1536
1508
class ExtAC;
1537
1509
class ExtACBuilderCoupling;
1538
1510
class ExtACSyntaxCoupling;
1539
1511
class ExtACTree;
1540
1512
class ExtACKeywords;
1541
 
class WinAsm;
1542
 
class WinDeclSpecs;
1543
 
class WinMemberExplSpec;
1544
 
class WinTypeKeywords;
 
1513
class ExtGnu;
1545
1514
class PragmaOnceUnitState;
1546
1515
class PragmaOnce;
1547
 
class CCExprResolve;
1548
 
class CExprResolve;
 
1516
class CMatchSyntax;
1549
1517
namespace Puma {
1550
1518
 
1551
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
1519
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
1552
1520
class ListElement {
1553
 
#line 1554 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1521
#line 1522 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1522
  friend class ::CCExprResolve;
 
1523
  friend class ::CExprResolve;
1554
1524
  friend class ::WinIfExists;
1555
1525
  friend class ::WinImportHandler;
1556
1526
  friend class ::WinMacros;
1557
 
  friend class ::CMatchSyntax;
1558
 
  friend class ::ExtGnu;
 
1527
  friend class ::WinAsm;
 
1528
  friend class ::WinDeclSpecs;
 
1529
  friend class ::WinMemberExplSpec;
 
1530
  friend class ::WinTypeKeywords;
 
1531
  friend class ::WinFriend;
1559
1532
  friend class ::ExtAC;
1560
1533
  friend class ::ExtACBuilderCoupling;
1561
1534
  friend class ::ExtACSyntaxCoupling;
1562
1535
  friend class ::ExtACTree;
1563
1536
  friend class ::ExtACKeywords;
1564
 
  friend class ::WinAsm;
1565
 
  friend class ::WinDeclSpecs;
1566
 
  friend class ::WinMemberExplSpec;
1567
 
  friend class ::WinTypeKeywords;
 
1537
  friend class ::ExtGnu;
1568
1538
  friend class ::PragmaOnceUnitState;
1569
1539
  friend class ::PragmaOnce;
1570
 
  friend class ::CCExprResolve;
1571
 
  friend class ::CExprResolve;
 
1540
  friend class ::CMatchSyntax;
1572
1541
 
1573
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
1542
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
1574
1543
 
1575
1544
  friend class List;
1576
1545
 
1591
1560
 
1592
1561
#endif /* __list_element_h__ */
1593
1562
 
1594
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
 
1563
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Array.h"
1595
1564
// This file is part of PUMA.
1596
1565
// Copyright (C) 1999-2003  The PUMA developer team.
1597
1566
//                                                                
1617
1586
 
1618
1587
namespace Puma {
1619
1588
 
1620
 
 
1621
 
#line 1622 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
1622
 
} // closed Puma
1623
 
class WinIfExists;
1624
 
class WinImportHandler;
1625
 
class WinMacros;
1626
 
class CMatchSyntax;
1627
 
class ExtGnu;
1628
 
class ExtAC;
1629
 
class ExtACBuilderCoupling;
1630
 
class ExtACSyntaxCoupling;
1631
 
class ExtACTree;
1632
 
class ExtACKeywords;
1633
 
class WinAsm;
1634
 
class WinDeclSpecs;
1635
 
class WinMemberExplSpec;
1636
 
class WinTypeKeywords;
1637
 
class PragmaOnceUnitState;
1638
 
class PragmaOnce;
1639
 
class CCExprResolve;
1640
 
class CExprResolve;
1641
 
namespace Puma {
1642
 
 
1643
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
1644
1589
template <class Item>
1645
1590
class Array {
1646
 
#line 1647 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
1647
 
  friend class ::WinIfExists;
1648
 
  friend class ::WinImportHandler;
1649
 
  friend class ::WinMacros;
1650
 
  friend class ::CMatchSyntax;
1651
 
  friend class ::ExtGnu;
1652
 
  friend class ::ExtAC;
1653
 
  friend class ::ExtACBuilderCoupling;
1654
 
  friend class ::ExtACSyntaxCoupling;
1655
 
  friend class ::ExtACTree;
1656
 
  friend class ::ExtACKeywords;
1657
 
  friend class ::WinAsm;
1658
 
  friend class ::WinDeclSpecs;
1659
 
  friend class ::WinMemberExplSpec;
1660
 
  friend class ::WinTypeKeywords;
1661
 
  friend class ::PragmaOnceUnitState;
1662
 
  friend class ::PragmaOnce;
1663
 
  friend class ::CCExprResolve;
1664
 
  friend class ::CExprResolve;
1665
 
 
1666
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
1667
 
 
1668
 
   protected:
1669
 
      static const long default_init_size = 5;
1670
 
      static const long default_increment = 5;
1671
 
 
1672
 
   public:
1673
 
      Array (long is = default_init_size, long incr = default_increment);
1674
 
      Array (const Array<Item>& array);
1675
 
      Array<Item>& operator =(const Array<Item>&);
1676
 
      ~Array ();
1677
 
      void append (const Item& item);
1678
 
      void insert (long index, const Item& item);
1679
 
      void prepend (const Item& item);
1680
 
      void remove (long index);
1681
 
      void reset ();
1682
 
      Item& get (long index);
1683
 
      Item& operator[] (long index);
1684
 
      Item fetch (long index) const;
1685
 
      Item& lookup (long index) const;
1686
 
      long length () const;
1687
 
 
1688
 
   private:
1689
 
      Item* data;
1690
 
      long size;
1691
 
      long count;
1692
 
      long increment;
 
1591
protected:
 
1592
  static const long default_init_size = 5;
 
1593
  static const long default_increment = 5;
 
1594
 
 
1595
public:
 
1596
  Array (long is = default_init_size, long incr = default_increment);
 
1597
  Array (const Array<Item>& array);
 
1598
  Array<Item>& operator =(const Array<Item>&);
 
1599
  ~Array ();
 
1600
  void append (const Item& item);
 
1601
  void insert (long index, const Item& item);
 
1602
  void prepend (const Item& item);
 
1603
  void remove (long index);
 
1604
  void reset ();
 
1605
  Item& get (long index);
 
1606
  Item& operator[] (long index);
 
1607
  Item fetch (long index) const;
 
1608
  Item& lookup (long index) const;
 
1609
  long length () const;
 
1610
 
 
1611
private:
 
1612
  Item* data;
 
1613
  long size;
 
1614
  long count;
 
1615
  long increment;
1693
1616
      
1694
 
      void check (long wanted);
1695
 
 };
1696
 
 
1697
 
template <class Item>
1698
 
inline Array<Item>::Array (long is, long incr)
1699
 
 {
1700
 
   count     = 0; 
1701
 
   size      = is;
1702
 
   increment = incr;
1703
 
   data      = new Item[size];
1704
 
 }
1705
 
 
1706
 
template <class Item>
1707
 
Array<Item>::Array (const Array<Item>& array)
1708
 
 {
1709
 
   count = 0;
1710
 
   size  = array.size;
1711
 
   data  = new Item[size];
1712
 
   increment = array.increment;
1713
 
 
1714
 
   for (int pos = 0; pos < array.length (); pos++)
1715
 
      append (array.lookup (pos));
1716
 
 }
1717
 
 
1718
 
template <class Item>
1719
 
Array<Item>& Array<Item>::operator =(const Array<Item>& array)
1720
 
 {
1721
 
   if (data)
1722
 
      delete[] data;
1723
 
   count = 0;
1724
 
   size  = array.size;
1725
 
   data  = new Item[size];
1726
 
   increment = array.increment;
1727
 
 
1728
 
   for (int pos = 0; pos < array.length (); pos++)
1729
 
      append (array.lookup (pos));
1730
 
   return *this;
1731
 
 }
1732
 
 
1733
 
template <class Item>
1734
 
Array<Item>::~Array ()
1735
 
 {
1736
 
   if (data)
1737
 
      delete[] data;
1738
 
 }
1739
 
 
1740
 
template <class Item>
1741
 
inline void Array<Item>::check (long wanted)
1742
 
 {
1743
 
   if (wanted >= size)
1744
 
    {
1745
 
      Item* new_data;
1746
 
 
1747
 
      while (wanted >= size)
1748
 
      {
1749
 
         size += increment;
1750
 
         increment*=2;
1751
 
      }
1752
 
      new_data = new Item[size];
1753
 
      for (int pos = 0; pos < count; pos++)
1754
 
         new_data[pos] = data[pos];
1755
 
      delete[] data;
1756
 
      data = new_data;
1757
 
    }
1758
 
 }
 
1617
  void grow (long wanted);
 
1618
};
 
1619
 
 
1620
template <class Item>
 
1621
inline Array<Item>::Array (long is, long incr) {
 
1622
  count     = 0; 
 
1623
  size      = is;
 
1624
  increment = incr;
 
1625
  data      = 0;
 
1626
}
 
1627
 
 
1628
template <class Item>
 
1629
Array<Item>::Array (const Array<Item>& array) {
 
1630
  count     = 0;
 
1631
  size      = array.size;
 
1632
  increment = array.increment;
 
1633
  
 
1634
  if (size && array.data) {
 
1635
    data = new Item[size];
 
1636
    for (; count < array.count; count++) {
 
1637
      data[count] = array.data[count];
 
1638
    }
 
1639
  } else
 
1640
    data = 0;
 
1641
}
 
1642
 
 
1643
template <class Item>
 
1644
Array<Item>& Array<Item>::operator =(const Array<Item>& array) {
 
1645
  if (data)
 
1646
    delete[] data;
 
1647
 
 
1648
  count     = 0;
 
1649
  size      = array.size;
 
1650
  increment = array.increment;
 
1651
 
 
1652
  if (size && array.data) {
 
1653
    data = new Item[size];
 
1654
    for (; count < array.count; count++) {
 
1655
      data[count] = array.data[count];
 
1656
    }
 
1657
  } else
 
1658
    data = 0;
 
1659
  
 
1660
  return *this;
 
1661
}
 
1662
 
 
1663
template <class Item>
 
1664
Array<Item>::~Array () {
 
1665
  if (data)
 
1666
    delete[] data;
 
1667
}
 
1668
 
 
1669
template <class Item>
 
1670
inline void Array<Item>::grow (long wanted) {
 
1671
  do {
 
1672
    size += increment;
 
1673
    increment *= 2;
 
1674
  } while (wanted >= size);
 
1675
 
 
1676
  if (data) {
 
1677
    Item* new_data = new Item[size];
 
1678
    for (long i = 0; i < count; i++) {
 
1679
      new_data[i] = data[i];
 
1680
    }
 
1681
    delete[] data;
 
1682
    data = new_data;
 
1683
  } else
 
1684
    data = new Item[size];
 
1685
}
1759
1686
   
1760
1687
template <class Item>
1761
 
inline void Array<Item>::append (const Item& item)
1762
 
 {
1763
 
   check (count);
1764
 
   data[count++] = item;
1765
 
 }
1766
 
 
1767
 
template <class Item>
1768
 
void Array<Item>::prepend (const Item& item)
1769
 
 {
1770
 
   insert (0, item);
1771
 
 }
1772
 
 
1773
 
template <class Item>
1774
 
void Array<Item>::insert (long index, const Item& item)
1775
 
 {
1776
 
   check (count);
1777
 
   for (int pos = count; pos > index; pos--)
1778
 
      data[pos] = data[pos - 1];
1779
 
   data[index] = item;
1780
 
   count++;
1781
 
 }
1782
 
 
1783
 
template <class Item>
1784
 
inline Item& Array<Item>::get (long index)
1785
 
 {
1786
 
   check (index);
1787
 
   if (index >= count)
1788
 
      count = index + 1;
1789
 
   return data[index];
1790
 
 }
1791
 
 
1792
 
template <class Item>
1793
 
inline Item& Array<Item>::operator[] (long index)
1794
 
 {
1795
 
   return get (index);
1796
 
 }
1797
 
 
1798
 
template <class Item>
1799
 
inline Item Array<Item>::fetch (long index) const
1800
 
 {
1801
 
   assert(index < count);
1802
 
   return data[index];
1803
 
 }
1804
 
 
1805
 
template <class Item>
1806
 
inline long Array<Item>::length () const
1807
 
 {
1808
 
   return count;
1809
 
 }
1810
 
 
1811
 
template <class Item>
1812
 
inline void Array<Item>::remove (long index)
1813
 
 {
1814
 
   if (index < count && count > 0)
1815
 
    {
1816
 
      for (int pos = index; pos < count - 1; pos++)
1817
 
         data[pos] = data[pos + 1];
1818
 
      count--;
1819
 
    }
1820
 
 }
 
1688
inline void Array<Item>::append (const Item& item) {
 
1689
  if (count >= size || ! data) {
 
1690
    grow (count);
 
1691
  }
 
1692
  data[count++] = item;
 
1693
}
 
1694
 
 
1695
template <class Item>
 
1696
void Array<Item>::prepend (const Item& item) {
 
1697
  insert (0, item);
 
1698
}
 
1699
 
 
1700
template <class Item>
 
1701
void Array<Item>::insert (long index, const Item& item) {
 
1702
  if (count >= size || ! data) {
 
1703
    grow (count);
 
1704
  }
 
1705
  for (long i = count; i > index; i--)
 
1706
    data[i] = data[i - 1];
 
1707
  data[index] = item;
 
1708
  count++;
 
1709
}
 
1710
 
 
1711
template <class Item>
 
1712
inline Item& Array<Item>::get (long index) {
 
1713
  if (index >= size || ! data) {
 
1714
    grow (index);
 
1715
  }
 
1716
  if (index >= count)
 
1717
    count = index + 1;
 
1718
  return data[index];
 
1719
}
 
1720
 
 
1721
template <class Item>
 
1722
inline Item& Array<Item>::operator[] (long index) {
 
1723
  return get (index);
 
1724
}
 
1725
 
 
1726
template <class Item>
 
1727
inline Item Array<Item>::fetch (long index) const {
 
1728
  assert(index < count && data);
 
1729
  return data[index];
 
1730
}
 
1731
 
 
1732
template <class Item>
 
1733
inline long Array<Item>::length () const {
 
1734
  return count;
 
1735
}
 
1736
 
 
1737
template <class Item>
 
1738
inline void Array<Item>::remove (long index) {
 
1739
  if (index < count && count > 0) {
 
1740
    for (long i = index; i < count - 1; i++)
 
1741
      data[i] = data[i + 1];
 
1742
    count--;
 
1743
  }
 
1744
}
1821
1745
 
1822
1746
#ifndef __puma
1823
1747
template <>
1824
1748
inline void Array<int>::reset () {
1825
 
   count = 0; 
 
1749
  count = 0; 
1826
1750
}
1827
1751
#endif
1828
1752
 
1829
1753
template <class Item>
1830
 
void Array<Item>::reset ()
1831
 
 {
1832
 
   if (data)
1833
 
      delete[] data;
1834
 
   count     = 0; 
1835
 
   size      = default_init_size;
1836
 
   increment = default_increment;
1837
 
   data      = new Item[size];
1838
 
 }
 
1754
void Array<Item>::reset () {
 
1755
  if (data)
 
1756
    delete[] data;
 
1757
    
 
1758
  count     = 0; 
 
1759
  size      = default_init_size;
 
1760
  increment = default_increment;
 
1761
  data      = new Item[size];
 
1762
}
1839
1763
 
1840
1764
template <class Item>
1841
 
inline Item& Array<Item>::lookup (long index) const
1842
 
 {
1843
 
   assert(index >= 0 && index < count);
1844
 
//   if (index >= count) index = count - 1; 
1845
 
//   if (index < 0)      index = 0;
1846
 
   return data[index];
1847
 
 }
 
1765
inline Item& Array<Item>::lookup (long index) const {
 
1766
  assert(index >= 0 && index < count);
 
1767
  return data[index];
 
1768
}
1848
1769
 
1849
1770
 
1850
1771
} // namespace Puma
1878
1799
  void remove (long idx)                   { Base::remove (idx); }
1879
1800
  void reset ()                            { Base::reset (); }
1880
1801
 
1881
 
  Item *&get (long idx)          { return (Item*&)Base::get (idx); }
1882
 
  Item *&operator[] (long idx)   { return (Item*&)Base::operator[] (idx); }
1883
 
  Item *fetch (long idx) const   { return (Item*)Base::fetch (idx); }
1884
 
  Item *&lookup (long idx) const { return (Item*&)Base::lookup (idx); }
1885
 
  long length () const           { return Base::length (); }
 
1802
  Item *&get (long idx)                    { return (Item*&)Base::get (idx); }
 
1803
  Item *&operator[] (long idx)             { return (Item*&)Base::operator[] (idx); }
 
1804
  Item *fetch (long idx) const             { return (Item*)Base::fetch (idx); }
 
1805
  Item *&lookup (long idx) const           { return (Item*&)Base::lookup (idx); }
 
1806
  long length () const                     { return Base::length (); }
1886
1807
};
1887
1808
 
1888
1809
 
1892
1813
 
1893
1814
#endif /* __array_h__ */
1894
1815
 
1895
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
1816
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
1896
1817
#include <assert.h>
1897
1818
 
1898
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
1819
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
1899
1820
namespace Puma {
1900
1821
 
1901
1822
 
1902
1823
 
1903
 
#line 1904 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1824
#line 1825 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
1904
1825
} // closed Puma
 
1826
class CCExprResolve;
 
1827
class CExprResolve;
1905
1828
class WinIfExists;
1906
1829
class WinImportHandler;
1907
1830
class WinMacros;
1908
 
class CMatchSyntax;
1909
 
class ExtGnu;
 
1831
class WinAsm;
 
1832
class WinDeclSpecs;
 
1833
class WinMemberExplSpec;
 
1834
class WinTypeKeywords;
 
1835
class WinFriend;
1910
1836
class ExtAC;
1911
1837
class ExtACBuilderCoupling;
1912
1838
class ExtACSyntaxCoupling;
1913
1839
class ExtACTree;
1914
1840
class ExtACKeywords;
1915
 
class WinAsm;
1916
 
class WinDeclSpecs;
1917
 
class WinMemberExplSpec;
1918
 
class WinTypeKeywords;
 
1841
class ExtGnu;
1919
1842
class PragmaOnceUnitState;
1920
1843
class PragmaOnce;
1921
 
class CCExprResolve;
1922
 
class CExprResolve;
 
1844
class CMatchSyntax;
1923
1845
namespace Puma {
1924
1846
 
1925
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
1847
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
1926
1848
class Token : public ListElement {
1927
 
#line 1928 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1849
#line 1850 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
1850
  friend class ::CCExprResolve;
 
1851
  friend class ::CExprResolve;
1928
1852
  friend class ::WinIfExists;
1929
1853
  friend class ::WinImportHandler;
1930
1854
  friend class ::WinMacros;
1931
 
  friend class ::CMatchSyntax;
1932
 
  friend class ::ExtGnu;
 
1855
  friend class ::WinAsm;
 
1856
  friend class ::WinDeclSpecs;
 
1857
  friend class ::WinMemberExplSpec;
 
1858
  friend class ::WinTypeKeywords;
 
1859
  friend class ::WinFriend;
1933
1860
  friend class ::ExtAC;
1934
1861
  friend class ::ExtACBuilderCoupling;
1935
1862
  friend class ::ExtACSyntaxCoupling;
1936
1863
  friend class ::ExtACTree;
1937
1864
  friend class ::ExtACKeywords;
1938
 
  friend class ::WinAsm;
1939
 
  friend class ::WinDeclSpecs;
1940
 
  friend class ::WinMemberExplSpec;
1941
 
  friend class ::WinTypeKeywords;
 
1865
  friend class ::ExtGnu;
1942
1866
  friend class ::PragmaOnceUnitState;
1943
1867
  friend class ::PragmaOnce;
1944
 
  friend class ::CCExprResolve;
1945
 
  friend class ::CExprResolve;
 
1868
  friend class ::CMatchSyntax;
1946
1869
 
1947
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
1870
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
1948
1871
 
1949
1872
  int _type, _real_type;
1950
1873
 
1951
1874
  Location _location;
1952
1875
  LanguageID _language;
1953
 
  DString _text;
 
1876
  const char *_text;
 
1877
  mutable DString _dtext;
1954
1878
 
1955
1879
  Array<int> *_cont_lines;
1956
1880
   
1991
1915
  void macro_generated ()           { _flags |= TK_MACRO_GENERATED; }
1992
1916
  void macro_call ()                { _flags |= TK_MACRO_CALL; }
1993
1917
  
1994
 
  const DString &text () const     { return _text; }
 
1918
  const char *text () const;
 
1919
  DString &dtext () const;
1995
1920
  char *get_static_text () const;
1996
1921
  int type () const                 { return _type; }
1997
1922
  const Location &location () const { return _location; }
2068
1993
 
2069
1994
#endif /* __Token_h__ */
2070
1995
 
2071
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CTokens.h"
 
1996
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTokens.h"
2072
1997
// This file is part of PUMA.
2073
1998
// Copyright (C) 1999-2003  The PUMA developer team.
2074
1999
//                                                                
2099
2024
  TOK_ZERO_VAL,
2100
2025
  TOK_INT_VAL,
2101
2026
  TOK_FLT_VAL,
 
2027
  TOK_STRING_VAL,
 
2028
  TOK_CHAR_VAL,
2102
2029
  TOK_COMMA,
2103
2030
  TOK_ASSIGN,
2104
2031
  TOK_QUESTION,
2281
2208
  TOK_LAST_AC = TOK_UNKNOWN_T,
2282
2209
  
2283
2210
  // further [A](C|C++) token
2284
 
  TOK_STRING_VAL,
2285
 
  TOK_CHAR_VAL,
2286
2211
  TOK_ID,
2287
2212
 
2288
2213
  // These two always have to be the ** last ** token listed here!!!
2295
2220
 
2296
2221
#endif /* __C_TOKENS__ */
2297
2222
 
2298
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentTokens.h"
 
2223
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentTokens.h"
2299
2224
// This file is part of PUMA.
2300
2225
// Copyright (C) 1999-2003  The PUMA developer team.
2301
2226
//                                                                
2321
2246
 
2322
2247
 
2323
2248
enum {
 
2249
  TOK_WSPACE = 400,
2324
2250
  TOK_CCSINGLE = 350,
2325
2251
  TOK_CCMULTIBEGIN,
2326
2252
  TOK_CCMULTIEND,
2332
2258
 
2333
2259
#endif /* __C_COMMENT_TOKENS_H__ */
2334
2260
 
2335
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
2261
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
2336
2262
// This file is part of PUMA.
2337
2263
// Copyright (C) 1999-2003  The PUMA developer team.
2338
2264
//                                                                
2361
2287
// of arguments.
2362
2288
 
2363
2289
 
2364
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
2290
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
2365
2291
// This file is part of PUMA.
2366
2292
// Copyright (C) 1999-2003  The PUMA developer team.
2367
2293
//                                                                
2384
2310
#define __unit_h__
2385
2311
 
2386
2312
 
2387
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2313
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2388
2314
// This file is part of PUMA.
2389
2315
// Copyright (C) 1999-2003  The PUMA developer team.
2390
2316
//                                                                
2407
2333
#define __list_h__
2408
2334
 
2409
2335
 
2410
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2336
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2411
2337
namespace Puma {
2412
2338
 
2413
2339
 
2414
2340
 
2415
 
#line 2416 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2341
#line 2342 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2416
2342
} // closed Puma
 
2343
class CCExprResolve;
 
2344
class CExprResolve;
2417
2345
class WinIfExists;
2418
2346
class WinImportHandler;
2419
2347
class WinMacros;
2420
 
class CMatchSyntax;
2421
 
class ExtGnu;
 
2348
class WinAsm;
 
2349
class WinDeclSpecs;
 
2350
class WinMemberExplSpec;
 
2351
class WinTypeKeywords;
 
2352
class WinFriend;
2422
2353
class ExtAC;
2423
2354
class ExtACBuilderCoupling;
2424
2355
class ExtACSyntaxCoupling;
2425
2356
class ExtACTree;
2426
2357
class ExtACKeywords;
2427
 
class WinAsm;
2428
 
class WinDeclSpecs;
2429
 
class WinMemberExplSpec;
2430
 
class WinTypeKeywords;
 
2358
class ExtGnu;
2431
2359
class PragmaOnceUnitState;
2432
2360
class PragmaOnce;
2433
 
class CCExprResolve;
2434
 
class CExprResolve;
 
2361
class CMatchSyntax;
2435
2362
namespace Puma {
2436
2363
 
2437
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2364
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2438
2365
class List {
2439
 
#line 2440 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2366
#line 2367 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2367
  friend class ::CCExprResolve;
 
2368
  friend class ::CExprResolve;
2440
2369
  friend class ::WinIfExists;
2441
2370
  friend class ::WinImportHandler;
2442
2371
  friend class ::WinMacros;
2443
 
  friend class ::CMatchSyntax;
2444
 
  friend class ::ExtGnu;
 
2372
  friend class ::WinAsm;
 
2373
  friend class ::WinDeclSpecs;
 
2374
  friend class ::WinMemberExplSpec;
 
2375
  friend class ::WinTypeKeywords;
 
2376
  friend class ::WinFriend;
2445
2377
  friend class ::ExtAC;
2446
2378
  friend class ::ExtACBuilderCoupling;
2447
2379
  friend class ::ExtACSyntaxCoupling;
2448
2380
  friend class ::ExtACTree;
2449
2381
  friend class ::ExtACKeywords;
2450
 
  friend class ::WinAsm;
2451
 
  friend class ::WinDeclSpecs;
2452
 
  friend class ::WinMemberExplSpec;
2453
 
  friend class ::WinTypeKeywords;
 
2382
  friend class ::ExtGnu;
2454
2383
  friend class ::PragmaOnceUnitState;
2455
2384
  friend class ::PragmaOnce;
2456
 
  friend class ::CCExprResolve;
2457
 
  friend class ::CExprResolve;
 
2385
  friend class ::CMatchSyntax;
2458
2386
 
2459
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2387
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2460
2388
 
2461
2389
  ListElement *_first;
2462
2390
  ListElement *_last;
2492
2420
  const ListElement *first () const { return _first; }
2493
2421
  const ListElement *last () const { return _last; }
2494
2422
  const ListElement *next (const ListElement *element) const
2495
 
   { return element->_next; }
 
2423
   { return element ? element->_next : 0; }
2496
2424
  const ListElement *prev (const ListElement *element) const 
2497
 
   { return element->_prev; }
 
2425
   { return element ? element->_prev : 0; }
2498
2426
};
2499
2427
 
2500
2428
 
2502
2430
 
2503
2431
#endif /* __list_h__ */
2504
2432
 
2505
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2433
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2506
2434
 
2507
 
#line 2508 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2435
#line 2436 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2508
2436
 
2509
2437
#ifndef __ac_fwd_PragmaOnceUnitState__
2510
2438
#define __ac_fwd_PragmaOnceUnitState__
2511
2439
class PragmaOnceUnitState;
2512
2440
namespace AC {
2513
2441
  template <class JoinPoint>
2514
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
2442
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
2443
  template <class JoinPoint>
 
2444
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
2515
2445
}
2516
2446
#endif
2517
2447
 
2518
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2519
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2448
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2449
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2520
2450
#endif
2521
2451
 
2522
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2523
 
 
2524
 
#line 2525 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2525
 
 
2526
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2452
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2453
// This file is part of PUMA.
 
2454
// Copyright (C) 1999-2003  The PUMA developer team.
 
2455
//                                                                
 
2456
// This program is free software;  you can redistribute it and/or 
 
2457
// modify it under the terms of the GNU General Public License as 
 
2458
// published by the Free Software Foundation; either version 2 of 
 
2459
// the License, or (at your option) any later version.            
 
2460
//                                                                
 
2461
// This program is distributed in the hope that it will be useful,
 
2462
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
2463
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
2464
// GNU General Public License for more details.                   
 
2465
//                                                                
 
2466
// You should have received a copy of the GNU General Public      
 
2467
// License along with this program; if not, write to the Free     
 
2468
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
2469
// MA  02111-1307  USA                                            
 
2470
 
 
2471
#ifndef __UnitState__
 
2472
#define __UnitState__
 
2473
 
 
2474
// The state of a unit: 
 
2475
// 1. modified by manipulations and not updated at the class registry
 
2476
// 2. modified by manipulations and updated at the class registry
 
2477
// 3. unmodified by manipulations and not updated at the class registry
 
2478
// 4. unmodified by manipulations and updated at the class registry
 
2479
 
 
2480
namespace Puma {
 
2481
 
 
2482
 
 
2483
 
 
2484
#line 2485 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2485
} // closed Puma
 
2486
class CCExprResolve;
 
2487
class CExprResolve;
 
2488
class WinIfExists;
 
2489
class WinImportHandler;
 
2490
class WinMacros;
 
2491
class WinAsm;
 
2492
class WinDeclSpecs;
 
2493
class WinMemberExplSpec;
 
2494
class WinTypeKeywords;
 
2495
class WinFriend;
 
2496
class ExtAC;
 
2497
class ExtACBuilderCoupling;
 
2498
class ExtACSyntaxCoupling;
 
2499
class ExtACTree;
 
2500
class ExtACKeywords;
 
2501
class ExtGnu;
 
2502
class PragmaOnceUnitState;
 
2503
class PragmaOnce;
 
2504
class CMatchSyntax;
 
2505
namespace Puma {
 
2506
 
 
2507
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2508
 
 
2509
#line 2510 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2510
} // closed Puma
 
2511
 
 
2512
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2513
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2514
 
 
2515
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2527
2516
// This file is part of PUMA.
2528
2517
// Copyright (C) 1999-2003  The PUMA developer team.
2529
2518
//                                                                
2545
2534
#ifndef __PragmaOnceUnitState__
2546
2535
#define __PragmaOnceUnitState__
2547
2536
 
2548
 
using namespace Puma;
2549
 
 
2550
 
 
2551
 
#line 2552 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2537
 
 
2538
#line 2539 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2539
class CCExprResolve;
 
2540
class CExprResolve;
2552
2541
class WinIfExists;
2553
2542
class WinImportHandler;
2554
2543
class WinMacros;
2555
 
class CMatchSyntax;
2556
 
class ExtGnu;
 
2544
class WinAsm;
 
2545
class WinDeclSpecs;
 
2546
class WinMemberExplSpec;
 
2547
class WinTypeKeywords;
 
2548
class WinFriend;
2557
2549
class ExtAC;
2558
2550
class ExtACBuilderCoupling;
2559
2551
class ExtACSyntaxCoupling;
2560
2552
class ExtACTree;
2561
2553
class ExtACKeywords;
2562
 
class WinAsm;
2563
 
class WinDeclSpecs;
2564
 
class WinMemberExplSpec;
2565
 
class WinTypeKeywords;
 
2554
class ExtGnu;
2566
2555
class PragmaOnce;
2567
 
class CCExprResolve;
2568
 
class CExprResolve;
 
2556
class CMatchSyntax;
2569
2557
 
2570
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2558
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2571
2559
class PragmaOnceUnitState {
2572
 
#line 2573 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2560
#line 2561 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2573
2561
 
2574
2562
public:
2575
2563
  static PragmaOnceUnitState *aspectof () {
2581
2569
  }
2582
2570
private:
2583
2571
 
2584
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2572
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2585
2573
 
2586
 
#line 2587 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2574
#line 2575 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2575
  friend class ::CCExprResolve;
 
2576
  friend class ::CExprResolve;
2587
2577
  friend class ::WinIfExists;
2588
2578
  friend class ::WinImportHandler;
2589
2579
  friend class ::WinMacros;
2590
 
  friend class ::CMatchSyntax;
2591
 
  friend class ::ExtGnu;
 
2580
  friend class ::WinAsm;
 
2581
  friend class ::WinDeclSpecs;
 
2582
  friend class ::WinMemberExplSpec;
 
2583
  friend class ::WinTypeKeywords;
 
2584
  friend class ::WinFriend;
2592
2585
  friend class ::ExtAC;
2593
2586
  friend class ::ExtACBuilderCoupling;
2594
2587
  friend class ::ExtACSyntaxCoupling;
2595
2588
  friend class ::ExtACTree;
2596
2589
  friend class ::ExtACKeywords;
2597
 
  friend class ::WinAsm;
2598
 
  friend class ::WinDeclSpecs;
2599
 
  friend class ::WinMemberExplSpec;
2600
 
  friend class ::WinTypeKeywords;
 
2590
  friend class ::ExtGnu;
2601
2591
  friend class ::PragmaOnce;
2602
 
  friend class ::CCExprResolve;
2603
 
  friend class ::CExprResolve;
 
2592
  friend class ::CMatchSyntax;
2604
2593
 
2605
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2594
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2606
2595
 
2607
2596
  /******************************************************/
2608
2597
  /* specific #pragma once unit state                   */
2610
2599
 
2611
2600
  // pointcut definitions
2612
2601
  
2613
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2602
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2614
2603
 
2615
2604
 
2616
2605
  
2617
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2606
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2618
2607
 
2619
2608
  
2620
2609
  // initialize new state flag
2621
2610
  
2622
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2611
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2623
2612
 
2624
2613
public: template<class JoinPoint> void __a0_after 
2625
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2614
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2626
2615
 
2627
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2616
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2628
2617
(JoinPoint *tjp)
2629
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2618
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2630
2619
 {
2631
 
#line 2632 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2620
#line 2621 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2632
2621
 
2633
2622
  JoinPoint *&thisJoinPoint = tjp;
2634
2623
 
2635
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2624
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2636
2625
 
2637
 
#line 2638 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2626
#line 2627 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2638
2627
 
2639
2628
  typedef typename JoinPoint::That __JP_That;
2640
2629
  typedef typename JoinPoint::Target __JP_Target;
2641
2630
  typedef typename JoinPoint::Result __JP_Result;
2642
2631
 
2643
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2632
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2644
2633
 
2645
2634
    thisJoinPoint->that ()->_once = false;
2646
2635
  }
2647
 
#line 2648 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2648
 
 
2649
 
private:
2650
 
 
2651
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2636
#line 2637 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2637
 
 
2638
private:
 
2639
 
 
2640
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2641
 
 
2642
  
 
2643
  // initialize new flag for all managed units 
 
2644
  
 
2645
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2646
 
 
2647
public: template<class JoinPoint> void __a1_after 
 
2648
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2649
 
 
2650
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2651
(JoinPoint *tjp)
 
2652
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2653
 {
 
2654
#line 2655 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2655
 
 
2656
  typedef typename JoinPoint::That __JP_That;
 
2657
  typedef typename JoinPoint::Target __JP_Target;
 
2658
  typedef typename JoinPoint::Result __JP_Result;
 
2659
 
 
2660
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2661
 
 
2662
    // go through the whole unit hash table and reset the 
 
2663
    // `#pragma once' state of the units
 
2664
    typename __JP_That
 
2665
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2666
::UMapIter iter;
 
2667
    for (iter = tjp->that()->_umap.begin (); iter != tjp->that()->_umap.end (); ++iter)
 
2668
      (*iter).second->state ().onlyOnce (false);
 
2669
  }
 
2670
#line 2671 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2671
 
 
2672
private:
 
2673
 
 
2674
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2652
2675
 
2653
2676
 
2654
2677
protected:
2655
2678
  // this aspect should never be instantiated directly
2656
2679
  PragmaOnceUnitState () {}
2657
2680
};
2658
 
#line 2659 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2681
#line 2682 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2659
2682
 
2660
2683
namespace AC {
2661
2684
  template <class JoinPoint>
2662
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
 
2685
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
2663
2686
    ::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
2664
2687
  }
 
2688
  template <class JoinPoint>
 
2689
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp) {
 
2690
    ::PragmaOnceUnitState::aspectof()->__a1_after (tjp);
 
2691
  }
2665
2692
2666
2693
 
2667
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2694
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2668
2695
 
2669
2696
 
2670
2697
 
2671
2698
#endif /* __PragmaOnceUnitState__ */
2672
2699
 
2673
 
#line 4 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2674
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2675
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2676
 
 
2677
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2678
 
// This file is part of PUMA.
2679
 
// Copyright (C) 1999-2003  The PUMA developer team.
2680
 
//                                                                
2681
 
// This program is free software;  you can redistribute it and/or 
2682
 
// modify it under the terms of the GNU General Public License as 
2683
 
// published by the Free Software Foundation; either version 2 of 
2684
 
// the License, or (at your option) any later version.            
2685
 
//                                                                
2686
 
// This program is distributed in the hope that it will be useful,
2687
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
2688
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
2689
 
// GNU General Public License for more details.                   
2690
 
//                                                                
2691
 
// You should have received a copy of the GNU General Public      
2692
 
// License along with this program; if not, write to the Free     
2693
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
2694
 
// MA  02111-1307  USA                                            
2695
 
 
2696
 
#ifndef __UnitState__
2697
 
#define __UnitState__
2698
 
 
2699
 
// The state of a unit: 
2700
 
// 1. modified by manipulations and not updated at the class registry
2701
 
// 2. modified by manipulations and updated at the class registry
2702
 
// 3. unmodified by manipulations and not updated at the class registry
2703
 
// 4. unmodified by manipulations and updated at the class registry
2704
 
 
2705
 
namespace Puma {
2706
 
 
2707
 
 
2708
 
 
2709
 
#line 2710 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2710
 
} // closed Puma
2711
 
class WinIfExists;
2712
 
class WinImportHandler;
2713
 
class WinMacros;
2714
 
class CMatchSyntax;
2715
 
class ExtGnu;
2716
 
class ExtAC;
2717
 
class ExtACBuilderCoupling;
2718
 
class ExtACSyntaxCoupling;
2719
 
class ExtACTree;
2720
 
class ExtACKeywords;
2721
 
class WinAsm;
2722
 
class WinDeclSpecs;
2723
 
class WinMemberExplSpec;
2724
 
class WinTypeKeywords;
2725
 
class PragmaOnceUnitState;
2726
 
class PragmaOnce;
2727
 
class CCExprResolve;
2728
 
class CExprResolve;
2729
 
namespace Puma {
2730
 
 
2731
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2700
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2701
#endif
 
2702
namespace Puma {
 
2703
 
 
2704
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2732
2705
class UnitState {
2733
 
#line 2734 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2706
#line 2707 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2707
  friend class ::CCExprResolve;
 
2708
  friend class ::CExprResolve;
2734
2709
  friend class ::WinIfExists;
2735
2710
  friend class ::WinImportHandler;
2736
2711
  friend class ::WinMacros;
2737
 
  friend class ::CMatchSyntax;
2738
 
  friend class ::ExtGnu;
 
2712
  friend class ::WinAsm;
 
2713
  friend class ::WinDeclSpecs;
 
2714
  friend class ::WinMemberExplSpec;
 
2715
  friend class ::WinTypeKeywords;
 
2716
  friend class ::WinFriend;
2739
2717
  friend class ::ExtAC;
2740
2718
  friend class ::ExtACBuilderCoupling;
2741
2719
  friend class ::ExtACSyntaxCoupling;
2742
2720
  friend class ::ExtACTree;
2743
2721
  friend class ::ExtACKeywords;
2744
 
  friend class ::WinAsm;
2745
 
  friend class ::WinDeclSpecs;
2746
 
  friend class ::WinMemberExplSpec;
2747
 
  friend class ::WinTypeKeywords;
 
2722
  friend class ::ExtGnu;
2748
2723
  friend class ::PragmaOnceUnitState;
2749
2724
  friend class ::PragmaOnce;
2750
 
  friend class ::CCExprResolve;
2751
 
  friend class ::CExprResolve;
 
2725
  friend class ::CMatchSyntax;
2752
2726
 
2753
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2727
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2754
2728
 
2755
2729
  bool _modified;
2756
2730
  bool _updated;
2758
2732
      
2759
2733
public:
2760
2734
  
2761
 
#line 2762 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2762
 
public: inline void __exec_old_C1();
 
2735
#line 2736 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2736
public: __attribute__((always_inline)) inline void __exec_old_C1();
2763
2737
 
2764
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2738
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2765
2739
UnitState ();
2766
2740
      
2767
2741
  bool isModified () const;
2775
2749
  void updated ();
2776
2750
   private:
2777
2751
 
2778
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2752
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2779
2753
 bool _once ;
2780
2754
public :
2781
2755
 
2782
2756
bool onlyOnce ( ) const { return _once ; }
2783
2757
void onlyOnce ( bool v ) { _once = v ; }
2784
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2785
 
 
2786
 
#line 2787 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2787
 
 
2788
 
struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
2789
 
  typedef void Result;
2790
 
  typedef ::Puma::UnitState That;
2791
 
  typedef ::Puma::UnitState Target;
2792
 
  static const int JPID = 5;
 
2758
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2759
 
 
2760
#line 2761 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2761
 
 
2762
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
 
2763
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 __TJP;
 
2764
  typedef TResult Result;
 
2765
  typedef TThat   That;
 
2766
  typedef TTarget Target;
 
2767
  enum { ARGS = TArgs::ARGS };
 
2768
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
2769
  static const int JPID = 3850;
2793
2770
  static const AC::JPType JPTYPE = (AC::JPType)16;
2794
2771
  struct Res {
2795
2772
    typedef void Type;
2796
2773
    typedef void ReferredType;
2797
2774
  };
2798
 
  enum { ARGS = 1 };
2799
 
  template <int I, int DUMMY = 0> struct Arg {
2800
 
    typedef void Type;
2801
 
    typedef void ReferredType;
2802
 
  };
2803
 
  template <int DUMMY> struct Arg<0, DUMMY> {
2804
 
    typedef const ::Puma::UnitState & Type;
2805
 
    typedef const ::Puma::UnitState ReferredType;
2806
 
  };
2807
2775
 
2808
2776
  That *_that;
2809
2777
 
2812
2780
};
2813
2781
 
2814
2782
 
2815
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2783
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2816
2784
 
2817
 
#line 2818 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2785
#line 2786 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2818
2786
 
2819
2787
public:
2820
2788
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
2821
 
  TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 tjp;
2822
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0::That*)this;
2823
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0> (&tjp);
 
2789
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TL< const ::Puma::UnitState & , AC::TLE > > __TJP;
 
2790
  __TJP tjp;
 
2791
  tjp._that =  (__TJP::That*)this;
 
2792
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
2824
2793
 
2825
2794
}
2826
2795
 
2827
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2796
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2828
2797
};
2829
2798
 
2830
2799
 
2831
 
#line 2832 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2832
 
 
2833
 
 
2834
 
struct TJP__ZN4Puma9UnitStateC1Ev_0 {
2835
 
  typedef void Result;
2836
 
  typedef ::Puma::UnitState That;
2837
 
  typedef ::Puma::UnitState Target;
2838
 
  static const int JPID = 5;
 
2800
#line 2801 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2801
 
 
2802
 
 
2803
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1Ev_0 {
 
2804
  typedef TJP__ZN4Puma9UnitStateC1Ev_0 __TJP;
 
2805
  typedef TResult Result;
 
2806
  typedef TThat   That;
 
2807
  typedef TTarget Target;
 
2808
  enum { ARGS = TArgs::ARGS };
 
2809
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
2810
  static const int JPID = 3826;
2839
2811
  static const AC::JPType JPTYPE = (AC::JPType)16;
2840
2812
  struct Res {
2841
2813
    typedef void Type;
2842
2814
    typedef void ReferredType;
2843
2815
  };
2844
 
  enum { ARGS = 0 };
2845
 
  template <int I, int DUMMY = 0> struct Arg {
2846
 
    typedef void Type;
2847
 
    typedef void ReferredType;
2848
 
  };
2849
2816
 
2850
2817
  That *_that;
2851
2818
 
2854
2821
};
2855
2822
 
2856
2823
 
2857
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2824
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2858
2825
inline UnitState::UnitState ()
2859
2826
 
2860
 
#line 2861 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2827
#line 2828 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2861
2828
{
2862
 
  TJP__ZN4Puma9UnitStateC1Ev_0 tjp;
2863
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1Ev_0::That*)this;
2864
 
this->__exec_old_C1();
2865
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1Ev_0> (&tjp);
2866
 
 
 
2829
  typedef TJP__ZN4Puma9UnitStateC1Ev_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TLE > __TJP;
 
2830
    __TJP tjp;
 
2831
  tjp._that =  (__TJP::That*)this;
 
2832
    this->__exec_old_C1();
 
2833
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
 
2834
  
2867
2835
}
2868
 
inline void Puma::UnitState::__exec_old_C1()
2869
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2836
__attribute__((always_inline)) inline void Puma::UnitState::__exec_old_C1()
 
2837
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2870
2838
{ _modified = false; _updated = false; _lastModified = 0; }
2871
2839
 
2872
2840
inline bool UnitState::isModified () const 
2890
2858
 
2891
2859
#endif /* __UnitState__ */
2892
2860
 
2893
 
#line 2894 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
2894
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2895
 
 
2896
 
#line 72 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2897
 
 
2898
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
2861
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
2899
2862
namespace Puma {
2900
2863
 
2901
2864
 
2902
2865
 
2903
 
#line 2904 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2866
#line 2867 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2904
2867
} // closed Puma
 
2868
class CCExprResolve;
 
2869
class CExprResolve;
2905
2870
class WinIfExists;
2906
2871
class WinImportHandler;
2907
2872
class WinMacros;
2908
 
class CMatchSyntax;
2909
 
class ExtGnu;
 
2873
class WinAsm;
 
2874
class WinDeclSpecs;
 
2875
class WinMemberExplSpec;
 
2876
class WinTypeKeywords;
 
2877
class WinFriend;
2910
2878
class ExtAC;
2911
2879
class ExtACBuilderCoupling;
2912
2880
class ExtACSyntaxCoupling;
2913
2881
class ExtACTree;
2914
2882
class ExtACKeywords;
2915
 
class WinAsm;
2916
 
class WinDeclSpecs;
2917
 
class WinMemberExplSpec;
2918
 
class WinTypeKeywords;
 
2883
class ExtGnu;
2919
2884
class PragmaOnceUnitState;
2920
2885
class PragmaOnce;
2921
 
class CCExprResolve;
2922
 
class CExprResolve;
 
2886
class CMatchSyntax;
2923
2887
namespace Puma {
2924
2888
 
2925
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
2889
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
2926
2890
class Unit : public List, public Printable {
2927
 
#line 2928 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2891
#line 2892 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2892
  friend class ::CCExprResolve;
 
2893
  friend class ::CExprResolve;
2928
2894
  friend class ::WinIfExists;
2929
2895
  friend class ::WinImportHandler;
2930
2896
  friend class ::WinMacros;
2931
 
  friend class ::CMatchSyntax;
2932
 
  friend class ::ExtGnu;
 
2897
  friend class ::WinAsm;
 
2898
  friend class ::WinDeclSpecs;
 
2899
  friend class ::WinMemberExplSpec;
 
2900
  friend class ::WinTypeKeywords;
 
2901
  friend class ::WinFriend;
2933
2902
  friend class ::ExtAC;
2934
2903
  friend class ::ExtACBuilderCoupling;
2935
2904
  friend class ::ExtACSyntaxCoupling;
2936
2905
  friend class ::ExtACTree;
2937
2906
  friend class ::ExtACKeywords;
2938
 
  friend class ::WinAsm;
2939
 
  friend class ::WinDeclSpecs;
2940
 
  friend class ::WinMemberExplSpec;
2941
 
  friend class ::WinTypeKeywords;
 
2907
  friend class ::ExtGnu;
2942
2908
  friend class ::PragmaOnceUnitState;
2943
2909
  friend class ::PragmaOnce;
2944
 
  friend class ::CCExprResolve;
2945
 
  friend class ::CExprResolve;
 
2910
  friend class ::CMatchSyntax;
2946
2911
 
2947
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
2912
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
2948
2913
 
2949
2914
  char *_name;
2950
2915
  UnitState _state;
2966
2931
 
2967
2932
#endif /* __unit_h__ */
2968
2933
 
2969
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
2934
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
2970
2935
namespace Puma {
2971
2936
 
2972
2937
 
2974
2939
class CScanner;
2975
2940
 
2976
2941
 
2977
 
#line 2978 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2942
#line 2943 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
2978
2943
} // closed Puma
 
2944
class CCExprResolve;
 
2945
class CExprResolve;
2979
2946
class WinIfExists;
2980
2947
class WinImportHandler;
2981
2948
class WinMacros;
2982
 
class CMatchSyntax;
2983
 
class ExtGnu;
 
2949
class WinAsm;
 
2950
class WinDeclSpecs;
 
2951
class WinMemberExplSpec;
 
2952
class WinTypeKeywords;
 
2953
class WinFriend;
2984
2954
class ExtAC;
2985
2955
class ExtACBuilderCoupling;
2986
2956
class ExtACSyntaxCoupling;
2987
2957
class ExtACTree;
2988
2958
class ExtACKeywords;
2989
 
class WinAsm;
2990
 
class WinDeclSpecs;
2991
 
class WinMemberExplSpec;
2992
 
class WinTypeKeywords;
 
2959
class ExtGnu;
2993
2960
class PragmaOnceUnitState;
2994
2961
class PragmaOnce;
2995
 
class CCExprResolve;
2996
 
class CExprResolve;
 
2962
class CMatchSyntax;
2997
2963
namespace Puma {
2998
2964
 
2999
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
2965
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
3000
2966
class PreMacro : public Chain {
3001
 
#line 3002 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2967
#line 2968 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
2968
  friend class ::CCExprResolve;
 
2969
  friend class ::CExprResolve;
3002
2970
  friend class ::WinIfExists;
3003
2971
  friend class ::WinImportHandler;
3004
2972
  friend class ::WinMacros;
3005
 
  friend class ::CMatchSyntax;
3006
 
  friend class ::ExtGnu;
 
2973
  friend class ::WinAsm;
 
2974
  friend class ::WinDeclSpecs;
 
2975
  friend class ::WinMemberExplSpec;
 
2976
  friend class ::WinTypeKeywords;
 
2977
  friend class ::WinFriend;
3007
2978
  friend class ::ExtAC;
3008
2979
  friend class ::ExtACBuilderCoupling;
3009
2980
  friend class ::ExtACSyntaxCoupling;
3010
2981
  friend class ::ExtACTree;
3011
2982
  friend class ::ExtACKeywords;
3012
 
  friend class ::WinAsm;
3013
 
  friend class ::WinDeclSpecs;
3014
 
  friend class ::WinMemberExplSpec;
3015
 
  friend class ::WinTypeKeywords;
 
2983
  friend class ::ExtGnu;
3016
2984
  friend class ::PragmaOnceUnitState;
3017
2985
  friend class ::PragmaOnce;
3018
 
  friend class ::CCExprResolve;
3019
 
  friend class ::CExprResolve;
 
2986
  friend class ::CMatchSyntax;
3020
2987
 
3021
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
2988
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
3022
2989
 
3023
2990
public:
3024
2991
  typedef Array<const char *> MacroArgs;
3086
3053
 
3087
3054
#endif /* __pre_macro__ */
3088
3055
 
3089
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
 
3056
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
3090
3057
// This file is part of PUMA.
3091
3058
// Copyright (C) 1999-2003  The PUMA developer team.
3092
3059
//                                                                
3111
3078
// Preprocessor predicate answer.
3112
3079
 
3113
3080
 
3114
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
 
3081
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
3115
3082
namespace Puma {
3116
3083
 
3117
3084
 
3118
3085
 
3119
 
#line 3120 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3086
#line 3087 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3120
3087
} // closed Puma
 
3088
class CCExprResolve;
 
3089
class CExprResolve;
3121
3090
class WinIfExists;
3122
3091
class WinImportHandler;
3123
3092
class WinMacros;
3124
 
class CMatchSyntax;
3125
 
class ExtGnu;
 
3093
class WinAsm;
 
3094
class WinDeclSpecs;
 
3095
class WinMemberExplSpec;
 
3096
class WinTypeKeywords;
 
3097
class WinFriend;
3126
3098
class ExtAC;
3127
3099
class ExtACBuilderCoupling;
3128
3100
class ExtACSyntaxCoupling;
3129
3101
class ExtACTree;
3130
3102
class ExtACKeywords;
3131
 
class WinAsm;
3132
 
class WinDeclSpecs;
3133
 
class WinMemberExplSpec;
3134
 
class WinTypeKeywords;
 
3103
class ExtGnu;
3135
3104
class PragmaOnceUnitState;
3136
3105
class PragmaOnce;
3137
 
class CCExprResolve;
3138
 
class CExprResolve;
 
3106
class CMatchSyntax;
3139
3107
namespace Puma {
3140
3108
 
3141
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
 
3109
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
3142
3110
class PreAnswer : public ListElement {
3143
 
#line 3144 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3111
#line 3112 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3112
  friend class ::CCExprResolve;
 
3113
  friend class ::CExprResolve;
3144
3114
  friend class ::WinIfExists;
3145
3115
  friend class ::WinImportHandler;
3146
3116
  friend class ::WinMacros;
3147
 
  friend class ::CMatchSyntax;
3148
 
  friend class ::ExtGnu;
 
3117
  friend class ::WinAsm;
 
3118
  friend class ::WinDeclSpecs;
 
3119
  friend class ::WinMemberExplSpec;
 
3120
  friend class ::WinTypeKeywords;
 
3121
  friend class ::WinFriend;
3149
3122
  friend class ::ExtAC;
3150
3123
  friend class ::ExtACBuilderCoupling;
3151
3124
  friend class ::ExtACSyntaxCoupling;
3152
3125
  friend class ::ExtACTree;
3153
3126
  friend class ::ExtACKeywords;
3154
 
  friend class ::WinAsm;
3155
 
  friend class ::WinDeclSpecs;
3156
 
  friend class ::WinMemberExplSpec;
3157
 
  friend class ::WinTypeKeywords;
 
3127
  friend class ::ExtGnu;
3158
3128
  friend class ::PragmaOnceUnitState;
3159
3129
  friend class ::PragmaOnce;
3160
 
  friend class ::CCExprResolve;
3161
 
  friend class ::CExprResolve;
 
3130
  friend class ::CMatchSyntax;
3162
3131
 
3163
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
 
3132
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreAnswer.h"
3164
3133
 
3165
3134
  char *_text;        
3166
3135
        
3179
3148
 
3180
3149
#endif /* __pre_answer__ */
3181
3150
 
3182
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
3151
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
3183
3152
// This file is part of PUMA.
3184
3153
// Copyright (C) 1999-2003  The PUMA developer team.
3185
3154
//                                                                
3204
3173
// Syntax tree definition according to the composite pattern from [GoF].
3205
3174
 
3206
3175
 
3207
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
 
3176
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
3208
3177
// This file is part of PUMA.
3209
3178
// Copyright (C) 1999-2003  The PUMA developer team.
3210
3179
//                                                                
3262
3231
 
3263
3232
 
3264
3233
 
3265
 
#line 3266 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3234
#line 3235 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3266
3235
} // closed Puma
 
3236
class CCExprResolve;
 
3237
class CExprResolve;
3267
3238
class WinIfExists;
3268
3239
class WinImportHandler;
3269
3240
class WinMacros;
3270
 
class CMatchSyntax;
3271
 
class ExtGnu;
 
3241
class WinAsm;
 
3242
class WinDeclSpecs;
 
3243
class WinMemberExplSpec;
 
3244
class WinTypeKeywords;
 
3245
class WinFriend;
3272
3246
class ExtAC;
3273
3247
class ExtACBuilderCoupling;
3274
3248
class ExtACSyntaxCoupling;
3275
3249
class ExtACTree;
3276
3250
class ExtACKeywords;
3277
 
class WinAsm;
3278
 
class WinDeclSpecs;
3279
 
class WinMemberExplSpec;
3280
 
class WinTypeKeywords;
 
3251
class ExtGnu;
3281
3252
class PragmaOnceUnitState;
3282
3253
class PragmaOnce;
3283
 
class CCExprResolve;
3284
 
class CExprResolve;
 
3254
class CMatchSyntax;
3285
3255
namespace Puma {
3286
3256
 
3287
 
#line 57 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
 
3257
#line 57 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
3288
3258
class PreVisitor {
3289
 
#line 3290 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3259
#line 3260 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3260
  friend class ::CCExprResolve;
 
3261
  friend class ::CExprResolve;
3290
3262
  friend class ::WinIfExists;
3291
3263
  friend class ::WinImportHandler;
3292
3264
  friend class ::WinMacros;
3293
 
  friend class ::CMatchSyntax;
3294
 
  friend class ::ExtGnu;
 
3265
  friend class ::WinAsm;
 
3266
  friend class ::WinDeclSpecs;
 
3267
  friend class ::WinMemberExplSpec;
 
3268
  friend class ::WinTypeKeywords;
 
3269
  friend class ::WinFriend;
3295
3270
  friend class ::ExtAC;
3296
3271
  friend class ::ExtACBuilderCoupling;
3297
3272
  friend class ::ExtACSyntaxCoupling;
3298
3273
  friend class ::ExtACTree;
3299
3274
  friend class ::ExtACKeywords;
3300
 
  friend class ::WinAsm;
3301
 
  friend class ::WinDeclSpecs;
3302
 
  friend class ::WinMemberExplSpec;
3303
 
  friend class ::WinTypeKeywords;
 
3275
  friend class ::ExtGnu;
3304
3276
  friend class ::PragmaOnceUnitState;
3305
3277
  friend class ::PragmaOnce;
3306
 
  friend class ::CCExprResolve;
3307
 
  friend class ::CExprResolve;
 
3278
  friend class ::CMatchSyntax;
3308
3279
 
3309
 
#line 57 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
 
3280
#line 57 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreVisitor.h"
3310
3281
 
3311
3282
protected:
3312
3283
  PreVisitor () {};
3395
3366
 
3396
3367
#endif /* __pre_visitor_h__ */
3397
3368
 
3398
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
3369
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
3399
3370
namespace Puma {
3400
3371
 
3401
3372
 
3402
3373
// Common node interface
3403
3374
 
3404
 
#line 3405 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3375
#line 3376 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3405
3376
} // closed Puma
 
3377
class CCExprResolve;
 
3378
class CExprResolve;
3406
3379
class WinIfExists;
3407
3380
class WinImportHandler;
3408
3381
class WinMacros;
3409
 
class CMatchSyntax;
3410
 
class ExtGnu;
 
3382
class WinAsm;
 
3383
class WinDeclSpecs;
 
3384
class WinMemberExplSpec;
 
3385
class WinTypeKeywords;
 
3386
class WinFriend;
3411
3387
class ExtAC;
3412
3388
class ExtACBuilderCoupling;
3413
3389
class ExtACSyntaxCoupling;
3414
3390
class ExtACTree;
3415
3391
class ExtACKeywords;
3416
 
class WinAsm;
3417
 
class WinDeclSpecs;
3418
 
class WinMemberExplSpec;
3419
 
class WinTypeKeywords;
 
3392
class ExtGnu;
3420
3393
class PragmaOnceUnitState;
3421
3394
class PragmaOnce;
3422
 
class CCExprResolve;
3423
 
class CExprResolve;
 
3395
class CMatchSyntax;
3424
3396
namespace Puma {
3425
3397
 
3426
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
3398
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
3427
3399
class PreTree {
3428
 
#line 3429 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3400
#line 3401 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3401
  friend class ::CCExprResolve;
 
3402
  friend class ::CExprResolve;
3429
3403
  friend class ::WinIfExists;
3430
3404
  friend class ::WinImportHandler;
3431
3405
  friend class ::WinMacros;
3432
 
  friend class ::CMatchSyntax;
3433
 
  friend class ::ExtGnu;
 
3406
  friend class ::WinAsm;
 
3407
  friend class ::WinDeclSpecs;
 
3408
  friend class ::WinMemberExplSpec;
 
3409
  friend class ::WinTypeKeywords;
 
3410
  friend class ::WinFriend;
3434
3411
  friend class ::ExtAC;
3435
3412
  friend class ::ExtACBuilderCoupling;
3436
3413
  friend class ::ExtACSyntaxCoupling;
3437
3414
  friend class ::ExtACTree;
3438
3415
  friend class ::ExtACKeywords;
3439
 
  friend class ::WinAsm;
3440
 
  friend class ::WinDeclSpecs;
3441
 
  friend class ::WinMemberExplSpec;
3442
 
  friend class ::WinTypeKeywords;
 
3416
  friend class ::ExtGnu;
3443
3417
  friend class ::PragmaOnceUnitState;
3444
3418
  friend class ::PragmaOnce;
3445
 
  friend class ::CCExprResolve;
3446
 
  friend class ::CExprResolve;
 
3419
  friend class ::CMatchSyntax;
3447
3420
 
3448
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTree.h"
 
3421
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTree.h"
3449
3422
 
3450
3423
protected:
3451
3424
  PreTree () {};
3474
3447
 
3475
3448
#endif /* __pre_syntax_tree__ */
3476
3449
 
3477
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3450
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3478
3451
// This file is part of PUMA.
3479
3452
// Copyright (C) 1999-2003  The PUMA developer team.
3480
3453
//                                                                
3502
3475
 
3503
3476
#include <sstream>
3504
3477
 
3505
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3478
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3506
3479
// This file is part of PUMA.
3507
3480
// Copyright (C) 1999-2003  The PUMA developer team.
3508
3481
//                                                                
3537
3510
// messages or collect them for a later processing.
3538
3511
 
3539
3512
 
3540
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3513
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3541
3514
// This file is part of PUMA.
3542
3515
// Copyright (C) 1999-2003  The PUMA developer team.
3543
3516
//                                                                
3565
3538
 
3566
3539
 
3567
3540
 
3568
 
#line 3569 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3541
#line 3542 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3569
3542
} // closed Puma
 
3543
class CCExprResolve;
 
3544
class CExprResolve;
3570
3545
class WinIfExists;
3571
3546
class WinImportHandler;
3572
3547
class WinMacros;
3573
 
class CMatchSyntax;
3574
 
class ExtGnu;
 
3548
class WinAsm;
 
3549
class WinDeclSpecs;
 
3550
class WinMemberExplSpec;
 
3551
class WinTypeKeywords;
 
3552
class WinFriend;
3575
3553
class ExtAC;
3576
3554
class ExtACBuilderCoupling;
3577
3555
class ExtACSyntaxCoupling;
3578
3556
class ExtACTree;
3579
3557
class ExtACKeywords;
3580
 
class WinAsm;
3581
 
class WinDeclSpecs;
3582
 
class WinMemberExplSpec;
3583
 
class WinTypeKeywords;
 
3558
class ExtGnu;
3584
3559
class PragmaOnceUnitState;
3585
3560
class PragmaOnce;
3586
 
class CCExprResolve;
3587
 
class CExprResolve;
 
3561
class CMatchSyntax;
3588
3562
namespace Puma {
3589
3563
 
3590
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3564
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3591
3565
class ErrorSeverity {
3592
 
#line 3593 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3566
#line 3567 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3567
  friend class ::CCExprResolve;
 
3568
  friend class ::CExprResolve;
3593
3569
  friend class ::WinIfExists;
3594
3570
  friend class ::WinImportHandler;
3595
3571
  friend class ::WinMacros;
3596
 
  friend class ::CMatchSyntax;
3597
 
  friend class ::ExtGnu;
 
3572
  friend class ::WinAsm;
 
3573
  friend class ::WinDeclSpecs;
 
3574
  friend class ::WinMemberExplSpec;
 
3575
  friend class ::WinTypeKeywords;
 
3576
  friend class ::WinFriend;
3598
3577
  friend class ::ExtAC;
3599
3578
  friend class ::ExtACBuilderCoupling;
3600
3579
  friend class ::ExtACSyntaxCoupling;
3601
3580
  friend class ::ExtACTree;
3602
3581
  friend class ::ExtACKeywords;
3603
 
  friend class ::WinAsm;
3604
 
  friend class ::WinDeclSpecs;
3605
 
  friend class ::WinMemberExplSpec;
3606
 
  friend class ::WinTypeKeywords;
 
3582
  friend class ::ExtGnu;
3607
3583
  friend class ::PragmaOnceUnitState;
3608
3584
  friend class ::PragmaOnce;
3609
 
  friend class ::CCExprResolve;
3610
 
  friend class ::CExprResolve;
 
3585
  friend class ::CMatchSyntax;
3611
3586
 
3612
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3587
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3613
3588
 
3614
3589
  unsigned short _severity;
3615
3590
  const char *_text;
3649
3624
 
3650
3625
#endif /* __error_severity_h__ */
3651
3626
 
3652
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3627
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3653
3628
namespace Puma {
3654
3629
 
3655
3630
 
3656
3631
 
3657
 
#line 3658 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3632
#line 3633 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3658
3633
} // closed Puma
 
3634
class CCExprResolve;
 
3635
class CExprResolve;
3659
3636
class WinIfExists;
3660
3637
class WinImportHandler;
3661
3638
class WinMacros;
3662
 
class CMatchSyntax;
3663
 
class ExtGnu;
 
3639
class WinAsm;
 
3640
class WinDeclSpecs;
 
3641
class WinMemberExplSpec;
 
3642
class WinTypeKeywords;
 
3643
class WinFriend;
3664
3644
class ExtAC;
3665
3645
class ExtACBuilderCoupling;
3666
3646
class ExtACSyntaxCoupling;
3667
3647
class ExtACTree;
3668
3648
class ExtACKeywords;
3669
 
class WinAsm;
3670
 
class WinDeclSpecs;
3671
 
class WinMemberExplSpec;
3672
 
class WinTypeKeywords;
 
3649
class ExtGnu;
3673
3650
class PragmaOnceUnitState;
3674
3651
class PragmaOnce;
3675
 
class CCExprResolve;
3676
 
class CExprResolve;
 
3652
class CMatchSyntax;
3677
3653
namespace Puma {
3678
3654
 
3679
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3655
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3680
3656
class ErrorSink {
3681
 
#line 3682 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3657
#line 3658 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3658
  friend class ::CCExprResolve;
 
3659
  friend class ::CExprResolve;
3682
3660
  friend class ::WinIfExists;
3683
3661
  friend class ::WinImportHandler;
3684
3662
  friend class ::WinMacros;
3685
 
  friend class ::CMatchSyntax;
3686
 
  friend class ::ExtGnu;
 
3663
  friend class ::WinAsm;
 
3664
  friend class ::WinDeclSpecs;
 
3665
  friend class ::WinMemberExplSpec;
 
3666
  friend class ::WinTypeKeywords;
 
3667
  friend class ::WinFriend;
3687
3668
  friend class ::ExtAC;
3688
3669
  friend class ::ExtACBuilderCoupling;
3689
3670
  friend class ::ExtACSyntaxCoupling;
3690
3671
  friend class ::ExtACTree;
3691
3672
  friend class ::ExtACKeywords;
3692
 
  friend class ::WinAsm;
3693
 
  friend class ::WinDeclSpecs;
3694
 
  friend class ::WinMemberExplSpec;
3695
 
  friend class ::WinTypeKeywords;
 
3673
  friend class ::ExtGnu;
3696
3674
  friend class ::PragmaOnceUnitState;
3697
3675
  friend class ::PragmaOnce;
3698
 
  friend class ::CCExprResolve;
3699
 
  friend class ::CExprResolve;
 
3676
  friend class ::CMatchSyntax;
3700
3677
 
3701
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3678
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3702
3679
 
3703
3680
public:
3704
3681
  virtual ~ErrorSink () {}
3723
3700
 
3724
3701
#endif /* __error_sink_h__ */
3725
3702
 
3726
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3703
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3727
3704
using namespace std;
3728
3705
 
3729
3706
namespace Puma {
3730
3707
 
3731
3708
 
3732
3709
 
3733
 
#line 3734 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3710
#line 3711 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3734
3711
} // closed Puma
 
3712
class CCExprResolve;
 
3713
class CExprResolve;
3735
3714
class WinIfExists;
3736
3715
class WinImportHandler;
3737
3716
class WinMacros;
3738
 
class CMatchSyntax;
3739
 
class ExtGnu;
 
3717
class WinAsm;
 
3718
class WinDeclSpecs;
 
3719
class WinMemberExplSpec;
 
3720
class WinTypeKeywords;
 
3721
class WinFriend;
3740
3722
class ExtAC;
3741
3723
class ExtACBuilderCoupling;
3742
3724
class ExtACSyntaxCoupling;
3743
3725
class ExtACTree;
3744
3726
class ExtACKeywords;
3745
 
class WinAsm;
3746
 
class WinDeclSpecs;
3747
 
class WinMemberExplSpec;
3748
 
class WinTypeKeywords;
 
3727
class ExtGnu;
3749
3728
class PragmaOnceUnitState;
3750
3729
class PragmaOnce;
3751
 
class CCExprResolve;
3752
 
class CExprResolve;
 
3730
class CMatchSyntax;
3753
3731
namespace Puma {
3754
3732
 
3755
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3733
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3756
3734
class ErrorStream : public ErrorSink {
3757
 
#line 3758 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3735
#line 3736 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3736
  friend class ::CCExprResolve;
 
3737
  friend class ::CExprResolve;
3758
3738
  friend class ::WinIfExists;
3759
3739
  friend class ::WinImportHandler;
3760
3740
  friend class ::WinMacros;
3761
 
  friend class ::CMatchSyntax;
3762
 
  friend class ::ExtGnu;
 
3741
  friend class ::WinAsm;
 
3742
  friend class ::WinDeclSpecs;
 
3743
  friend class ::WinMemberExplSpec;
 
3744
  friend class ::WinTypeKeywords;
 
3745
  friend class ::WinFriend;
3763
3746
  friend class ::ExtAC;
3764
3747
  friend class ::ExtACBuilderCoupling;
3765
3748
  friend class ::ExtACSyntaxCoupling;
3766
3749
  friend class ::ExtACTree;
3767
3750
  friend class ::ExtACKeywords;
3768
 
  friend class ::WinAsm;
3769
 
  friend class ::WinDeclSpecs;
3770
 
  friend class ::WinMemberExplSpec;
3771
 
  friend class ::WinTypeKeywords;
 
3751
  friend class ::ExtGnu;
3772
3752
  friend class ::PragmaOnceUnitState;
3773
3753
  friend class ::PragmaOnce;
3774
 
  friend class ::CCExprResolve;
3775
 
  friend class ::CExprResolve;
 
3754
  friend class ::CMatchSyntax;
3776
3755
 
3777
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3756
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3778
3757
 
3779
3758
  ostream *_ostream;
3780
3759
  ErrorSeverity _max_severity;
3817
3796
 
3818
3797
#endif /* __error_stream_h__ */
3819
3798
 
3820
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3799
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3800
 
 
3801
#line 3802 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3802
 
 
3803
#ifndef __ac_fwd_PragmaOnceUnitState__
 
3804
#define __ac_fwd_PragmaOnceUnitState__
 
3805
class PragmaOnceUnitState;
 
3806
namespace AC {
 
3807
  template <class JoinPoint>
 
3808
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
3809
  template <class JoinPoint>
 
3810
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
3811
}
 
3812
#endif
 
3813
 
 
3814
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
3815
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
3816
#endif
 
3817
 
 
3818
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
3821
3819
// This file is part of PUMA.
3822
3820
// Copyright (C) 1999-2003  The PUMA developer team.
3823
3821
//                                                                
3842
3840
// Class UnitManager helps you to have control of all units built.
3843
3841
 
3844
3842
 
3845
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3843
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
3846
3844
#include <list>
3847
3845
#include <map>
3848
3846
 
3849
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3847
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
3850
3848
using namespace std;
3851
3849
 
3852
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3850
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
3853
3851
namespace Puma {
3854
3852
 
3855
3853
 
3858
3856
class Tokenizer;
3859
3857
 
3860
3858
 
3861
 
#line 3862 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3859
#line 3860 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
3862
3860
} // closed Puma
 
3861
class CCExprResolve;
 
3862
class CExprResolve;
3863
3863
class WinIfExists;
3864
3864
class WinImportHandler;
3865
3865
class WinMacros;
3866
 
class CMatchSyntax;
3867
 
class ExtGnu;
 
3866
class WinAsm;
 
3867
class WinDeclSpecs;
 
3868
class WinMemberExplSpec;
 
3869
class WinTypeKeywords;
 
3870
class WinFriend;
3868
3871
class ExtAC;
3869
3872
class ExtACBuilderCoupling;
3870
3873
class ExtACSyntaxCoupling;
3871
3874
class ExtACTree;
3872
3875
class ExtACKeywords;
3873
 
class WinAsm;
3874
 
class WinDeclSpecs;
3875
 
class WinMemberExplSpec;
3876
 
class WinTypeKeywords;
 
3876
class ExtGnu;
3877
3877
class PragmaOnceUnitState;
3878
3878
class PragmaOnce;
3879
 
class CCExprResolve;
3880
 
class CExprResolve;
 
3879
class CMatchSyntax;
3881
3880
namespace Puma {
3882
3881
 
3883
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3882
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
3884
3883
class UnitManager {
3885
 
#line 3886 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3884
#line 3885 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3885
  friend class ::CCExprResolve;
 
3886
  friend class ::CExprResolve;
3886
3887
  friend class ::WinIfExists;
3887
3888
  friend class ::WinImportHandler;
3888
3889
  friend class ::WinMacros;
3889
 
  friend class ::CMatchSyntax;
3890
 
  friend class ::ExtGnu;
 
3890
  friend class ::WinAsm;
 
3891
  friend class ::WinDeclSpecs;
 
3892
  friend class ::WinMemberExplSpec;
 
3893
  friend class ::WinTypeKeywords;
 
3894
  friend class ::WinFriend;
3891
3895
  friend class ::ExtAC;
3892
3896
  friend class ::ExtACBuilderCoupling;
3893
3897
  friend class ::ExtACSyntaxCoupling;
3894
3898
  friend class ::ExtACTree;
3895
3899
  friend class ::ExtACKeywords;
3896
 
  friend class ::WinAsm;
3897
 
  friend class ::WinDeclSpecs;
3898
 
  friend class ::WinMemberExplSpec;
3899
 
  friend class ::WinTypeKeywords;
 
3900
  friend class ::ExtGnu;
3900
3901
  friend class ::PragmaOnceUnitState;
3901
3902
  friend class ::PragmaOnce;
3902
 
  friend class ::CCExprResolve;
3903
 
  friend class ::CExprResolve;
 
3903
  friend class ::CMatchSyntax;
3904
3904
 
3905
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3905
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
3906
3906
 
3907
3907
public:
3908
3908
  typedef map<string, Unit*> UMap;
3955
3955
      
3956
3956
  // Initialize the unit manager and the managed 
3957
3957
  // units for the next parse process.
3958
 
  void init ();
 
3958
  
 
3959
#line 3960 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
3960
public: __attribute__((always_inline)) inline void __exec_old_init();
 
3961
 
 
3962
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
3963
void init ();
3959
3964
};
3960
3965
 
3961
3966
 
3963
3968
 
3964
3969
#endif /* __UnitManager__ */
3965
3970
 
3966
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
3971
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
3967
3972
// This file is part of PUMA.
3968
3973
// Copyright (C) 1999-2003  The PUMA developer team.
3969
3974
//                                                                
3993
3998
// within conditionals.
3994
3999
 
3995
4000
 
3996
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
4001
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
3997
4002
namespace Puma {
3998
4003
 
3999
4004
 
4000
4005
 
4001
 
#line 4002 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4006
#line 4007 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4002
4007
} // closed Puma
 
4008
class CCExprResolve;
 
4009
class CExprResolve;
4003
4010
class WinIfExists;
4004
4011
class WinImportHandler;
4005
4012
class WinMacros;
4006
 
class CMatchSyntax;
4007
 
class ExtGnu;
 
4013
class WinAsm;
 
4014
class WinDeclSpecs;
 
4015
class WinMemberExplSpec;
 
4016
class WinTypeKeywords;
 
4017
class WinFriend;
4008
4018
class ExtAC;
4009
4019
class ExtACBuilderCoupling;
4010
4020
class ExtACSyntaxCoupling;
4011
4021
class ExtACTree;
4012
4022
class ExtACKeywords;
4013
 
class WinAsm;
4014
 
class WinDeclSpecs;
4015
 
class WinMemberExplSpec;
4016
 
class WinTypeKeywords;
 
4023
class ExtGnu;
4017
4024
class PragmaOnceUnitState;
4018
4025
class PragmaOnce;
4019
 
class CCExprResolve;
4020
 
class CExprResolve;
 
4026
class CMatchSyntax;
4021
4027
namespace Puma {
4022
4028
 
4023
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
4029
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
4024
4030
class PrePredicate : public List {
4025
 
#line 4026 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4031
#line 4032 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4032
  friend class ::CCExprResolve;
 
4033
  friend class ::CExprResolve;
4026
4034
  friend class ::WinIfExists;
4027
4035
  friend class ::WinImportHandler;
4028
4036
  friend class ::WinMacros;
4029
 
  friend class ::CMatchSyntax;
4030
 
  friend class ::ExtGnu;
 
4037
  friend class ::WinAsm;
 
4038
  friend class ::WinDeclSpecs;
 
4039
  friend class ::WinMemberExplSpec;
 
4040
  friend class ::WinTypeKeywords;
 
4041
  friend class ::WinFriend;
4031
4042
  friend class ::ExtAC;
4032
4043
  friend class ::ExtACBuilderCoupling;
4033
4044
  friend class ::ExtACSyntaxCoupling;
4034
4045
  friend class ::ExtACTree;
4035
4046
  friend class ::ExtACKeywords;
4036
 
  friend class ::WinAsm;
4037
 
  friend class ::WinDeclSpecs;
4038
 
  friend class ::WinMemberExplSpec;
4039
 
  friend class ::WinTypeKeywords;
 
4047
  friend class ::ExtGnu;
4040
4048
  friend class ::PragmaOnceUnitState;
4041
4049
  friend class ::PragmaOnce;
4042
 
  friend class ::CCExprResolve;
4043
 
  friend class ::CExprResolve;
 
4050
  friend class ::CMatchSyntax;
4044
4051
 
4045
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
 
4052
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicate.h"
4046
4053
 
4047
4054
  char *_name;                // The name of the predicate.
4048
4055
  int   _numAnswers;        // The number of arguments.
4071
4078
 
4072
4079
#endif /* __pre_predicate__ */
4073
4080
 
4074
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4081
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4075
4082
// This file is part of PUMA.
4076
4083
// Copyright (C) 1999-2003  The PUMA developer team.
4077
4084
//                                                                
4096
4103
// Contains all node classes for the preprocessor syntax tree.
4097
4104
 
4098
4105
 
4099
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
4106
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
4100
4107
// This file is part of PUMA.
4101
4108
// Copyright (C) 1999-2003  The PUMA developer team.
4102
4109
//                                                                
4122
4129
// a part of a syntax tree.
4123
4130
 
4124
4131
 
4125
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
4132
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
4126
4133
namespace Puma {
4127
4134
 
4128
4135
 
4129
4136
 
4130
 
#line 4131 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4137
#line 4138 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4131
4138
} // closed Puma
 
4139
class CCExprResolve;
 
4140
class CExprResolve;
4132
4141
class WinIfExists;
4133
4142
class WinImportHandler;
4134
4143
class WinMacros;
4135
 
class CMatchSyntax;
4136
 
class ExtGnu;
 
4144
class WinAsm;
 
4145
class WinDeclSpecs;
 
4146
class WinMemberExplSpec;
 
4147
class WinTypeKeywords;
 
4148
class WinFriend;
4137
4149
class ExtAC;
4138
4150
class ExtACBuilderCoupling;
4139
4151
class ExtACSyntaxCoupling;
4140
4152
class ExtACTree;
4141
4153
class ExtACKeywords;
4142
 
class WinAsm;
4143
 
class WinDeclSpecs;
4144
 
class WinMemberExplSpec;
4145
 
class WinTypeKeywords;
 
4154
class ExtGnu;
4146
4155
class PragmaOnceUnitState;
4147
4156
class PragmaOnce;
4148
 
class CCExprResolve;
4149
 
class CExprResolve;
 
4157
class CMatchSyntax;
4150
4158
namespace Puma {
4151
4159
 
4152
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
4160
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
4153
4161
class PreTreeToken : public PreTree {
4154
 
#line 4155 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4162
#line 4163 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4163
  friend class ::CCExprResolve;
 
4164
  friend class ::CExprResolve;
4155
4165
  friend class ::WinIfExists;
4156
4166
  friend class ::WinImportHandler;
4157
4167
  friend class ::WinMacros;
4158
 
  friend class ::CMatchSyntax;
4159
 
  friend class ::ExtGnu;
 
4168
  friend class ::WinAsm;
 
4169
  friend class ::WinDeclSpecs;
 
4170
  friend class ::WinMemberExplSpec;
 
4171
  friend class ::WinTypeKeywords;
 
4172
  friend class ::WinFriend;
4160
4173
  friend class ::ExtAC;
4161
4174
  friend class ::ExtACBuilderCoupling;
4162
4175
  friend class ::ExtACSyntaxCoupling;
4163
4176
  friend class ::ExtACTree;
4164
4177
  friend class ::ExtACKeywords;
4165
 
  friend class ::WinAsm;
4166
 
  friend class ::WinDeclSpecs;
4167
 
  friend class ::WinMemberExplSpec;
4168
 
  friend class ::WinTypeKeywords;
 
4178
  friend class ::ExtGnu;
4169
4179
  friend class ::PragmaOnceUnitState;
4170
4180
  friend class ::PragmaOnce;
4171
 
  friend class ::CCExprResolve;
4172
 
  friend class ::CExprResolve;
 
4181
  friend class ::CMatchSyntax;
4173
4182
 
4174
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
 
4183
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeToken.h"
4175
4184
 
4176
4185
  Token *_token;
4177
4186
        
4196
4205
 
4197
4206
#endif /*__syntax_tree_token__ */
4198
4207
 
4199
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
4208
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
4200
4209
// This file is part of PUMA.
4201
4210
// Copyright (C) 1999-2003  The PUMA developer team.
4202
4211
//                                                                
4219
4228
#define __syntax_tree_composite__
4220
4229
 
4221
4230
 
4222
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
4231
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
4223
4232
namespace Puma {
4224
4233
 
4225
4234
 
4226
4235
// Generic composite nodes:
4227
4236
 
4228
 
#line 4229 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4237
#line 4238 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4229
4238
} // closed Puma
 
4239
class CCExprResolve;
 
4240
class CExprResolve;
4230
4241
class WinIfExists;
4231
4242
class WinImportHandler;
4232
4243
class WinMacros;
4233
 
class CMatchSyntax;
4234
 
class ExtGnu;
 
4244
class WinAsm;
 
4245
class WinDeclSpecs;
 
4246
class WinMemberExplSpec;
 
4247
class WinTypeKeywords;
 
4248
class WinFriend;
4235
4249
class ExtAC;
4236
4250
class ExtACBuilderCoupling;
4237
4251
class ExtACSyntaxCoupling;
4238
4252
class ExtACTree;
4239
4253
class ExtACKeywords;
4240
 
class WinAsm;
4241
 
class WinDeclSpecs;
4242
 
class WinMemberExplSpec;
4243
 
class WinTypeKeywords;
 
4254
class ExtGnu;
4244
4255
class PragmaOnceUnitState;
4245
4256
class PragmaOnce;
4246
 
class CCExprResolve;
4247
 
class CExprResolve;
 
4257
class CMatchSyntax;
4248
4258
namespace Puma {
4249
4259
 
4250
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
4260
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
4251
4261
class PreTreeComposite : public PreTree {
4252
 
#line 4253 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4262
#line 4263 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4263
  friend class ::CCExprResolve;
 
4264
  friend class ::CExprResolve;
4253
4265
  friend class ::WinIfExists;
4254
4266
  friend class ::WinImportHandler;
4255
4267
  friend class ::WinMacros;
4256
 
  friend class ::CMatchSyntax;
4257
 
  friend class ::ExtGnu;
 
4268
  friend class ::WinAsm;
 
4269
  friend class ::WinDeclSpecs;
 
4270
  friend class ::WinMemberExplSpec;
 
4271
  friend class ::WinTypeKeywords;
 
4272
  friend class ::WinFriend;
4258
4273
  friend class ::ExtAC;
4259
4274
  friend class ::ExtACBuilderCoupling;
4260
4275
  friend class ::ExtACSyntaxCoupling;
4261
4276
  friend class ::ExtACTree;
4262
4277
  friend class ::ExtACKeywords;
4263
 
  friend class ::WinAsm;
4264
 
  friend class ::WinDeclSpecs;
4265
 
  friend class ::WinMemberExplSpec;
4266
 
  friend class ::WinTypeKeywords;
 
4278
  friend class ::ExtGnu;
4267
4279
  friend class ::PragmaOnceUnitState;
4268
4280
  friend class ::PragmaOnce;
4269
 
  friend class ::CCExprResolve;
4270
 
  friend class ::CExprResolve;
 
4281
  friend class ::CMatchSyntax;
4271
4282
 
4272
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
 
4283
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeComposite.h"
4273
4284
 
4274
4285
private:
4275
4286
  Array<PreTree*> *son_array;
4306
4317
 
4307
4318
#endif /* __syntax_tree_composite__ */
4308
4319
 
4309
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4320
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4310
4321
namespace Puma {
4311
4322
 
4312
4323
 
4313
4324
// The root node of the preprocessor syntax tree.
4314
4325
 
4315
 
#line 4316 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4326
#line 4327 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4316
4327
} // closed Puma
 
4328
class CCExprResolve;
 
4329
class CExprResolve;
4317
4330
class WinIfExists;
4318
4331
class WinImportHandler;
4319
4332
class WinMacros;
4320
 
class CMatchSyntax;
4321
 
class ExtGnu;
 
4333
class WinAsm;
 
4334
class WinDeclSpecs;
 
4335
class WinMemberExplSpec;
 
4336
class WinTypeKeywords;
 
4337
class WinFriend;
4322
4338
class ExtAC;
4323
4339
class ExtACBuilderCoupling;
4324
4340
class ExtACSyntaxCoupling;
4325
4341
class ExtACTree;
4326
4342
class ExtACKeywords;
4327
 
class WinAsm;
4328
 
class WinDeclSpecs;
4329
 
class WinMemberExplSpec;
4330
 
class WinTypeKeywords;
 
4343
class ExtGnu;
4331
4344
class PragmaOnceUnitState;
4332
4345
class PragmaOnce;
4333
 
class CCExprResolve;
4334
 
class CExprResolve;
 
4346
class CMatchSyntax;
4335
4347
namespace Puma {
4336
4348
 
4337
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4349
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4338
4350
class PreProgram : public PreTreeComposite {
4339
 
#line 4340 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4351
#line 4352 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4352
  friend class ::CCExprResolve;
 
4353
  friend class ::CExprResolve;
4340
4354
  friend class ::WinIfExists;
4341
4355
  friend class ::WinImportHandler;
4342
4356
  friend class ::WinMacros;
4343
 
  friend class ::CMatchSyntax;
4344
 
  friend class ::ExtGnu;
 
4357
  friend class ::WinAsm;
 
4358
  friend class ::WinDeclSpecs;
 
4359
  friend class ::WinMemberExplSpec;
 
4360
  friend class ::WinTypeKeywords;
 
4361
  friend class ::WinFriend;
4345
4362
  friend class ::ExtAC;
4346
4363
  friend class ::ExtACBuilderCoupling;
4347
4364
  friend class ::ExtACSyntaxCoupling;
4348
4365
  friend class ::ExtACTree;
4349
4366
  friend class ::ExtACKeywords;
4350
 
  friend class ::WinAsm;
4351
 
  friend class ::WinDeclSpecs;
4352
 
  friend class ::WinMemberExplSpec;
4353
 
  friend class ::WinTypeKeywords;
 
4367
  friend class ::ExtGnu;
4354
4368
  friend class ::PragmaOnceUnitState;
4355
4369
  friend class ::PragmaOnce;
4356
 
  friend class ::CCExprResolve;
4357
 
  friend class ::CExprResolve;
 
4370
  friend class ::CMatchSyntax;
4358
4371
 
4359
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4372
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4360
4373
 
4361
4374
public:
4362
4375
  PreProgram (PreTree* a) : PreTreeComposite (1, 0) 
4372
4385
 
4373
4386
// Assemble groups of directive groups to a `super' group => the program.
4374
4387
 
4375
 
#line 4376 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4388
#line 4389 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4376
4389
} // closed Puma
 
4390
class CCExprResolve;
 
4391
class CExprResolve;
4377
4392
class WinIfExists;
4378
4393
class WinImportHandler;
4379
4394
class WinMacros;
4380
 
class CMatchSyntax;
4381
 
class ExtGnu;
 
4395
class WinAsm;
 
4396
class WinDeclSpecs;
 
4397
class WinMemberExplSpec;
 
4398
class WinTypeKeywords;
 
4399
class WinFriend;
4382
4400
class ExtAC;
4383
4401
class ExtACBuilderCoupling;
4384
4402
class ExtACSyntaxCoupling;
4385
4403
class ExtACTree;
4386
4404
class ExtACKeywords;
4387
 
class WinAsm;
4388
 
class WinDeclSpecs;
4389
 
class WinMemberExplSpec;
4390
 
class WinTypeKeywords;
 
4405
class ExtGnu;
4391
4406
class PragmaOnceUnitState;
4392
4407
class PragmaOnce;
4393
 
class CCExprResolve;
4394
 
class CExprResolve;
 
4408
class CMatchSyntax;
4395
4409
namespace Puma {
4396
4410
 
4397
 
#line 47 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4411
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4398
4412
class PreDirectiveGroups : public PreTreeComposite {
4399
 
#line 4400 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4413
#line 4414 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4414
  friend class ::CCExprResolve;
 
4415
  friend class ::CExprResolve;
4400
4416
  friend class ::WinIfExists;
4401
4417
  friend class ::WinImportHandler;
4402
4418
  friend class ::WinMacros;
4403
 
  friend class ::CMatchSyntax;
4404
 
  friend class ::ExtGnu;
 
4419
  friend class ::WinAsm;
 
4420
  friend class ::WinDeclSpecs;
 
4421
  friend class ::WinMemberExplSpec;
 
4422
  friend class ::WinTypeKeywords;
 
4423
  friend class ::WinFriend;
4405
4424
  friend class ::ExtAC;
4406
4425
  friend class ::ExtACBuilderCoupling;
4407
4426
  friend class ::ExtACSyntaxCoupling;
4408
4427
  friend class ::ExtACTree;
4409
4428
  friend class ::ExtACKeywords;
4410
 
  friend class ::WinAsm;
4411
 
  friend class ::WinDeclSpecs;
4412
 
  friend class ::WinMemberExplSpec;
4413
 
  friend class ::WinTypeKeywords;
 
4429
  friend class ::ExtGnu;
4414
4430
  friend class ::PragmaOnceUnitState;
4415
4431
  friend class ::PragmaOnce;
4416
 
  friend class ::CCExprResolve;
4417
 
  friend class ::CExprResolve;
 
4432
  friend class ::CMatchSyntax;
4418
4433
 
4419
 
#line 47 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4434
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4420
4435
 
4421
4436
public:
4422
4437
  PreDirectiveGroups () : PreTreeComposite (-1, 0) {};
4432
4447
// Assemble conditional directives to a logical group.
4433
4448
// Like: #if ... #elif ... #else ... #endif.
4434
4449
 
4435
 
#line 4436 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4450
#line 4451 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4436
4451
} // closed Puma
 
4452
class CCExprResolve;
 
4453
class CExprResolve;
4437
4454
class WinIfExists;
4438
4455
class WinImportHandler;
4439
4456
class WinMacros;
4440
 
class CMatchSyntax;
4441
 
class ExtGnu;
 
4457
class WinAsm;
 
4458
class WinDeclSpecs;
 
4459
class WinMemberExplSpec;
 
4460
class WinTypeKeywords;
 
4461
class WinFriend;
4442
4462
class ExtAC;
4443
4463
class ExtACBuilderCoupling;
4444
4464
class ExtACSyntaxCoupling;
4445
4465
class ExtACTree;
4446
4466
class ExtACKeywords;
4447
 
class WinAsm;
4448
 
class WinDeclSpecs;
4449
 
class WinMemberExplSpec;
4450
 
class WinTypeKeywords;
 
4467
class ExtGnu;
4451
4468
class PragmaOnceUnitState;
4452
4469
class PragmaOnce;
4453
 
class CCExprResolve;
4454
 
class CExprResolve;
 
4470
class CMatchSyntax;
4455
4471
namespace Puma {
4456
4472
 
4457
 
#line 61 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4473
#line 61 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4458
4474
class PreConditionalGroup : public PreTreeComposite {
4459
 
#line 4460 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4475
#line 4476 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4476
  friend class ::CCExprResolve;
 
4477
  friend class ::CExprResolve;
4460
4478
  friend class ::WinIfExists;
4461
4479
  friend class ::WinImportHandler;
4462
4480
  friend class ::WinMacros;
4463
 
  friend class ::CMatchSyntax;
4464
 
  friend class ::ExtGnu;
 
4481
  friend class ::WinAsm;
 
4482
  friend class ::WinDeclSpecs;
 
4483
  friend class ::WinMemberExplSpec;
 
4484
  friend class ::WinTypeKeywords;
 
4485
  friend class ::WinFriend;
4465
4486
  friend class ::ExtAC;
4466
4487
  friend class ::ExtACBuilderCoupling;
4467
4488
  friend class ::ExtACSyntaxCoupling;
4468
4489
  friend class ::ExtACTree;
4469
4490
  friend class ::ExtACKeywords;
4470
 
  friend class ::WinAsm;
4471
 
  friend class ::WinDeclSpecs;
4472
 
  friend class ::WinMemberExplSpec;
4473
 
  friend class ::WinTypeKeywords;
 
4491
  friend class ::ExtGnu;
4474
4492
  friend class ::PragmaOnceUnitState;
4475
4493
  friend class ::PragmaOnce;
4476
 
  friend class ::CCExprResolve;
4477
 
  friend class ::CExprResolve;
 
4494
  friend class ::CMatchSyntax;
4478
4495
 
4479
 
#line 61 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4496
#line 61 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4480
4497
 
4481
4498
public:
4482
4499
  PreConditionalGroup (PreTree* a, PreTree* b, PreTree* c) : 
4499
4516
// conditional group to a logical group.
4500
4517
// Like: ... #elif ... #elif ... #elif ... #else.
4501
4518
 
4502
 
#line 4503 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4519
#line 4520 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4503
4520
} // closed Puma
 
4521
class CCExprResolve;
 
4522
class CExprResolve;
4504
4523
class WinIfExists;
4505
4524
class WinImportHandler;
4506
4525
class WinMacros;
4507
 
class CMatchSyntax;
4508
 
class ExtGnu;
 
4526
class WinAsm;
 
4527
class WinDeclSpecs;
 
4528
class WinMemberExplSpec;
 
4529
class WinTypeKeywords;
 
4530
class WinFriend;
4509
4531
class ExtAC;
4510
4532
class ExtACBuilderCoupling;
4511
4533
class ExtACSyntaxCoupling;
4512
4534
class ExtACTree;
4513
4535
class ExtACKeywords;
4514
 
class WinAsm;
4515
 
class WinDeclSpecs;
4516
 
class WinMemberExplSpec;
4517
 
class WinTypeKeywords;
 
4536
class ExtGnu;
4518
4537
class PragmaOnceUnitState;
4519
4538
class PragmaOnce;
4520
 
class CCExprResolve;
4521
 
class CExprResolve;
 
4539
class CMatchSyntax;
4522
4540
namespace Puma {
4523
4541
 
4524
 
#line 82 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4542
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4525
4543
class PreElsePart : public PreTreeComposite {
4526
 
#line 4527 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4544
#line 4545 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4545
  friend class ::CCExprResolve;
 
4546
  friend class ::CExprResolve;
4527
4547
  friend class ::WinIfExists;
4528
4548
  friend class ::WinImportHandler;
4529
4549
  friend class ::WinMacros;
4530
 
  friend class ::CMatchSyntax;
4531
 
  friend class ::ExtGnu;
 
4550
  friend class ::WinAsm;
 
4551
  friend class ::WinDeclSpecs;
 
4552
  friend class ::WinMemberExplSpec;
 
4553
  friend class ::WinTypeKeywords;
 
4554
  friend class ::WinFriend;
4532
4555
  friend class ::ExtAC;
4533
4556
  friend class ::ExtACBuilderCoupling;
4534
4557
  friend class ::ExtACSyntaxCoupling;
4535
4558
  friend class ::ExtACTree;
4536
4559
  friend class ::ExtACKeywords;
4537
 
  friend class ::WinAsm;
4538
 
  friend class ::WinDeclSpecs;
4539
 
  friend class ::WinMemberExplSpec;
4540
 
  friend class ::WinTypeKeywords;
 
4560
  friend class ::ExtGnu;
4541
4561
  friend class ::PragmaOnceUnitState;
4542
4562
  friend class ::PragmaOnce;
4543
 
  friend class ::CCExprResolve;
4544
 
  friend class ::CExprResolve;
 
4563
  friend class ::CMatchSyntax;
4545
4564
 
4546
 
#line 82 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4565
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4547
4566
 
4548
4567
public:
4549
4568
  PreElsePart (PreTree* a, PreTree* b) : 
4566
4585
// group to a logical group.
4567
4586
// Like: ... #elif ... #elif ... #elif.
4568
4587
 
4569
 
#line 4570 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4588
#line 4589 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4570
4589
} // closed Puma
 
4590
class CCExprResolve;
 
4591
class CExprResolve;
4571
4592
class WinIfExists;
4572
4593
class WinImportHandler;
4573
4594
class WinMacros;
4574
 
class CMatchSyntax;
4575
 
class ExtGnu;
 
4595
class WinAsm;
 
4596
class WinDeclSpecs;
 
4597
class WinMemberExplSpec;
 
4598
class WinTypeKeywords;
 
4599
class WinFriend;
4576
4600
class ExtAC;
4577
4601
class ExtACBuilderCoupling;
4578
4602
class ExtACSyntaxCoupling;
4579
4603
class ExtACTree;
4580
4604
class ExtACKeywords;
4581
 
class WinAsm;
4582
 
class WinDeclSpecs;
4583
 
class WinMemberExplSpec;
4584
 
class WinTypeKeywords;
 
4605
class ExtGnu;
4585
4606
class PragmaOnceUnitState;
4586
4607
class PragmaOnce;
4587
 
class CCExprResolve;
4588
 
class CExprResolve;
 
4608
class CMatchSyntax;
4589
4609
namespace Puma {
4590
4610
 
4591
 
#line 103 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4611
#line 103 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4592
4612
class PreElifPart : public PreTreeComposite
4593
4613
 {
4594
 
#line 4595 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4614
#line 4615 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4615
  friend class ::CCExprResolve;
 
4616
  friend class ::CExprResolve;
4595
4617
  friend class ::WinIfExists;
4596
4618
  friend class ::WinImportHandler;
4597
4619
  friend class ::WinMacros;
4598
 
  friend class ::CMatchSyntax;
4599
 
  friend class ::ExtGnu;
 
4620
  friend class ::WinAsm;
 
4621
  friend class ::WinDeclSpecs;
 
4622
  friend class ::WinMemberExplSpec;
 
4623
  friend class ::WinTypeKeywords;
 
4624
  friend class ::WinFriend;
4600
4625
  friend class ::ExtAC;
4601
4626
  friend class ::ExtACBuilderCoupling;
4602
4627
  friend class ::ExtACSyntaxCoupling;
4603
4628
  friend class ::ExtACTree;
4604
4629
  friend class ::ExtACKeywords;
4605
 
  friend class ::WinAsm;
4606
 
  friend class ::WinDeclSpecs;
4607
 
  friend class ::WinMemberExplSpec;
4608
 
  friend class ::WinTypeKeywords;
 
4630
  friend class ::ExtGnu;
4609
4631
  friend class ::PragmaOnceUnitState;
4610
4632
  friend class ::PragmaOnce;
4611
 
  friend class ::CCExprResolve;
4612
 
  friend class ::CExprResolve;
 
4633
  friend class ::CMatchSyntax;
4613
4634
 
4614
 
#line 104 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4635
#line 104 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4615
4636
 
4616
4637
    public:
4617
4638
                                // Dynamic sons, no daughters.
4632
4653
 
4633
4654
// The #if directive.
4634
4655
 
4635
 
#line 4636 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4656
#line 4657 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4636
4657
} // closed Puma
 
4658
class CCExprResolve;
 
4659
class CExprResolve;
4637
4660
class WinIfExists;
4638
4661
class WinImportHandler;
4639
4662
class WinMacros;
4640
 
class CMatchSyntax;
4641
 
class ExtGnu;
 
4663
class WinAsm;
 
4664
class WinDeclSpecs;
 
4665
class WinMemberExplSpec;
 
4666
class WinTypeKeywords;
 
4667
class WinFriend;
4642
4668
class ExtAC;
4643
4669
class ExtACBuilderCoupling;
4644
4670
class ExtACSyntaxCoupling;
4645
4671
class ExtACTree;
4646
4672
class ExtACKeywords;
4647
 
class WinAsm;
4648
 
class WinDeclSpecs;
4649
 
class WinMemberExplSpec;
4650
 
class WinTypeKeywords;
 
4673
class ExtGnu;
4651
4674
class PragmaOnceUnitState;
4652
4675
class PragmaOnce;
4653
 
class CCExprResolve;
4654
 
class CExprResolve;
 
4676
class CMatchSyntax;
4655
4677
namespace Puma {
4656
4678
 
4657
 
#line 123 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4679
#line 123 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4658
4680
class PreIfDirective : public PreTreeComposite
4659
4681
 {
4660
 
#line 4661 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4682
#line 4683 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4683
  friend class ::CCExprResolve;
 
4684
  friend class ::CExprResolve;
4661
4685
  friend class ::WinIfExists;
4662
4686
  friend class ::WinImportHandler;
4663
4687
  friend class ::WinMacros;
4664
 
  friend class ::CMatchSyntax;
4665
 
  friend class ::ExtGnu;
 
4688
  friend class ::WinAsm;
 
4689
  friend class ::WinDeclSpecs;
 
4690
  friend class ::WinMemberExplSpec;
 
4691
  friend class ::WinTypeKeywords;
 
4692
  friend class ::WinFriend;
4666
4693
  friend class ::ExtAC;
4667
4694
  friend class ::ExtACBuilderCoupling;
4668
4695
  friend class ::ExtACSyntaxCoupling;
4669
4696
  friend class ::ExtACTree;
4670
4697
  friend class ::ExtACKeywords;
4671
 
  friend class ::WinAsm;
4672
 
  friend class ::WinDeclSpecs;
4673
 
  friend class ::WinMemberExplSpec;
4674
 
  friend class ::WinTypeKeywords;
 
4698
  friend class ::ExtGnu;
4675
4699
  friend class ::PragmaOnceUnitState;
4676
4700
  friend class ::PragmaOnce;
4677
 
  friend class ::CCExprResolve;
4678
 
  friend class ::CExprResolve;
 
4701
  friend class ::CMatchSyntax;
4679
4702
 
4680
 
#line 124 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4703
#line 124 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4681
4704
 
4682
4705
    public:
4683
4706
                                        
4696
4719
 
4697
4720
// The #ifdef directive.
4698
4721
 
4699
 
#line 4700 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4722
#line 4723 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4700
4723
} // closed Puma
 
4724
class CCExprResolve;
 
4725
class CExprResolve;
4701
4726
class WinIfExists;
4702
4727
class WinImportHandler;
4703
4728
class WinMacros;
4704
 
class CMatchSyntax;
4705
 
class ExtGnu;
 
4729
class WinAsm;
 
4730
class WinDeclSpecs;
 
4731
class WinMemberExplSpec;
 
4732
class WinTypeKeywords;
 
4733
class WinFriend;
4706
4734
class ExtAC;
4707
4735
class ExtACBuilderCoupling;
4708
4736
class ExtACSyntaxCoupling;
4709
4737
class ExtACTree;
4710
4738
class ExtACKeywords;
4711
 
class WinAsm;
4712
 
class WinDeclSpecs;
4713
 
class WinMemberExplSpec;
4714
 
class WinTypeKeywords;
 
4739
class ExtGnu;
4715
4740
class PragmaOnceUnitState;
4716
4741
class PragmaOnce;
4717
 
class CCExprResolve;
4718
 
class CExprResolve;
 
4742
class CMatchSyntax;
4719
4743
namespace Puma {
4720
4744
 
4721
 
#line 141 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4745
#line 141 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4722
4746
class PreIfdefDirective : public PreTreeComposite
4723
4747
 {
4724
 
#line 4725 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4748
#line 4749 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4749
  friend class ::CCExprResolve;
 
4750
  friend class ::CExprResolve;
4725
4751
  friend class ::WinIfExists;
4726
4752
  friend class ::WinImportHandler;
4727
4753
  friend class ::WinMacros;
4728
 
  friend class ::CMatchSyntax;
4729
 
  friend class ::ExtGnu;
 
4754
  friend class ::WinAsm;
 
4755
  friend class ::WinDeclSpecs;
 
4756
  friend class ::WinMemberExplSpec;
 
4757
  friend class ::WinTypeKeywords;
 
4758
  friend class ::WinFriend;
4730
4759
  friend class ::ExtAC;
4731
4760
  friend class ::ExtACBuilderCoupling;
4732
4761
  friend class ::ExtACSyntaxCoupling;
4733
4762
  friend class ::ExtACTree;
4734
4763
  friend class ::ExtACKeywords;
4735
 
  friend class ::WinAsm;
4736
 
  friend class ::WinDeclSpecs;
4737
 
  friend class ::WinMemberExplSpec;
4738
 
  friend class ::WinTypeKeywords;
 
4764
  friend class ::ExtGnu;
4739
4765
  friend class ::PragmaOnceUnitState;
4740
4766
  friend class ::PragmaOnce;
4741
 
  friend class ::CCExprResolve;
4742
 
  friend class ::CExprResolve;
 
4767
  friend class ::CMatchSyntax;
4743
4768
 
4744
 
#line 142 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4769
#line 142 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4745
4770
 
4746
4771
    public:
4747
4772
                                        
4763
4788
 
4764
4789
// The #ifndef directive.
4765
4790
 
4766
 
#line 4767 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4791
#line 4792 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4767
4792
} // closed Puma
 
4793
class CCExprResolve;
 
4794
class CExprResolve;
4768
4795
class WinIfExists;
4769
4796
class WinImportHandler;
4770
4797
class WinMacros;
4771
 
class CMatchSyntax;
4772
 
class ExtGnu;
 
4798
class WinAsm;
 
4799
class WinDeclSpecs;
 
4800
class WinMemberExplSpec;
 
4801
class WinTypeKeywords;
 
4802
class WinFriend;
4773
4803
class ExtAC;
4774
4804
class ExtACBuilderCoupling;
4775
4805
class ExtACSyntaxCoupling;
4776
4806
class ExtACTree;
4777
4807
class ExtACKeywords;
4778
 
class WinAsm;
4779
 
class WinDeclSpecs;
4780
 
class WinMemberExplSpec;
4781
 
class WinTypeKeywords;
 
4808
class ExtGnu;
4782
4809
class PragmaOnceUnitState;
4783
4810
class PragmaOnce;
4784
 
class CCExprResolve;
4785
 
class CExprResolve;
 
4811
class CMatchSyntax;
4786
4812
namespace Puma {
4787
4813
 
4788
 
#line 162 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4814
#line 162 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4789
4815
class PreIfndefDirective : public PreTreeComposite
4790
4816
 {
4791
 
#line 4792 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4817
#line 4818 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4818
  friend class ::CCExprResolve;
 
4819
  friend class ::CExprResolve;
4792
4820
  friend class ::WinIfExists;
4793
4821
  friend class ::WinImportHandler;
4794
4822
  friend class ::WinMacros;
4795
 
  friend class ::CMatchSyntax;
4796
 
  friend class ::ExtGnu;
 
4823
  friend class ::WinAsm;
 
4824
  friend class ::WinDeclSpecs;
 
4825
  friend class ::WinMemberExplSpec;
 
4826
  friend class ::WinTypeKeywords;
 
4827
  friend class ::WinFriend;
4797
4828
  friend class ::ExtAC;
4798
4829
  friend class ::ExtACBuilderCoupling;
4799
4830
  friend class ::ExtACSyntaxCoupling;
4800
4831
  friend class ::ExtACTree;
4801
4832
  friend class ::ExtACKeywords;
4802
 
  friend class ::WinAsm;
4803
 
  friend class ::WinDeclSpecs;
4804
 
  friend class ::WinMemberExplSpec;
4805
 
  friend class ::WinTypeKeywords;
 
4833
  friend class ::ExtGnu;
4806
4834
  friend class ::PragmaOnceUnitState;
4807
4835
  friend class ::PragmaOnce;
4808
 
  friend class ::CCExprResolve;
4809
 
  friend class ::CExprResolve;
 
4836
  friend class ::CMatchSyntax;
4810
4837
 
4811
 
#line 163 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4838
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4812
4839
 
4813
4840
    public:
4814
4841
                                        
4830
4857
 
4831
4858
// The #elif directive.
4832
4859
 
4833
 
#line 4834 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4860
#line 4861 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4834
4861
} // closed Puma
 
4862
class CCExprResolve;
 
4863
class CExprResolve;
4835
4864
class WinIfExists;
4836
4865
class WinImportHandler;
4837
4866
class WinMacros;
4838
 
class CMatchSyntax;
4839
 
class ExtGnu;
 
4867
class WinAsm;
 
4868
class WinDeclSpecs;
 
4869
class WinMemberExplSpec;
 
4870
class WinTypeKeywords;
 
4871
class WinFriend;
4840
4872
class ExtAC;
4841
4873
class ExtACBuilderCoupling;
4842
4874
class ExtACSyntaxCoupling;
4843
4875
class ExtACTree;
4844
4876
class ExtACKeywords;
4845
 
class WinAsm;
4846
 
class WinDeclSpecs;
4847
 
class WinMemberExplSpec;
4848
 
class WinTypeKeywords;
 
4877
class ExtGnu;
4849
4878
class PragmaOnceUnitState;
4850
4879
class PragmaOnce;
4851
 
class CCExprResolve;
4852
 
class CExprResolve;
 
4880
class CMatchSyntax;
4853
4881
namespace Puma {
4854
4882
 
4855
 
#line 183 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4883
#line 183 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4856
4884
class PreElifDirective : public PreTreeComposite
4857
4885
 {
4858
 
#line 4859 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4886
#line 4887 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4887
  friend class ::CCExprResolve;
 
4888
  friend class ::CExprResolve;
4859
4889
  friend class ::WinIfExists;
4860
4890
  friend class ::WinImportHandler;
4861
4891
  friend class ::WinMacros;
4862
 
  friend class ::CMatchSyntax;
4863
 
  friend class ::ExtGnu;
 
4892
  friend class ::WinAsm;
 
4893
  friend class ::WinDeclSpecs;
 
4894
  friend class ::WinMemberExplSpec;
 
4895
  friend class ::WinTypeKeywords;
 
4896
  friend class ::WinFriend;
4864
4897
  friend class ::ExtAC;
4865
4898
  friend class ::ExtACBuilderCoupling;
4866
4899
  friend class ::ExtACSyntaxCoupling;
4867
4900
  friend class ::ExtACTree;
4868
4901
  friend class ::ExtACKeywords;
4869
 
  friend class ::WinAsm;
4870
 
  friend class ::WinDeclSpecs;
4871
 
  friend class ::WinMemberExplSpec;
4872
 
  friend class ::WinTypeKeywords;
 
4902
  friend class ::ExtGnu;
4873
4903
  friend class ::PragmaOnceUnitState;
4874
4904
  friend class ::PragmaOnce;
4875
 
  friend class ::CCExprResolve;
4876
 
  friend class ::CExprResolve;
 
4905
  friend class ::CMatchSyntax;
4877
4906
 
4878
 
#line 184 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4907
#line 184 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4879
4908
 
4880
4909
    public:
4881
4910
                                        
4894
4923
 
4895
4924
// The #else directive.
4896
4925
 
4897
 
#line 4898 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4926
#line 4927 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4898
4927
} // closed Puma
 
4928
class CCExprResolve;
 
4929
class CExprResolve;
4899
4930
class WinIfExists;
4900
4931
class WinImportHandler;
4901
4932
class WinMacros;
4902
 
class CMatchSyntax;
4903
 
class ExtGnu;
 
4933
class WinAsm;
 
4934
class WinDeclSpecs;
 
4935
class WinMemberExplSpec;
 
4936
class WinTypeKeywords;
 
4937
class WinFriend;
4904
4938
class ExtAC;
4905
4939
class ExtACBuilderCoupling;
4906
4940
class ExtACSyntaxCoupling;
4907
4941
class ExtACTree;
4908
4942
class ExtACKeywords;
4909
 
class WinAsm;
4910
 
class WinDeclSpecs;
4911
 
class WinMemberExplSpec;
4912
 
class WinTypeKeywords;
 
4943
class ExtGnu;
4913
4944
class PragmaOnceUnitState;
4914
4945
class PragmaOnce;
4915
 
class CCExprResolve;
4916
 
class CExprResolve;
 
4946
class CMatchSyntax;
4917
4947
namespace Puma {
4918
4948
 
4919
 
#line 201 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4949
#line 201 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4920
4950
class PreElseDirective : public PreTreeComposite
4921
4951
 {
4922
 
#line 4923 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4952
#line 4953 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4953
  friend class ::CCExprResolve;
 
4954
  friend class ::CExprResolve;
4923
4955
  friend class ::WinIfExists;
4924
4956
  friend class ::WinImportHandler;
4925
4957
  friend class ::WinMacros;
4926
 
  friend class ::CMatchSyntax;
4927
 
  friend class ::ExtGnu;
 
4958
  friend class ::WinAsm;
 
4959
  friend class ::WinDeclSpecs;
 
4960
  friend class ::WinMemberExplSpec;
 
4961
  friend class ::WinTypeKeywords;
 
4962
  friend class ::WinFriend;
4928
4963
  friend class ::ExtAC;
4929
4964
  friend class ::ExtACBuilderCoupling;
4930
4965
  friend class ::ExtACSyntaxCoupling;
4931
4966
  friend class ::ExtACTree;
4932
4967
  friend class ::ExtACKeywords;
4933
 
  friend class ::WinAsm;
4934
 
  friend class ::WinDeclSpecs;
4935
 
  friend class ::WinMemberExplSpec;
4936
 
  friend class ::WinTypeKeywords;
 
4968
  friend class ::ExtGnu;
4937
4969
  friend class ::PragmaOnceUnitState;
4938
4970
  friend class ::PragmaOnce;
4939
 
  friend class ::CCExprResolve;
4940
 
  friend class ::CExprResolve;
 
4971
  friend class ::CMatchSyntax;
4941
4972
 
4942
 
#line 202 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
4973
#line 202 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4943
4974
 
4944
4975
    public:
4945
4976
                                        
4958
4989
 
4959
4990
// The #endif directive.
4960
4991
 
4961
 
#line 4962 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
4992
#line 4993 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
4962
4993
} // closed Puma
 
4994
class CCExprResolve;
 
4995
class CExprResolve;
4963
4996
class WinIfExists;
4964
4997
class WinImportHandler;
4965
4998
class WinMacros;
4966
 
class CMatchSyntax;
4967
 
class ExtGnu;
 
4999
class WinAsm;
 
5000
class WinDeclSpecs;
 
5001
class WinMemberExplSpec;
 
5002
class WinTypeKeywords;
 
5003
class WinFriend;
4968
5004
class ExtAC;
4969
5005
class ExtACBuilderCoupling;
4970
5006
class ExtACSyntaxCoupling;
4971
5007
class ExtACTree;
4972
5008
class ExtACKeywords;
4973
 
class WinAsm;
4974
 
class WinDeclSpecs;
4975
 
class WinMemberExplSpec;
4976
 
class WinTypeKeywords;
 
5009
class ExtGnu;
4977
5010
class PragmaOnceUnitState;
4978
5011
class PragmaOnce;
4979
 
class CCExprResolve;
4980
 
class CExprResolve;
 
5012
class CMatchSyntax;
4981
5013
namespace Puma {
4982
5014
 
4983
 
#line 219 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5015
#line 219 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
4984
5016
class PreEndifDirective : public PreTreeComposite
4985
5017
 {
4986
 
#line 4987 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5018
#line 5019 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5019
  friend class ::CCExprResolve;
 
5020
  friend class ::CExprResolve;
4987
5021
  friend class ::WinIfExists;
4988
5022
  friend class ::WinImportHandler;
4989
5023
  friend class ::WinMacros;
4990
 
  friend class ::CMatchSyntax;
4991
 
  friend class ::ExtGnu;
 
5024
  friend class ::WinAsm;
 
5025
  friend class ::WinDeclSpecs;
 
5026
  friend class ::WinMemberExplSpec;
 
5027
  friend class ::WinTypeKeywords;
 
5028
  friend class ::WinFriend;
4992
5029
  friend class ::ExtAC;
4993
5030
  friend class ::ExtACBuilderCoupling;
4994
5031
  friend class ::ExtACSyntaxCoupling;
4995
5032
  friend class ::ExtACTree;
4996
5033
  friend class ::ExtACKeywords;
4997
 
  friend class ::WinAsm;
4998
 
  friend class ::WinDeclSpecs;
4999
 
  friend class ::WinMemberExplSpec;
5000
 
  friend class ::WinTypeKeywords;
 
5034
  friend class ::ExtGnu;
5001
5035
  friend class ::PragmaOnceUnitState;
5002
5036
  friend class ::PragmaOnce;
5003
 
  friend class ::CCExprResolve;
5004
 
  friend class ::CExprResolve;
 
5037
  friend class ::CMatchSyntax;
5005
5038
 
5006
 
#line 220 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5039
#line 220 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5007
5040
 
5008
5041
    public:
5009
5042
                                        
5022
5055
 
5023
5056
// The #include and #include_next directive.
5024
5057
 
5025
 
#line 5026 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5058
#line 5059 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5026
5059
} // closed Puma
 
5060
class CCExprResolve;
 
5061
class CExprResolve;
5027
5062
class WinIfExists;
5028
5063
class WinImportHandler;
5029
5064
class WinMacros;
5030
 
class CMatchSyntax;
5031
 
class ExtGnu;
 
5065
class WinAsm;
 
5066
class WinDeclSpecs;
 
5067
class WinMemberExplSpec;
 
5068
class WinTypeKeywords;
 
5069
class WinFriend;
5032
5070
class ExtAC;
5033
5071
class ExtACBuilderCoupling;
5034
5072
class ExtACSyntaxCoupling;
5035
5073
class ExtACTree;
5036
5074
class ExtACKeywords;
5037
 
class WinAsm;
5038
 
class WinDeclSpecs;
5039
 
class WinMemberExplSpec;
5040
 
class WinTypeKeywords;
 
5075
class ExtGnu;
5041
5076
class PragmaOnceUnitState;
5042
5077
class PragmaOnce;
5043
 
class CCExprResolve;
5044
 
class CExprResolve;
 
5078
class CMatchSyntax;
5045
5079
namespace Puma {
5046
5080
 
5047
 
#line 237 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5081
#line 237 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5048
5082
class PreIncludeDirective : public PreTreeComposite
5049
5083
 {
5050
 
#line 5051 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5084
#line 5085 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5085
  friend class ::CCExprResolve;
 
5086
  friend class ::CExprResolve;
5051
5087
  friend class ::WinIfExists;
5052
5088
  friend class ::WinImportHandler;
5053
5089
  friend class ::WinMacros;
5054
 
  friend class ::CMatchSyntax;
5055
 
  friend class ::ExtGnu;
 
5090
  friend class ::WinAsm;
 
5091
  friend class ::WinDeclSpecs;
 
5092
  friend class ::WinMemberExplSpec;
 
5093
  friend class ::WinTypeKeywords;
 
5094
  friend class ::WinFriend;
5056
5095
  friend class ::ExtAC;
5057
5096
  friend class ::ExtACBuilderCoupling;
5058
5097
  friend class ::ExtACSyntaxCoupling;
5059
5098
  friend class ::ExtACTree;
5060
5099
  friend class ::ExtACKeywords;
5061
 
  friend class ::WinAsm;
5062
 
  friend class ::WinDeclSpecs;
5063
 
  friend class ::WinMemberExplSpec;
5064
 
  friend class ::WinTypeKeywords;
 
5100
  friend class ::ExtGnu;
5065
5101
  friend class ::PragmaOnceUnitState;
5066
5102
  friend class ::PragmaOnce;
5067
 
  friend class ::CCExprResolve;
5068
 
  friend class ::CExprResolve;
 
5103
  friend class ::CMatchSyntax;
5069
5104
 
5070
 
#line 238 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5105
#line 238 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5071
5106
 
5072
5107
        int _depth;
5073
5108
 
5102
5137
 
5103
5138
// The #assert directive.
5104
5139
 
5105
 
#line 5106 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5140
#line 5141 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5106
5141
} // closed Puma
 
5142
class CCExprResolve;
 
5143
class CExprResolve;
5107
5144
class WinIfExists;
5108
5145
class WinImportHandler;
5109
5146
class WinMacros;
5110
 
class CMatchSyntax;
5111
 
class ExtGnu;
 
5147
class WinAsm;
 
5148
class WinDeclSpecs;
 
5149
class WinMemberExplSpec;
 
5150
class WinTypeKeywords;
 
5151
class WinFriend;
5112
5152
class ExtAC;
5113
5153
class ExtACBuilderCoupling;
5114
5154
class ExtACSyntaxCoupling;
5115
5155
class ExtACTree;
5116
5156
class ExtACKeywords;
5117
 
class WinAsm;
5118
 
class WinDeclSpecs;
5119
 
class WinMemberExplSpec;
5120
 
class WinTypeKeywords;
 
5157
class ExtGnu;
5121
5158
class PragmaOnceUnitState;
5122
5159
class PragmaOnce;
5123
 
class CCExprResolve;
5124
 
class CExprResolve;
 
5160
class CMatchSyntax;
5125
5161
namespace Puma {
5126
5162
 
5127
 
#line 271 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5163
#line 271 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5128
5164
class PreAssertDirective : public PreTreeComposite
5129
5165
 {
5130
 
#line 5131 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5166
#line 5167 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5167
  friend class ::CCExprResolve;
 
5168
  friend class ::CExprResolve;
5131
5169
  friend class ::WinIfExists;
5132
5170
  friend class ::WinImportHandler;
5133
5171
  friend class ::WinMacros;
5134
 
  friend class ::CMatchSyntax;
5135
 
  friend class ::ExtGnu;
 
5172
  friend class ::WinAsm;
 
5173
  friend class ::WinDeclSpecs;
 
5174
  friend class ::WinMemberExplSpec;
 
5175
  friend class ::WinTypeKeywords;
 
5176
  friend class ::WinFriend;
5136
5177
  friend class ::ExtAC;
5137
5178
  friend class ::ExtACBuilderCoupling;
5138
5179
  friend class ::ExtACSyntaxCoupling;
5139
5180
  friend class ::ExtACTree;
5140
5181
  friend class ::ExtACKeywords;
5141
 
  friend class ::WinAsm;
5142
 
  friend class ::WinDeclSpecs;
5143
 
  friend class ::WinMemberExplSpec;
5144
 
  friend class ::WinTypeKeywords;
 
5182
  friend class ::ExtGnu;
5145
5183
  friend class ::PragmaOnceUnitState;
5146
5184
  friend class ::PragmaOnce;
5147
 
  friend class ::CCExprResolve;
5148
 
  friend class ::CExprResolve;
 
5185
  friend class ::CMatchSyntax;
5149
5186
 
5150
 
#line 272 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5187
#line 272 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5151
5188
 
5152
5189
    public:
5153
5190
                                        
5169
5206
 
5170
5207
// The #unassert directive.
5171
5208
 
5172
 
#line 5173 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5209
#line 5210 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5173
5210
} // closed Puma
 
5211
class CCExprResolve;
 
5212
class CExprResolve;
5174
5213
class WinIfExists;
5175
5214
class WinImportHandler;
5176
5215
class WinMacros;
5177
 
class CMatchSyntax;
5178
 
class ExtGnu;
 
5216
class WinAsm;
 
5217
class WinDeclSpecs;
 
5218
class WinMemberExplSpec;
 
5219
class WinTypeKeywords;
 
5220
class WinFriend;
5179
5221
class ExtAC;
5180
5222
class ExtACBuilderCoupling;
5181
5223
class ExtACSyntaxCoupling;
5182
5224
class ExtACTree;
5183
5225
class ExtACKeywords;
5184
 
class WinAsm;
5185
 
class WinDeclSpecs;
5186
 
class WinMemberExplSpec;
5187
 
class WinTypeKeywords;
 
5226
class ExtGnu;
5188
5227
class PragmaOnceUnitState;
5189
5228
class PragmaOnce;
5190
 
class CCExprResolve;
5191
 
class CExprResolve;
 
5229
class CMatchSyntax;
5192
5230
namespace Puma {
5193
5231
 
5194
 
#line 292 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5232
#line 292 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5195
5233
class PreUnassertDirective : public PreTreeComposite
5196
5234
 {
5197
 
#line 5198 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5235
#line 5236 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5236
  friend class ::CCExprResolve;
 
5237
  friend class ::CExprResolve;
5198
5238
  friend class ::WinIfExists;
5199
5239
  friend class ::WinImportHandler;
5200
5240
  friend class ::WinMacros;
5201
 
  friend class ::CMatchSyntax;
5202
 
  friend class ::ExtGnu;
 
5241
  friend class ::WinAsm;
 
5242
  friend class ::WinDeclSpecs;
 
5243
  friend class ::WinMemberExplSpec;
 
5244
  friend class ::WinTypeKeywords;
 
5245
  friend class ::WinFriend;
5203
5246
  friend class ::ExtAC;
5204
5247
  friend class ::ExtACBuilderCoupling;
5205
5248
  friend class ::ExtACSyntaxCoupling;
5206
5249
  friend class ::ExtACTree;
5207
5250
  friend class ::ExtACKeywords;
5208
 
  friend class ::WinAsm;
5209
 
  friend class ::WinDeclSpecs;
5210
 
  friend class ::WinMemberExplSpec;
5211
 
  friend class ::WinTypeKeywords;
 
5251
  friend class ::ExtGnu;
5212
5252
  friend class ::PragmaOnceUnitState;
5213
5253
  friend class ::PragmaOnce;
5214
 
  friend class ::CCExprResolve;
5215
 
  friend class ::CExprResolve;
 
5254
  friend class ::CMatchSyntax;
5216
5255
 
5217
 
#line 293 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5256
#line 293 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5218
5257
 
5219
5258
    public:
5220
5259
                                        
5237
5276
// The #define directive that defines function-like macros.
5238
5277
// Like: #define FUNCTION (id,...,id) ... ... ...
5239
5278
 
5240
 
#line 5241 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5279
#line 5280 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5241
5280
} // closed Puma
 
5281
class CCExprResolve;
 
5282
class CExprResolve;
5242
5283
class WinIfExists;
5243
5284
class WinImportHandler;
5244
5285
class WinMacros;
5245
 
class CMatchSyntax;
5246
 
class ExtGnu;
 
5286
class WinAsm;
 
5287
class WinDeclSpecs;
 
5288
class WinMemberExplSpec;
 
5289
class WinTypeKeywords;
 
5290
class WinFriend;
5247
5291
class ExtAC;
5248
5292
class ExtACBuilderCoupling;
5249
5293
class ExtACSyntaxCoupling;
5250
5294
class ExtACTree;
5251
5295
class ExtACKeywords;
5252
 
class WinAsm;
5253
 
class WinDeclSpecs;
5254
 
class WinMemberExplSpec;
5255
 
class WinTypeKeywords;
 
5296
class ExtGnu;
5256
5297
class PragmaOnceUnitState;
5257
5298
class PragmaOnce;
5258
 
class CCExprResolve;
5259
 
class CExprResolve;
 
5299
class CMatchSyntax;
5260
5300
namespace Puma {
5261
5301
 
5262
 
#line 314 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5302
#line 314 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5263
5303
class PreDefineFunctionDirective : public PreTreeComposite
5264
5304
 {
5265
 
#line 5266 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5305
#line 5306 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5306
  friend class ::CCExprResolve;
 
5307
  friend class ::CExprResolve;
5266
5308
  friend class ::WinIfExists;
5267
5309
  friend class ::WinImportHandler;
5268
5310
  friend class ::WinMacros;
5269
 
  friend class ::CMatchSyntax;
5270
 
  friend class ::ExtGnu;
 
5311
  friend class ::WinAsm;
 
5312
  friend class ::WinDeclSpecs;
 
5313
  friend class ::WinMemberExplSpec;
 
5314
  friend class ::WinTypeKeywords;
 
5315
  friend class ::WinFriend;
5271
5316
  friend class ::ExtAC;
5272
5317
  friend class ::ExtACBuilderCoupling;
5273
5318
  friend class ::ExtACSyntaxCoupling;
5274
5319
  friend class ::ExtACTree;
5275
5320
  friend class ::ExtACKeywords;
5276
 
  friend class ::WinAsm;
5277
 
  friend class ::WinDeclSpecs;
5278
 
  friend class ::WinMemberExplSpec;
5279
 
  friend class ::WinTypeKeywords;
 
5321
  friend class ::ExtGnu;
5280
5322
  friend class ::PragmaOnceUnitState;
5281
5323
  friend class ::PragmaOnce;
5282
 
  friend class ::CCExprResolve;
5283
 
  friend class ::CExprResolve;
 
5324
  friend class ::CMatchSyntax;
5284
5325
 
5285
 
#line 315 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5326
#line 315 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5286
5327
 
5287
5328
    public:
5288
5329
                                        
5326
5367
// The #define directive that defines symbolic constants macros.
5327
5368
// Like: #define CONSTANT ... ... ...
5328
5369
 
5329
 
#line 5330 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5370
#line 5371 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5330
5371
} // closed Puma
 
5372
class CCExprResolve;
 
5373
class CExprResolve;
5331
5374
class WinIfExists;
5332
5375
class WinImportHandler;
5333
5376
class WinMacros;
5334
 
class CMatchSyntax;
5335
 
class ExtGnu;
 
5377
class WinAsm;
 
5378
class WinDeclSpecs;
 
5379
class WinMemberExplSpec;
 
5380
class WinTypeKeywords;
 
5381
class WinFriend;
5336
5382
class ExtAC;
5337
5383
class ExtACBuilderCoupling;
5338
5384
class ExtACSyntaxCoupling;
5339
5385
class ExtACTree;
5340
5386
class ExtACKeywords;
5341
 
class WinAsm;
5342
 
class WinDeclSpecs;
5343
 
class WinMemberExplSpec;
5344
 
class WinTypeKeywords;
 
5387
class ExtGnu;
5345
5388
class PragmaOnceUnitState;
5346
5389
class PragmaOnce;
5347
 
class CCExprResolve;
5348
 
class CExprResolve;
 
5390
class CMatchSyntax;
5349
5391
namespace Puma {
5350
5392
 
5351
 
#line 357 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5393
#line 357 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5352
5394
class PreDefineConstantDirective : public PreTreeComposite
5353
5395
 {
5354
 
#line 5355 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5396
#line 5397 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5397
  friend class ::CCExprResolve;
 
5398
  friend class ::CExprResolve;
5355
5399
  friend class ::WinIfExists;
5356
5400
  friend class ::WinImportHandler;
5357
5401
  friend class ::WinMacros;
5358
 
  friend class ::CMatchSyntax;
5359
 
  friend class ::ExtGnu;
 
5402
  friend class ::WinAsm;
 
5403
  friend class ::WinDeclSpecs;
 
5404
  friend class ::WinMemberExplSpec;
 
5405
  friend class ::WinTypeKeywords;
 
5406
  friend class ::WinFriend;
5360
5407
  friend class ::ExtAC;
5361
5408
  friend class ::ExtACBuilderCoupling;
5362
5409
  friend class ::ExtACSyntaxCoupling;
5363
5410
  friend class ::ExtACTree;
5364
5411
  friend class ::ExtACKeywords;
5365
 
  friend class ::WinAsm;
5366
 
  friend class ::WinDeclSpecs;
5367
 
  friend class ::WinMemberExplSpec;
5368
 
  friend class ::WinTypeKeywords;
 
5412
  friend class ::ExtGnu;
5369
5413
  friend class ::PragmaOnceUnitState;
5370
5414
  friend class ::PragmaOnce;
5371
 
  friend class ::CCExprResolve;
5372
 
  friend class ::CExprResolve;
 
5415
  friend class ::CMatchSyntax;
5373
5416
 
5374
 
#line 358 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5417
#line 358 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5375
5418
 
5376
5419
    public:
5377
5420
                                        
5393
5436
 
5394
5437
// The #undef directive.
5395
5438
 
5396
 
#line 5397 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5439
#line 5440 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5397
5440
} // closed Puma
 
5441
class CCExprResolve;
 
5442
class CExprResolve;
5398
5443
class WinIfExists;
5399
5444
class WinImportHandler;
5400
5445
class WinMacros;
5401
 
class CMatchSyntax;
5402
 
class ExtGnu;
 
5446
class WinAsm;
 
5447
class WinDeclSpecs;
 
5448
class WinMemberExplSpec;
 
5449
class WinTypeKeywords;
 
5450
class WinFriend;
5403
5451
class ExtAC;
5404
5452
class ExtACBuilderCoupling;
5405
5453
class ExtACSyntaxCoupling;
5406
5454
class ExtACTree;
5407
5455
class ExtACKeywords;
5408
 
class WinAsm;
5409
 
class WinDeclSpecs;
5410
 
class WinMemberExplSpec;
5411
 
class WinTypeKeywords;
 
5456
class ExtGnu;
5412
5457
class PragmaOnceUnitState;
5413
5458
class PragmaOnce;
5414
 
class CCExprResolve;
5415
 
class CExprResolve;
 
5459
class CMatchSyntax;
5416
5460
namespace Puma {
5417
5461
 
5418
 
#line 378 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5462
#line 378 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5419
5463
class PreUndefDirective : public PreTreeComposite
5420
5464
 {
5421
 
#line 5422 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5465
#line 5466 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5466
  friend class ::CCExprResolve;
 
5467
  friend class ::CExprResolve;
5422
5468
  friend class ::WinIfExists;
5423
5469
  friend class ::WinImportHandler;
5424
5470
  friend class ::WinMacros;
5425
 
  friend class ::CMatchSyntax;
5426
 
  friend class ::ExtGnu;
 
5471
  friend class ::WinAsm;
 
5472
  friend class ::WinDeclSpecs;
 
5473
  friend class ::WinMemberExplSpec;
 
5474
  friend class ::WinTypeKeywords;
 
5475
  friend class ::WinFriend;
5427
5476
  friend class ::ExtAC;
5428
5477
  friend class ::ExtACBuilderCoupling;
5429
5478
  friend class ::ExtACSyntaxCoupling;
5430
5479
  friend class ::ExtACTree;
5431
5480
  friend class ::ExtACKeywords;
5432
 
  friend class ::WinAsm;
5433
 
  friend class ::WinDeclSpecs;
5434
 
  friend class ::WinMemberExplSpec;
5435
 
  friend class ::WinTypeKeywords;
 
5481
  friend class ::ExtGnu;
5436
5482
  friend class ::PragmaOnceUnitState;
5437
5483
  friend class ::PragmaOnce;
5438
 
  friend class ::CCExprResolve;
5439
 
  friend class ::CExprResolve;
 
5484
  friend class ::CMatchSyntax;
5440
5485
 
5441
 
#line 379 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5486
#line 379 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5442
5487
 
5443
5488
    public:
5444
5489
                                        
5460
5505
 
5461
5506
// The #warning directive.
5462
5507
 
5463
 
#line 5464 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5508
#line 5509 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5464
5509
} // closed Puma
 
5510
class CCExprResolve;
 
5511
class CExprResolve;
5465
5512
class WinIfExists;
5466
5513
class WinImportHandler;
5467
5514
class WinMacros;
5468
 
class CMatchSyntax;
5469
 
class ExtGnu;
 
5515
class WinAsm;
 
5516
class WinDeclSpecs;
 
5517
class WinMemberExplSpec;
 
5518
class WinTypeKeywords;
 
5519
class WinFriend;
5470
5520
class ExtAC;
5471
5521
class ExtACBuilderCoupling;
5472
5522
class ExtACSyntaxCoupling;
5473
5523
class ExtACTree;
5474
5524
class ExtACKeywords;
5475
 
class WinAsm;
5476
 
class WinDeclSpecs;
5477
 
class WinMemberExplSpec;
5478
 
class WinTypeKeywords;
 
5525
class ExtGnu;
5479
5526
class PragmaOnceUnitState;
5480
5527
class PragmaOnce;
5481
 
class CCExprResolve;
5482
 
class CExprResolve;
 
5528
class CMatchSyntax;
5483
5529
namespace Puma {
5484
5530
 
5485
 
#line 399 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5531
#line 399 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5486
5532
class PreWarningDirective : public PreTreeComposite
5487
5533
 {
5488
 
#line 5489 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5534
#line 5535 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5535
  friend class ::CCExprResolve;
 
5536
  friend class ::CExprResolve;
5489
5537
  friend class ::WinIfExists;
5490
5538
  friend class ::WinImportHandler;
5491
5539
  friend class ::WinMacros;
5492
 
  friend class ::CMatchSyntax;
5493
 
  friend class ::ExtGnu;
 
5540
  friend class ::WinAsm;
 
5541
  friend class ::WinDeclSpecs;
 
5542
  friend class ::WinMemberExplSpec;
 
5543
  friend class ::WinTypeKeywords;
 
5544
  friend class ::WinFriend;
5494
5545
  friend class ::ExtAC;
5495
5546
  friend class ::ExtACBuilderCoupling;
5496
5547
  friend class ::ExtACSyntaxCoupling;
5497
5548
  friend class ::ExtACTree;
5498
5549
  friend class ::ExtACKeywords;
5499
 
  friend class ::WinAsm;
5500
 
  friend class ::WinDeclSpecs;
5501
 
  friend class ::WinMemberExplSpec;
5502
 
  friend class ::WinTypeKeywords;
 
5550
  friend class ::ExtGnu;
5503
5551
  friend class ::PragmaOnceUnitState;
5504
5552
  friend class ::PragmaOnce;
5505
 
  friend class ::CCExprResolve;
5506
 
  friend class ::CExprResolve;
 
5553
  friend class ::CMatchSyntax;
5507
5554
 
5508
 
#line 400 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5555
#line 400 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5509
5556
 
5510
5557
    public:
5511
5558
                                        
5524
5571
 
5525
5572
// The #error directive.
5526
5573
 
5527
 
#line 5528 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5574
#line 5575 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5528
5575
} // closed Puma
 
5576
class CCExprResolve;
 
5577
class CExprResolve;
5529
5578
class WinIfExists;
5530
5579
class WinImportHandler;
5531
5580
class WinMacros;
5532
 
class CMatchSyntax;
5533
 
class ExtGnu;
 
5581
class WinAsm;
 
5582
class WinDeclSpecs;
 
5583
class WinMemberExplSpec;
 
5584
class WinTypeKeywords;
 
5585
class WinFriend;
5534
5586
class ExtAC;
5535
5587
class ExtACBuilderCoupling;
5536
5588
class ExtACSyntaxCoupling;
5537
5589
class ExtACTree;
5538
5590
class ExtACKeywords;
5539
 
class WinAsm;
5540
 
class WinDeclSpecs;
5541
 
class WinMemberExplSpec;
5542
 
class WinTypeKeywords;
 
5591
class ExtGnu;
5543
5592
class PragmaOnceUnitState;
5544
5593
class PragmaOnce;
5545
 
class CCExprResolve;
5546
 
class CExprResolve;
 
5594
class CMatchSyntax;
5547
5595
namespace Puma {
5548
5596
 
5549
 
#line 417 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5597
#line 417 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5550
5598
class PreErrorDirective : public PreTreeComposite
5551
5599
 {
5552
 
#line 5553 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5600
#line 5601 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5601
  friend class ::CCExprResolve;
 
5602
  friend class ::CExprResolve;
5553
5603
  friend class ::WinIfExists;
5554
5604
  friend class ::WinImportHandler;
5555
5605
  friend class ::WinMacros;
5556
 
  friend class ::CMatchSyntax;
5557
 
  friend class ::ExtGnu;
 
5606
  friend class ::WinAsm;
 
5607
  friend class ::WinDeclSpecs;
 
5608
  friend class ::WinMemberExplSpec;
 
5609
  friend class ::WinTypeKeywords;
 
5610
  friend class ::WinFriend;
5558
5611
  friend class ::ExtAC;
5559
5612
  friend class ::ExtACBuilderCoupling;
5560
5613
  friend class ::ExtACSyntaxCoupling;
5561
5614
  friend class ::ExtACTree;
5562
5615
  friend class ::ExtACKeywords;
5563
 
  friend class ::WinAsm;
5564
 
  friend class ::WinDeclSpecs;
5565
 
  friend class ::WinMemberExplSpec;
5566
 
  friend class ::WinTypeKeywords;
 
5616
  friend class ::ExtGnu;
5567
5617
  friend class ::PragmaOnceUnitState;
5568
5618
  friend class ::PragmaOnce;
5569
 
  friend class ::CCExprResolve;
5570
 
  friend class ::CExprResolve;
 
5619
  friend class ::CMatchSyntax;
5571
5620
 
5572
 
#line 418 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5621
#line 418 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5573
5622
 
5574
5623
    public:
5575
5624
                                        
5589
5638
// Collects comma separated argument identifiers for a function-like macro.
5590
5639
// Like: id, id, ..., id.
5591
5640
 
5592
 
#line 5593 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5641
#line 5642 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5593
5642
} // closed Puma
 
5643
class CCExprResolve;
 
5644
class CExprResolve;
5594
5645
class WinIfExists;
5595
5646
class WinImportHandler;
5596
5647
class WinMacros;
5597
 
class CMatchSyntax;
5598
 
class ExtGnu;
 
5648
class WinAsm;
 
5649
class WinDeclSpecs;
 
5650
class WinMemberExplSpec;
 
5651
class WinTypeKeywords;
 
5652
class WinFriend;
5599
5653
class ExtAC;
5600
5654
class ExtACBuilderCoupling;
5601
5655
class ExtACSyntaxCoupling;
5602
5656
class ExtACTree;
5603
5657
class ExtACKeywords;
5604
 
class WinAsm;
5605
 
class WinDeclSpecs;
5606
 
class WinMemberExplSpec;
5607
 
class WinTypeKeywords;
 
5658
class ExtGnu;
5608
5659
class PragmaOnceUnitState;
5609
5660
class PragmaOnce;
5610
 
class CCExprResolve;
5611
 
class CExprResolve;
 
5661
class CMatchSyntax;
5612
5662
namespace Puma {
5613
5663
 
5614
 
#line 436 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5664
#line 436 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5615
5665
class PreIdentifierList : public PreTreeComposite
5616
5666
 {
5617
 
#line 5618 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5667
#line 5668 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5668
  friend class ::CCExprResolve;
 
5669
  friend class ::CExprResolve;
5618
5670
  friend class ::WinIfExists;
5619
5671
  friend class ::WinImportHandler;
5620
5672
  friend class ::WinMacros;
5621
 
  friend class ::CMatchSyntax;
5622
 
  friend class ::ExtGnu;
 
5673
  friend class ::WinAsm;
 
5674
  friend class ::WinDeclSpecs;
 
5675
  friend class ::WinMemberExplSpec;
 
5676
  friend class ::WinTypeKeywords;
 
5677
  friend class ::WinFriend;
5623
5678
  friend class ::ExtAC;
5624
5679
  friend class ::ExtACBuilderCoupling;
5625
5680
  friend class ::ExtACSyntaxCoupling;
5626
5681
  friend class ::ExtACTree;
5627
5682
  friend class ::ExtACKeywords;
5628
 
  friend class ::WinAsm;
5629
 
  friend class ::WinDeclSpecs;
5630
 
  friend class ::WinMemberExplSpec;
5631
 
  friend class ::WinTypeKeywords;
 
5683
  friend class ::ExtGnu;
5632
5684
  friend class ::PragmaOnceUnitState;
5633
5685
  friend class ::PragmaOnce;
5634
 
  friend class ::CCExprResolve;
5635
 
  friend class ::CExprResolve;
 
5686
  friend class ::CMatchSyntax;
5636
5687
 
5637
 
#line 437 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5688
#line 437 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5638
5689
 
5639
5690
    public:
5640
5691
                                        // Dynamic sons, no daughters. 
5656
5707
 
5657
5708
// Collects every kind of token  (except comments) for the macro body.
5658
5709
 
5659
 
#line 5660 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5710
#line 5711 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5660
5711
} // closed Puma
 
5712
class CCExprResolve;
 
5713
class CExprResolve;
5661
5714
class WinIfExists;
5662
5715
class WinImportHandler;
5663
5716
class WinMacros;
5664
 
class CMatchSyntax;
5665
 
class ExtGnu;
 
5717
class WinAsm;
 
5718
class WinDeclSpecs;
 
5719
class WinMemberExplSpec;
 
5720
class WinTypeKeywords;
 
5721
class WinFriend;
5666
5722
class ExtAC;
5667
5723
class ExtACBuilderCoupling;
5668
5724
class ExtACSyntaxCoupling;
5669
5725
class ExtACTree;
5670
5726
class ExtACKeywords;
5671
 
class WinAsm;
5672
 
class WinDeclSpecs;
5673
 
class WinMemberExplSpec;
5674
 
class WinTypeKeywords;
 
5727
class ExtGnu;
5675
5728
class PragmaOnceUnitState;
5676
5729
class PragmaOnce;
5677
 
class CCExprResolve;
5678
 
class CExprResolve;
 
5730
class CMatchSyntax;
5679
5731
namespace Puma {
5680
5732
 
5681
 
#line 457 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5733
#line 457 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5682
5734
class PreTokenList : public PreTreeComposite
5683
5735
 {
5684
 
#line 5685 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5736
#line 5737 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5737
  friend class ::CCExprResolve;
 
5738
  friend class ::CExprResolve;
5685
5739
  friend class ::WinIfExists;
5686
5740
  friend class ::WinImportHandler;
5687
5741
  friend class ::WinMacros;
5688
 
  friend class ::CMatchSyntax;
5689
 
  friend class ::ExtGnu;
 
5742
  friend class ::WinAsm;
 
5743
  friend class ::WinDeclSpecs;
 
5744
  friend class ::WinMemberExplSpec;
 
5745
  friend class ::WinTypeKeywords;
 
5746
  friend class ::WinFriend;
5690
5747
  friend class ::ExtAC;
5691
5748
  friend class ::ExtACBuilderCoupling;
5692
5749
  friend class ::ExtACSyntaxCoupling;
5693
5750
  friend class ::ExtACTree;
5694
5751
  friend class ::ExtACKeywords;
5695
 
  friend class ::WinAsm;
5696
 
  friend class ::WinDeclSpecs;
5697
 
  friend class ::WinMemberExplSpec;
5698
 
  friend class ::WinTypeKeywords;
 
5752
  friend class ::ExtGnu;
5699
5753
  friend class ::PragmaOnceUnitState;
5700
5754
  friend class ::PragmaOnce;
5701
 
  friend class ::CCExprResolve;
5702
 
  friend class ::CExprResolve;
 
5755
  friend class ::CMatchSyntax;
5703
5756
 
5704
 
#line 458 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5757
#line 458 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5705
5758
 
5706
5759
    public:
5707
5760
                                        
5725
5778
 
5726
5779
// Contains every kind of token  (except comments) for the macro body.
5727
5780
 
5728
 
#line 5729 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5781
#line 5782 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5729
5782
} // closed Puma
 
5783
class CCExprResolve;
 
5784
class CExprResolve;
5730
5785
class WinIfExists;
5731
5786
class WinImportHandler;
5732
5787
class WinMacros;
5733
 
class CMatchSyntax;
5734
 
class ExtGnu;
 
5788
class WinAsm;
 
5789
class WinDeclSpecs;
 
5790
class WinMemberExplSpec;
 
5791
class WinTypeKeywords;
 
5792
class WinFriend;
5735
5793
class ExtAC;
5736
5794
class ExtACBuilderCoupling;
5737
5795
class ExtACSyntaxCoupling;
5738
5796
class ExtACTree;
5739
5797
class ExtACKeywords;
5740
 
class WinAsm;
5741
 
class WinDeclSpecs;
5742
 
class WinMemberExplSpec;
5743
 
class WinTypeKeywords;
 
5798
class ExtGnu;
5744
5799
class PragmaOnceUnitState;
5745
5800
class PragmaOnce;
5746
 
class CCExprResolve;
5747
 
class CExprResolve;
 
5801
class CMatchSyntax;
5748
5802
namespace Puma {
5749
5803
 
5750
 
#line 480 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5804
#line 480 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5751
5805
class PreTokenListPart : public PreTreeComposite
5752
5806
 {
5753
 
#line 5754 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5807
#line 5808 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5808
  friend class ::CCExprResolve;
 
5809
  friend class ::CExprResolve;
5754
5810
  friend class ::WinIfExists;
5755
5811
  friend class ::WinImportHandler;
5756
5812
  friend class ::WinMacros;
5757
 
  friend class ::CMatchSyntax;
5758
 
  friend class ::ExtGnu;
 
5813
  friend class ::WinAsm;
 
5814
  friend class ::WinDeclSpecs;
 
5815
  friend class ::WinMemberExplSpec;
 
5816
  friend class ::WinTypeKeywords;
 
5817
  friend class ::WinFriend;
5759
5818
  friend class ::ExtAC;
5760
5819
  friend class ::ExtACBuilderCoupling;
5761
5820
  friend class ::ExtACSyntaxCoupling;
5762
5821
  friend class ::ExtACTree;
5763
5822
  friend class ::ExtACKeywords;
5764
 
  friend class ::WinAsm;
5765
 
  friend class ::WinDeclSpecs;
5766
 
  friend class ::WinMemberExplSpec;
5767
 
  friend class ::WinTypeKeywords;
 
5823
  friend class ::ExtGnu;
5768
5824
  friend class ::PragmaOnceUnitState;
5769
5825
  friend class ::PragmaOnce;
5770
 
  friend class ::CCExprResolve;
5771
 
  friend class ::CExprResolve;
 
5826
  friend class ::CMatchSyntax;
5772
5827
 
5773
 
#line 481 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5828
#line 481 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5774
5829
 
5775
5830
    public:
5776
5831
                                        // Dynamic sons, no daughters.
5788
5843
 
5789
5844
// Semantic node for conditionals.
5790
5845
 
5791
 
#line 5792 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5846
#line 5847 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5792
5847
} // closed Puma
 
5848
class CCExprResolve;
 
5849
class CExprResolve;
5793
5850
class WinIfExists;
5794
5851
class WinImportHandler;
5795
5852
class WinMacros;
5796
 
class CMatchSyntax;
5797
 
class ExtGnu;
 
5853
class WinAsm;
 
5854
class WinDeclSpecs;
 
5855
class WinMemberExplSpec;
 
5856
class WinTypeKeywords;
 
5857
class WinFriend;
5798
5858
class ExtAC;
5799
5859
class ExtACBuilderCoupling;
5800
5860
class ExtACSyntaxCoupling;
5801
5861
class ExtACTree;
5802
5862
class ExtACKeywords;
5803
 
class WinAsm;
5804
 
class WinDeclSpecs;
5805
 
class WinMemberExplSpec;
5806
 
class WinTypeKeywords;
 
5863
class ExtGnu;
5807
5864
class PragmaOnceUnitState;
5808
5865
class PragmaOnce;
5809
 
class CCExprResolve;
5810
 
class CExprResolve;
 
5866
class CMatchSyntax;
5811
5867
namespace Puma {
5812
5868
 
5813
 
#line 497 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5869
#line 497 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5814
5870
class PreCondSemNode : public PreTree
5815
5871
 {
5816
 
#line 5817 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5872
#line 5873 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5873
  friend class ::CCExprResolve;
 
5874
  friend class ::CExprResolve;
5817
5875
  friend class ::WinIfExists;
5818
5876
  friend class ::WinImportHandler;
5819
5877
  friend class ::WinMacros;
5820
 
  friend class ::CMatchSyntax;
5821
 
  friend class ::ExtGnu;
 
5878
  friend class ::WinAsm;
 
5879
  friend class ::WinDeclSpecs;
 
5880
  friend class ::WinMemberExplSpec;
 
5881
  friend class ::WinTypeKeywords;
 
5882
  friend class ::WinFriend;
5822
5883
  friend class ::ExtAC;
5823
5884
  friend class ::ExtACBuilderCoupling;
5824
5885
  friend class ::ExtACSyntaxCoupling;
5825
5886
  friend class ::ExtACTree;
5826
5887
  friend class ::ExtACKeywords;
5827
 
  friend class ::WinAsm;
5828
 
  friend class ::WinDeclSpecs;
5829
 
  friend class ::WinMemberExplSpec;
5830
 
  friend class ::WinTypeKeywords;
 
5888
  friend class ::ExtGnu;
5831
5889
  friend class ::PragmaOnceUnitState;
5832
5890
  friend class ::PragmaOnce;
5833
 
  friend class ::CCExprResolve;
5834
 
  friend class ::CExprResolve;
 
5891
  friend class ::CMatchSyntax;
5835
5892
 
5836
 
#line 498 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5893
#line 498 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5837
5894
 
5838
5895
        // Boolean value of the condition of a conditional.
5839
5896
        bool _value;
5854
5911
 
5855
5912
// Semantic node for the #include directive.
5856
5913
 
5857
 
#line 5858 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5914
#line 5915 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5858
5915
} // closed Puma
 
5916
class CCExprResolve;
 
5917
class CExprResolve;
5859
5918
class WinIfExists;
5860
5919
class WinImportHandler;
5861
5920
class WinMacros;
5862
 
class CMatchSyntax;
5863
 
class ExtGnu;
 
5921
class WinAsm;
 
5922
class WinDeclSpecs;
 
5923
class WinMemberExplSpec;
 
5924
class WinTypeKeywords;
 
5925
class WinFriend;
5864
5926
class ExtAC;
5865
5927
class ExtACBuilderCoupling;
5866
5928
class ExtACSyntaxCoupling;
5867
5929
class ExtACTree;
5868
5930
class ExtACKeywords;
5869
 
class WinAsm;
5870
 
class WinDeclSpecs;
5871
 
class WinMemberExplSpec;
5872
 
class WinTypeKeywords;
 
5931
class ExtGnu;
5873
5932
class PragmaOnceUnitState;
5874
5933
class PragmaOnce;
5875
 
class CCExprResolve;
5876
 
class CExprResolve;
 
5934
class CMatchSyntax;
5877
5935
namespace Puma {
5878
5936
 
5879
 
#line 517 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5937
#line 517 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5880
5938
class PreInclSemNode : public PreTree
5881
5939
 {
5882
 
#line 5883 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5940
#line 5941 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5941
  friend class ::CCExprResolve;
 
5942
  friend class ::CExprResolve;
5883
5943
  friend class ::WinIfExists;
5884
5944
  friend class ::WinImportHandler;
5885
5945
  friend class ::WinMacros;
5886
 
  friend class ::CMatchSyntax;
5887
 
  friend class ::ExtGnu;
 
5946
  friend class ::WinAsm;
 
5947
  friend class ::WinDeclSpecs;
 
5948
  friend class ::WinMemberExplSpec;
 
5949
  friend class ::WinTypeKeywords;
 
5950
  friend class ::WinFriend;
5888
5951
  friend class ::ExtAC;
5889
5952
  friend class ::ExtACBuilderCoupling;
5890
5953
  friend class ::ExtACSyntaxCoupling;
5891
5954
  friend class ::ExtACTree;
5892
5955
  friend class ::ExtACKeywords;
5893
 
  friend class ::WinAsm;
5894
 
  friend class ::WinDeclSpecs;
5895
 
  friend class ::WinMemberExplSpec;
5896
 
  friend class ::WinTypeKeywords;
 
5956
  friend class ::ExtGnu;
5897
5957
  friend class ::PragmaOnceUnitState;
5898
5958
  friend class ::PragmaOnce;
5899
 
  friend class ::CCExprResolve;
5900
 
  friend class ::CExprResolve;
 
5959
  friend class ::CMatchSyntax;
5901
5960
 
5902
 
#line 518 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
5961
#line 518 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5903
5962
 
5904
5963
        // Pointer of the included file unit.
5905
5964
        Unit* _unit;
5929
5988
// Special parse error node to show the location of an error in the
5930
5989
// preprocessor syntax tree.
5931
5990
 
5932
 
#line 5933 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
5991
#line 5992 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
5933
5992
} // closed Puma
 
5993
class CCExprResolve;
 
5994
class CExprResolve;
5934
5995
class WinIfExists;
5935
5996
class WinImportHandler;
5936
5997
class WinMacros;
5937
 
class CMatchSyntax;
5938
 
class ExtGnu;
 
5998
class WinAsm;
 
5999
class WinDeclSpecs;
 
6000
class WinMemberExplSpec;
 
6001
class WinTypeKeywords;
 
6002
class WinFriend;
5939
6003
class ExtAC;
5940
6004
class ExtACBuilderCoupling;
5941
6005
class ExtACSyntaxCoupling;
5942
6006
class ExtACTree;
5943
6007
class ExtACKeywords;
5944
 
class WinAsm;
5945
 
class WinDeclSpecs;
5946
 
class WinMemberExplSpec;
5947
 
class WinTypeKeywords;
 
6008
class ExtGnu;
5948
6009
class PragmaOnceUnitState;
5949
6010
class PragmaOnce;
5950
 
class CCExprResolve;
5951
 
class CExprResolve;
 
6011
class CMatchSyntax;
5952
6012
namespace Puma {
5953
6013
 
5954
 
#line 546 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
6014
#line 546 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5955
6015
class PreError : public PreTree
5956
6016
 {
5957
 
#line 5958 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6017
#line 6018 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6018
  friend class ::CCExprResolve;
 
6019
  friend class ::CExprResolve;
5958
6020
  friend class ::WinIfExists;
5959
6021
  friend class ::WinImportHandler;
5960
6022
  friend class ::WinMacros;
5961
 
  friend class ::CMatchSyntax;
5962
 
  friend class ::ExtGnu;
 
6023
  friend class ::WinAsm;
 
6024
  friend class ::WinDeclSpecs;
 
6025
  friend class ::WinMemberExplSpec;
 
6026
  friend class ::WinTypeKeywords;
 
6027
  friend class ::WinFriend;
5963
6028
  friend class ::ExtAC;
5964
6029
  friend class ::ExtACBuilderCoupling;
5965
6030
  friend class ::ExtACSyntaxCoupling;
5966
6031
  friend class ::ExtACTree;
5967
6032
  friend class ::ExtACKeywords;
5968
 
  friend class ::WinAsm;
5969
 
  friend class ::WinDeclSpecs;
5970
 
  friend class ::WinMemberExplSpec;
5971
 
  friend class ::WinTypeKeywords;
 
6033
  friend class ::ExtGnu;
5972
6034
  friend class ::PragmaOnceUnitState;
5973
6035
  friend class ::PragmaOnce;
5974
 
  friend class ::CCExprResolve;
5975
 
  friend class ::CExprResolve;
 
6036
  friend class ::CMatchSyntax;
5976
6037
 
5977
 
#line 547 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
6038
#line 547 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
5978
6039
 
5979
6040
    public:
5980
6041
 
5991
6052
 
5992
6053
#endif /* __pre_syntax_tree_nodes__ */
5993
6054
 
5994
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6055
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
5995
6056
// This file is part of PUMA.
5996
6057
// Copyright (C) 1999-2003  The PUMA developer team.
5997
6058
//                                                                
6020
6081
// to controll which source code will be ignored.
6021
6082
 
6022
6083
 
6023
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6084
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6024
6085
namespace Puma {
6025
6086
 
6026
6087
 
6027
6088
 
6028
 
#line 6029 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6089
#line 6090 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
6029
6090
} // closed Puma
 
6091
class CCExprResolve;
 
6092
class CExprResolve;
6030
6093
class WinIfExists;
6031
6094
class WinImportHandler;
6032
6095
class WinMacros;
6033
 
class CMatchSyntax;
6034
 
class ExtGnu;
 
6096
class WinAsm;
 
6097
class WinDeclSpecs;
 
6098
class WinMemberExplSpec;
 
6099
class WinTypeKeywords;
 
6100
class WinFriend;
6035
6101
class ExtAC;
6036
6102
class ExtACBuilderCoupling;
6037
6103
class ExtACSyntaxCoupling;
6038
6104
class ExtACTree;
6039
6105
class ExtACKeywords;
6040
 
class WinAsm;
6041
 
class WinDeclSpecs;
6042
 
class WinMemberExplSpec;
6043
 
class WinTypeKeywords;
 
6106
class ExtGnu;
6044
6107
class PragmaOnceUnitState;
6045
6108
class PragmaOnce;
6046
 
class CCExprResolve;
6047
 
class CExprResolve;
 
6109
class CMatchSyntax;
6048
6110
namespace Puma {
6049
6111
 
6050
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6112
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6051
6113
class PreLevelState {
6052
 
#line 6053 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6114
#line 6115 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6115
  friend class ::CCExprResolve;
 
6116
  friend class ::CExprResolve;
6053
6117
  friend class ::WinIfExists;
6054
6118
  friend class ::WinImportHandler;
6055
6119
  friend class ::WinMacros;
6056
 
  friend class ::CMatchSyntax;
6057
 
  friend class ::ExtGnu;
 
6120
  friend class ::WinAsm;
 
6121
  friend class ::WinDeclSpecs;
 
6122
  friend class ::WinMemberExplSpec;
 
6123
  friend class ::WinTypeKeywords;
 
6124
  friend class ::WinFriend;
6058
6125
  friend class ::ExtAC;
6059
6126
  friend class ::ExtACBuilderCoupling;
6060
6127
  friend class ::ExtACSyntaxCoupling;
6061
6128
  friend class ::ExtACTree;
6062
6129
  friend class ::ExtACKeywords;
6063
 
  friend class ::WinAsm;
6064
 
  friend class ::WinDeclSpecs;
6065
 
  friend class ::WinMemberExplSpec;
6066
 
  friend class ::WinTypeKeywords;
 
6130
  friend class ::ExtGnu;
6067
6131
  friend class ::PragmaOnceUnitState;
6068
6132
  friend class ::PragmaOnce;
6069
 
  friend class ::CCExprResolve;
6070
 
  friend class ::CExprResolve;
 
6133
  friend class ::CMatchSyntax;
6071
6134
 
6072
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6135
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6073
6136
 
6074
6137
  long _level;
6075
6138
        
6076
6139
  // The state structure.
6077
6140
  struct _state {
6078
 
#line 6079 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6141
#line 6142 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6142
  friend class ::CCExprResolve;
 
6143
  friend class ::CExprResolve;
6079
6144
  friend class ::WinIfExists;
6080
6145
  friend class ::WinImportHandler;
6081
6146
  friend class ::WinMacros;
6082
 
  friend class ::CMatchSyntax;
6083
 
  friend class ::ExtGnu;
 
6147
  friend class ::WinAsm;
 
6148
  friend class ::WinDeclSpecs;
 
6149
  friend class ::WinMemberExplSpec;
 
6150
  friend class ::WinTypeKeywords;
 
6151
  friend class ::WinFriend;
6084
6152
  friend class ::ExtAC;
6085
6153
  friend class ::ExtACBuilderCoupling;
6086
6154
  friend class ::ExtACSyntaxCoupling;
6087
6155
  friend class ::ExtACTree;
6088
6156
  friend class ::ExtACKeywords;
6089
 
  friend class ::WinAsm;
6090
 
  friend class ::WinDeclSpecs;
6091
 
  friend class ::WinMemberExplSpec;
6092
 
  friend class ::WinTypeKeywords;
 
6157
  friend class ::ExtGnu;
6093
6158
  friend class ::PragmaOnceUnitState;
6094
6159
  friend class ::PragmaOnce;
6095
 
  friend class ::CCExprResolve;
6096
 
  friend class ::CExprResolve;
 
6160
  friend class ::CMatchSyntax;
6097
6161
 
6098
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
 
6162
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreLevelState.h"
6099
6163
 
6100
6164
    bool state;                // The level value.
6101
6165
    bool passOn;        // Decide whether code will be not ignored.
6132
6196
 
6133
6197
#endif /* __pre_level_state__ */
6134
6198
 
6135
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6199
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6136
6200
// This file is part of PUMA.
6137
6201
// Copyright (C) 1999-2003  The PUMA developer team.
6138
6202
//                                                                
6162
6226
using std::set;
6163
6227
 
6164
6228
 
6165
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6229
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6166
6230
// This file is part of PUMA.
6167
6231
// Copyright (C) 1999-2003  The PUMA developer team.
6168
6232
//                                                                
6187
6251
// The macro manager manages all defined macros.
6188
6252
 
6189
6253
 
6190
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6254
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6191
6255
using namespace std;
6192
6256
 
6193
6257
#ifdef __puma
6202
6266
class ErrorStream;
6203
6267
 
6204
6268
 
6205
 
#line 6206 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6269
#line 6270 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
6206
6270
} // closed Puma
 
6271
class CCExprResolve;
 
6272
class CExprResolve;
6207
6273
class WinIfExists;
6208
6274
class WinImportHandler;
6209
6275
class WinMacros;
6210
 
class CMatchSyntax;
6211
 
class ExtGnu;
 
6276
class WinAsm;
 
6277
class WinDeclSpecs;
 
6278
class WinMemberExplSpec;
 
6279
class WinTypeKeywords;
 
6280
class WinFriend;
6212
6281
class ExtAC;
6213
6282
class ExtACBuilderCoupling;
6214
6283
class ExtACSyntaxCoupling;
6215
6284
class ExtACTree;
6216
6285
class ExtACKeywords;
6217
 
class WinAsm;
6218
 
class WinDeclSpecs;
6219
 
class WinMemberExplSpec;
6220
 
class WinTypeKeywords;
 
6286
class ExtGnu;
6221
6287
class PragmaOnceUnitState;
6222
6288
class PragmaOnce;
6223
 
class CCExprResolve;
6224
 
class CExprResolve;
 
6289
class CMatchSyntax;
6225
6290
namespace Puma {
6226
6291
 
6227
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6292
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6228
6293
class PreMacroManager {
6229
 
#line 6230 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6294
#line 6295 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6295
  friend class ::CCExprResolve;
 
6296
  friend class ::CExprResolve;
6230
6297
  friend class ::WinIfExists;
6231
6298
  friend class ::WinImportHandler;
6232
6299
  friend class ::WinMacros;
6233
 
  friend class ::CMatchSyntax;
6234
 
  friend class ::ExtGnu;
 
6300
  friend class ::WinAsm;
 
6301
  friend class ::WinDeclSpecs;
 
6302
  friend class ::WinMemberExplSpec;
 
6303
  friend class ::WinTypeKeywords;
 
6304
  friend class ::WinFriend;
6235
6305
  friend class ::ExtAC;
6236
6306
  friend class ::ExtACBuilderCoupling;
6237
6307
  friend class ::ExtACSyntaxCoupling;
6238
6308
  friend class ::ExtACTree;
6239
6309
  friend class ::ExtACKeywords;
6240
 
  friend class ::WinAsm;
6241
 
  friend class ::WinDeclSpecs;
6242
 
  friend class ::WinMemberExplSpec;
6243
 
  friend class ::WinTypeKeywords;
 
6310
  friend class ::ExtGnu;
6244
6311
  friend class ::PragmaOnceUnitState;
6245
6312
  friend class ::PragmaOnce;
6246
 
  friend class ::CCExprResolve;
6247
 
  friend class ::CExprResolve;
 
6313
  friend class ::CMatchSyntax;
6248
6314
 
6249
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6315
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6250
6316
 
6251
6317
  PreMacro *_Line;
6252
6318
  PreMacro *_Date;
6296
6362
 
6297
6363
#endif /* __pre_macro_manager__ */
6298
6364
 
6299
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6365
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6300
6366
namespace Puma {
6301
6367
 
6302
6368
 
6306
6372
class TokenStream;
6307
6373
 
6308
6374
 
6309
 
#line 6310 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6375
#line 6376 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
6310
6376
} // closed Puma
 
6377
class CCExprResolve;
 
6378
class CExprResolve;
6311
6379
class WinIfExists;
6312
6380
class WinImportHandler;
6313
6381
class WinMacros;
6314
 
class CMatchSyntax;
6315
 
class ExtGnu;
 
6382
class WinAsm;
 
6383
class WinDeclSpecs;
 
6384
class WinMemberExplSpec;
 
6385
class WinTypeKeywords;
 
6386
class WinFriend;
6316
6387
class ExtAC;
6317
6388
class ExtACBuilderCoupling;
6318
6389
class ExtACSyntaxCoupling;
6319
6390
class ExtACTree;
6320
6391
class ExtACKeywords;
6321
 
class WinAsm;
6322
 
class WinDeclSpecs;
6323
 
class WinMemberExplSpec;
6324
 
class WinTypeKeywords;
 
6392
class ExtGnu;
6325
6393
class PragmaOnceUnitState;
6326
6394
class PragmaOnce;
6327
 
class CCExprResolve;
6328
 
class CExprResolve;
 
6395
class CMatchSyntax;
6329
6396
namespace Puma {
6330
6397
 
6331
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6398
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6332
6399
class PreParserState {
6333
 
#line 6334 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6400
#line 6401 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6401
  friend class ::CCExprResolve;
 
6402
  friend class ::CExprResolve;
6334
6403
  friend class ::WinIfExists;
6335
6404
  friend class ::WinImportHandler;
6336
6405
  friend class ::WinMacros;
6337
 
  friend class ::CMatchSyntax;
6338
 
  friend class ::ExtGnu;
 
6406
  friend class ::WinAsm;
 
6407
  friend class ::WinDeclSpecs;
 
6408
  friend class ::WinMemberExplSpec;
 
6409
  friend class ::WinTypeKeywords;
 
6410
  friend class ::WinFriend;
6339
6411
  friend class ::ExtAC;
6340
6412
  friend class ::ExtACBuilderCoupling;
6341
6413
  friend class ::ExtACSyntaxCoupling;
6342
6414
  friend class ::ExtACTree;
6343
6415
  friend class ::ExtACKeywords;
6344
 
  friend class ::WinAsm;
6345
 
  friend class ::WinDeclSpecs;
6346
 
  friend class ::WinMemberExplSpec;
6347
 
  friend class ::WinTypeKeywords;
 
6416
  friend class ::ExtGnu;
6348
6417
  friend class ::PragmaOnceUnitState;
6349
6418
  friend class ::PragmaOnce;
6350
 
  friend class ::CCExprResolve;
6351
 
  friend class ::CExprResolve;
 
6419
  friend class ::CMatchSyntax;
6352
6420
 
6353
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6421
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6354
6422
 
6355
6423
  // some constant strings
6356
6424
  DString _Line, _File, _Date, _Time, _IncLevel;
6405
6473
 
6406
6474
#endif /* __pre_parser_state__ */
6407
6475
 
6408
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
6476
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
6409
6477
 
6410
 
#line 6411 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6478
#line 6479 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
6411
6479
 
6412
6480
#ifndef __ac_fwd_PragmaOnce__
6413
6481
#define __ac_fwd_PragmaOnce__
6414
6482
class PragmaOnce;
6415
6483
namespace AC {
6416
6484
  template <class JoinPoint>
6417
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
6418
 
  template <class JoinPoint>
6419
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
6420
 
  template <class JoinPoint, class Binding>
6421
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
6422
 
  template <class JoinPoint>
6423
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
6485
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
6486
  template <class JoinPoint>
 
6487
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
6488
  template <class JoinPoint>
 
6489
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
6490
  template <class JoinPoint>
 
6491
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
6424
6492
}
6425
6493
#endif
6426
6494
 
6427
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
6428
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6495
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6496
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
6429
6497
#endif
6430
6498
 
6431
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
6499
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
6432
6500
// This file is part of PUMA.
6433
6501
// Copyright (C) 1999-2003  The PUMA developer team.
6434
6502
//                                                                
6453
6521
// Preprocessor class to handle includes.
6454
6522
 
6455
6523
 
6456
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6457
 
 
6458
 
#line 6459 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6459
 
 
6460
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
6524
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6461
6525
// This file is part of PUMA.
6462
6526
// Copyright (C) 1999-2003  The PUMA developer team.
6463
6527
//                                                                
6476
6540
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
6477
6541
// MA  02111-1307  USA                                            
6478
6542
 
6479
 
#ifndef __WinIfExists__
6480
 
#define __WinIfExists__
6481
 
 
6482
 
/********************************************************/
6483
 
/* Win __if_exists and __if_not_exists support aspect   */
6484
 
/********************************************************/
6485
 
 
6486
 
 
6487
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6543
#ifndef __preprocessor_parser__
 
6544
#define __preprocessor_parser__
 
6545
 
 
6546
// Preprocessor parser class. !!! The preprocessor parser has to 
 
6547
// be added last to the composite parser of a translation unit !!!
 
6548
 
 
6549
 
 
6550
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Stack.h"
6488
6551
// This file is part of PUMA.
6489
6552
// Copyright (C) 1999-2003  The PUMA developer team.
6490
6553
//                                                                
6507
6570
#define __stack_h__
6508
6571
 
6509
6572
 
6510
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
6511
 
namespace Puma {
6512
 
 
6513
 
 
6514
 
#line 6515 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6515
 
} // closed Puma
6516
 
class WinIfExists;
6517
 
class WinImportHandler;
6518
 
class WinMacros;
6519
 
class CMatchSyntax;
6520
 
class ExtGnu;
6521
 
class ExtAC;
6522
 
class ExtACBuilderCoupling;
6523
 
class ExtACSyntaxCoupling;
6524
 
class ExtACTree;
6525
 
class ExtACKeywords;
6526
 
class WinAsm;
6527
 
class WinDeclSpecs;
6528
 
class WinMemberExplSpec;
6529
 
class WinTypeKeywords;
6530
 
class PragmaOnceUnitState;
6531
 
class PragmaOnce;
6532
 
class CCExprResolve;
6533
 
class CExprResolve;
6534
 
namespace Puma {
6535
 
 
6536
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6573
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6574
namespace Puma {
 
6575
 
6537
6576
template <class Item>
6538
6577
class Stack : private Array<Item> {
6539
 
#line 6540 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6540
 
  friend class ::WinIfExists;
6541
 
  friend class ::WinImportHandler;
6542
 
  friend class ::WinMacros;
6543
 
  friend class ::CMatchSyntax;
6544
 
  friend class ::ExtGnu;
6545
 
  friend class ::ExtAC;
6546
 
  friend class ::ExtACBuilderCoupling;
6547
 
  friend class ::ExtACSyntaxCoupling;
6548
 
  friend class ::ExtACTree;
6549
 
  friend class ::ExtACKeywords;
6550
 
  friend class ::WinAsm;
6551
 
  friend class ::WinDeclSpecs;
6552
 
  friend class ::WinMemberExplSpec;
6553
 
  friend class ::WinTypeKeywords;
6554
 
  friend class ::PragmaOnceUnitState;
6555
 
  friend class ::PragmaOnce;
6556
 
  friend class ::CCExprResolve;
6557
 
  friend class ::CExprResolve;
6558
 
 
6559
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
6560
 
 
6561
6578
public:
6562
6579
  Stack (long is = 8192, long incr = 8192) :
6563
6580
    Array<Item> (is, incr) {}
6573
6590
 
6574
6591
#endif /* __stack_h__ */
6575
6592
 
6576
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6577
 
using namespace Puma;
6578
 
 
6579
 
namespace Puma {
6580
 
  
6581
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6582
 
 
6583
 
}
6584
 
 
6585
 
 
6586
 
#line 6587 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6587
 
class WinImportHandler;
6588
 
class WinMacros;
6589
 
class CMatchSyntax;
6590
 
class ExtGnu;
6591
 
class ExtAC;
6592
 
class ExtACBuilderCoupling;
6593
 
class ExtACSyntaxCoupling;
6594
 
class ExtACTree;
6595
 
class ExtACKeywords;
6596
 
class WinAsm;
6597
 
class WinDeclSpecs;
6598
 
class WinMemberExplSpec;
6599
 
class WinTypeKeywords;
6600
 
class PragmaOnceUnitState;
6601
 
class PragmaOnce;
6602
 
class CCExprResolve;
6603
 
class CExprResolve;
6604
 
 
6605
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6606
 
class WinIfExists {
6607
 
#line 6608 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6608
 
 
6609
 
public:
6610
 
  static WinIfExists *aspectof () {
6611
 
    static WinIfExists __instance;
6612
 
    return &__instance;
6613
 
  }
6614
 
  static WinIfExists *aspectOf () {
6615
 
    return aspectof ();
6616
 
  }
6617
 
private:
6618
 
 
6619
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6620
 
 
6621
 
#line 6622 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6622
 
  friend class ::WinImportHandler;
6623
 
  friend class ::WinMacros;
6624
 
  friend class ::CMatchSyntax;
6625
 
  friend class ::ExtGnu;
6626
 
  friend class ::ExtAC;
6627
 
  friend class ::ExtACBuilderCoupling;
6628
 
  friend class ::ExtACSyntaxCoupling;
6629
 
  friend class ::ExtACTree;
6630
 
  friend class ::ExtACKeywords;
6631
 
  friend class ::WinAsm;
6632
 
  friend class ::WinDeclSpecs;
6633
 
  friend class ::WinMemberExplSpec;
6634
 
  friend class ::WinTypeKeywords;
6635
 
  friend class ::PragmaOnceUnitState;
6636
 
  friend class ::PragmaOnce;
6637
 
  friend class ::CCExprResolve;
6638
 
  friend class ::CExprResolve;
6639
 
 
6640
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6641
 
 
6642
 
  /********************************************************/
6643
 
  /* Win __if_exists and __if_not_exists                  */
6644
 
  /********************************************************/
6645
 
 
6646
 
  // pointcut definitions
6647
 
  
6648
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6649
 
 
6650
 
 
6651
 
  // structural extensions
6652
 
  
6653
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6654
 
 
6655
 
 
6656
 
  // preprocess __if_exists and __if_not_exists statements
6657
 
  
6658
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6659
 
 
6660
 
public: template<class JoinPoint> void __a0_around 
6661
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6662
 
 
6663
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6664
 
(JoinPoint *tjp)
6665
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6666
 
 {
6667
 
#line 6668 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6668
 
 
6669
 
  JoinPoint *&thisJoinPoint = tjp;
6670
 
 
6671
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6672
 
 
6673
 
#line 6674 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6674
 
 
6675
 
  typedef typename JoinPoint::That __JP_That;
6676
 
  typedef typename JoinPoint::Target __JP_Target;
6677
 
  typedef typename JoinPoint::Result __JP_Result;
6678
 
 
6679
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6680
 
 
6681
 
    Token *token;
6682
 
    int type;
6683
 
    __JP_That
6684
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6685
 
 *preparser;
6686
 
  
6687
 
        preparser = tjp->that ();
6688
 
    tjp->proceed (); // get the next token
6689
 
    token = *tjp->result ();
6690
 
    if (token) {
6691
 
      type = token->type ();
6692
 
      // __if_exists (...) { ... }
6693
 
      if (type == TOK_IF_EXISTS) {
6694
 
        preparser->skip_up_to (TOK_CLOSE_CURLY);
6695
 
                    *(Token**)thisJoinPoint->result () = preparser->next ();
6696
 
                    return;
6697
 
        // __if_not_exists (...) { ... }
6698
 
      } else if (type == TOK_IF_NOT_EXISTS) {
6699
 
        preparser->skip_up_to (TOK_OPEN_CURLY);
6700
 
        preparser->_depth.push (1);
6701
 
                    *(Token**)thisJoinPoint->result () = preparser->next ();
6702
 
                    return;
6703
 
      }
6704
 
      // skip closing `}' of __if_not_exists
6705
 
      if (preparser->_depth.length ()) {
6706
 
        if (type == TOK_OPEN_CURLY) 
6707
 
          preparser->_depth.top () = preparser->_depth.top () + 1;
6708
 
        else if (type == TOK_CLOSE_CURLY) { 
6709
 
          preparser->_depth.top () = preparser->_depth.top () - 1;
6710
 
                    if (preparser->_depth.top () == 0) {
6711
 
                  preparser->_depth.pop ();
6712
 
                  *(Token**)thisJoinPoint->result () = preparser->next ();
6713
 
                  return;
6714
 
                    }
6715
 
        }
6716
 
      }
6717
 
    }
6718
 
  }
6719
 
#line 6720 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6720
 
 
6721
 
private:
6722
 
 
6723
 
#line 84 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6724
 
 
6725
 
 
6726
 
protected:
6727
 
  WinIfExists () {}
6728
 
};
6729
 
#line 6730 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
6730
 
 
6731
 
namespace AC {
6732
 
  template <class JoinPoint>
6733
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
6734
 
    ::WinIfExists::aspectof()->__a0_around (tjp);
6735
 
  }
6736
 
6737
 
 
6738
 
#line 88 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6739
 
 
6740
 
 
6741
 
namespace Puma {
6742
 
  
6743
 
#line 97 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6744
 
 
6745
 
    
6746
 
  // skip __if_exists resp. __if_not_exists statement
6747
 
  
6748
 
#line 137 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6749
 
 
6750
 
}
6751
 
 
6752
 
#endif /* __WinIfExists__ */
6753
 
 
6754
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6755
 
// This file is part of PUMA.
6756
 
// Copyright (C) 1999-2003  The PUMA developer team.
6757
 
//                                                                
6758
 
// This program is free software;  you can redistribute it and/or 
6759
 
// modify it under the terms of the GNU General Public License as 
6760
 
// published by the Free Software Foundation; either version 2 of 
6761
 
// the License, or (at your option) any later version.            
6762
 
//                                                                
6763
 
// This program is distributed in the hope that it will be useful,
6764
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
6765
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
6766
 
// GNU General Public License for more details.                   
6767
 
//                                                                
6768
 
// You should have received a copy of the GNU General Public      
6769
 
// License along with this program; if not, write to the Free     
6770
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
6771
 
// MA  02111-1307  USA                                            
6772
 
 
6773
 
#ifndef __WinImportHandler__
6774
 
#define __WinImportHandler__
6775
 
 
6776
 
/********************************************************/
6777
 
/* Win #import directive support                        */
6778
 
/********************************************************/
6779
 
 
6780
 
 
6781
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
6593
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
6782
6594
// This file is part of PUMA.
6783
6595
// Copyright (C) 1999-2003  The PUMA developer team.
6784
6596
//                                                                
6804
6616
// information from file or command line.
6805
6617
 
6806
6618
 
6807
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
6619
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
6808
6620
// This file is part of PUMA.
6809
6621
// Copyright (C) 1999-2003  The PUMA developer team.
6810
6622
//                                                                
6830
6642
 
6831
6643
 
6832
6644
 
6833
 
#line 6834 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6645
#line 6646 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
6834
6646
} // closed Puma
 
6647
class CCExprResolve;
 
6648
class CExprResolve;
6835
6649
class WinIfExists;
6836
6650
class WinImportHandler;
6837
6651
class WinMacros;
6838
 
class CMatchSyntax;
6839
 
class ExtGnu;
 
6652
class WinAsm;
 
6653
class WinDeclSpecs;
 
6654
class WinMemberExplSpec;
 
6655
class WinTypeKeywords;
 
6656
class WinFriend;
6840
6657
class ExtAC;
6841
6658
class ExtACBuilderCoupling;
6842
6659
class ExtACSyntaxCoupling;
6843
6660
class ExtACTree;
6844
6661
class ExtACKeywords;
6845
 
class WinAsm;
6846
 
class WinDeclSpecs;
6847
 
class WinMemberExplSpec;
6848
 
class WinTypeKeywords;
 
6662
class ExtGnu;
6849
6663
class PragmaOnceUnitState;
6850
6664
class PragmaOnce;
6851
 
class CCExprResolve;
6852
 
class CExprResolve;
 
6665
class CMatchSyntax;
6853
6666
namespace Puma {
6854
6667
 
6855
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
6668
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
6856
6669
class Flags {
6857
 
#line 6858 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6670
#line 6671 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6671
  friend class ::CCExprResolve;
 
6672
  friend class ::CExprResolve;
6858
6673
  friend class ::WinIfExists;
6859
6674
  friend class ::WinImportHandler;
6860
6675
  friend class ::WinMacros;
6861
 
  friend class ::CMatchSyntax;
6862
 
  friend class ::ExtGnu;
 
6676
  friend class ::WinAsm;
 
6677
  friend class ::WinDeclSpecs;
 
6678
  friend class ::WinMemberExplSpec;
 
6679
  friend class ::WinTypeKeywords;
 
6680
  friend class ::WinFriend;
6863
6681
  friend class ::ExtAC;
6864
6682
  friend class ::ExtACBuilderCoupling;
6865
6683
  friend class ::ExtACSyntaxCoupling;
6866
6684
  friend class ::ExtACTree;
6867
6685
  friend class ::ExtACKeywords;
6868
 
  friend class ::WinAsm;
6869
 
  friend class ::WinDeclSpecs;
6870
 
  friend class ::WinMemberExplSpec;
6871
 
  friend class ::WinTypeKeywords;
 
6686
  friend class ::ExtGnu;
6872
6687
  friend class ::PragmaOnceUnitState;
6873
6688
  friend class ::PragmaOnce;
6874
 
  friend class ::CCExprResolve;
6875
 
  friend class ::CExprResolve;
 
6689
  friend class ::CMatchSyntax;
6876
6690
 
6877
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
6691
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
6878
6692
 
6879
6693
public:
6880
6694
  enum Flag {
6938
6752
 
6939
6753
#endif /* __Flags_h__ */
6940
6754
 
6941
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
6755
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
6942
6756
// This file is part of PUMA.
6943
6757
// Copyright (C) 1999-2003  The PUMA developer team.
6944
6758
//                                                                
6961
6775
#define __ConfOption_h__
6962
6776
 
6963
6777
 
6964
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
6778
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
6965
6779
#include <stdlib.h>
6966
6780
 
6967
6781
namespace Puma {
6968
6782
 
6969
6783
 
6970
6784
 
6971
 
#line 6972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6785
#line 6786 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
6972
6786
} // closed Puma
 
6787
class CCExprResolve;
 
6788
class CExprResolve;
6973
6789
class WinIfExists;
6974
6790
class WinImportHandler;
6975
6791
class WinMacros;
6976
 
class CMatchSyntax;
6977
 
class ExtGnu;
 
6792
class WinAsm;
 
6793
class WinDeclSpecs;
 
6794
class WinMemberExplSpec;
 
6795
class WinTypeKeywords;
 
6796
class WinFriend;
6978
6797
class ExtAC;
6979
6798
class ExtACBuilderCoupling;
6980
6799
class ExtACSyntaxCoupling;
6981
6800
class ExtACTree;
6982
6801
class ExtACKeywords;
6983
 
class WinAsm;
6984
 
class WinDeclSpecs;
6985
 
class WinMemberExplSpec;
6986
 
class WinTypeKeywords;
 
6802
class ExtGnu;
6987
6803
class PragmaOnceUnitState;
6988
6804
class PragmaOnce;
6989
 
class CCExprResolve;
6990
 
class CExprResolve;
 
6805
class CMatchSyntax;
6991
6806
namespace Puma {
6992
6807
 
6993
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
6808
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
6994
6809
class ConfOption {
6995
 
#line 6996 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6810
#line 6811 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6811
  friend class ::CCExprResolve;
 
6812
  friend class ::CExprResolve;
6996
6813
  friend class ::WinIfExists;
6997
6814
  friend class ::WinImportHandler;
6998
6815
  friend class ::WinMacros;
6999
 
  friend class ::CMatchSyntax;
7000
 
  friend class ::ExtGnu;
 
6816
  friend class ::WinAsm;
 
6817
  friend class ::WinDeclSpecs;
 
6818
  friend class ::WinMemberExplSpec;
 
6819
  friend class ::WinTypeKeywords;
 
6820
  friend class ::WinFriend;
7001
6821
  friend class ::ExtAC;
7002
6822
  friend class ::ExtACBuilderCoupling;
7003
6823
  friend class ::ExtACSyntaxCoupling;
7004
6824
  friend class ::ExtACTree;
7005
6825
  friend class ::ExtACKeywords;
7006
 
  friend class ::WinAsm;
7007
 
  friend class ::WinDeclSpecs;
7008
 
  friend class ::WinMemberExplSpec;
7009
 
  friend class ::WinTypeKeywords;
 
6826
  friend class ::ExtGnu;
7010
6827
  friend class ::PragmaOnceUnitState;
7011
6828
  friend class ::PragmaOnce;
7012
 
  friend class ::CCExprResolve;
7013
 
  friend class ::CExprResolve;
 
6829
  friend class ::CMatchSyntax;
7014
6830
 
7015
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
6831
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
7016
6832
 
7017
6833
  const char *_name;
7018
6834
  Array<const char *> _args;
7058
6874
 
7059
6875
#endif /* __ConfOption_h__ */
7060
6876
 
7061
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
6877
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
7062
6878
// This file is part of PUMA.
7063
6879
// Copyright (C) 1999-2003  The PUMA developer team.
7064
6880
//                                                                
7081
6897
#define __OptsParser_h__
7082
6898
 
7083
6899
 
7084
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
6900
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
7085
6901
// This file is part of PUMA.
7086
6902
// Copyright (C) 1999-2003  The PUMA developer team.
7087
6903
//                                                                
7104
6920
#define __SimpleParser_h__
7105
6921
 
7106
6922
 
7107
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
6923
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
7108
6924
#include <vector>
7109
6925
using namespace std;
7110
6926
 
7111
6927
namespace Puma {
7112
6928
 
7113
6929
 
 
6930
/** 
 
6931
 * Simple string parser. 
 
6932
 * \class SimpleParser SimpleParser.h Puma/common/SimpleParser.h
 
6933
 */
7114
6934
 
7115
 
#line 7116 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6935
#line 6936 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
7116
6936
} // closed Puma
 
6937
class CCExprResolve;
 
6938
class CExprResolve;
7117
6939
class WinIfExists;
7118
6940
class WinImportHandler;
7119
6941
class WinMacros;
7120
 
class CMatchSyntax;
7121
 
class ExtGnu;
 
6942
class WinAsm;
 
6943
class WinDeclSpecs;
 
6944
class WinMemberExplSpec;
 
6945
class WinTypeKeywords;
 
6946
class WinFriend;
7122
6947
class ExtAC;
7123
6948
class ExtACBuilderCoupling;
7124
6949
class ExtACSyntaxCoupling;
7125
6950
class ExtACTree;
7126
6951
class ExtACKeywords;
7127
 
class WinAsm;
7128
 
class WinDeclSpecs;
7129
 
class WinMemberExplSpec;
7130
 
class WinTypeKeywords;
 
6952
class ExtGnu;
7131
6953
class PragmaOnceUnitState;
7132
6954
class PragmaOnce;
7133
 
class CCExprResolve;
7134
 
class CExprResolve;
 
6955
class CMatchSyntax;
7135
6956
namespace Puma {
7136
6957
 
7137
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
6958
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
7138
6959
class SimpleParser {
7139
 
#line 7140 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6960
#line 6961 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
6961
  friend class ::CCExprResolve;
 
6962
  friend class ::CExprResolve;
7140
6963
  friend class ::WinIfExists;
7141
6964
  friend class ::WinImportHandler;
7142
6965
  friend class ::WinMacros;
7143
 
  friend class ::CMatchSyntax;
7144
 
  friend class ::ExtGnu;
 
6966
  friend class ::WinAsm;
 
6967
  friend class ::WinDeclSpecs;
 
6968
  friend class ::WinMemberExplSpec;
 
6969
  friend class ::WinTypeKeywords;
 
6970
  friend class ::WinFriend;
7145
6971
  friend class ::ExtAC;
7146
6972
  friend class ::ExtACBuilderCoupling;
7147
6973
  friend class ::ExtACSyntaxCoupling;
7148
6974
  friend class ::ExtACTree;
7149
6975
  friend class ::ExtACKeywords;
7150
 
  friend class ::WinAsm;
7151
 
  friend class ::WinDeclSpecs;
7152
 
  friend class ::WinMemberExplSpec;
7153
 
  friend class ::WinTypeKeywords;
 
6976
  friend class ::ExtGnu;
7154
6977
  friend class ::PragmaOnceUnitState;
7155
6978
  friend class ::PragmaOnce;
7156
 
  friend class ::CCExprResolve;
7157
 
  friend class ::CExprResolve;
 
6979
  friend class ::CMatchSyntax;
7158
6980
 
7159
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
6981
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
7160
6982
 
7161
6983
public:
7162
 
  SimpleParser() {}
7163
 
  ~SimpleParser() {}
7164
 
   
7165
 
  static int tokenize (const string &, vector<string> &, 
7166
 
                       const string &delimiters = " ");
7167
 
  static string strip (const string &);
 
6984
  /**
 
6985
   * Remove enclosing double-quotes from a string.
 
6986
   * \param str The string to strip.
 
6987
   * \return String without the enclosing double-quotes.
 
6988
   */
 
6989
  static string strip (const string& str);
 
6990
  /**
 
6991
   * Splits a given string into tokens recognized by the given delimiters.
 
6992
   * \param str The string to split.
 
6993
   * \param tokens A vector for the tokens.
 
6994
   * \param delimiters A string with the delimiters. Default is a space or tab.
 
6995
   * \return Number of recognized tokens.
 
6996
   */
 
6997
  static int tokenize (const string& str, vector<string>& tokens, const string& delimiters = " ");
 
6998
 
 
6999
private:
 
7000
  /**
 
7001
   * Get the position of the next token.
 
7002
   * \param line The string to tokenize.
 
7003
   * \param delimiters A string with the token delimiters.
 
7004
   * \param pos The current position in the string.
 
7005
   * \param lastPos The last position in the string.
 
7006
   * \return The position of the next token.
 
7007
   */
 
7008
  static string::size_type next (const string& line, const string& delimiters, string::size_type pos, string::size_type& lastPos);
 
7009
  /**
 
7010
   * Get the begin of the next token.
 
7011
   * \param line The string to tokenize.
 
7012
   * \param delimiters A string with the token delimiters.
 
7013
   * \param pos The current position in the string.
 
7014
   * \return The begin of the next token.
 
7015
   */
 
7016
  static string::size_type findBeginOfNextToken (const string& line, const string& delimiters, string::size_type pos);
 
7017
  /**
 
7018
   * Get the end of the next token.
 
7019
   * \param line The string to tokenize.
 
7020
   * \param delimiters A string with the token delimiters.
 
7021
   * \param lastPos The last position in the string, i.e. the begin of the next token.
 
7022
   * \return The end of the next token.
 
7023
   */
 
7024
  static string::size_type findEndOfNextToken (const string& line, const string& delimiters, string::size_type lastPos);
7168
7025
};
7169
7026
 
7170
7027
 
7172
7029
 
7173
7030
#endif /* __SimpleParser_h__ */
7174
7031
 
7175
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
7032
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
7176
7033
using namespace std;
7177
7034
 
7178
7035
namespace Puma {
7179
7036
 
7180
7037
 
 
7038
/** \brief The %Options %Parser searches command line parameters for options and
 
7039
 *  handles their option arguments, if applicable.
 
7040
 */
7181
7041
 
7182
 
#line 7183 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7042
#line 7043 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
7183
7043
} // closed Puma
 
7044
class CCExprResolve;
 
7045
class CExprResolve;
7184
7046
class WinIfExists;
7185
7047
class WinImportHandler;
7186
7048
class WinMacros;
7187
 
class CMatchSyntax;
7188
 
class ExtGnu;
 
7049
class WinAsm;
 
7050
class WinDeclSpecs;
 
7051
class WinMemberExplSpec;
 
7052
class WinTypeKeywords;
 
7053
class WinFriend;
7189
7054
class ExtAC;
7190
7055
class ExtACBuilderCoupling;
7191
7056
class ExtACSyntaxCoupling;
7192
7057
class ExtACTree;
7193
7058
class ExtACKeywords;
7194
 
class WinAsm;
7195
 
class WinDeclSpecs;
7196
 
class WinMemberExplSpec;
7197
 
class WinTypeKeywords;
 
7059
class ExtGnu;
7198
7060
class PragmaOnceUnitState;
7199
7061
class PragmaOnce;
7200
 
class CCExprResolve;
7201
 
class CExprResolve;
 
7062
class CMatchSyntax;
7202
7063
namespace Puma {
7203
7064
 
7204
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
7065
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
7205
7066
class OptsParser : public SimpleParser {
7206
 
#line 7207 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7067
#line 7068 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7068
  friend class ::CCExprResolve;
 
7069
  friend class ::CExprResolve;
7207
7070
  friend class ::WinIfExists;
7208
7071
  friend class ::WinImportHandler;
7209
7072
  friend class ::WinMacros;
7210
 
  friend class ::CMatchSyntax;
7211
 
  friend class ::ExtGnu;
 
7073
  friend class ::WinAsm;
 
7074
  friend class ::WinDeclSpecs;
 
7075
  friend class ::WinMemberExplSpec;
 
7076
  friend class ::WinTypeKeywords;
 
7077
  friend class ::WinFriend;
7212
7078
  friend class ::ExtAC;
7213
7079
  friend class ::ExtACBuilderCoupling;
7214
7080
  friend class ::ExtACSyntaxCoupling;
7215
7081
  friend class ::ExtACTree;
7216
7082
  friend class ::ExtACKeywords;
7217
 
  friend class ::WinAsm;
7218
 
  friend class ::WinDeclSpecs;
7219
 
  friend class ::WinMemberExplSpec;
7220
 
  friend class ::WinTypeKeywords;
 
7083
  friend class ::ExtGnu;
7221
7084
  friend class ::PragmaOnceUnitState;
7222
7085
  friend class ::PragmaOnce;
7223
 
  friend class ::CCExprResolve;
7224
 
  friend class ::CExprResolve;
7225
 
 
7226
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
7227
 
 
 
7086
  friend class ::CMatchSyntax;
 
7087
 
 
7088
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
7089
 
 
7090
  
 
7091
  
 
7092
  /** \brief Vector holding the commandline parameters. 
 
7093
   *  
 
7094
   *  This vector is filled in the constructor
 
7095
   */
7228
7096
  vector<string> m_argv;
 
7097
 
 
7098
  /** \brief Position of current parameter analyzed by the 
 
7099
   *  options parser.
 
7100
   */
7229
7101
  unsigned int m_curarg;
 
7102
  
 
7103
  /** \brief The increment added to m_curarg used to get to the next 
 
7104
   *  entry of m_argv which shall be analysed.
 
7105
   */
7230
7106
  unsigned int m_tonext;
 
7107
  
 
7108
  /** \brief %Option number of currently processed element of m_argv
 
7109
   */
7231
7110
  int m_number;
 
7111
  
 
7112
  /** \brief Name of current option
 
7113
   */
 
7114
  string m_opt;
7232
7115
 
 
7116
  /** \brief Value of current option argument
 
7117
   */
7233
7118
  string m_arg;
7234
 
  string m_opt;
 
7119
  
7235
7120
   
7236
7121
public:
7237
7122
  
7238
 
  enum {NOARG =-4, ERR = -3, NOOPTION = -2, UNKNOWN = -1, FINISH = 0 };
7239
 
  
7240
 
  enum ArgType { AT_NONE = 0, AT_MANDATORY = 1, AT_OPTIONAL = 2 };
7241
 
  
 
7123
  /** \enum
 
7124
   *  Return codes for OptsParser::getOption() and OptsParser::getArgument()
 
7125
   */
 
7126
  enum {
 
7127
     NOARG =-4, /**< %Option has no argument */
 
7128
     ERR = -3, /**< Error when parsing option */
 
7129
     NOOPTION = -2, /**< Command line parameter is not an option */
 
7130
     UNKNOWN = -1, /**< Parameter is an unknown option */
 
7131
     FINISH = 0 /**< All options are handled */
 
7132
  };
 
7133
  
 
7134
  /** \enum
 
7135
   *  Type of argument associated to an option  
 
7136
   */
 
7137
  enum ArgType { 
 
7138
     AT_NONE = 0, /**< %Option receives no argument */
 
7139
     AT_MANDATORY = 1, /**< %Option requires an argument */
 
7140
     AT_OPTIONAL = 2 /**< %Option has optionally an argument */
 
7141
  };
 
7142
  
 
7143
  /** \struct
 
7144
   *  Type for specifying an array of options recognized by the %Option %Parser.
 
7145
   *  An array of this type has to be passed to the constructor OptsParser::OptsParser()
 
7146
   */
7242
7147
  struct Option {
7243
 
#line 7244 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7148
#line 7149 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7149
  friend class ::CCExprResolve;
 
7150
  friend class ::CExprResolve;
7244
7151
  friend class ::WinIfExists;
7245
7152
  friend class ::WinImportHandler;
7246
7153
  friend class ::WinMacros;
7247
 
  friend class ::CMatchSyntax;
7248
 
  friend class ::ExtGnu;
 
7154
  friend class ::WinAsm;
 
7155
  friend class ::WinDeclSpecs;
 
7156
  friend class ::WinMemberExplSpec;
 
7157
  friend class ::WinTypeKeywords;
 
7158
  friend class ::WinFriend;
7249
7159
  friend class ::ExtAC;
7250
7160
  friend class ::ExtACBuilderCoupling;
7251
7161
  friend class ::ExtACSyntaxCoupling;
7252
7162
  friend class ::ExtACTree;
7253
7163
  friend class ::ExtACKeywords;
7254
 
  friend class ::WinAsm;
7255
 
  friend class ::WinDeclSpecs;
7256
 
  friend class ::WinMemberExplSpec;
7257
 
  friend class ::WinTypeKeywords;
 
7164
  friend class ::ExtGnu;
7258
7165
  friend class ::PragmaOnceUnitState;
7259
7166
  friend class ::PragmaOnce;
7260
 
  friend class ::CCExprResolve;
7261
 
  friend class ::CExprResolve;
7262
 
 
7263
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
7264
 
 
7265
 
    int number;
7266
 
    char key; 
7267
 
    const char *name;
7268
 
    const char *desc;
7269
 
    ArgType args;
 
7167
  friend class ::CMatchSyntax;
 
7168
 
 
7169
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
7170
 
 
7171
    int number; /**< Number associated with this option */
 
7172
    const char *shortName; /**< Short name of this option. Should ideally not contain more than one character */
 
7173
    const char *longName; /**< Long namen of this option */
 
7174
    const char *desc; /**< Description of this option **/ 
 
7175
    ArgType argType; /**< Type of argument for this option */
7270
7176
  };
7271
7177
 
7272
7178
private:
 
7179
  /** Pointer to array of available options. This value is set to the value of the 
 
7180
   * parameter passed to the constructor OptsParser::OptsParser()
 
7181
   */
7273
7182
  const Option *m_opts;
7274
7183
   
7275
7184
public:
7276
 
  OptsParser (int, char **, const Option *);
7277
 
  OptsParser (const string &, const Option *);
 
7185
  /** \brief Constructor of OptsParser
 
7186
   *  
 
7187
   *  \param argc Number of parameters to be analyzed
 
7188
   *  \param argv Parameters to be analyzed
 
7189
   *  \param opts Pointer to array of options which shall be
 
7190
   *              recognized by the options parser
 
7191
   *
 
7192
   */
 
7193
  OptsParser (int argc, char **argv, const Option *opts);
 
7194
  
 
7195
  /** \brief Constructor of OptsParser
 
7196
   *  
 
7197
   *  \param line Reference to string with parameters to analyse
 
7198
   *              The paramaters are extracted from the string by splitting it up 
 
7199
   *              into tokens at:
 
7200
   *               - space character
 
7201
   *               - tabs 
 
7202
   *               - newline
 
7203
   *               - carriage return
 
7204
   *  \param opts Pointer to array of options which shall be 
 
7205
   *              recognized by the options parser
 
7206
   */
 
7207
  OptsParser (const string &line, const Option *);
7278
7208
 
7279
 
  int getCurrentArgNum () const;
7280
 
  int getNextArgNum () const;
 
7209
  
 
7210
  /** Get next parameter without modification. 
 
7211
   * No option parsing is done
 
7212
   *
 
7213
   * \return OptsParser::NOOPTION or OptsParser::FINISH 
 
7214
   */
 
7215
  int getRawOption ();
 
7216
  
 
7217
  /** \brief Get next option
 
7218
   *
 
7219
   * This function processes the next parameter passed to the constructor 
 
7220
   * OptsParser::OptsParser(). 
 
7221
   * That is, search for options and eventually process
 
7222
   * option and option arguement. 
 
7223
   *
 
7224
   * \return Number of option recognized by the options parser or
 
7225
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
7226
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
7227
   *
 
7228
   */
7281
7229
  int getOption ();
 
7230
  
 
7231
  /** \brief Get result of last processed parameter
 
7232
   *
 
7233
   *  The number returned by this function is identical to the number 
 
7234
   *  returned by the last call of OptsParser::getOption
 
7235
   *   
 
7236
   * \return Number of option recognized by the options parser or
 
7237
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
7238
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
7239
   *
 
7240
   */
7282
7241
  int getResult () const;
7283
7242
  
 
7243
  /** \brief Get option argument of last processed parameter
 
7244
   *
 
7245
   *  This function returns the argument of the option processed during 
 
7246
   *  OptsParser::getOption. If the option does not provide any argument
 
7247
   *  the string will be empty.
 
7248
   *
 
7249
   *  If OptsParser::getOption or respectively OptsParser::getResult returns with 
 
7250
   *  OptsParser::NOOPTION this function (OptsParser::getArgument) returns the last processed parameter, 
 
7251
   *  which is no option, of course.
 
7252
   *
 
7253
   *  \return Argument of last processed parameter
 
7254
   */
7284
7255
  const string &getArgument () const;
 
7256
  
 
7257
  /** \brief Get option name of last processed parameter
 
7258
   *
 
7259
   *  If the last processed parameter did not contain an option the string 
 
7260
   *  returned by this function is empty.
 
7261
   *
 
7262
   *  \return Name of last processed parameter
 
7263
   *
 
7264
   */
7285
7265
  const string &getOptionName () const;
 
7266
  
 
7267
  /** \brief Get position of current argument
 
7268
   *
 
7269
   *  \return Position of currently processed parameter previously passed to OptsParser::OptsParser()
 
7270
   *
 
7271
   */
 
7272
  int getCurrentArgNum () const;
 
7273
  
 
7274
  /** \brief Get position of next argument
 
7275
   *
 
7276
   *  \return Position of next parameter which will be processed by the %Options %Parser
 
7277
   *
 
7278
   */
 
7279
  int getNextArgNum () const;
7286
7280
 
7287
 
  bool revokeArgument();
7288
 
   
7289
7281
private:
7290
 
  int  getShortOption (const string &);
7291
 
  int  getLongOption  (const string &);
7292
 
  bool processOption  (const string &, unsigned int,ArgType argtype);
 
7282
  /** Search for an option in m_argv at position m_curarg
 
7283
   *
 
7284
   *  \param arg Currently processed parameter 
 
7285
   */
 
7286
  const Option*  findOption(const string &arg, bool isLong);
 
7287
  
 
7288
  /** Process an option found by OptsParser::findOption(). 
 
7289
   */
 
7290
  bool processOption  (const string &arg, const Option* curOpt, bool isLong);
7293
7291
};
7294
7292
 
7295
7293
 
7297
7295
 
7298
7296
#endif /* __OptsParser_h__ */
7299
7297
 
7300
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
7298
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
7301
7299
using namespace std;
7302
7300
 
7303
7301
namespace Puma {
7304
7302
 
7305
7303
 
7306
7304
 
7307
 
#line 7308 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7305
#line 7306 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
7308
7306
} // closed Puma
 
7307
class CCExprResolve;
 
7308
class CExprResolve;
7309
7309
class WinIfExists;
7310
7310
class WinImportHandler;
7311
7311
class WinMacros;
7312
 
class CMatchSyntax;
7313
 
class ExtGnu;
 
7312
class WinAsm;
 
7313
class WinDeclSpecs;
 
7314
class WinMemberExplSpec;
 
7315
class WinTypeKeywords;
 
7316
class WinFriend;
7314
7317
class ExtAC;
7315
7318
class ExtACBuilderCoupling;
7316
7319
class ExtACSyntaxCoupling;
7317
7320
class ExtACTree;
7318
7321
class ExtACKeywords;
7319
 
class WinAsm;
7320
 
class WinDeclSpecs;
7321
 
class WinMemberExplSpec;
7322
 
class WinTypeKeywords;
 
7322
class ExtGnu;
7323
7323
class PragmaOnceUnitState;
7324
7324
class PragmaOnce;
7325
 
class CCExprResolve;
7326
 
class CExprResolve;
 
7325
class CMatchSyntax;
7327
7326
namespace Puma {
7328
7327
 
7329
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
7328
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
7330
7329
class Config {
7331
 
#line 7332 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7330
#line 7331 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7331
  friend class ::CCExprResolve;
 
7332
  friend class ::CExprResolve;
7332
7333
  friend class ::WinIfExists;
7333
7334
  friend class ::WinImportHandler;
7334
7335
  friend class ::WinMacros;
7335
 
  friend class ::CMatchSyntax;
7336
 
  friend class ::ExtGnu;
 
7336
  friend class ::WinAsm;
 
7337
  friend class ::WinDeclSpecs;
 
7338
  friend class ::WinMemberExplSpec;
 
7339
  friend class ::WinTypeKeywords;
 
7340
  friend class ::WinFriend;
7337
7341
  friend class ::ExtAC;
7338
7342
  friend class ::ExtACBuilderCoupling;
7339
7343
  friend class ::ExtACSyntaxCoupling;
7340
7344
  friend class ::ExtACTree;
7341
7345
  friend class ::ExtACKeywords;
7342
 
  friend class ::WinAsm;
7343
 
  friend class ::WinDeclSpecs;
7344
 
  friend class ::WinMemberExplSpec;
7345
 
  friend class ::WinTypeKeywords;
 
7346
  friend class ::ExtGnu;
7346
7347
  friend class ::PragmaOnceUnitState;
7347
7348
  friend class ::PragmaOnce;
7348
 
  friend class ::CCExprResolve;
7349
 
  friend class ::CExprResolve;
 
7349
  friend class ::CMatchSyntax;
7350
7350
 
7351
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
7351
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
7352
7352
 
7353
7353
  Flags _flags;
7354
7354
  ErrorStream &_err;
7408
7408
private:
7409
7409
  bool Valid (const char *, const char * = (const char *)0) const;
7410
7410
 
7411
 
  bool Process (OptsParser&);
 
7411
  bool Process (OptsParser&, bool unescape = false);
7412
7412
  bool ProcessAssert (const string&);
7413
7413
  bool ProcessDefine (const string&);
7414
7414
  bool ProcessLockMacro (const string&);
7417
7417
  bool ProcessArgument (const string&,const string&);
7418
7418
  bool ProcessPathArgument (const string&,const string&);
7419
7419
 
 
7420
  string Unescape(const string&);
7420
7421
};
7421
7422
 
7422
7423
inline Config::Config (ErrorStream &e) : _err (e)
7458
7459
 
7459
7460
#endif /* __Config_h__ */
7460
7461
 
7461
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7462
 
using namespace Puma;
7463
 
 
7464
 
 
7465
 
 
7466
 
#line 7467 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7467
 
class WinIfExists;
7468
 
class WinMacros;
7469
 
class CMatchSyntax;
7470
 
class ExtGnu;
7471
 
class ExtAC;
7472
 
class ExtACBuilderCoupling;
7473
 
class ExtACSyntaxCoupling;
7474
 
class ExtACTree;
7475
 
class ExtACKeywords;
7476
 
class WinAsm;
7477
 
class WinDeclSpecs;
7478
 
class WinMemberExplSpec;
7479
 
class WinTypeKeywords;
7480
 
class PragmaOnceUnitState;
7481
 
class PragmaOnce;
7482
 
class CCExprResolve;
7483
 
class CExprResolve;
7484
 
 
7485
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7486
 
class WinImportHandler {
7487
 
#line 7488 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7488
 
 
7489
 
public:
7490
 
  static WinImportHandler *aspectof () {
7491
 
    static WinImportHandler __instance;
7492
 
    return &__instance;
7493
 
  }
7494
 
  static WinImportHandler *aspectOf () {
7495
 
    return aspectof ();
7496
 
  }
7497
 
private:
7498
 
 
7499
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7500
 
 
7501
 
#line 7502 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7502
 
  friend class ::WinIfExists;
7503
 
  friend class ::WinMacros;
7504
 
  friend class ::CMatchSyntax;
7505
 
  friend class ::ExtGnu;
7506
 
  friend class ::ExtAC;
7507
 
  friend class ::ExtACBuilderCoupling;
7508
 
  friend class ::ExtACSyntaxCoupling;
7509
 
  friend class ::ExtACTree;
7510
 
  friend class ::ExtACKeywords;
7511
 
  friend class ::WinAsm;
7512
 
  friend class ::WinDeclSpecs;
7513
 
  friend class ::WinMemberExplSpec;
7514
 
  friend class ::WinTypeKeywords;
7515
 
  friend class ::PragmaOnceUnitState;
7516
 
  friend class ::PragmaOnce;
7517
 
  friend class ::CCExprResolve;
7518
 
  friend class ::CExprResolve;
7519
 
 
7520
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7521
 
 
7522
 
  /********************************************************/
7523
 
  /* Win #import directive                                */
7524
 
  /********************************************************/
7525
 
 
7526
 
  // pointcuts
7527
 
  
7528
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7529
 
 
7530
 
  
7531
 
  // add access method for _importHandler data member
7532
 
  
7533
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7534
 
 
7535
 
 
7536
 
  // handle --import-handler option
7537
 
  
7538
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7539
 
 
7540
 
public: template<class JoinPoint> void __a0_before 
7541
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7542
 
 
7543
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7544
 
(JoinPoint *tjp, const Config &config, bool process_includes)
7545
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7546
 
 {
7547
 
#line 7548 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7548
 
 
7549
 
  JoinPoint *&thisJoinPoint = tjp;
7550
 
 
7551
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7552
 
 
7553
 
#line 7554 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7554
 
 
7555
 
  typedef typename JoinPoint::That __JP_That;
7556
 
  typedef typename JoinPoint::Target __JP_Target;
7557
 
  typedef typename JoinPoint::Result __JP_Result;
7558
 
 
7559
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7560
 
 
7561
 
    const ConfOption *opt;
7562
 
    char *tmp;
7563
 
    
7564
 
    if (process_includes) {
7565
 
      opt = config.Option ("--import-handler");
7566
 
      if (opt && opt->Arguments ()) {
7567
 
        // delete old import handler
7568
 
        if (thisJoinPoint->that ()->_importHandler)
7569
 
          delete[] thisJoinPoint->that ()->_importHandler;
7570
 
        
7571
 
        // get new import handler
7572
 
        tmp = new char[strlen (opt->Argument (0))+1];
7573
 
        strcpy (tmp, opt->Argument (0));
7574
 
        thisJoinPoint->that ()->_importHandler = tmp;
7575
 
      }
7576
 
    }
7577
 
  }
7578
 
#line 7579 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7579
 
 
7580
 
private:
7581
 
 
7582
 
#line 66 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7583
 
 
7584
 
 
7585
 
protected:
7586
 
  WinImportHandler () {}
7587
 
};
7588
 
#line 7589 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7589
 
 
7590
 
namespace AC {
7591
 
  template <class JoinPoint, class Binding>
7592
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
7593
 
    typedef typename Binding::template Arg<0> Arg0;
7594
 
    typedef typename Binding::template Arg<1> Arg1;
7595
 
    ::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
7596
 
  }
7597
 
7598
 
 
7599
 
#line 70 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7600
 
 
7601
 
 
7602
 
 
7603
 
#endif /* __WinImportHandler__ */
7604
 
 
7605
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7606
 
// This file is part of PUMA.
7607
 
// Copyright (C) 1999-2003  The PUMA developer team.
7608
 
//                                                                
7609
 
// This program is free software;  you can redistribute it and/or 
7610
 
// modify it under the terms of the GNU General Public License as 
7611
 
// published by the Free Software Foundation; either version 2 of 
7612
 
// the License, or (at your option) any later version.            
7613
 
//                                                                
7614
 
// This program is distributed in the hope that it will be useful,
7615
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
7616
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
7617
 
// GNU General Public License for more details.                   
7618
 
//                                                                
7619
 
// You should have received a copy of the GNU General Public      
7620
 
// License along with this program; if not, write to the Free     
7621
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
7622
 
// MA  02111-1307  USA                                            
7623
 
 
7624
 
#ifndef __PragmaOnce__
7625
 
#define __PragmaOnce__
7626
 
 
7627
 
/********************************************************/
7628
 
/* Win #pragma once support aspect                      */
7629
 
/********************************************************/
7630
 
 
7631
 
 
7632
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7633
 
using std::cout;
7634
 
using std::endl;
7635
 
 
7636
 
 
7637
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7638
 
using namespace Puma;
7639
 
 
7640
 
 
7641
 
 
7642
 
#line 7643 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7643
 
class WinIfExists;
7644
 
class WinImportHandler;
7645
 
class WinMacros;
7646
 
class CMatchSyntax;
7647
 
class ExtGnu;
7648
 
class ExtAC;
7649
 
class ExtACBuilderCoupling;
7650
 
class ExtACSyntaxCoupling;
7651
 
class ExtACTree;
7652
 
class ExtACKeywords;
7653
 
class WinAsm;
7654
 
class WinDeclSpecs;
7655
 
class WinMemberExplSpec;
7656
 
class WinTypeKeywords;
7657
 
class PragmaOnceUnitState;
7658
 
class CCExprResolve;
7659
 
class CExprResolve;
7660
 
 
7661
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7662
 
class PragmaOnce {
7663
 
#line 7664 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7664
 
 
7665
 
public:
7666
 
  static PragmaOnce *aspectof () {
7667
 
    static PragmaOnce __instance;
7668
 
    return &__instance;
7669
 
  }
7670
 
  static PragmaOnce *aspectOf () {
7671
 
    return aspectof ();
7672
 
  }
7673
 
private:
7674
 
 
7675
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7676
 
 
7677
 
#line 7678 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7678
 
  friend class ::WinIfExists;
7679
 
  friend class ::WinImportHandler;
7680
 
  friend class ::WinMacros;
7681
 
  friend class ::CMatchSyntax;
7682
 
  friend class ::ExtGnu;
7683
 
  friend class ::ExtAC;
7684
 
  friend class ::ExtACBuilderCoupling;
7685
 
  friend class ::ExtACSyntaxCoupling;
7686
 
  friend class ::ExtACTree;
7687
 
  friend class ::ExtACKeywords;
7688
 
  friend class ::WinAsm;
7689
 
  friend class ::WinDeclSpecs;
7690
 
  friend class ::WinMemberExplSpec;
7691
 
  friend class ::WinTypeKeywords;
7692
 
  friend class ::PragmaOnceUnitState;
7693
 
  friend class ::CCExprResolve;
7694
 
  friend class ::CExprResolve;
7695
 
 
7696
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7697
 
 
7698
 
  /******************************************************/
7699
 
  /* detect #pragma once in the token stream of cpp     */
7700
 
  /******************************************************/
7701
 
 
7702
 
  // pointcut definitions
7703
 
  
7704
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7705
 
 
7706
 
  
7707
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7708
 
 
7709
 
  
7710
 
  // extend the preprocessor parser by the filter state
7711
 
  
7712
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7713
 
 
7714
 
 
7715
 
  // initialize the filter state
7716
 
  
7717
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7718
 
 
7719
 
public: template<class JoinPoint> void __a0_after 
7720
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7721
 
 
7722
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7723
 
(JoinPoint *tjp)
7724
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7725
 
 {
7726
 
#line 7727 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7727
 
 
7728
 
  typedef typename JoinPoint::That __JP_That;
7729
 
  typedef typename JoinPoint::Target __JP_Target;
7730
 
  typedef typename JoinPoint::Result __JP_Result;
7731
 
 
7732
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7733
 
 
7734
 
    // TODO: it would be better to have construction advice -> but in lem file
7735
 
    tjp->that ()->_pragma_token = 0;
7736
 
  }
7737
 
#line 7738 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7738
 
 
7739
 
private:
7740
 
 
7741
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7742
 
 
7743
 
  
7744
 
  // filter #pragma once
7745
 
  
7746
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7747
 
 
7748
 
public: template<class JoinPoint> void __a1_after 
7749
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7750
 
 
7751
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7752
 
(JoinPoint *tjp)
7753
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7754
 
 {
7755
 
#line 7756 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7756
 
 
7757
 
  typedef typename JoinPoint::That __JP_That;
7758
 
  typedef typename JoinPoint::Target __JP_Target;
7759
 
  typedef typename JoinPoint::Result __JP_Result;
7760
 
 
7761
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7762
 
 
7763
 
    Token *tok = *tjp->result ();
7764
 
    __JP_That
7765
 
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7766
 
 &that = *tjp->that ();
7767
 
    if (!tok || !tok->is_directive ()) {
7768
 
      that._pragma_token = 0;
7769
 
      return;
7770
 
    }
7771
 
    if (strcmp ("#pragma", tok->text ()) == 0) {
7772
 
      that._pragma_token = tok;
7773
 
    }
7774
 
    else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
7775
 
      Unit *unit = (Unit*)tok->belonging_to ();
7776
 
      assert (unit);
7777
 
      unit->state ().onlyOnce (true);
7778
 
    }
7779
 
  }
7780
 
#line 7781 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7781
 
 
7782
 
private:
7783
 
 
7784
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7785
 
 
7786
 
  
7787
 
  /********************************************************/
7788
 
  /* block the handling of pragma once files              */
7789
 
  /********************************************************/
7790
 
 
7791
 
  // don't let file includer include files twice
7792
 
  // to be precise: the file is included again, but the inclusion produces
7793
 
  // no tokens
7794
 
  
7795
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7796
 
 
7797
 
public: template<class JoinPoint> void __a2_around 
7798
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7799
 
 
7800
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7801
 
(JoinPoint *tjp, Unit *unit)
7802
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7803
 
 {
7804
 
#line 7805 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7805
 
 
7806
 
  typedef typename JoinPoint::That __JP_That;
7807
 
  typedef typename JoinPoint::Target __JP_Target;
7808
 
  typedef typename JoinPoint::Result __JP_Result;
7809
 
 
7810
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7811
 
 
7812
 
    if (! unit || ! unit->state ().onlyOnce ())
7813
 
      tjp->proceed ();
7814
 
  }
7815
 
#line 7816 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7816
 
 
7817
 
private:
7818
 
 
7819
 
#line 83 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7820
 
 
7821
 
 
7822
 
  // includeFile shall return 0 if the file was not included
7823
 
  
7824
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7825
 
 
7826
 
public: template<class JoinPoint> void __a3_after 
7827
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7828
 
 
7829
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7830
 
(JoinPoint *tjp)
7831
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7832
 
 {
7833
 
#line 7834 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7834
 
 
7835
 
  typedef typename JoinPoint::That __JP_That;
7836
 
  typedef typename JoinPoint::Target __JP_Target;
7837
 
  typedef typename JoinPoint::Result __JP_Result;
7838
 
 
7839
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7840
 
 
7841
 
    Unit *&unit = *tjp->result ();
7842
 
    if (unit && unit->state ().onlyOnce ())
7843
 
      unit = 0;
7844
 
  }
7845
 
#line 7846 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7846
 
 
7847
 
private:
7848
 
 
7849
 
#line 91 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7850
 
 
7851
 
    
7852
 
protected:
7853
 
  // this aspect should never be instantiated directly
7854
 
  PragmaOnce () {}
7855
 
};
7856
 
#line 7857 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
7857
 
 
7858
 
namespace AC {
7859
 
  template <class JoinPoint>
7860
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
7861
 
    ::PragmaOnce::aspectof()->__a0_after (tjp);
7862
 
  }
7863
 
  template <class JoinPoint>
7864
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
7865
 
    ::PragmaOnce::aspectof()->__a1_after (tjp);
7866
 
  }
7867
 
  template <class JoinPoint, class Binding>
7868
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
7869
 
    typedef typename Binding::template Arg<0> Arg0;
7870
 
    ::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
7871
 
  }
7872
 
  template <class JoinPoint>
7873
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
7874
 
    ::PragmaOnce::aspectof()->__a3_after (tjp);
7875
 
  }
7876
 
7877
 
 
7878
 
#line 96 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7879
 
 
7880
 
 
7881
 
 
7882
 
#endif /* __PragmaOnce__ */
7883
 
 
7884
 
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7885
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7886
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7887
 
 
7888
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7889
 
// This file is part of PUMA.
7890
 
// Copyright (C) 1999-2003  The PUMA developer team.
7891
 
//                                                                
7892
 
// This program is free software;  you can redistribute it and/or 
7893
 
// modify it under the terms of the GNU General Public License as 
7894
 
// published by the Free Software Foundation; either version 2 of 
7895
 
// the License, or (at your option) any later version.            
7896
 
//                                                                
7897
 
// This program is distributed in the hope that it will be useful,
7898
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
7899
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
7900
 
// GNU General Public License for more details.                   
7901
 
//                                                                
7902
 
// You should have received a copy of the GNU General Public      
7903
 
// License along with this program; if not, write to the Free     
7904
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
7905
 
// MA  02111-1307  USA                                            
7906
 
 
7907
 
#ifndef __preprocessor_parser__
7908
 
#define __preprocessor_parser__
7909
 
 
7910
 
// Preprocessor parser class. !!! The preprocessor parser has to 
7911
 
// be added last to the composite parser of a translation unit !!!
7912
 
 
7913
 
 
7914
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
7915
 
 
7916
 
#line 7917 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7462
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7463
 
 
7464
#line 7465 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
7917
7465
 
7918
7466
#ifndef __ac_fwd_ExtACKeywords__
7919
7467
#define __ac_fwd_ExtACKeywords__
7920
7468
class ExtACKeywords;
7921
7469
namespace AC {
7922
 
  template <class JoinPoint, class Binding>
7923
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
7924
 
  template <class JoinPoint, class Binding>
7925
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
7926
 
  template <class JoinPoint>
7927
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
7470
  template <class JoinPoint>
 
7471
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
7472
  template <class JoinPoint>
 
7473
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
7474
  template <class JoinPoint>
 
7475
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
7928
7476
}
7929
7477
#endif
7930
7478
 
7931
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7932
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
7479
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
7480
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7933
7481
#endif
7934
7482
 
7935
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
7483
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7936
7484
// This file is part of PUMA.
7937
7485
// Copyright (C) 1999-2003  The PUMA developer team.
7938
7486
//                                                                
7955
7503
#define __c_scanner_h__
7956
7504
 
7957
7505
 
7958
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
7506
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
7959
7507
// This file is part of PUMA.
7960
7508
// Copyright (C) 1999-2003  The PUMA developer team.
7961
7509
//                                                                
7978
7526
#define __c_recognizer_h__
7979
7527
 
7980
7528
 
7981
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
7529
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
7982
7530
// This file is part of PUMA.
7983
7531
// Copyright (C) 1999-2003  The PUMA developer team.
7984
7532
//                                                                
8001
7549
#define __CScanBuffer_h__
8002
7550
 
8003
7551
 
8004
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
7552
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
8005
7553
// This file is part of PUMA.
8006
7554
// Copyright (C) 1999-2003  The PUMA developer team.
8007
7555
//                                                                
8023
7571
#ifndef __scan_buffer_h__
8024
7572
#define __scan_buffer_h__
8025
7573
 
 
7574
 
 
7575
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
7576
using namespace std;
 
7577
 
8026
7578
namespace Puma {
8027
7579
 
8028
7580
 
8029
 
 
8030
 
#line 8031 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7581
#line 7582 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8031
7582
} // closed Puma
 
7583
class CCExprResolve;
 
7584
class CExprResolve;
8032
7585
class WinIfExists;
8033
7586
class WinImportHandler;
8034
7587
class WinMacros;
8035
 
class CMatchSyntax;
8036
 
class ExtGnu;
 
7588
class WinAsm;
 
7589
class WinDeclSpecs;
 
7590
class WinMemberExplSpec;
 
7591
class WinTypeKeywords;
 
7592
class WinFriend;
8037
7593
class ExtAC;
8038
7594
class ExtACBuilderCoupling;
8039
7595
class ExtACSyntaxCoupling;
8040
7596
class ExtACTree;
8041
7597
class ExtACKeywords;
8042
 
class WinAsm;
8043
 
class WinDeclSpecs;
8044
 
class WinMemberExplSpec;
8045
 
class WinTypeKeywords;
 
7598
class ExtGnu;
8046
7599
class PragmaOnceUnitState;
8047
7600
class PragmaOnce;
8048
 
class CCExprResolve;
8049
 
class CExprResolve;
 
7601
class CMatchSyntax;
8050
7602
namespace Puma {
8051
7603
 
8052
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
7604
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
8053
7605
class ScanBuffer {
8054
 
#line 8055 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7606
#line 7607 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7607
  friend class ::CCExprResolve;
 
7608
  friend class ::CExprResolve;
8055
7609
  friend class ::WinIfExists;
8056
7610
  friend class ::WinImportHandler;
8057
7611
  friend class ::WinMacros;
8058
 
  friend class ::CMatchSyntax;
8059
 
  friend class ::ExtGnu;
 
7612
  friend class ::WinAsm;
 
7613
  friend class ::WinDeclSpecs;
 
7614
  friend class ::WinMemberExplSpec;
 
7615
  friend class ::WinTypeKeywords;
 
7616
  friend class ::WinFriend;
8060
7617
  friend class ::ExtAC;
8061
7618
  friend class ::ExtACBuilderCoupling;
8062
7619
  friend class ::ExtACSyntaxCoupling;
8063
7620
  friend class ::ExtACTree;
8064
7621
  friend class ::ExtACKeywords;
8065
 
  friend class ::WinAsm;
8066
 
  friend class ::WinDeclSpecs;
8067
 
  friend class ::WinMemberExplSpec;
8068
 
  friend class ::WinTypeKeywords;
 
7622
  friend class ::ExtGnu;
8069
7623
  friend class ::PragmaOnceUnitState;
8070
7624
  friend class ::PragmaOnce;
8071
 
  friend class ::CCExprResolve;
8072
 
  friend class ::CExprResolve;
 
7625
  friend class ::CMatchSyntax;
8073
7626
 
8074
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
7627
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
8075
7628
 
8076
7629
public:
8077
 
  typedef enum { STATE_END, STATE_ERROR, STATE_OK } State;
 
7630
  typedef enum { STATE_NEW, STATE_END, STATE_ERROR, STATE_OK } State;
 
7631
 
 
7632
private:
 
7633
  int _token;      // start position of current token
 
7634
  int _pos;        // current position (in token; _pos >= _token && pos < filled)
 
7635
  char *_buffer;   // token to the buffer that contains all input characters
 
7636
  int  _buff_size; // size of the input buffer
 
7637
  State _state;
 
7638
 
 
7639
public:  
 
7640
  ScanBuffer () : _state (STATE_NEW) {}
 
7641
 
 
7642
  // init buffer to directly scan from a string
 
7643
  void init (const char *str, int l = 0);
8078
7644
  
8079
 
  virtual ~ScanBuffer () {}
8080
 
 
8081
 
  virtual char next () = 0;
8082
 
  virtual char *token () = 0;
8083
 
  virtual int len () const = 0;
8084
 
  virtual void reset () = 0;
8085
 
  virtual void retry () = 0; 
8086
 
  virtual void accept (int len) = 0;
8087
 
  virtual void more (int len) = 0;
8088
 
  virtual State state () const = 0;
 
7645
  char next () { return _buffer[_pos++]; }
 
7646
  char lookahead () { return _buffer[_pos]; }
 
7647
  char *token () const { return _buffer + _token; }
 
7648
  int len () const { return _pos - _token; }
 
7649
  void reset () { _token = _pos = 0; }
 
7650
  void retry () { _pos = _token; } 
 
7651
  void accept (int len) {
 
7652
    _token += len;
 
7653
    _pos = _token;
 
7654
  }
 
7655
  void more (int len) { _pos = _token + len; }
 
7656
  State state () {
 
7657
    if (_state == STATE_OK && _pos >= _buff_size)
 
7658
      return STATE_END;
 
7659
    return _state;
 
7660
  }
8089
7661
};
8090
7662
 
8091
7663
 
8093
7665
 
8094
7666
#endif /* __scan_buffer_h__ */
8095
7667
 
8096
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
7668
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
8097
7669
namespace Puma {
8098
7670
 
8099
7671
 
8100
7672
 
8101
 
#line 8102 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7673
#line 7674 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8102
7674
} // closed Puma
 
7675
class CCExprResolve;
 
7676
class CExprResolve;
8103
7677
class WinIfExists;
8104
7678
class WinImportHandler;
8105
7679
class WinMacros;
8106
 
class CMatchSyntax;
8107
 
class ExtGnu;
 
7680
class WinAsm;
 
7681
class WinDeclSpecs;
 
7682
class WinMemberExplSpec;
 
7683
class WinTypeKeywords;
 
7684
class WinFriend;
8108
7685
class ExtAC;
8109
7686
class ExtACBuilderCoupling;
8110
7687
class ExtACSyntaxCoupling;
8111
7688
class ExtACTree;
8112
7689
class ExtACKeywords;
8113
 
class WinAsm;
8114
 
class WinDeclSpecs;
8115
 
class WinMemberExplSpec;
8116
 
class WinTypeKeywords;
 
7690
class ExtGnu;
8117
7691
class PragmaOnceUnitState;
8118
7692
class PragmaOnce;
8119
 
class CCExprResolve;
8120
 
class CExprResolve;
 
7693
class CMatchSyntax;
8121
7694
namespace Puma {
8122
7695
 
8123
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
8124
 
class CScanBuffer {
8125
 
#line 8126 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7696
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
7697
class CScanBuffer : public ScanBuffer {
 
7698
#line 7699 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7699
  friend class ::CCExprResolve;
 
7700
  friend class ::CExprResolve;
8126
7701
  friend class ::WinIfExists;
8127
7702
  friend class ::WinImportHandler;
8128
7703
  friend class ::WinMacros;
8129
 
  friend class ::CMatchSyntax;
8130
 
  friend class ::ExtGnu;
 
7704
  friend class ::WinAsm;
 
7705
  friend class ::WinDeclSpecs;
 
7706
  friend class ::WinMemberExplSpec;
 
7707
  friend class ::WinTypeKeywords;
 
7708
  friend class ::WinFriend;
8131
7709
  friend class ::ExtAC;
8132
7710
  friend class ::ExtACBuilderCoupling;
8133
7711
  friend class ::ExtACSyntaxCoupling;
8134
7712
  friend class ::ExtACTree;
8135
7713
  friend class ::ExtACKeywords;
8136
 
  friend class ::WinAsm;
8137
 
  friend class ::WinDeclSpecs;
8138
 
  friend class ::WinMemberExplSpec;
8139
 
  friend class ::WinTypeKeywords;
 
7714
  friend class ::ExtGnu;
8140
7715
  friend class ::PragmaOnceUnitState;
8141
7716
  friend class ::PragmaOnce;
8142
 
  friend class ::CCExprResolve;
8143
 
  friend class ::CExprResolve;
8144
 
 
8145
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
8146
 
 
8147
 
  ScanBuffer *next_buffer;
8148
 
  bool on_new_line;
8149
 
  int nl_pos;
8150
 
 
 
7717
  friend class ::CMatchSyntax;
 
7718
 
 
7719
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
7720
 
 
7721
 
 
7722
  int _new_line_pos;
8151
7723
  void check ();
8152
7724
 
8153
7725
public:
8154
 
  void decorate (ScanBuffer *nb) { next_buffer = nb; }
 
7726
  CScanBuffer () : _new_line_pos (-1) {}
8155
7727
  inline char next ();
8156
7728
  inline void reset ();
 
7729
  inline void retry (); 
8157
7730
  inline void accept (int len);
8158
 
  inline void retry ();
8159
 
  bool new_line () const { return on_new_line; }
8160
 
  char *token () { return next_buffer->token (); }
8161
 
  int len () const { return next_buffer->len (); }
8162
 
  void more (int len) { next_buffer->more (len); }
8163
 
  ScanBuffer::State state () const { return next_buffer->state (); }
 
7731
  inline bool new_line (int len) const;
8164
7732
};
8165
7733
 
8166
7734
 
8167
7735
inline char CScanBuffer::next () {
8168
 
  char character = next_buffer->next ();
8169
 
  if (character == '\n' && nl_pos == -1)
8170
 
    nl_pos = len () - 1;
8171
 
  check ();
 
7736
  char character = ScanBuffer::next ();
 
7737
  if (character == '\n' && _new_line_pos == -1)
 
7738
    _new_line_pos = len ();
 
7739
  if (ScanBuffer::state () == ScanBuffer::STATE_OK &&
 
7740
      ScanBuffer::lookahead () == '\\')
 
7741
    check ();
8172
7742
  return character;
8173
7743
}
8174
7744
 
8175
7745
inline void CScanBuffer::reset () { 
8176
 
  next_buffer->reset (); 
8177
 
  on_new_line = true;
8178
 
  nl_pos = -1;
 
7746
  ScanBuffer::reset ();
 
7747
  _new_line_pos = -1;
8179
7748
  check ();
8180
7749
}
8181
7750
 
8182
 
 
8183
7751
inline void CScanBuffer::retry () {
8184
 
  nl_pos = -1;
8185
 
  next_buffer->retry ();
 
7752
  ScanBuffer::retry ();
 
7753
  _new_line_pos = -1;
8186
7754
}
8187
7755
 
8188
 
 
8189
7756
inline void CScanBuffer::accept (int len) {
8190
 
  on_new_line = (nl_pos >= 0 && nl_pos < len);
8191
 
  nl_pos = -1;
8192
 
  next_buffer->accept (len);
 
7757
  ScanBuffer::accept (len);
 
7758
  _new_line_pos = -1;
 
7759
}
 
7760
 
 
7761
inline bool CScanBuffer::new_line (int len) const {
 
7762
  return _new_line_pos != -1 && _new_line_pos <= len;
8193
7763
}
8194
7764
 
8195
7765
} // namespace Puma
8196
7766
 
8197
7767
#endif // __CScanBuffer_h__
8198
7768
 
8199
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
7769
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
8200
7770
// This file is part of PUMA.
8201
7771
// Copyright (C) 1999-2003  The PUMA developer team.
8202
7772
//                                                                
8219
7789
#define __c_comment_recognizer_h__
8220
7790
 
8221
7791
 
8222
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
7792
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
8223
7793
// This file is part of PUMA.
8224
7794
// Copyright (C) 1999-2003  The PUMA developer team.
8225
7795
//                                                                
8246
7816
// generated mapping table
8247
7817
 
8248
7818
 
8249
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
 
7819
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
8250
7820
// This file is part of PUMA.
8251
7821
// Copyright (C) 1999-2003  The PUMA developer team.
8252
7822
//                                                                
8271
7841
// The token recognizer class, which uses scanner tables generated by the
8272
7842
// orange tool.
8273
7843
 
8274
 
 
8275
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
8276
7844
namespace Puma {
8277
7845
 
8278
7846
 
8279
7847
#ifndef __TTGEN__
8280
7848
#  define __TTGEN__
8281
 
 
8282
 
#line 8283 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
8283
 
} // closed Puma
8284
 
class WinIfExists;
8285
 
class WinImportHandler;
8286
 
class WinMacros;
8287
 
class CMatchSyntax;
8288
 
class ExtGnu;
8289
 
class ExtAC;
8290
 
class ExtACBuilderCoupling;
8291
 
class ExtACSyntaxCoupling;
8292
 
class ExtACTree;
8293
 
class ExtACKeywords;
8294
 
class WinAsm;
8295
 
class WinDeclSpecs;
8296
 
class WinMemberExplSpec;
8297
 
class WinTypeKeywords;
8298
 
class PragmaOnceUnitState;
8299
 
class PragmaOnce;
8300
 
class CCExprResolve;
8301
 
class CExprResolve;
8302
 
namespace Puma {
8303
 
 
8304
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
8305
7849
typedef struct
8306
 
 {
8307
 
#line 8308 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
8308
 
  friend class ::WinIfExists;
8309
 
  friend class ::WinImportHandler;
8310
 
  friend class ::WinMacros;
8311
 
  friend class ::CMatchSyntax;
8312
 
  friend class ::ExtGnu;
8313
 
  friend class ::ExtAC;
8314
 
  friend class ::ExtACBuilderCoupling;
8315
 
  friend class ::ExtACSyntaxCoupling;
8316
 
  friend class ::ExtACTree;
8317
 
  friend class ::ExtACKeywords;
8318
 
  friend class ::WinAsm;
8319
 
  friend class ::WinDeclSpecs;
8320
 
  friend class ::WinMemberExplSpec;
8321
 
  friend class ::WinTypeKeywords;
8322
 
  friend class ::PragmaOnceUnitState;
8323
 
  friend class ::PragmaOnce;
8324
 
  friend class ::CCExprResolve;
8325
 
  friend class ::CExprResolve;
8326
 
 
8327
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
8328
 
 unsigned char Type;
 
7850
 { unsigned char Type;
8329
7851
   unsigned char LookAhead;
8330
7852
   int           Expression;
8331
7853
   int           Start;
8335
7857
 
8336
7858
// class declaration
8337
7859
 
8338
 
 
8339
 
#line 8340 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
8340
 
} // closed Puma
8341
 
class WinIfExists;
8342
 
class WinImportHandler;
8343
 
class WinMacros;
8344
 
class CMatchSyntax;
8345
 
class ExtGnu;
8346
 
class ExtAC;
8347
 
class ExtACBuilderCoupling;
8348
 
class ExtACSyntaxCoupling;
8349
 
class ExtACTree;
8350
 
class ExtACKeywords;
8351
 
class WinAsm;
8352
 
class WinDeclSpecs;
8353
 
class WinMemberExplSpec;
8354
 
class WinTypeKeywords;
8355
 
class PragmaOnceUnitState;
8356
 
class PragmaOnce;
8357
 
class CCExprResolve;
8358
 
class CExprResolve;
8359
 
namespace Puma {
8360
 
 
8361
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
8362
7860
template <typename TScanBuffer>
8363
7861
class OrangeRecognizer {
8364
 
#line 8365 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
8365
 
  friend class ::WinIfExists;
8366
 
  friend class ::WinImportHandler;
8367
 
  friend class ::WinMacros;
8368
 
  friend class ::CMatchSyntax;
8369
 
  friend class ::ExtGnu;
8370
 
  friend class ::ExtAC;
8371
 
  friend class ::ExtACBuilderCoupling;
8372
 
  friend class ::ExtACSyntaxCoupling;
8373
 
  friend class ::ExtACTree;
8374
 
  friend class ::ExtACKeywords;
8375
 
  friend class ::WinAsm;
8376
 
  friend class ::WinDeclSpecs;
8377
 
  friend class ::WinMemberExplSpec;
8378
 
  friend class ::WinTypeKeywords;
8379
 
  friend class ::PragmaOnceUnitState;
8380
 
  friend class ::PragmaOnce;
8381
 
  friend class ::CCExprResolve;
8382
 
  friend class ::CExprResolve;
8383
 
 
8384
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
8385
 
 
8386
7862
  // local structures generated by Orange
8387
7863
 
8388
7864
  char *_map;
8415
7891
  int  LookAheadLen;
8416
7892
  int  AcceptLen;
8417
7893
  int  AcceptState;
8418
 
  ScanBuffer::State buffer_state = ScanBuffer::STATE_OK;
 
7894
  typename TScanBuffer::State buffer_state = TScanBuffer::STATE_OK;
8419
7895
 
8420
7896
  State = _start;
8421
7897
  AcceptState = -1;
8448
7924
      LookAheadLen = scan_buffer->len ();
8449
7925
 
8450
7926
    buffer_state = scan_buffer->state ();
8451
 
  } while (NextState != -1 && buffer_state == ScanBuffer::STATE_OK);
 
7927
  } while (NextState != -1 && buffer_state == TScanBuffer::STATE_OK);
8452
7928
 
8453
 
  if (buffer_state == ScanBuffer::STATE_ERROR)
 
7929
  if (buffer_state == TScanBuffer::STATE_ERROR)
8454
7930
    return -1;
8455
7931
 
8456
7932
  if (AcceptState == -1)
8466
7942
 
8467
7943
#endif /* __orange_recognizer_h__ */
8468
7944
 
8469
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
7945
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
8470
7946
namespace Puma {
8471
7947
 
8472
7948
 
8473
7949
// class declaration
8474
7950
 
8475
 
 
8476
 
#line 8477 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
8477
 
} // closed Puma
8478
 
class WinIfExists;
8479
 
class WinImportHandler;
8480
 
class WinMacros;
8481
 
class CMatchSyntax;
8482
 
class ExtGnu;
8483
 
class ExtAC;
8484
 
class ExtACBuilderCoupling;
8485
 
class ExtACSyntaxCoupling;
8486
 
class ExtACTree;
8487
 
class ExtACKeywords;
8488
 
class WinAsm;
8489
 
class WinDeclSpecs;
8490
 
class WinMemberExplSpec;
8491
 
class WinTypeKeywords;
8492
 
class PragmaOnceUnitState;
8493
 
class PragmaOnce;
8494
 
class CCExprResolve;
8495
 
class CExprResolve;
8496
 
namespace Puma {
8497
 
 
8498
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
8499
7951
template <class ScanBuffer>
8500
7952
class MappedOrangeRecognizer : public OrangeRecognizer<ScanBuffer> {
8501
 
#line 8502 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
8502
 
  friend class ::WinIfExists;
8503
 
  friend class ::WinImportHandler;
8504
 
  friend class ::WinMacros;
8505
 
  friend class ::CMatchSyntax;
8506
 
  friend class ::ExtGnu;
8507
 
  friend class ::ExtAC;
8508
 
  friend class ::ExtACBuilderCoupling;
8509
 
  friend class ::ExtACSyntaxCoupling;
8510
 
  friend class ::ExtACTree;
8511
 
  friend class ::ExtACKeywords;
8512
 
  friend class ::WinAsm;
8513
 
  friend class ::WinDeclSpecs;
8514
 
  friend class ::WinMemberExplSpec;
8515
 
  friend class ::WinTypeKeywords;
8516
 
  friend class ::PragmaOnceUnitState;
8517
 
  friend class ::PragmaOnce;
8518
 
  friend class ::CCExprResolve;
8519
 
  friend class ::CExprResolve;
8520
 
 
8521
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
8522
 
 
8523
7953
  int *_expr_map;
8524
7954
 
8525
7955
public:
8547
7977
 
8548
7978
#endif // __mapped_orange_recognizer_h__
8549
7979
 
8550
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
7980
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
8551
7981
namespace Puma {
8552
7982
 
8553
7983
 
8554
7984
 
8555
 
#line 8556 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
7985
#line 7986 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8556
7986
} // closed Puma
 
7987
class CCExprResolve;
 
7988
class CExprResolve;
8557
7989
class WinIfExists;
8558
7990
class WinImportHandler;
8559
7991
class WinMacros;
8560
 
class CMatchSyntax;
8561
 
class ExtGnu;
 
7992
class WinAsm;
 
7993
class WinDeclSpecs;
 
7994
class WinMemberExplSpec;
 
7995
class WinTypeKeywords;
 
7996
class WinFriend;
8562
7997
class ExtAC;
8563
7998
class ExtACBuilderCoupling;
8564
7999
class ExtACSyntaxCoupling;
8565
8000
class ExtACTree;
8566
8001
class ExtACKeywords;
8567
 
class WinAsm;
8568
 
class WinDeclSpecs;
8569
 
class WinMemberExplSpec;
8570
 
class WinTypeKeywords;
 
8002
class ExtGnu;
8571
8003
class PragmaOnceUnitState;
8572
8004
class PragmaOnce;
8573
 
class CCExprResolve;
8574
 
class CExprResolve;
 
8005
class CMatchSyntax;
8575
8006
namespace Puma {
8576
8007
 
8577
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
8008
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
8578
8009
class CCommentRecognizer {
8579
 
#line 8580 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8010
#line 8011 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8011
  friend class ::CCExprResolve;
 
8012
  friend class ::CExprResolve;
8580
8013
  friend class ::WinIfExists;
8581
8014
  friend class ::WinImportHandler;
8582
8015
  friend class ::WinMacros;
8583
 
  friend class ::CMatchSyntax;
8584
 
  friend class ::ExtGnu;
 
8016
  friend class ::WinAsm;
 
8017
  friend class ::WinDeclSpecs;
 
8018
  friend class ::WinMemberExplSpec;
 
8019
  friend class ::WinTypeKeywords;
 
8020
  friend class ::WinFriend;
8585
8021
  friend class ::ExtAC;
8586
8022
  friend class ::ExtACBuilderCoupling;
8587
8023
  friend class ::ExtACSyntaxCoupling;
8588
8024
  friend class ::ExtACTree;
8589
8025
  friend class ::ExtACKeywords;
8590
 
  friend class ::WinAsm;
8591
 
  friend class ::WinDeclSpecs;
8592
 
  friend class ::WinMemberExplSpec;
8593
 
  friend class ::WinTypeKeywords;
 
8026
  friend class ::ExtGnu;
8594
8027
  friend class ::PragmaOnceUnitState;
8595
8028
  friend class ::PragmaOnce;
8596
 
  friend class ::CCExprResolve;
8597
 
  friend class ::CExprResolve;
 
8029
  friend class ::CMatchSyntax;
8598
8030
 
8599
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
8031
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
8600
8032
 
8601
8033
public:
8602
8034
  typedef enum { NO_COMMENT, SL_COMMENT, ML_COMMENT } Mode;
8619
8051
 
8620
8052
#endif /* __c_comment_recognizer_h__ */
8621
8053
 
8622
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
8054
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
8623
8055
// This file is part of PUMA.
8624
8056
// Copyright (C) 1999-2003  The PUMA developer team.
8625
8057
//                                                                
8642
8074
#define __keyword_recognizer_h__
8643
8075
 
8644
8076
 
8645
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
8077
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
8646
8078
namespace Puma {
8647
8079
 
8648
8080
 
8649
8081
 
8650
 
#line 8651 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8082
#line 8083 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8651
8083
} // closed Puma
 
8084
class CCExprResolve;
 
8085
class CExprResolve;
8652
8086
class WinIfExists;
8653
8087
class WinImportHandler;
8654
8088
class WinMacros;
8655
 
class CMatchSyntax;
8656
 
class ExtGnu;
 
8089
class WinAsm;
 
8090
class WinDeclSpecs;
 
8091
class WinMemberExplSpec;
 
8092
class WinTypeKeywords;
 
8093
class WinFriend;
8657
8094
class ExtAC;
8658
8095
class ExtACBuilderCoupling;
8659
8096
class ExtACSyntaxCoupling;
8660
8097
class ExtACTree;
8661
8098
class ExtACKeywords;
8662
 
class WinAsm;
8663
 
class WinDeclSpecs;
8664
 
class WinMemberExplSpec;
8665
 
class WinTypeKeywords;
 
8099
class ExtGnu;
8666
8100
class PragmaOnceUnitState;
8667
8101
class PragmaOnce;
8668
 
class CCExprResolve;
8669
 
class CExprResolve;
 
8102
class CMatchSyntax;
8670
8103
namespace Puma {
8671
8104
 
8672
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
8105
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
8673
8106
class KeywordRecognizer {
8674
 
#line 8675 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8107
#line 8108 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8108
  friend class ::CCExprResolve;
 
8109
  friend class ::CExprResolve;
8675
8110
  friend class ::WinIfExists;
8676
8111
  friend class ::WinImportHandler;
8677
8112
  friend class ::WinMacros;
8678
 
  friend class ::CMatchSyntax;
8679
 
  friend class ::ExtGnu;
 
8113
  friend class ::WinAsm;
 
8114
  friend class ::WinDeclSpecs;
 
8115
  friend class ::WinMemberExplSpec;
 
8116
  friend class ::WinTypeKeywords;
 
8117
  friend class ::WinFriend;
8680
8118
  friend class ::ExtAC;
8681
8119
  friend class ::ExtACBuilderCoupling;
8682
8120
  friend class ::ExtACSyntaxCoupling;
8683
8121
  friend class ::ExtACTree;
8684
8122
  friend class ::ExtACKeywords;
8685
 
  friend class ::WinAsm;
8686
 
  friend class ::WinDeclSpecs;
8687
 
  friend class ::WinMemberExplSpec;
8688
 
  friend class ::WinTypeKeywords;
 
8123
  friend class ::ExtGnu;
8689
8124
  friend class ::PragmaOnceUnitState;
8690
8125
  friend class ::PragmaOnce;
8691
 
  friend class ::CCExprResolve;
8692
 
  friend class ::CExprResolve;
 
8126
  friend class ::CMatchSyntax;
8693
8127
 
8694
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
8128
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
8695
8129
 
8696
8130
protected:
8697
8131
  virtual MappedOrangeRecognizer<CScanBuffer> &recognizer() = 0;
8706
8140
 
8707
8141
#endif /* __keyword_recognizer_h__ */
8708
8142
 
8709
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
8143
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
8710
8144
namespace Puma {
8711
8145
 
8712
8146
 
8713
8147
 
8714
 
#line 8715 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8148
#line 8149 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8715
8149
} // closed Puma
 
8150
class CCExprResolve;
 
8151
class CExprResolve;
8716
8152
class WinIfExists;
8717
8153
class WinImportHandler;
8718
8154
class WinMacros;
8719
 
class CMatchSyntax;
8720
 
class ExtGnu;
 
8155
class WinAsm;
 
8156
class WinDeclSpecs;
 
8157
class WinMemberExplSpec;
 
8158
class WinTypeKeywords;
 
8159
class WinFriend;
8721
8160
class ExtAC;
8722
8161
class ExtACBuilderCoupling;
8723
8162
class ExtACSyntaxCoupling;
8724
8163
class ExtACTree;
8725
8164
class ExtACKeywords;
8726
 
class WinAsm;
8727
 
class WinDeclSpecs;
8728
 
class WinMemberExplSpec;
8729
 
class WinTypeKeywords;
 
8165
class ExtGnu;
8730
8166
class PragmaOnceUnitState;
8731
8167
class PragmaOnce;
8732
 
class CCExprResolve;
8733
 
class CExprResolve;
 
8168
class CMatchSyntax;
8734
8169
namespace Puma {
8735
8170
 
8736
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
8171
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
8737
8172
class CRecognizer {
8738
 
#line 8739 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8173
#line 8174 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8174
  friend class ::CCExprResolve;
 
8175
  friend class ::CExprResolve;
8739
8176
  friend class ::WinIfExists;
8740
8177
  friend class ::WinImportHandler;
8741
8178
  friend class ::WinMacros;
8742
 
  friend class ::CMatchSyntax;
8743
 
  friend class ::ExtGnu;
 
8179
  friend class ::WinAsm;
 
8180
  friend class ::WinDeclSpecs;
 
8181
  friend class ::WinMemberExplSpec;
 
8182
  friend class ::WinTypeKeywords;
 
8183
  friend class ::WinFriend;
8744
8184
  friend class ::ExtAC;
8745
8185
  friend class ::ExtACBuilderCoupling;
8746
8186
  friend class ::ExtACSyntaxCoupling;
8747
8187
  friend class ::ExtACTree;
8748
8188
  friend class ::ExtACKeywords;
8749
 
  friend class ::WinAsm;
8750
 
  friend class ::WinDeclSpecs;
8751
 
  friend class ::WinMemberExplSpec;
8752
 
  friend class ::WinTypeKeywords;
 
8189
  friend class ::ExtGnu;
8753
8190
  friend class ::PragmaOnceUnitState;
8754
8191
  friend class ::PragmaOnce;
8755
 
  friend class ::CCExprResolve;
8756
 
  friend class ::CExprResolve;
8757
 
 
8758
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
8759
 
 
8760
 
  CScanBuffer scan_buffer;
 
8192
  friend class ::CMatchSyntax;
 
8193
 
 
8194
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
8195
 
8761
8196
  CCommentRecognizer comment_recognizer;
8762
8197
  Array<KeywordRecognizer*> additional_keyword_recognizers;
8763
8198
 
8764
8199
public:
 
8200
  CScanBuffer scan_buffer; // TODO: temporarily made public!
 
8201
 
8765
8202
  typedef enum { NORMAL, IN_COMP_DIR, IN_PRE_DIR } Mode;
8766
 
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, STRING, CORE, 
 
8203
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, CORE, 
8767
8204
                 KEYWORD, ID, WILDCARD, UNKNOWN } Lang;
8768
8205
 
8769
 
  CRecognizer () : wildcards (false), aspectc (false), macro_ops (false),
 
8206
  CRecognizer () : directives(true), wildcards (false),
 
8207
    aspectc (false), macro_ops (false),
8770
8208
    std_c (true), std_cplusplus (true) {}
8771
 
  CRecognizer (ScanBuffer& buffer) : wildcards (false), aspectc (false),
8772
 
    macro_ops (false) { setup (buffer); }
 
8209
  void allow_directives (bool flag = true)    { directives = flag; }
8773
8210
  void allow_wildcards (bool flag = true)     { wildcards = flag; }
8774
8211
  void allow_aspectc (bool flag = true)       { aspectc   = flag; } 
8775
8212
  void allow_macro_ops (bool flag = true)     { macro_ops = flag; }
8776
8213
  void allow_std_c (bool flag = true)         { std_c = flag; }
8777
8214
  void allow_std_cplusplus (bool flag = true) { std_cplusplus = flag; }
8778
 
  void setup (ScanBuffer &buffer);
 
8215
  void setup ();
8779
8216
  int recognize (Lang &lang, int &expr, int &len);
8780
 
  Mode mode () { return scan_mode; }
8781
 
  bool new_line () const { return scan_buffer.new_line (); }
 
8217
  Mode mode () const { return scan_mode; }
 
8218
  void mode (Mode mode) { scan_mode = mode; }
8782
8219
  CScanBuffer& buffer () { return scan_buffer; }
8783
8220
  void addRecognizer(KeywordRecognizer &recognizer) 
8784
8221
   { additional_keyword_recognizers.append(&recognizer); }
8785
8222
 
8786
8223
private:
8787
 
  static MappedOrangeRecognizer<CScanBuffer> string_recognizer;   
8788
8224
  static MappedOrangeRecognizer<CScanBuffer> pre_dir_recognizer;
8789
8225
  static MappedOrangeRecognizer<CScanBuffer> pre_token_recognizer;
8790
8226
  static OrangeRecognizer<CScanBuffer> dir_recognizer;
8791
 
  static MappedOrangeRecognizer<CScanBuffer> whitespace_recognizer;
8792
8227
  static MappedOrangeRecognizer<CScanBuffer> wildcard_recognizer;
8793
8228
  static MappedOrangeRecognizer<CScanBuffer> core_recognizer;
8794
8229
  static MappedOrangeRecognizer<CScanBuffer> identifier_recognizer;
8795
8230
 
8796
8231
  Mode scan_mode;
8797
 
  bool check_directive;
 
8232
  bool directives;
8798
8233
  bool wildcards;
8799
8234
  bool aspectc;
8800
8235
  bool macro_ops;
8807
8242
 
8808
8243
#endif /* __c_recognizer_h__ */
8809
8244
 
8810
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
8245
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
8811
8246
// This file is part of PUMA.
8812
8247
// Copyright (C) 1999-2003  The PUMA developer team.
8813
8248
//                                                                
8833
8268
// form tokens, which used to fill a "Unit".
8834
8269
 
8835
8270
 
8836
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
8271
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
8837
8272
// This file is part of PUMA.
8838
8273
// Copyright (C) 1999-2003  The PUMA developer team.
8839
8274
//                                                                
8859
8294
 
8860
8295
 
8861
8296
 
8862
 
#line 8863 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8297
#line 8298 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8863
8298
} // closed Puma
 
8299
class CCExprResolve;
 
8300
class CExprResolve;
8864
8301
class WinIfExists;
8865
8302
class WinImportHandler;
8866
8303
class WinMacros;
8867
 
class CMatchSyntax;
8868
 
class ExtGnu;
 
8304
class WinAsm;
 
8305
class WinDeclSpecs;
 
8306
class WinMemberExplSpec;
 
8307
class WinTypeKeywords;
 
8308
class WinFriend;
8869
8309
class ExtAC;
8870
8310
class ExtACBuilderCoupling;
8871
8311
class ExtACSyntaxCoupling;
8872
8312
class ExtACTree;
8873
8313
class ExtACKeywords;
8874
 
class WinAsm;
8875
 
class WinDeclSpecs;
8876
 
class WinMemberExplSpec;
8877
 
class WinTypeKeywords;
 
8314
class ExtGnu;
8878
8315
class PragmaOnceUnitState;
8879
8316
class PragmaOnce;
8880
 
class CCExprResolve;
8881
 
class CExprResolve;
 
8317
class CMatchSyntax;
8882
8318
namespace Puma {
8883
8319
 
8884
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
8320
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
8885
8321
class Source {
8886
 
#line 8887 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8322
#line 8323 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8323
  friend class ::CCExprResolve;
 
8324
  friend class ::CExprResolve;
8887
8325
  friend class ::WinIfExists;
8888
8326
  friend class ::WinImportHandler;
8889
8327
  friend class ::WinMacros;
8890
 
  friend class ::CMatchSyntax;
8891
 
  friend class ::ExtGnu;
 
8328
  friend class ::WinAsm;
 
8329
  friend class ::WinDeclSpecs;
 
8330
  friend class ::WinMemberExplSpec;
 
8331
  friend class ::WinTypeKeywords;
 
8332
  friend class ::WinFriend;
8892
8333
  friend class ::ExtAC;
8893
8334
  friend class ::ExtACBuilderCoupling;
8894
8335
  friend class ::ExtACSyntaxCoupling;
8895
8336
  friend class ::ExtACTree;
8896
8337
  friend class ::ExtACKeywords;
8897
 
  friend class ::WinAsm;
8898
 
  friend class ::WinDeclSpecs;
8899
 
  friend class ::WinMemberExplSpec;
8900
 
  friend class ::WinTypeKeywords;
 
8338
  friend class ::ExtGnu;
8901
8339
  friend class ::PragmaOnceUnitState;
8902
8340
  friend class ::PragmaOnce;
8903
 
  friend class ::CCExprResolve;
8904
 
  friend class ::CExprResolve;
 
8341
  friend class ::CMatchSyntax;
8905
8342
 
8906
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
8343
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
8907
8344
 
8908
8345
public:
8909
8346
  Source () {}
8917
8354
 
8918
8355
#endif /* __source_h__ */
8919
8356
 
8920
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
8357
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
8921
8358
namespace Puma {
8922
8359
 
8923
8360
 
8924
8361
 
8925
 
#line 8926 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8362
#line 8363 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8926
8363
} // closed Puma
 
8364
class CCExprResolve;
 
8365
class CExprResolve;
8927
8366
class WinIfExists;
8928
8367
class WinImportHandler;
8929
8368
class WinMacros;
8930
 
class CMatchSyntax;
8931
 
class ExtGnu;
 
8369
class WinAsm;
 
8370
class WinDeclSpecs;
 
8371
class WinMemberExplSpec;
 
8372
class WinTypeKeywords;
 
8373
class WinFriend;
8932
8374
class ExtAC;
8933
8375
class ExtACBuilderCoupling;
8934
8376
class ExtACSyntaxCoupling;
8935
8377
class ExtACTree;
8936
8378
class ExtACKeywords;
8937
 
class WinAsm;
8938
 
class WinDeclSpecs;
8939
 
class WinMemberExplSpec;
8940
 
class WinTypeKeywords;
 
8379
class ExtGnu;
8941
8380
class PragmaOnceUnitState;
8942
8381
class PragmaOnce;
8943
 
class CCExprResolve;
8944
 
class CExprResolve;
 
8382
class CMatchSyntax;
8945
8383
namespace Puma {
8946
8384
 
8947
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
8385
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
8948
8386
class Tokenizer {
8949
 
#line 8950 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8387
#line 8388 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8388
  friend class ::CCExprResolve;
 
8389
  friend class ::CExprResolve;
8950
8390
  friend class ::WinIfExists;
8951
8391
  friend class ::WinImportHandler;
8952
8392
  friend class ::WinMacros;
8953
 
  friend class ::CMatchSyntax;
8954
 
  friend class ::ExtGnu;
 
8393
  friend class ::WinAsm;
 
8394
  friend class ::WinDeclSpecs;
 
8395
  friend class ::WinMemberExplSpec;
 
8396
  friend class ::WinTypeKeywords;
 
8397
  friend class ::WinFriend;
8955
8398
  friend class ::ExtAC;
8956
8399
  friend class ::ExtACBuilderCoupling;
8957
8400
  friend class ::ExtACSyntaxCoupling;
8958
8401
  friend class ::ExtACTree;
8959
8402
  friend class ::ExtACKeywords;
8960
 
  friend class ::WinAsm;
8961
 
  friend class ::WinDeclSpecs;
8962
 
  friend class ::WinMemberExplSpec;
8963
 
  friend class ::WinTypeKeywords;
 
8403
  friend class ::ExtGnu;
8964
8404
  friend class ::PragmaOnceUnitState;
8965
8405
  friend class ::PragmaOnce;
8966
 
  friend class ::CCExprResolve;
8967
 
  friend class ::CExprResolve;
 
8406
  friend class ::CMatchSyntax;
8968
8407
 
8969
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
8408
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
8970
8409
 
8971
8410
public:
8972
8411
  virtual ~Tokenizer () {}
8978
8417
 
8979
8418
#endif /* __Tokenizer_h__ */
8980
8419
 
8981
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8420
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
8982
8421
namespace Puma {
8983
8422
 
8984
8423
 
8985
8424
class Token;
8986
8425
 
8987
8426
 
8988
 
#line 8989 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8427
#line 8428 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
8989
8428
} // closed Puma
 
8429
class CCExprResolve;
 
8430
class CExprResolve;
8990
8431
class WinIfExists;
8991
8432
class WinImportHandler;
8992
8433
class WinMacros;
8993
 
class CMatchSyntax;
8994
 
class ExtGnu;
 
8434
class WinAsm;
 
8435
class WinDeclSpecs;
 
8436
class WinMemberExplSpec;
 
8437
class WinTypeKeywords;
 
8438
class WinFriend;
8995
8439
class ExtAC;
8996
8440
class ExtACBuilderCoupling;
8997
8441
class ExtACSyntaxCoupling;
8998
8442
class ExtACTree;
8999
8443
class ExtACKeywords;
9000
 
class WinAsm;
9001
 
class WinDeclSpecs;
9002
 
class WinMemberExplSpec;
9003
 
class WinTypeKeywords;
 
8444
class ExtGnu;
9004
8445
class PragmaOnceUnitState;
9005
8446
class PragmaOnce;
9006
 
class CCExprResolve;
9007
 
class CExprResolve;
 
8447
class CMatchSyntax;
9008
8448
namespace Puma {
9009
8449
 
9010
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8450
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9011
8451
class CScanner : public CRecognizer, public Tokenizer {
9012
 
#line 9013 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8452
#line 8453 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8453
  friend class ::CCExprResolve;
 
8454
  friend class ::CExprResolve;
9013
8455
  friend class ::WinIfExists;
9014
8456
  friend class ::WinImportHandler;
9015
8457
  friend class ::WinMacros;
9016
 
  friend class ::CMatchSyntax;
9017
 
  friend class ::ExtGnu;
 
8458
  friend class ::WinAsm;
 
8459
  friend class ::WinDeclSpecs;
 
8460
  friend class ::WinMemberExplSpec;
 
8461
  friend class ::WinTypeKeywords;
 
8462
  friend class ::WinFriend;
9018
8463
  friend class ::ExtAC;
9019
8464
  friend class ::ExtACBuilderCoupling;
9020
8465
  friend class ::ExtACSyntaxCoupling;
9021
8466
  friend class ::ExtACTree;
9022
8467
  friend class ::ExtACKeywords;
9023
 
  friend class ::WinAsm;
9024
 
  friend class ::WinDeclSpecs;
9025
 
  friend class ::WinMemberExplSpec;
9026
 
  friend class ::WinTypeKeywords;
 
8468
  friend class ::ExtGnu;
9027
8469
  friend class ::PragmaOnceUnitState;
9028
8470
  friend class ::PragmaOnce;
9029
 
  friend class ::CCExprResolve;
9030
 
  friend class ::CExprResolve;
 
8471
  friend class ::CMatchSyntax;
9031
8472
 
9032
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8473
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9033
8474
 
9034
8475
  Location loc;
9035
8476
  ErrorSink &err;
9044
8485
  virtual ~CScanner () {}
9045
8486
  void configure (const Config &);
9046
8487
  
9047
 
#line 9048 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9048
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
8488
#line 8489 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8489
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
9049
8490
 
9050
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8491
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9051
8492
void fill_unit (Source &in, Unit &unit);
9052
8493
  
9053
 
#line 9054 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9054
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
8494
#line 8495 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8495
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
9055
8496
 
9056
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8497
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9057
8498
void fill_unit (const char *in, Unit &unit);
9058
8499
};
9059
8500
 
9062
8503
 
9063
8504
#endif /* __c_scanner_h__ */
9064
8505
 
9065
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
8506
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
9066
8507
// This file is part of PUMA.
9067
8508
// Copyright (C) 1999-2003  The PUMA developer team.
9068
8509
//                                                                
9085
8526
#define __c_unit_h__
9086
8527
 
9087
8528
 
9088
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8529
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9089
8530
 
9090
 
#line 9091 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8531
#line 8532 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9091
8532
 
9092
8533
#ifndef __ac_fwd_ExtACKeywords__
9093
8534
#define __ac_fwd_ExtACKeywords__
9094
8535
class ExtACKeywords;
9095
8536
namespace AC {
9096
 
  template <class JoinPoint, class Binding>
9097
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
9098
 
  template <class JoinPoint, class Binding>
9099
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
9100
 
  template <class JoinPoint>
9101
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
8537
  template <class JoinPoint>
 
8538
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
8539
  template <class JoinPoint>
 
8540
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
8541
  template <class JoinPoint>
 
8542
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
9102
8543
}
9103
8544
#endif
9104
8545
 
9105
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
9106
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
8546
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
8547
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
9107
8548
#endif
9108
8549
 
9109
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8550
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9110
8551
// This file is part of PUMA.
9111
8552
// Copyright (C) 1999-2003  The PUMA developer team.
9112
8553
//                                                                
9143
8584
class Token;
9144
8585
 
9145
8586
 
9146
 
#line 9147 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8587
#line 8588 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9147
8588
} // closed Puma
 
8589
class CCExprResolve;
 
8590
class CExprResolve;
9148
8591
class WinIfExists;
9149
8592
class WinImportHandler;
9150
8593
class WinMacros;
9151
 
class CMatchSyntax;
9152
 
class ExtGnu;
 
8594
class WinAsm;
 
8595
class WinDeclSpecs;
 
8596
class WinMemberExplSpec;
 
8597
class WinTypeKeywords;
 
8598
class WinFriend;
9153
8599
class ExtAC;
9154
8600
class ExtACBuilderCoupling;
9155
8601
class ExtACSyntaxCoupling;
9156
8602
class ExtACTree;
9157
8603
class ExtACKeywords;
9158
 
class WinAsm;
9159
 
class WinDeclSpecs;
9160
 
class WinMemberExplSpec;
9161
 
class WinTypeKeywords;
 
8604
class ExtGnu;
9162
8605
class PragmaOnceUnitState;
9163
8606
class PragmaOnce;
9164
 
class CCExprResolve;
9165
 
class CExprResolve;
 
8607
class CMatchSyntax;
9166
8608
namespace Puma {
9167
8609
 
9168
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8610
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9169
8611
class CScanner : public CRecognizer, public Tokenizer {
9170
 
#line 9171 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8612
#line 8613 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8613
  friend class ::CCExprResolve;
 
8614
  friend class ::CExprResolve;
9171
8615
  friend class ::WinIfExists;
9172
8616
  friend class ::WinImportHandler;
9173
8617
  friend class ::WinMacros;
9174
 
  friend class ::CMatchSyntax;
9175
 
  friend class ::ExtGnu;
 
8618
  friend class ::WinAsm;
 
8619
  friend class ::WinDeclSpecs;
 
8620
  friend class ::WinMemberExplSpec;
 
8621
  friend class ::WinTypeKeywords;
 
8622
  friend class ::WinFriend;
9176
8623
  friend class ::ExtAC;
9177
8624
  friend class ::ExtACBuilderCoupling;
9178
8625
  friend class ::ExtACSyntaxCoupling;
9179
8626
  friend class ::ExtACTree;
9180
8627
  friend class ::ExtACKeywords;
9181
 
  friend class ::WinAsm;
9182
 
  friend class ::WinDeclSpecs;
9183
 
  friend class ::WinMemberExplSpec;
9184
 
  friend class ::WinTypeKeywords;
 
8628
  friend class ::ExtGnu;
9185
8629
  friend class ::PragmaOnceUnitState;
9186
8630
  friend class ::PragmaOnce;
9187
 
  friend class ::CCExprResolve;
9188
 
  friend class ::CExprResolve;
 
8631
  friend class ::CMatchSyntax;
9189
8632
 
9190
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8633
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9191
8634
 
9192
8635
  Location loc;
9193
8636
  ErrorSink &err;
9202
8645
  virtual ~CScanner () {}
9203
8646
  void configure (const Config &);
9204
8647
  
9205
 
#line 9206 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9206
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
8648
#line 8649 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8649
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
9207
8650
 
9208
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8651
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9209
8652
void fill_unit (Source &in, Unit &unit);
9210
8653
  
9211
 
#line 9212 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9212
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
8654
#line 8655 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8655
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
9213
8656
 
9214
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
8657
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
9215
8658
void fill_unit (const char *in, Unit &unit);
9216
8659
};
9217
8660
 
9220
8663
 
9221
8664
#endif /* __c_scanner_h__ */
9222
8665
 
9223
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
8666
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
9224
8667
using namespace std;
9225
8668
 
9226
8669
namespace Puma {
9227
8670
 
9228
8671
 
9229
8672
 
9230
 
#line 9231 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8673
#line 8674 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9231
8674
} // closed Puma
 
8675
class CCExprResolve;
 
8676
class CExprResolve;
9232
8677
class WinIfExists;
9233
8678
class WinImportHandler;
9234
8679
class WinMacros;
9235
 
class CMatchSyntax;
9236
 
class ExtGnu;
 
8680
class WinAsm;
 
8681
class WinDeclSpecs;
 
8682
class WinMemberExplSpec;
 
8683
class WinTypeKeywords;
 
8684
class WinFriend;
9237
8685
class ExtAC;
9238
8686
class ExtACBuilderCoupling;
9239
8687
class ExtACSyntaxCoupling;
9240
8688
class ExtACTree;
9241
8689
class ExtACKeywords;
9242
 
class WinAsm;
9243
 
class WinDeclSpecs;
9244
 
class WinMemberExplSpec;
9245
 
class WinTypeKeywords;
 
8690
class ExtGnu;
9246
8691
class PragmaOnceUnitState;
9247
8692
class PragmaOnce;
9248
 
class CCExprResolve;
9249
 
class CExprResolve;
 
8693
class CMatchSyntax;
9250
8694
namespace Puma {
9251
8695
 
9252
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
8696
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
9253
8697
class CUnit : public Unit, public std::ostringstream {
9254
 
#line 9255 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8698
#line 8699 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8699
  friend class ::CCExprResolve;
 
8700
  friend class ::CExprResolve;
9255
8701
  friend class ::WinIfExists;
9256
8702
  friend class ::WinImportHandler;
9257
8703
  friend class ::WinMacros;
9258
 
  friend class ::CMatchSyntax;
9259
 
  friend class ::ExtGnu;
 
8704
  friend class ::WinAsm;
 
8705
  friend class ::WinDeclSpecs;
 
8706
  friend class ::WinMemberExplSpec;
 
8707
  friend class ::WinTypeKeywords;
 
8708
  friend class ::WinFriend;
9260
8709
  friend class ::ExtAC;
9261
8710
  friend class ::ExtACBuilderCoupling;
9262
8711
  friend class ::ExtACSyntaxCoupling;
9263
8712
  friend class ::ExtACTree;
9264
8713
  friend class ::ExtACKeywords;
9265
 
  friend class ::WinAsm;
9266
 
  friend class ::WinDeclSpecs;
9267
 
  friend class ::WinMemberExplSpec;
9268
 
  friend class ::WinTypeKeywords;
 
8714
  friend class ::ExtGnu;
9269
8715
  friend class ::PragmaOnceUnitState;
9270
8716
  friend class ::PragmaOnce;
9271
 
  friend class ::CCExprResolve;
9272
 
  friend class ::CExprResolve;
 
8717
  friend class ::CMatchSyntax;
9273
8718
 
9274
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
8719
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
9275
8720
 
9276
8721
  CScanner _scanner;
9277
8722
 
9293
8738
 
9294
8739
#endif /* __c_unit_h__ */
9295
8740
 
9296
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
8741
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
9297
8742
// This file is part of PUMA.
9298
8743
// Copyright (C) 1999-2003  The PUMA developer team.
9299
8744
//                                                                
9321
8766
class Token;
9322
8767
 
9323
8768
 
9324
 
#line 9325 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8769
#line 8770 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9325
8770
} // closed Puma
 
8771
class CCExprResolve;
 
8772
class CExprResolve;
9326
8773
class WinIfExists;
9327
8774
class WinImportHandler;
9328
8775
class WinMacros;
9329
 
class CMatchSyntax;
9330
 
class ExtGnu;
 
8776
class WinAsm;
 
8777
class WinDeclSpecs;
 
8778
class WinMemberExplSpec;
 
8779
class WinTypeKeywords;
 
8780
class WinFriend;
9331
8781
class ExtAC;
9332
8782
class ExtACBuilderCoupling;
9333
8783
class ExtACSyntaxCoupling;
9334
8784
class ExtACTree;
9335
8785
class ExtACKeywords;
9336
 
class WinAsm;
9337
 
class WinDeclSpecs;
9338
 
class WinMemberExplSpec;
9339
 
class WinTypeKeywords;
 
8786
class ExtGnu;
9340
8787
class PragmaOnceUnitState;
9341
8788
class PragmaOnce;
9342
 
class CCExprResolve;
9343
 
class CExprResolve;
 
8789
class CMatchSyntax;
9344
8790
namespace Puma {
9345
8791
 
9346
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
8792
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
9347
8793
class PumaTokenSource {
9348
 
#line 9349 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8794
#line 8795 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8795
  friend class ::CCExprResolve;
 
8796
  friend class ::CExprResolve;
9349
8797
  friend class ::WinIfExists;
9350
8798
  friend class ::WinImportHandler;
9351
8799
  friend class ::WinMacros;
9352
 
  friend class ::CMatchSyntax;
9353
 
  friend class ::ExtGnu;
 
8800
  friend class ::WinAsm;
 
8801
  friend class ::WinDeclSpecs;
 
8802
  friend class ::WinMemberExplSpec;
 
8803
  friend class ::WinTypeKeywords;
 
8804
  friend class ::WinFriend;
9354
8805
  friend class ::ExtAC;
9355
8806
  friend class ::ExtACBuilderCoupling;
9356
8807
  friend class ::ExtACSyntaxCoupling;
9357
8808
  friend class ::ExtACTree;
9358
8809
  friend class ::ExtACKeywords;
9359
 
  friend class ::WinAsm;
9360
 
  friend class ::WinDeclSpecs;
9361
 
  friend class ::WinMemberExplSpec;
9362
 
  friend class ::WinTypeKeywords;
 
8810
  friend class ::ExtGnu;
9363
8811
  friend class ::PragmaOnceUnitState;
9364
8812
  friend class ::PragmaOnce;
9365
 
  friend class ::CCExprResolve;
9366
 
  friend class ::CExprResolve;
 
8813
  friend class ::CMatchSyntax;
9367
8814
 
9368
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
8815
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
9369
8816
 
9370
8817
protected:
9371
8818
  PumaTokenSource () {}
9380
8827
 
9381
8828
#endif /* __Token_Source__ */
9382
8829
 
9383
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
8830
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
9384
8831
// This file is part of PUMA.
9385
8832
// Copyright (C) 1999-2003  The PUMA developer team.
9386
8833
//                                                                
9406
8853
// all macros of a given string or unit.
9407
8854
 
9408
8855
 
9409
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
8856
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
9410
8857
using std::set;
9411
8858
 
9412
8859
 
9413
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
8860
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
9414
8861
// This file is part of PUMA.
9415
8862
// Copyright (C) 1999-2003  The PUMA developer team.
9416
8863
//                                                                
9433
8880
#define __pre_arg_desc__
9434
8881
 
9435
8882
 
9436
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
8883
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
9437
8884
// This file is part of PUMA.
9438
8885
// Copyright (C) 1999-2003  The PUMA developer team.
9439
8886
//                                                                
9458
8905
// Special unit for macro expansions
9459
8906
 
9460
8907
 
9461
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
8908
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
9462
8909
namespace Puma {
9463
8910
 
9464
8911
 
9465
8912
 
9466
 
#line 9467 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8913
#line 8914 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9467
8914
} // closed Puma
 
8915
class CCExprResolve;
 
8916
class CExprResolve;
9468
8917
class WinIfExists;
9469
8918
class WinImportHandler;
9470
8919
class WinMacros;
9471
 
class CMatchSyntax;
9472
 
class ExtGnu;
 
8920
class WinAsm;
 
8921
class WinDeclSpecs;
 
8922
class WinMemberExplSpec;
 
8923
class WinTypeKeywords;
 
8924
class WinFriend;
9473
8925
class ExtAC;
9474
8926
class ExtACBuilderCoupling;
9475
8927
class ExtACSyntaxCoupling;
9476
8928
class ExtACTree;
9477
8929
class ExtACKeywords;
9478
 
class WinAsm;
9479
 
class WinDeclSpecs;
9480
 
class WinMemberExplSpec;
9481
 
class WinTypeKeywords;
 
8930
class ExtGnu;
9482
8931
class PragmaOnceUnitState;
9483
8932
class PragmaOnce;
9484
 
class CCExprResolve;
9485
 
class CExprResolve;
 
8933
class CMatchSyntax;
9486
8934
namespace Puma {
9487
8935
 
9488
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
8936
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
9489
8937
class MacroUnit : public Unit {
9490
 
#line 9491 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8938
#line 8939 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
8939
  friend class ::CCExprResolve;
 
8940
  friend class ::CExprResolve;
9491
8941
  friend class ::WinIfExists;
9492
8942
  friend class ::WinImportHandler;
9493
8943
  friend class ::WinMacros;
9494
 
  friend class ::CMatchSyntax;
9495
 
  friend class ::ExtGnu;
 
8944
  friend class ::WinAsm;
 
8945
  friend class ::WinDeclSpecs;
 
8946
  friend class ::WinMemberExplSpec;
 
8947
  friend class ::WinTypeKeywords;
 
8948
  friend class ::WinFriend;
9496
8949
  friend class ::ExtAC;
9497
8950
  friend class ::ExtACBuilderCoupling;
9498
8951
  friend class ::ExtACSyntaxCoupling;
9499
8952
  friend class ::ExtACTree;
9500
8953
  friend class ::ExtACKeywords;
9501
 
  friend class ::WinAsm;
9502
 
  friend class ::WinDeclSpecs;
9503
 
  friend class ::WinMemberExplSpec;
9504
 
  friend class ::WinTypeKeywords;
 
8954
  friend class ::ExtGnu;
9505
8955
  friend class ::PragmaOnceUnitState;
9506
8956
  friend class ::PragmaOnce;
9507
 
  friend class ::CCExprResolve;
9508
 
  friend class ::CExprResolve;
 
8957
  friend class ::CMatchSyntax;
9509
8958
 
9510
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
8959
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
9511
8960
 
9512
8961
  Unit *_CallingUnit;
9513
8962
  Token *_StartToken;
9544
8993
 
9545
8994
#endif /* __MacroUnit__ */
9546
8995
 
9547
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
8996
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
9548
8997
namespace Puma {
9549
8998
 
9550
8999
 
9551
9000
 
9552
 
#line 9553 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9001
#line 9002 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9553
9002
} // closed Puma
 
9003
class CCExprResolve;
 
9004
class CExprResolve;
9554
9005
class WinIfExists;
9555
9006
class WinImportHandler;
9556
9007
class WinMacros;
9557
 
class CMatchSyntax;
9558
 
class ExtGnu;
 
9008
class WinAsm;
 
9009
class WinDeclSpecs;
 
9010
class WinMemberExplSpec;
 
9011
class WinTypeKeywords;
 
9012
class WinFriend;
9559
9013
class ExtAC;
9560
9014
class ExtACBuilderCoupling;
9561
9015
class ExtACSyntaxCoupling;
9562
9016
class ExtACTree;
9563
9017
class ExtACKeywords;
9564
 
class WinAsm;
9565
 
class WinDeclSpecs;
9566
 
class WinMemberExplSpec;
9567
 
class WinTypeKeywords;
 
9018
class ExtGnu;
9568
9019
class PragmaOnceUnitState;
9569
9020
class PragmaOnce;
9570
 
class CCExprResolve;
9571
 
class CExprResolve;
 
9021
class CMatchSyntax;
9572
9022
namespace Puma {
9573
9023
 
9574
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
9024
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
9575
9025
class PreArgDesc {
9576
 
#line 9577 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9026
#line 9027 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9027
  friend class ::CCExprResolve;
 
9028
  friend class ::CExprResolve;
9577
9029
  friend class ::WinIfExists;
9578
9030
  friend class ::WinImportHandler;
9579
9031
  friend class ::WinMacros;
9580
 
  friend class ::CMatchSyntax;
9581
 
  friend class ::ExtGnu;
 
9032
  friend class ::WinAsm;
 
9033
  friend class ::WinDeclSpecs;
 
9034
  friend class ::WinMemberExplSpec;
 
9035
  friend class ::WinTypeKeywords;
 
9036
  friend class ::WinFriend;
9582
9037
  friend class ::ExtAC;
9583
9038
  friend class ::ExtACBuilderCoupling;
9584
9039
  friend class ::ExtACSyntaxCoupling;
9585
9040
  friend class ::ExtACTree;
9586
9041
  friend class ::ExtACKeywords;
9587
 
  friend class ::WinAsm;
9588
 
  friend class ::WinDeclSpecs;
9589
 
  friend class ::WinMemberExplSpec;
9590
 
  friend class ::WinTypeKeywords;
 
9042
  friend class ::ExtGnu;
9591
9043
  friend class ::PragmaOnceUnitState;
9592
9044
  friend class ::PragmaOnce;
9593
 
  friend class ::CCExprResolve;
9594
 
  friend class ::CExprResolve;
 
9045
  friend class ::CMatchSyntax;
9595
9046
 
9596
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
9047
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
9597
9048
 
9598
9049
  // Collected arguments of a function-like macro.
9599
9050
  Array<MacroUnit> m_Args;
9622
9073
 
9623
9074
#endif /* __pre_arg_desc__ */
9624
9075
 
9625
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
9076
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
9626
9077
namespace Puma {
9627
9078
 
9628
9079
 
9635
9086
class PreMacro;
9636
9087
 
9637
9088
 
9638
 
#line 9639 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9089
#line 9090 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
9639
9090
} // closed Puma
 
9091
class CCExprResolve;
 
9092
class CExprResolve;
9640
9093
class WinIfExists;
9641
9094
class WinImportHandler;
9642
9095
class WinMacros;
9643
 
class CMatchSyntax;
9644
 
class ExtGnu;
 
9096
class WinAsm;
 
9097
class WinDeclSpecs;
 
9098
class WinMemberExplSpec;
 
9099
class WinTypeKeywords;
 
9100
class WinFriend;
9645
9101
class ExtAC;
9646
9102
class ExtACBuilderCoupling;
9647
9103
class ExtACSyntaxCoupling;
9648
9104
class ExtACTree;
9649
9105
class ExtACKeywords;
9650
 
class WinAsm;
9651
 
class WinDeclSpecs;
9652
 
class WinMemberExplSpec;
9653
 
class WinTypeKeywords;
 
9106
class ExtGnu;
9654
9107
class PragmaOnceUnitState;
9655
9108
class PragmaOnce;
9656
 
class CCExprResolve;
9657
 
class CExprResolve;
 
9109
class CMatchSyntax;
9658
9110
namespace Puma {
9659
9111
 
9660
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
9112
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
9661
9113
class PreMacroExpander {
9662
 
#line 9663 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9114
#line 9115 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9115
  friend class ::CCExprResolve;
 
9116
  friend class ::CExprResolve;
9663
9117
  friend class ::WinIfExists;
9664
9118
  friend class ::WinImportHandler;
9665
9119
  friend class ::WinMacros;
9666
 
  friend class ::CMatchSyntax;
9667
 
  friend class ::ExtGnu;
 
9120
  friend class ::WinAsm;
 
9121
  friend class ::WinDeclSpecs;
 
9122
  friend class ::WinMemberExplSpec;
 
9123
  friend class ::WinTypeKeywords;
 
9124
  friend class ::WinFriend;
9668
9125
  friend class ::ExtAC;
9669
9126
  friend class ::ExtACBuilderCoupling;
9670
9127
  friend class ::ExtACSyntaxCoupling;
9671
9128
  friend class ::ExtACTree;
9672
9129
  friend class ::ExtACKeywords;
9673
 
  friend class ::WinAsm;
9674
 
  friend class ::WinDeclSpecs;
9675
 
  friend class ::WinMemberExplSpec;
9676
 
  friend class ::WinTypeKeywords;
 
9130
  friend class ::ExtGnu;
9677
9131
  friend class ::PragmaOnceUnitState;
9678
9132
  friend class ::PragmaOnce;
9679
 
  friend class ::CCExprResolve;
9680
 
  friend class ::CExprResolve;
 
9133
  friend class ::CMatchSyntax;
9681
9134
 
9682
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
9135
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
9683
9136
 
9684
9137
  TokenStream        *_scanner;
9685
9138
  PreMacroManager    *_macroManager;
9744
9197
  // Push unit on token stream.
9745
9198
  void pushUnit (TokenStream &, Unit *) const;
9746
9199
 
 
9200
  // Get the next non-whitespace non-comment token
 
9201
  Token* nextPreprocessingToken (Token*, Unit*) const;
 
9202
 
 
9203
  // Get the previous non-whitespace non-comment token
 
9204
  Token* prevPreprocessingToken (Token*, Unit*) const;
 
9205
 
 
9206
  // Check if the given unit contains only spaces and comments.
 
9207
  bool onlySpacesAndComments (MacroUnit&) const;
 
9208
 
9747
9209
public:
9748
9210
  // Special constructor. Call reset() before using the expander.
9749
9211
  PreMacroExpander ();
9770
9232
 
9771
9233
#endif /* __pre_macro_expander__ */
9772
9234
 
9773
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9235
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9774
9236
using namespace std;
9775
9237
 
9776
9238
namespace Puma {
9787
9249
class PrePredicateManager;
9788
9250
 
9789
9251
 
9790
 
#line 9791 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9791
 
} // closed Puma
9792
 
class WinIfExists;
9793
 
class WinImportHandler;
9794
 
class WinMacros;
9795
 
class CMatchSyntax;
9796
 
class ExtGnu;
9797
 
class ExtAC;
9798
 
class ExtACBuilderCoupling;
9799
 
class ExtACSyntaxCoupling;
9800
 
class ExtACTree;
9801
 
class ExtACKeywords;
9802
 
class WinAsm;
9803
 
class WinDeclSpecs;
9804
 
class WinMemberExplSpec;
9805
 
class WinTypeKeywords;
9806
 
class PragmaOnceUnitState;
9807
 
class PragmaOnce;
9808
 
class CCExprResolve;
9809
 
class CExprResolve;
9810
 
namespace Puma {
9811
 
 
9812
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9252
#line 9253 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9253
} // closed Puma
 
9254
class CCExprResolve;
 
9255
class CExprResolve;
 
9256
class WinIfExists;
 
9257
class WinImportHandler;
 
9258
class WinMacros;
 
9259
class WinAsm;
 
9260
class WinDeclSpecs;
 
9261
class WinMemberExplSpec;
 
9262
class WinTypeKeywords;
 
9263
class WinFriend;
 
9264
class ExtAC;
 
9265
class ExtACBuilderCoupling;
 
9266
class ExtACSyntaxCoupling;
 
9267
class ExtACTree;
 
9268
class ExtACKeywords;
 
9269
class ExtGnu;
 
9270
class PragmaOnceUnitState;
 
9271
class PragmaOnce;
 
9272
class CMatchSyntax;
 
9273
namespace Puma {
 
9274
 
 
9275
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9276
 
 
9277
#line 9278 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9278
} // closed Puma
 
9279
 
 
9280
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
9281
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
9282
 
 
9283
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9284
// This file is part of PUMA.
 
9285
// Copyright (C) 1999-2003  The PUMA developer team.
 
9286
//                                                                
 
9287
// This program is free software;  you can redistribute it and/or 
 
9288
// modify it under the terms of the GNU General Public License as 
 
9289
// published by the Free Software Foundation; either version 2 of 
 
9290
// the License, or (at your option) any later version.            
 
9291
//                                                                
 
9292
// This program is distributed in the hope that it will be useful,
 
9293
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
9294
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
9295
// GNU General Public License for more details.                   
 
9296
//                                                                
 
9297
// You should have received a copy of the GNU General Public      
 
9298
// License along with this program; if not, write to the Free     
 
9299
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
9300
// MA  02111-1307  USA                                            
 
9301
 
 
9302
#ifndef __WinIfExists__
 
9303
#define __WinIfExists__
 
9304
 
 
9305
/********************************************************/
 
9306
/* Win __if_exists and __if_not_exists support aspect   */
 
9307
/********************************************************/
 
9308
 
 
9309
 
 
9310
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9311
namespace Puma {
 
9312
  
 
9313
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9314
 
 
9315
}
 
9316
 
 
9317
 
 
9318
#line 9319 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9319
class CCExprResolve;
 
9320
class CExprResolve;
 
9321
class WinImportHandler;
 
9322
class WinMacros;
 
9323
class WinAsm;
 
9324
class WinDeclSpecs;
 
9325
class WinMemberExplSpec;
 
9326
class WinTypeKeywords;
 
9327
class WinFriend;
 
9328
class ExtAC;
 
9329
class ExtACBuilderCoupling;
 
9330
class ExtACSyntaxCoupling;
 
9331
class ExtACTree;
 
9332
class ExtACKeywords;
 
9333
class ExtGnu;
 
9334
class PragmaOnceUnitState;
 
9335
class PragmaOnce;
 
9336
class CMatchSyntax;
 
9337
 
 
9338
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9339
class WinIfExists {
 
9340
#line 9341 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9341
 
 
9342
public:
 
9343
  static WinIfExists *aspectof () {
 
9344
    static WinIfExists __instance;
 
9345
    return &__instance;
 
9346
  }
 
9347
  static WinIfExists *aspectOf () {
 
9348
    return aspectof ();
 
9349
  }
 
9350
private:
 
9351
 
 
9352
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9353
 
 
9354
#line 9355 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9355
  friend class ::CCExprResolve;
 
9356
  friend class ::CExprResolve;
 
9357
  friend class ::WinImportHandler;
 
9358
  friend class ::WinMacros;
 
9359
  friend class ::WinAsm;
 
9360
  friend class ::WinDeclSpecs;
 
9361
  friend class ::WinMemberExplSpec;
 
9362
  friend class ::WinTypeKeywords;
 
9363
  friend class ::WinFriend;
 
9364
  friend class ::ExtAC;
 
9365
  friend class ::ExtACBuilderCoupling;
 
9366
  friend class ::ExtACSyntaxCoupling;
 
9367
  friend class ::ExtACTree;
 
9368
  friend class ::ExtACKeywords;
 
9369
  friend class ::ExtGnu;
 
9370
  friend class ::PragmaOnceUnitState;
 
9371
  friend class ::PragmaOnce;
 
9372
  friend class ::CMatchSyntax;
 
9373
 
 
9374
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9375
 
 
9376
  /********************************************************/
 
9377
  /* Win __if_exists and __if_not_exists                  */
 
9378
  /********************************************************/
 
9379
 
 
9380
  // pointcut definitions
 
9381
  
 
9382
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9383
 
 
9384
 
 
9385
  // structural extensions
 
9386
  
 
9387
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9388
 
 
9389
 
 
9390
  // preprocess __if_exists and __if_not_exists statements
 
9391
  
 
9392
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9393
 
 
9394
public: template<class JoinPoint> void __a0_around 
 
9395
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9396
 
 
9397
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9398
(JoinPoint *tjp)
 
9399
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9400
 {
 
9401
#line 9402 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9402
 
 
9403
  JoinPoint *&thisJoinPoint = tjp;
 
9404
 
 
9405
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9406
 
 
9407
#line 9408 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9408
 
 
9409
  typedef typename JoinPoint::That __JP_That;
 
9410
  typedef typename JoinPoint::Target __JP_Target;
 
9411
  typedef typename JoinPoint::Result __JP_Result;
 
9412
 
 
9413
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9414
 
 
9415
    Puma::Token *token;
 
9416
    int type;
 
9417
    __JP_That
 
9418
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9419
 *preparser;
 
9420
  
 
9421
    preparser = tjp->that ();
 
9422
    tjp->proceed (); // get the next token
 
9423
    token = *tjp->result ();
 
9424
    if (token) {
 
9425
      type = token->type ();
 
9426
      // __if_exists (...) { ... }
 
9427
      if (type == Puma::TOK_IF_EXISTS) {
 
9428
        preparser->skip_up_to (Puma::TOK_CLOSE_CURLY);
 
9429
        *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
9430
        return;
 
9431
        // __if_not_exists (...) { ... }
 
9432
      } else if (type == Puma::TOK_IF_NOT_EXISTS) {
 
9433
        preparser->skip_up_to (Puma::TOK_OPEN_CURLY);
 
9434
        preparser->_depth.push (1);
 
9435
        *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
9436
        return;
 
9437
      }
 
9438
      // skip closing `}' of __if_not_exists
 
9439
      if (preparser->_depth.length ()) {
 
9440
        if (type == Puma::TOK_OPEN_CURLY) 
 
9441
          preparser->_depth.top () = preparser->_depth.top () + 1;
 
9442
        else if (type == Puma::TOK_CLOSE_CURLY) { 
 
9443
          preparser->_depth.top () = preparser->_depth.top () - 1;
 
9444
          if (preparser->_depth.top () == 0) {
 
9445
            preparser->_depth.pop ();
 
9446
            *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
9447
            return;
 
9448
          }
 
9449
        }
 
9450
      }
 
9451
    }
 
9452
  }
 
9453
#line 9454 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9454
 
 
9455
private:
 
9456
 
 
9457
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9458
 
 
9459
 
 
9460
protected:
 
9461
  WinIfExists () {}
 
9462
};
 
9463
#line 9464 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9464
 
 
9465
namespace AC {
 
9466
  template <class JoinPoint>
 
9467
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
 
9468
    ::WinIfExists::aspectof()->__a0_around (tjp);
 
9469
  }
 
9470
 
9471
 
 
9472
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9473
 
 
9474
 
 
9475
namespace Puma {
 
9476
  
 
9477
#line 95 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9478
 
 
9479
    
 
9480
  // skip __if_exists resp. __if_not_exists statement
 
9481
  
 
9482
#line 135 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9483
 
 
9484
}
 
9485
 
 
9486
#endif /* __WinIfExists__ */
 
9487
 
 
9488
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9489
#endif
 
9490
namespace Puma {
 
9491
 
 
9492
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9493
 
 
9494
#line 9495 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9495
} // closed Puma
 
9496
 
 
9497
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
9498
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
9499
 
 
9500
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9501
// This file is part of PUMA.
 
9502
// Copyright (C) 1999-2003  The PUMA developer team.
 
9503
//                                                                
 
9504
// This program is free software;  you can redistribute it and/or 
 
9505
// modify it under the terms of the GNU General Public License as 
 
9506
// published by the Free Software Foundation; either version 2 of 
 
9507
// the License, or (at your option) any later version.            
 
9508
//                                                                
 
9509
// This program is distributed in the hope that it will be useful,
 
9510
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
9511
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
9512
// GNU General Public License for more details.                   
 
9513
//                                                                
 
9514
// You should have received a copy of the GNU General Public      
 
9515
// License along with this program; if not, write to the Free     
 
9516
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
9517
// MA  02111-1307  USA                                            
 
9518
 
 
9519
#ifndef __PragmaOnce__
 
9520
#define __PragmaOnce__
 
9521
 
 
9522
/********************************************************/
 
9523
/* Win #pragma once support aspect                      */
 
9524
/********************************************************/
 
9525
 
 
9526
 
 
9527
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9528
#include <string.h>
 
9529
 
 
9530
 
 
9531
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9532
 
 
9533
#line 9534 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9534
class CCExprResolve;
 
9535
class CExprResolve;
 
9536
class WinIfExists;
 
9537
class WinImportHandler;
 
9538
class WinMacros;
 
9539
class WinAsm;
 
9540
class WinDeclSpecs;
 
9541
class WinMemberExplSpec;
 
9542
class WinTypeKeywords;
 
9543
class WinFriend;
 
9544
class ExtAC;
 
9545
class ExtACBuilderCoupling;
 
9546
class ExtACSyntaxCoupling;
 
9547
class ExtACTree;
 
9548
class ExtACKeywords;
 
9549
class ExtGnu;
 
9550
class PragmaOnceUnitState;
 
9551
class CMatchSyntax;
 
9552
 
 
9553
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9554
class PragmaOnce {
 
9555
#line 9556 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9556
 
 
9557
public:
 
9558
  static PragmaOnce *aspectof () {
 
9559
    static PragmaOnce __instance;
 
9560
    return &__instance;
 
9561
  }
 
9562
  static PragmaOnce *aspectOf () {
 
9563
    return aspectof ();
 
9564
  }
 
9565
private:
 
9566
 
 
9567
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9568
 
 
9569
#line 9570 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9570
  friend class ::CCExprResolve;
 
9571
  friend class ::CExprResolve;
 
9572
  friend class ::WinIfExists;
 
9573
  friend class ::WinImportHandler;
 
9574
  friend class ::WinMacros;
 
9575
  friend class ::WinAsm;
 
9576
  friend class ::WinDeclSpecs;
 
9577
  friend class ::WinMemberExplSpec;
 
9578
  friend class ::WinTypeKeywords;
 
9579
  friend class ::WinFriend;
 
9580
  friend class ::ExtAC;
 
9581
  friend class ::ExtACBuilderCoupling;
 
9582
  friend class ::ExtACSyntaxCoupling;
 
9583
  friend class ::ExtACTree;
 
9584
  friend class ::ExtACKeywords;
 
9585
  friend class ::ExtGnu;
 
9586
  friend class ::PragmaOnceUnitState;
 
9587
  friend class ::CMatchSyntax;
 
9588
 
 
9589
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9590
 
 
9591
  /******************************************************/
 
9592
  /* detect #pragma once in the token stream of cpp     */
 
9593
  /******************************************************/
 
9594
 
 
9595
  // pointcut definitions
 
9596
  
 
9597
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9598
 
 
9599
  
 
9600
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9601
 
 
9602
  
 
9603
  // extend the preprocessor parser by the filter state
 
9604
  
 
9605
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9606
 
 
9607
 
 
9608
  // initialize the filter state
 
9609
  
 
9610
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9611
 
 
9612
public: template<class JoinPoint> void __a0_after 
 
9613
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9614
 
 
9615
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9616
(JoinPoint *tjp)
 
9617
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9618
 {
 
9619
#line 9620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9620
 
 
9621
  typedef typename JoinPoint::That __JP_That;
 
9622
  typedef typename JoinPoint::Target __JP_Target;
 
9623
  typedef typename JoinPoint::Result __JP_Result;
 
9624
 
 
9625
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9626
 
 
9627
    // TODO: it would be better to have construction advice -> but in lem file
 
9628
    tjp->that ()->_pragma_token = 0;
 
9629
  }
 
9630
#line 9631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9631
 
 
9632
private:
 
9633
 
 
9634
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9635
 
 
9636
  
 
9637
  // filter #pragma once
 
9638
  
 
9639
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9640
 
 
9641
public: template<class JoinPoint> void __a1_after 
 
9642
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9643
 
 
9644
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9645
(JoinPoint *tjp)
 
9646
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9647
 {
 
9648
#line 9649 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9649
 
 
9650
  typedef typename JoinPoint::That __JP_That;
 
9651
  typedef typename JoinPoint::Target __JP_Target;
 
9652
  typedef typename JoinPoint::Result __JP_Result;
 
9653
 
 
9654
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9655
 
 
9656
    Puma::Token *tok = *tjp->result ();
 
9657
    __JP_That
 
9658
#line 55 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9659
 &that = *tjp->that ();
 
9660
    if (!tok || !tok->is_directive ()) {
 
9661
      that._pragma_token = 0;
 
9662
      return;
 
9663
    }
 
9664
    if (strcmp ("#pragma", tok->text ()) == 0) {
 
9665
      that._pragma_token = tok;
 
9666
    }
 
9667
    else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
 
9668
      Puma::Unit *unit = (Puma::Unit*)tok->belonging_to ();
 
9669
      assert (unit);
 
9670
      unit->state ().onlyOnce (true);
 
9671
    }
 
9672
  }
 
9673
#line 9674 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9674
 
 
9675
private:
 
9676
 
 
9677
#line 68 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9678
 
 
9679
  
 
9680
  /********************************************************/
 
9681
  /* block the handling of pragma once files              */
 
9682
  /********************************************************/
 
9683
 
 
9684
  // don't let file includer include files twice
 
9685
  // to be precise: the file is included again, but the inclusion produces
 
9686
  // no tokens
 
9687
  
 
9688
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9689
 
 
9690
public: template<class JoinPoint> void __a2_around 
 
9691
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9692
 
 
9693
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9694
(JoinPoint *tjp, Puma::Unit *unit)
 
9695
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9696
 {
 
9697
#line 9698 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9698
 
 
9699
  typedef typename JoinPoint::That __JP_That;
 
9700
  typedef typename JoinPoint::Target __JP_Target;
 
9701
  typedef typename JoinPoint::Result __JP_Result;
 
9702
 
 
9703
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9704
 
 
9705
    if (! unit || ! unit->state ().onlyOnce ())
 
9706
      tjp->proceed ();
 
9707
  }
 
9708
#line 9709 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9709
 
 
9710
private:
 
9711
 
 
9712
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9713
 
 
9714
 
 
9715
  // includeFile shall return 0 if the file was not included
 
9716
  
 
9717
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9718
 
 
9719
public: template<class JoinPoint> void __a3_after 
 
9720
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9721
 
 
9722
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9723
(JoinPoint *tjp)
 
9724
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9725
 {
 
9726
#line 9727 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9727
 
 
9728
  typedef typename JoinPoint::That __JP_That;
 
9729
  typedef typename JoinPoint::Target __JP_Target;
 
9730
  typedef typename JoinPoint::Result __JP_Result;
 
9731
 
 
9732
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9733
 
 
9734
    Puma::Unit *&unit = *tjp->result ();
 
9735
    if (unit && unit->state ().onlyOnce ())
 
9736
      //unit = 0;
 
9737
      tjp->that ()->_guarded = true;
 
9738
  }
 
9739
#line 9740 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9740
 
 
9741
private:
 
9742
 
 
9743
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9744
 
 
9745
    
 
9746
protected:
 
9747
  // this aspect should never be instantiated directly
 
9748
  PragmaOnce () {}
 
9749
};
 
9750
#line 9751 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9751
 
 
9752
namespace AC {
 
9753
  template <class JoinPoint>
 
9754
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
 
9755
    ::PragmaOnce::aspectof()->__a0_after (tjp);
 
9756
  }
 
9757
  template <class JoinPoint>
 
9758
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
 
9759
    ::PragmaOnce::aspectof()->__a1_after (tjp);
 
9760
  }
 
9761
  template <class JoinPoint>
 
9762
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
 
9763
    typedef typename JoinPoint::Binding_PragmaOnce_PragmaOnce_a2_around::template Arg<0> Arg0;
 
9764
    ::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
 
9765
  }
 
9766
  template <class JoinPoint>
 
9767
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
 
9768
    ::PragmaOnce::aspectof()->__a3_after (tjp);
 
9769
  }
 
9770
 
9771
 
 
9772
#line 96 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9773
 
 
9774
 
 
9775
 
 
9776
#endif /* __PragmaOnce__ */
 
9777
 
 
9778
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9779
#endif
 
9780
namespace Puma {
 
9781
 
 
9782
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9813
9783
class PreprocessorParser : public PumaTokenSource {
9814
 
#line 9815 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9784
#line 9785 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9785
  friend class ::CCExprResolve;
 
9786
  friend class ::CExprResolve;
9815
9787
  friend class ::WinIfExists;
9816
9788
  friend class ::WinImportHandler;
9817
9789
  friend class ::WinMacros;
9818
 
  friend class ::CMatchSyntax;
9819
 
  friend class ::ExtGnu;
 
9790
  friend class ::WinAsm;
 
9791
  friend class ::WinDeclSpecs;
 
9792
  friend class ::WinMemberExplSpec;
 
9793
  friend class ::WinTypeKeywords;
 
9794
  friend class ::WinFriend;
9820
9795
  friend class ::ExtAC;
9821
9796
  friend class ::ExtACBuilderCoupling;
9822
9797
  friend class ::ExtACSyntaxCoupling;
9823
9798
  friend class ::ExtACTree;
9824
9799
  friend class ::ExtACKeywords;
9825
 
  friend class ::WinAsm;
9826
 
  friend class ::WinDeclSpecs;
9827
 
  friend class ::WinMemberExplSpec;
9828
 
  friend class ::WinTypeKeywords;
 
9800
  friend class ::ExtGnu;
9829
9801
  friend class ::PragmaOnceUnitState;
9830
9802
  friend class ::PragmaOnce;
9831
 
  friend class ::CCExprResolve;
9832
 
  friend class ::CExprResolve;
 
9803
  friend class ::CMatchSyntax;
9833
9804
 
9834
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9805
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9835
9806
 
9836
9807
public:
9837
9808
  // The current mode for token preprocessing
9891
9862
  PreLevelState       *levelState () const       { return _levelState; }
9892
9863
  PreParserState      *parserState () const      { return _parserState; }
9893
9864
  PreMacroManager     *macroManager () const     { return _macroManager; }
 
9865
  void macroManager   (PreMacroManager *m)       { _macroManager = m; }
9894
9866
  PreFileIncluder     *fileIncluder () const     { return _fileIncluder; }
9895
9867
  PrePredicateManager *predicateManager () const { return _predicateManager; }
9896
9868
  UnitManager         *unitManager () const      { return _unitManager; }
9898
9870
  PreMode              pre_mode () const         { return _pre_mode; } 
9899
9871
  bool                 supportGNU () const       { return _support_gnu; }
9900
9872
  CScanner            &cscanner () const         { return (CScanner&) _scanner; }
 
9873
  const char          *importHandler () const    { return _importHandler; }
9901
9874
 
9902
9875
  // Return the preprocessor syntax tree.
9903
9876
  PreTree *syntaxTree () const;
9917
9890
        
9918
9891
  // Configure the preprocessor.
9919
9892
  
9920
 
#line 9921 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9921
 
public: inline void __exec_old_configure(const ::Puma::Config & ,bool );
 
9893
#line 9894 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9894
public: __attribute__((always_inline)) inline void __exec_old_configure(const ::Puma::Config & ,bool );
9922
9895
 
9923
 
#line 132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9896
#line 134 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9924
9897
void configure (const Config &, bool = true);
9925
9898
        
9926
9899
  // Get the next token to parse.
9927
9900
  
9928
 
#line 9929 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9929
 
public: inline ::Puma::Token * __exec_old_next();
 
9901
#line 9902 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9902
public: __attribute__((always_inline)) inline ::Puma::Token * __exec_old_next();
9930
9903
 
9931
 
#line 135 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9904
#line 137 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9932
9905
Token *next ();
9933
9906
        
9934
9907
  TokenStream *scanner () const { return _stream; }
9960
9933
 
9961
9934
  void supportGNU (bool);
9962
9935
   private:
 
9936
 
 
9937
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
9938
 Puma :: Token * _pragma_token ;   private:
9963
9939
  typedef PreprocessorParser WinIfExistsCpp;
9964
9940
 
9965
 
#line 92 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
9966
 
 public :
9967
 
 
9968
 
Stack < unsigned > _depth ;
9969
 
 
9970
 
void skip_up_to ( int ) ;  private:
9971
 
 
9972
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
9973
 
 public :
9974
 
const char * importHandler ( ) const { return _importHandler ; }  private:
9975
 
 
9976
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
9977
 
 Token * _pragma_token ;
9978
 
#line 165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
9941
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
9942
 public :
 
9943
 
 
9944
Puma :: Stack < unsigned > _depth ;
 
9945
 
 
9946
void skip_up_to ( int ) ;
 
9947
#line 167 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9979
9948
};
9980
9949
 
9981
9950
 
9983
9952
 
9984
9953
#endif /* __preprocessor_parser__ */
9985
9954
 
9986
 
#line 9987 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
9987
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
9988
 
 
9989
 
#line 170 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
9990
 
 
9991
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
9955
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
9992
9956
using std::map;
9993
9957
 
9994
9958
namespace Puma {
10000
9964
class Unit;
10001
9965
 
10002
9966
 
10003
 
#line 10004 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9967
#line 9968 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
10004
9968
} // closed Puma
 
9969
class CCExprResolve;
 
9970
class CExprResolve;
10005
9971
class WinIfExists;
10006
9972
class WinImportHandler;
10007
9973
class WinMacros;
10008
 
class CMatchSyntax;
10009
 
class ExtGnu;
 
9974
class WinAsm;
 
9975
class WinDeclSpecs;
 
9976
class WinMemberExplSpec;
 
9977
class WinTypeKeywords;
 
9978
class WinFriend;
10010
9979
class ExtAC;
10011
9980
class ExtACBuilderCoupling;
10012
9981
class ExtACSyntaxCoupling;
10013
9982
class ExtACTree;
10014
9983
class ExtACKeywords;
10015
 
class WinAsm;
10016
 
class WinDeclSpecs;
10017
 
class WinMemberExplSpec;
10018
 
class WinTypeKeywords;
 
9984
class ExtGnu;
10019
9985
class PragmaOnceUnitState;
10020
9986
class PragmaOnce;
10021
 
class CCExprResolve;
10022
 
class CExprResolve;
 
9987
class CMatchSyntax;
10023
9988
namespace Puma {
10024
9989
 
10025
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
9990
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
10026
9991
class PreFileIncluder {
10027
 
#line 10028 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9992
#line 9993 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
9993
  friend class ::CCExprResolve;
 
9994
  friend class ::CExprResolve;
10028
9995
  friend class ::WinIfExists;
10029
9996
  friend class ::WinImportHandler;
10030
9997
  friend class ::WinMacros;
10031
 
  friend class ::CMatchSyntax;
10032
 
  friend class ::ExtGnu;
 
9998
  friend class ::WinAsm;
 
9999
  friend class ::WinDeclSpecs;
 
10000
  friend class ::WinMemberExplSpec;
 
10001
  friend class ::WinTypeKeywords;
 
10002
  friend class ::WinFriend;
10033
10003
  friend class ::ExtAC;
10034
10004
  friend class ::ExtACBuilderCoupling;
10035
10005
  friend class ::ExtACSyntaxCoupling;
10036
10006
  friend class ::ExtACTree;
10037
10007
  friend class ::ExtACKeywords;
10038
 
  friend class ::WinAsm;
10039
 
  friend class ::WinDeclSpecs;
10040
 
  friend class ::WinMemberExplSpec;
10041
 
  friend class ::WinTypeKeywords;
 
10008
  friend class ::ExtGnu;
10042
10009
  friend class ::PragmaOnceUnitState;
10043
10010
  friend class ::PragmaOnce;
10044
 
  friend class ::CCExprResolve;
10045
 
  friend class ::CExprResolve;
 
10011
  friend class ::CMatchSyntax;
10046
10012
 
10047
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
10013
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
10048
10014
 
10049
10015
  int                       _next;
10050
10016
  PreParserState     *_state;
10055
10021
  PreMacroExpander _expander;
10056
10022
 
10057
10023
  // List of include paths.
10058
 
  Array<char*> _includeDirs;
 
10024
  Array<Filename> _includeDirs;
10059
10025
  
10060
10026
  // true if the last included file was protected by an active include guard
10061
10027
  bool _guarded;
10089
10055
        
10090
10056
public:
10091
10057
  PreFileIncluder (PreprocessorParser &);
10092
 
  ~PreFileIncluder ();
10093
10058
                
10094
10059
  // Push unit on token stack.
10095
10060
  
10096
 
#line 10097 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10097
 
public: inline void __exec_old_pushOnStack(::Puma::Unit * );
 
10061
#line 10062 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10062
public: __attribute__((always_inline)) inline void __exec_old_pushOnStack(::Puma::Unit * );
10098
10063
 
10099
 
#line 86 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
10064
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
10100
10065
void pushOnStack (Unit *);
10101
10066
        
10102
10067
  // Include a file.
10103
10068
  
10104
 
#line 10105 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10105
 
public: inline ::Puma::Unit * __exec_old_includeFile(const char * name);
 
10069
#line 10070 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10070
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_includeFile(const char * name);
10106
10071
 
10107
 
#line 89 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
10072
#line 89 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
10108
10073
Unit *includeFile (const char *name);
10109
10074
  Unit *handleIncludeOption (const char *name);
10110
10075
                          
10118
10083
  // Add a new include path to list of include paths.
10119
10084
  void addIncludePath (const char *path);
10120
10085
        
10121
 
  Array<char*> &getIncludePaths () { return (Array<char*> &)_includeDirs; }
 
10086
  Array<Filename> &getIncludePaths () { return _includeDirs; }
10122
10087
};
10123
10088
 
10124
10089
 
10126
10091
 
10127
10092
#endif /* __pre_file_includer__ */
10128
10093
 
10129
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10130
 
 
10131
 
#line 10132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10132
 
 
10133
 
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10134
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
10135
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
10136
 
 
10137
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10138
 
// This file is part of PUMA.
10139
 
// Copyright (C) 1999-2003  The PUMA developer team.
10140
 
//                                                                
10141
 
// This program is free software;  you can redistribute it and/or 
10142
 
// modify it under the terms of the GNU General Public License as 
10143
 
// published by the Free Software Foundation; either version 2 of 
10144
 
// the License, or (at your option) any later version.            
10145
 
//                                                                
10146
 
// This program is distributed in the hope that it will be useful,
10147
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
10148
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
10149
 
// GNU General Public License for more details.                   
10150
 
//                                                                
10151
 
// You should have received a copy of the GNU General Public      
10152
 
// License along with this program; if not, write to the Free     
10153
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
10154
 
// MA  02111-1307  USA                                            
10155
 
 
10156
 
#ifndef __preprocessor_parser__
10157
 
#define __preprocessor_parser__
10158
 
 
10159
 
// Preprocessor parser class. !!! The preprocessor parser has to 
10160
 
// be added last to the composite parser of a translation unit !!!
10161
 
 
10162
 
#include "Puma/Stack.h"
10163
 
#include "Puma/Config.h"
10164
 
#include "Puma/CScanner.h"
10165
 
#include "Puma/CUnit.h"
10166
 
#include "Puma/TokenSource.h"
10167
 
#include "Puma/PreMacroExpander.h"
10168
 
#include <iostream>
10169
 
#include <set>
10170
 
using namespace std;
10171
 
 
10172
 
namespace Puma {
10173
 
 
10174
 
 
10175
 
class PreTree;
10176
 
class ErrorStream;
10177
 
class UnitManager;
10178
 
class PrePredicate;
10179
 
class PreLevelState;
10180
 
class PreParserState;
10181
 
class PreMacroManager;
10182
 
class PreFileIncluder;
10183
 
class PrePredicateManager;
10184
 
 
10185
 
 
10186
 
#line 10187 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10187
 
} // closed Puma
10188
 
class WinIfExists;
10189
 
class WinImportHandler;
10190
 
class WinMacros;
10191
 
class CMatchSyntax;
10192
 
class ExtGnu;
10193
 
class ExtAC;
10194
 
class ExtACBuilderCoupling;
10195
 
class ExtACSyntaxCoupling;
10196
 
class ExtACTree;
10197
 
class ExtACKeywords;
10198
 
class WinAsm;
10199
 
class WinDeclSpecs;
10200
 
class WinMemberExplSpec;
10201
 
class WinTypeKeywords;
10202
 
class PragmaOnceUnitState;
10203
 
class PragmaOnce;
10204
 
class CCExprResolve;
10205
 
class CExprResolve;
10206
 
namespace Puma {
10207
 
 
10208
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10209
 
class PreprocessorParser : public PumaTokenSource {
10210
 
#line 10211 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10211
 
  friend class ::WinIfExists;
10212
 
  friend class ::WinImportHandler;
10213
 
  friend class ::WinMacros;
10214
 
  friend class ::CMatchSyntax;
10215
 
  friend class ::ExtGnu;
10216
 
  friend class ::ExtAC;
10217
 
  friend class ::ExtACBuilderCoupling;
10218
 
  friend class ::ExtACSyntaxCoupling;
10219
 
  friend class ::ExtACTree;
10220
 
  friend class ::ExtACKeywords;
10221
 
  friend class ::WinAsm;
10222
 
  friend class ::WinDeclSpecs;
10223
 
  friend class ::WinMemberExplSpec;
10224
 
  friend class ::WinTypeKeywords;
10225
 
  friend class ::PragmaOnceUnitState;
10226
 
  friend class ::PragmaOnce;
10227
 
  friend class ::CCExprResolve;
10228
 
  friend class ::CExprResolve;
10229
 
 
10230
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10231
 
 
10232
 
public:
10233
 
  // The current mode for token preprocessing
10234
 
  typedef enum { 
10235
 
    INITIAL, 
10236
 
    DEFINING, 
10237
 
    MAYBEMACRO, 
10238
 
    ASSERT,
10239
 
    TOKENLIST, 
10240
 
    DIRECTIVE, 
10241
 
    MACRO 
10242
 
  } PreMode;
10243
 
 
10244
 
private:
10245
 
  // Do not print the result of the parse process.
10246
 
  bool _silentMode;
10247
 
 
10248
 
  // If the preprocessor parser is the last in chain,
10249
 
  // the result of the parse process will be putted on 
10250
 
  // the given stream.
10251
 
  ostream *_out;
10252
 
 
10253
 
  // Stack for the macro expansion.
10254
 
  Array<PreMacro*>    *_macroStack;
10255
 
  set<Token*>         *_prescanned;
10256
 
 
10257
 
  PreLevelState       *_levelState;
10258
 
  PreParserState      *_parserState;
10259
 
  PreMacroManager     *_macroManager;
10260
 
  PreFileIncluder     *_fileIncluder;
10261
 
  PrePredicateManager *_predicateManager;
10262
 
  UnitManager         *_unitManager;
10263
 
  UnitManager         *_locals;
10264
 
 
10265
 
  PreMacroExpander     _expander;
10266
 
  PreMacroExpander     _macroExpander;        
10267
 
        
10268
 
  PreMode              _pre_mode;
10269
 
  bool                       _support_gnu;
10270
 
 
10271
 
  CScanner             _scanner;
10272
 
  TokenStream         *_stream;
10273
 
                
10274
 
  const char          *_importHandler;
10275
 
 
10276
 
private:
10277
 
  // Parse a single token.
10278
 
  Token* parseToken ();
10279
 
 
10280
 
  // Free the preprocessor syntax tree.
10281
 
  void freeSyntaxTree (PreTree*);
10282
 
 
10283
 
public:
10284
 
  // Get several preprocessor informations.
10285
 
  Array<PreMacro*>    *macroStack () const       { return _macroStack; }
10286
 
  set<Token*>         *prescanned () const       { return _prescanned; }
10287
 
  PreLevelState       *levelState () const       { return _levelState; }
10288
 
  PreParserState      *parserState () const      { return _parserState; }
10289
 
  PreMacroManager     *macroManager () const     { return _macroManager; }
10290
 
  PreFileIncluder     *fileIncluder () const     { return _fileIncluder; }
10291
 
  PrePredicateManager *predicateManager () const { return _predicateManager; }
10292
 
  UnitManager         *unitManager () const      { return _unitManager; }
10293
 
  UnitManager         *locals () const           { return _locals; }
10294
 
  PreMode              pre_mode () const         { return _pre_mode; } 
10295
 
  bool                 supportGNU () const       { return _support_gnu; }
10296
 
  CScanner            &cscanner () const         { return (CScanner&) _scanner; }
10297
 
 
10298
 
  // Return the preprocessor syntax tree.
10299
 
  PreTree *syntaxTree () const;
10300
 
 
10301
 
public:
10302
 
  PreprocessorParser (ErrorStream *, UnitManager *, UnitManager *, 
10303
 
                        ostream &out = cout, int max_depth = 400);
10304
 
                           
10305
 
  ~PreprocessorParser ();
10306
 
        
10307
 
  // Reset the preprocessor parser.
10308
 
  void reset (ErrorStream *, UnitManager *, UnitManager *, 
10309
 
              ostream &out = cout, int max_depth = 400);
10310
 
 
10311
 
  // Free the preprocessor syntax tree.
10312
 
  void freeSyntaxTree ();
10313
 
        
10314
 
  // Configure the preprocessor.
10315
 
  
10316
 
#line 10317 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10317
 
public: inline void __exec_old_configure(const ::Puma::Config & ,bool );
10318
 
 
10319
 
#line 132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10320
 
void configure (const Config &, bool = true);
10321
 
        
10322
 
  // Get the next token to parse.
10323
 
  
10324
 
#line 10325 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10325
 
public: inline ::Puma::Token * __exec_old_next();
10326
 
 
10327
 
#line 135 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10328
 
Token *next ();
10329
 
        
10330
 
  TokenStream *scanner () const { return _stream; }
10331
 
  void stream (TokenStream *s) { _stream = s; }
10332
 
 
10333
 
  // Map scanner token types to parser token types
10334
 
  int map_token (Token *token, bool &parse);
10335
 
 
10336
 
  // Invoke the parse process.
10337
 
  void parse ();
10338
 
        
10339
 
  // Switch to silent mode.
10340
 
  void silentMode (bool mode = true) { _silentMode = mode; }
10341
 
 
10342
 
  // Define a new macro.
10343
 
  void defMacro (const char *, const char * = (const char*)0, char = 0) const;
10344
 
        
10345
 
  // Undefine a macro.
10346
 
  void undefMacro (const char *) const;
10347
 
        
10348
 
  // Define a new predicate.
10349
 
  void defPredicate (const char *, const char *) const;
10350
 
        
10351
 
  // Undefine a predicate.
10352
 
  void undefPredicate (const char *) const;
10353
 
        
10354
 
  // Add a new include path.
10355
 
  void addInclPath (const char *) const;
10356
 
 
10357
 
  void supportGNU (bool);
10358
 
   private:
10359
 
  typedef PreprocessorParser WinIfExistsCpp;
10360
 
 
10361
 
#line 92 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
10362
 
 public :
10363
 
 
10364
 
Stack < unsigned > _depth ;
10365
 
 
10366
 
void skip_up_to ( int ) ;  private:
10367
 
 
10368
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
10369
 
 public :
10370
 
const char * importHandler ( ) const { return _importHandler ; }  private:
10371
 
 
10372
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
10373
 
 Token * _pragma_token ;
10374
 
#line 165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10375
 
};
10376
 
 
10377
 
 
10378
 
} // namespace Puma
10379
 
 
10380
 
#endif /* __preprocessor_parser__ */
10381
 
 
10382
 
#line 10383 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10383
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
10384
 
 
10385
 
#line 170 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
10386
 
 
10387
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10094
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10388
10095
// This file is part of PUMA.
10389
10096
// Copyright (C) 1999-2003  The PUMA developer team.
10390
10097
//                                                                
10410
10117
// through the `#assert' directive in the source code.
10411
10118
 
10412
10119
 
10413
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10120
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10414
10121
using std::map;
10415
10122
 
10416
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10123
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10417
10124
using std::string;
10418
10125
 
10419
10126
namespace Puma {
10422
10129
class PrePredicate;
10423
10130
 
10424
10131
 
10425
 
#line 10426 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10132
#line 10133 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
10426
10133
} // closed Puma
 
10134
class CCExprResolve;
 
10135
class CExprResolve;
10427
10136
class WinIfExists;
10428
10137
class WinImportHandler;
10429
10138
class WinMacros;
10430
 
class CMatchSyntax;
10431
 
class ExtGnu;
 
10139
class WinAsm;
 
10140
class WinDeclSpecs;
 
10141
class WinMemberExplSpec;
 
10142
class WinTypeKeywords;
 
10143
class WinFriend;
10432
10144
class ExtAC;
10433
10145
class ExtACBuilderCoupling;
10434
10146
class ExtACSyntaxCoupling;
10435
10147
class ExtACTree;
10436
10148
class ExtACKeywords;
10437
 
class WinAsm;
10438
 
class WinDeclSpecs;
10439
 
class WinMemberExplSpec;
10440
 
class WinTypeKeywords;
 
10149
class ExtGnu;
10441
10150
class PragmaOnceUnitState;
10442
10151
class PragmaOnce;
10443
 
class CCExprResolve;
10444
 
class CExprResolve;
 
10152
class CMatchSyntax;
10445
10153
namespace Puma {
10446
10154
 
10447
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10155
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10448
10156
class PrePredicateManager : private map<string, PrePredicate*> {
10449
 
#line 10450 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10157
#line 10158 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10158
  friend class ::CCExprResolve;
 
10159
  friend class ::CExprResolve;
10450
10160
  friend class ::WinIfExists;
10451
10161
  friend class ::WinImportHandler;
10452
10162
  friend class ::WinMacros;
10453
 
  friend class ::CMatchSyntax;
10454
 
  friend class ::ExtGnu;
 
10163
  friend class ::WinAsm;
 
10164
  friend class ::WinDeclSpecs;
 
10165
  friend class ::WinMemberExplSpec;
 
10166
  friend class ::WinTypeKeywords;
 
10167
  friend class ::WinFriend;
10455
10168
  friend class ::ExtAC;
10456
10169
  friend class ::ExtACBuilderCoupling;
10457
10170
  friend class ::ExtACSyntaxCoupling;
10458
10171
  friend class ::ExtACTree;
10459
10172
  friend class ::ExtACKeywords;
10460
 
  friend class ::WinAsm;
10461
 
  friend class ::WinDeclSpecs;
10462
 
  friend class ::WinMemberExplSpec;
10463
 
  friend class ::WinTypeKeywords;
 
10173
  friend class ::ExtGnu;
10464
10174
  friend class ::PragmaOnceUnitState;
10465
10175
  friend class ::PragmaOnce;
10466
 
  friend class ::CCExprResolve;
10467
 
  friend class ::CExprResolve;
 
10176
  friend class ::CMatchSyntax;
10468
10177
 
10469
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
 
10178
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PrePredicateManager.h"
10470
10179
 
10471
10180
 
10472
10181
  typedef map<string, PrePredicate*> PMap;
10491
10200
 
10492
10201
#endif /* __pre_predicate_manager__ */
10493
10202
 
10494
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10203
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
10495
10204
using namespace std;
10496
10205
 
10497
10206
namespace Puma {
10499
10208
 
10500
10209
// Get the next token to parse.
10501
10210
 
10502
 
#line 10503 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10211
#line 10212 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
10503
10212
 
10504
 
struct TJP__ZN4Puma18PreprocessorParser4nextEv_0_0 {
10505
 
  typedef ::Puma::Token * Result;
10506
 
  typedef ::Puma::PreprocessorParser That;
10507
 
  typedef ::Puma::PreprocessorParser Target;
10508
 
  static const int JPID = 57;
 
10213
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma18PreprocessorParser4nextEv_0_0 {
 
10214
  typedef TJP__ZN4Puma18PreprocessorParser4nextEv_0_0 __TJP;
 
10215
  typedef TResult Result;
 
10216
  typedef TThat   That;
 
10217
  typedef TTarget Target;
 
10218
  enum { ARGS = TArgs::ARGS };
 
10219
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
10220
  static const int JPID = 56;
10509
10221
  static const AC::JPType JPTYPE = (AC::JPType)4;
10510
10222
  struct Res {
10511
 
    typedef ::Puma::Token * Type;
10512
 
    typedef ::Puma::Token * ReferredType;
10513
 
  };
10514
 
  enum { ARGS = 0 };
10515
 
  template <int I, int DUMMY = 0> struct Arg {
10516
 
    typedef void Type;
10517
 
    typedef void ReferredType;
 
10223
    typedef TResult Type;
 
10224
    typedef TResult ReferredType;
10518
10225
  };
10519
10226
 
10520
10227
  Result *_result;
10526
10233
};
10527
10234
 
10528
10235
 
10529
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
10530
 
 
10531
 
#line 10532 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10532
 
 
10533
 
 
10534
 
struct TJP__ZN4Puma18PreprocessorParser4nextEv_0 {
10535
 
  typedef ::Puma::Token * Result;
10536
 
  typedef ::Puma::PreprocessorParser That;
10537
 
  typedef ::Puma::PreprocessorParser Target;
10538
 
  static const int JPID = 55;
 
10236
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10237
 
 
10238
#line 10239 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10239
 
 
10240
__attribute__((always_inline)) inline ::Puma::Token * __call__ZN4Puma18PreprocessorParser4nextEv_0_0 (::Puma::PreprocessorParser *srcthis, ::Puma::Token * (::Puma::PreprocessorParser::* fptr)(), ::Puma::PreprocessorParser *dstthis){
 
10241
  typedef TJP__ZN4Puma18PreprocessorParser4nextEv_0_0< ::Puma::Token * , ::Puma::PreprocessorParser , ::Puma::PreprocessorParser ,  AC::TLE > __TJP;
 
10242
  ::Puma::Token * result;
 
10243
  __TJP tjp;
 
10244
  tjp._result = &(__TJP::Result&)result;
 
10245
  tjp._that =  (__TJP::That*)srcthis;
 
10246
    result = (dstthis->*fptr)();
 
10247
  AC::invoke_PragmaOnce_PragmaOnce_a1_after<__TJP> (&tjp);
 
10248
  return (::Puma::Token * &)result;
 
10249
 }
 
10250
 
 
10251
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10252
 
 
10253
#line 10254 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10254
 
 
10255
 
 
10256
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma18PreprocessorParser4nextEv_0 {
 
10257
  typedef TJP__ZN4Puma18PreprocessorParser4nextEv_0 __TJP;
 
10258
  typedef TResult Result;
 
10259
  typedef TThat   That;
 
10260
  typedef TTarget Target;
 
10261
  enum { ARGS = TArgs::ARGS };
 
10262
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
10263
  static const int JPID = 4831;
10539
10264
  static const AC::JPType JPTYPE = (AC::JPType)8;
10540
10265
  struct Res {
10541
 
    typedef ::Puma::Token * Type;
10542
 
    typedef ::Puma::Token * ReferredType;
10543
 
  };
10544
 
  enum { ARGS = 0 };
10545
 
  template <int I, int DUMMY = 0> struct Arg {
10546
 
    typedef void Type;
10547
 
    typedef void ReferredType;
 
10266
    typedef TResult Type;
 
10267
    typedef TResult ReferredType;
10548
10268
  };
10549
10269
 
10550
10270
  Result *_result;
10554
10274
  inline That *that() {return (That*)_that;}
10555
10275
 
10556
10276
  void proceed () {
10557
 
  ::new ((AC::ResultBuffer< ::Puma::Token *  >*)_result) ::Puma::Token *  (((TJP__ZN4Puma18PreprocessorParser4nextEv_0::That*)_that)->__exec_old_next());
 
10277
    *__TJP::result () = (::Puma::Token * )__TJP::that ()->__exec_old_next();
10558
10278
  }
10559
10279
};
10560
10280
 
10561
10281
 
10562
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10282
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
10563
10283
Token *PreprocessorParser::next () 
10564
 
#line 10565 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10284
#line 10285 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
10565
10285
{
10566
 
  AC::ResultBuffer< ::Puma::Token *  > result;
10567
 
  TJP__ZN4Puma18PreprocessorParser4nextEv_0 tjp;
10568
 
  tjp._result = &(TJP__ZN4Puma18PreprocessorParser4nextEv_0::Result&)result;
10569
 
  tjp._that =  (TJP__ZN4Puma18PreprocessorParser4nextEv_0::That*)this;
10570
 
  AC::invoke_WinIfExists_WinIfExists_a0_around<TJP__ZN4Puma18PreprocessorParser4nextEv_0> (&tjp);
 
10286
  typedef TJP__ZN4Puma18PreprocessorParser4nextEv_0< ::Puma::Token * , ::Puma::PreprocessorParser , ::Puma::PreprocessorParser ,  AC::TLE > __TJP;
 
10287
  ::Puma::Token * result;
 
10288
  __TJP tjp;
 
10289
  tjp._result = &(__TJP::Result&)result;
 
10290
  tjp._that =  (__TJP::That*)this;
 
10291
  AC::invoke_WinIfExists_WinIfExists_a0_around<__TJP> (&tjp);
10571
10292
  return (::Puma::Token * &)result;
10572
10293
 
10573
10294
}
10574
 
inline ::Puma::Token * Puma::PreprocessorParser::__exec_old_next()
10575
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
10576
 
{
10577
 
#line 10578 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10578
 
 
10579
 
 
10580
 
struct __call__ZN4Puma18PreprocessorParser4nextEv_0_0 {
10581
 
static inline ::Puma::Token * invoke (::Puma::PreprocessorParser *srcthis, ::Puma::PreprocessorParser *dstthis){
10582
 
  AC::ResultBuffer< ::Puma::Token *  > result;
10583
 
  TJP__ZN4Puma18PreprocessorParser4nextEv_0_0 tjp;
10584
 
  tjp._result = &(TJP__ZN4Puma18PreprocessorParser4nextEv_0_0::Result&)result;
10585
 
  tjp._that =  (TJP__ZN4Puma18PreprocessorParser4nextEv_0_0::That*)srcthis;
10586
 
  ::new (&result) ::Puma::Token *  (dstthis->parseToken());
10587
 
  AC::invoke_PragmaOnce_PragmaOnce_a1_after<TJP__ZN4Puma18PreprocessorParser4nextEv_0_0> (&tjp);
10588
 
  return (::Puma::Token * &)result;
10589
 
 }
10590
 
};
10591
 
 
10592
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
10593
 
 
10594
 
  return __call__ZN4Puma18PreprocessorParser4nextEv_0_0::invoke ((::Puma::PreprocessorParser*)this,(::Puma::PreprocessorParser*)this ); 
 
10295
__attribute__((always_inline)) inline ::Puma::Token * Puma::PreprocessorParser::__exec_old_next()
 
10296
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10297
 
10298
  return __call__ZN4Puma18PreprocessorParser4nextEv_0_0 ((::Puma::PreprocessorParser*)this, &::Puma::PreprocessorParser::parseToken,(::Puma::PreprocessorParser*)this ); 
10595
10299
}
10596
10300
 
10597
10301
 
10620
10324
 
10621
10325
// Invoke the parse process.
10622
10326
 
10623
 
#line 10624 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10327
#line 10328 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
10624
10328
 
10625
 
struct TJP__ZN4Puma18PreprocessorParser5parseEv_0_0 {
10626
 
  typedef ::Puma::Token * Result;
10627
 
  typedef ::Puma::PreprocessorParser That;
10628
 
  typedef ::Puma::PreprocessorParser Target;
10629
 
  static const int JPID = 58;
 
10329
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma18PreprocessorParser5parseEv_0_0 {
 
10330
  typedef TJP__ZN4Puma18PreprocessorParser5parseEv_0_0 __TJP;
 
10331
  typedef TResult Result;
 
10332
  typedef TThat   That;
 
10333
  typedef TTarget Target;
 
10334
  enum { ARGS = TArgs::ARGS };
 
10335
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
10336
  static const int JPID = 57;
10630
10337
  static const AC::JPType JPTYPE = (AC::JPType)4;
10631
10338
  struct Res {
10632
 
    typedef ::Puma::Token * Type;
10633
 
    typedef ::Puma::Token * ReferredType;
10634
 
  };
10635
 
  enum { ARGS = 0 };
10636
 
  template <int I, int DUMMY = 0> struct Arg {
10637
 
    typedef void Type;
10638
 
    typedef void ReferredType;
 
10339
    typedef TResult Type;
 
10340
    typedef TResult ReferredType;
10639
10341
  };
10640
10342
 
10641
10343
  Result *_result;
10647
10349
};
10648
10350
 
10649
10351
 
10650
 
#line 73 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10352
#line 74 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10353
 
 
10354
#line 10355 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10355
 
 
10356
__attribute__((always_inline)) inline ::Puma::Token * __call__ZN4Puma18PreprocessorParser5parseEv_0_0 (::Puma::PreprocessorParser *srcthis, ::Puma::Token * (::Puma::PreprocessorParser::* fptr)(), ::Puma::PreprocessorParser *dstthis){
 
10357
  typedef TJP__ZN4Puma18PreprocessorParser5parseEv_0_0< ::Puma::Token * , ::Puma::PreprocessorParser , ::Puma::PreprocessorParser ,  AC::TLE > __TJP;
 
10358
  ::Puma::Token * result;
 
10359
  __TJP tjp;
 
10360
  tjp._result = &(__TJP::Result&)result;
 
10361
  tjp._that =  (__TJP::That*)srcthis;
 
10362
    result = (dstthis->*fptr)();
 
10363
  AC::invoke_PragmaOnce_PragmaOnce_a1_after<__TJP> (&tjp);
 
10364
  return (::Puma::Token * &)result;
 
10365
 }
 
10366
 
 
10367
#line 74 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
10651
10368
void PreprocessorParser::parse () {
10652
 
#line 10653 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10653
 
 
10654
 
 
10655
 
struct __call__ZN4Puma18PreprocessorParser5parseEv_0_0 {
10656
 
static inline ::Puma::Token * invoke (::Puma::PreprocessorParser *srcthis, ::Puma::PreprocessorParser *dstthis){
10657
 
  AC::ResultBuffer< ::Puma::Token *  > result;
10658
 
  TJP__ZN4Puma18PreprocessorParser5parseEv_0_0 tjp;
10659
 
  tjp._result = &(TJP__ZN4Puma18PreprocessorParser5parseEv_0_0::Result&)result;
10660
 
  tjp._that =  (TJP__ZN4Puma18PreprocessorParser5parseEv_0_0::That*)srcthis;
10661
 
  ::new (&result) ::Puma::Token *  (dstthis->parseToken());
10662
 
  AC::invoke_PragmaOnce_PragmaOnce_a1_after<TJP__ZN4Puma18PreprocessorParser5parseEv_0_0> (&tjp);
10663
 
  return (::Puma::Token * &)result;
10664
 
 }
10665
 
};
10666
 
 
10667
 
#line 73 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
10668
 
 
10669
10369
  // Do not parse more than one time.
10670
10370
  if (_parserState->syntaxTree) 
10671
10371
    return;
10673
10373
  Token *token, *last = 0;
10674
10374
 
10675
10375
  // Print the result of the parse process if not in silent mode.
10676
 
  while ((token = __call__ZN4Puma18PreprocessorParser5parseEv_0_0::invoke ((::Puma::PreprocessorParser*)this,(::Puma::PreprocessorParser*)this )))
 
10376
  while ((token = __call__ZN4Puma18PreprocessorParser5parseEv_0_0 ((::Puma::PreprocessorParser*)this, &::Puma::PreprocessorParser::parseToken,(::Puma::PreprocessorParser*)this )))
10677
10377
    if (! _silentMode) {
10678
10378
      if (last && 
10679
10379
          ((last->type () == TOK_CCOMMENT && 
10690
10390
 
10691
10391
// Configure the preprocessor.
10692
10392
 
10693
 
#line 10694 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10694
 
 
10695
 
 
10696
 
struct TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0 {
10697
 
  typedef void Result;
10698
 
  typedef ::Puma::PreprocessorParser That;
10699
 
  typedef ::Puma::PreprocessorParser Target;
10700
 
  static const int JPID = 56;
 
10393
#line 10394 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10394
 
 
10395
 
 
10396
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0 {
 
10397
  typedef TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0 __TJP;
 
10398
  typedef TResult Result;
 
10399
  typedef TThat   That;
 
10400
  typedef TTarget Target;
 
10401
  enum { ARGS = TArgs::ARGS };
 
10402
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
10403
  static const int JPID = 4829;
10701
10404
  static const AC::JPType JPTYPE = (AC::JPType)8;
10702
10405
  struct Res {
10703
 
    typedef void Type;
10704
 
    typedef void ReferredType;
10705
 
  };
10706
 
  enum { ARGS = 2 };
10707
 
  template <int I, int DUMMY = 0> struct Arg {
10708
 
    typedef void Type;
10709
 
    typedef void ReferredType;
10710
 
  };
10711
 
  template <int DUMMY> struct Arg<0, DUMMY> {
10712
 
    typedef const ::Puma::Config & Type;
10713
 
    typedef const ::Puma::Config ReferredType;
10714
 
  };
10715
 
  template <int DUMMY> struct Arg<1, DUMMY> {
10716
 
    typedef bool Type;
10717
 
    typedef bool ReferredType;
 
10406
    typedef TResult Type;
 
10407
    typedef TResult ReferredType;
10718
10408
  };
10719
10409
 
10720
 
  void **_args;
 
10410
  void *_args[ARGS];
10721
10411
  That *_that;
10722
10412
 
10723
10413
  inline void *arg (int n) {return _args[n];}
10726
10416
  }
10727
10417
  inline That *that() {return (That*)_that;}
10728
10418
 
10729
 
};
10730
 
struct Binding_TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0_WinImportHandler_WinImportHandler_a0_before {
10731
 
  typedef TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0 TJP;
 
10419
struct Binding_WinImportHandler_WinImportHandler_a0_before {
 
10420
  typedef __TJP TJP;
10732
10421
  template <int I, int DUMMY = 0> struct Arg {
10733
10422
    void val (TJP *tjp) {} // for VC7
10734
10423
  };
10735
10424
  template <int DUMMY> struct Arg<0, DUMMY> {
10736
 
    static TJP::Arg<0>::ReferredType &val (TJP *tjp) { return *tjp->template arg<0> (); }
 
10425
    static typename TJP::template Arg<0>::ReferredType &val (TJP *tjp) { return *tjp->template arg<0> (); }
10737
10426
  };
10738
10427
  template <int DUMMY> struct Arg<1, DUMMY> {
10739
 
    static TJP::Arg<1>::ReferredType &val (TJP *tjp) { return *tjp->template arg<1> (); }
 
10428
    static typename TJP::template Arg<1>::ReferredType &val (TJP *tjp) { return *tjp->template arg<1> (); }
10740
10429
  };
10741
10430
};
10742
 
struct Binding_TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0_WinMacros_WinMacros_a0_before {
10743
 
  typedef TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0 TJP;
 
10431
struct Binding_WinMacros_WinMacros_a0_before {
 
10432
  typedef __TJP TJP;
10744
10433
  template <int I, int DUMMY = 0> struct Arg {
10745
10434
    void val (TJP *tjp) {} // for VC7
10746
10435
  };
10747
10436
  template <int DUMMY> struct Arg<0, DUMMY> {
10748
 
    static TJP::Arg<0>::ReferredType &val (TJP *tjp) { return *tjp->template arg<0> (); }
 
10437
    static typename TJP::template Arg<0>::ReferredType &val (TJP *tjp) { return *tjp->template arg<0> (); }
10749
10438
  };
10750
10439
};
10751
 
 
10752
 
 
10753
 
#line 97 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10440
};
 
10441
 
 
10442
 
 
10443
#line 98 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
10754
10444
void PreprocessorParser::configure (const Config & arg0, bool  arg1) 
10755
 
#line 10756 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10445
#line 10446 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
10756
10446
{
10757
 
  void *args__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb[] = { (void*)&arg0, (void*)&arg1 };
10758
 
  TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0 tjp;
10759
 
  tjp._args = args__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb;
10760
 
  tjp._that =  (TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0::That*)this;
10761
 
  AC::invoke_WinImportHandler_WinImportHandler_a0_before<TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0, Binding_TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0_WinImportHandler_WinImportHandler_a0_before> (&tjp);
10762
 
  AC::invoke_WinMacros_WinMacros_a0_before<TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0, Binding_TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0_WinMacros_WinMacros_a0_before> (&tjp);
10763
 
this->__exec_old_configure(arg0, arg1);
10764
 
  AC::invoke_PragmaOnce_PragmaOnce_a0_after<TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0> (&tjp);
10765
 
 
 
10447
  typedef TJP__ZN4Puma18PreprocessorParser9configureERKN4PumaE6Configb_0< void, ::Puma::PreprocessorParser , ::Puma::PreprocessorParser ,  AC::TL< const ::Puma::Config & , AC::TL< bool , AC::TLE > > > __TJP;
 
10448
    __TJP tjp;
 
10449
  tjp._args[0] = (void*)&arg0;
 
10450
  tjp._args[1] = (void*)&arg1;
 
10451
  tjp._that =  (__TJP::That*)this;
 
10452
  AC::invoke_WinImportHandler_WinImportHandler_a0_before<__TJP> (&tjp);
 
10453
  AC::invoke_WinMacros_WinMacros_a0_before<__TJP> (&tjp);
 
10454
    this->__exec_old_configure(arg0, arg1);
 
10455
  AC::invoke_PragmaOnce_PragmaOnce_a0_after<__TJP> (&tjp);
 
10456
  
10766
10457
}
10767
 
inline void Puma::PreprocessorParser::__exec_old_configure(const ::Puma::Config & c,bool process_includes)
10768
 
#line 97 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10458
__attribute__((always_inline)) inline void Puma::PreprocessorParser::__exec_old_configure(const ::Puma::Config & c,bool process_includes)
 
10459
#line 98 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
10769
10460
{
10770
10461
  unsigned i;
10771
10462
    
10952
10643
      args->append ("par1");
10953
10644
      _macroManager->addMacro (new PreMacro ("__attribute__", args, " "));
10954
10645
    }
10955
 
    if (! _macroManager->getMacro ("__asm__")) {
10956
 
      PreMacro::MacroArgs *args = new PreMacro::MacroArgs ();
10957
 
      args->append ("par1");
10958
 
      _macroManager->addMacro (new PreMacro ("__asm__", args, " ",
10959
 
                                             PreMacro::VAR_ARG_MACRO));
10960
 
    }
 
10646
//     if (! _macroManager->getMacro ("__asm__")) {
 
10647
//       PreMacro::MacroArgs *args = new PreMacro::MacroArgs ();
 
10648
//       args->append ("par1");
 
10649
//       _macroManager->addMacro (new PreMacro ("__asm__", args, " ",
 
10650
//                                              PreMacro::VAR_ARG_MACRO));
 
10651
//     }
10961
10652
    if (! _macroManager->getMacro ("__builtin_va_arg")) {
10962
10653
      PreMacro::MacroArgs *args = new PreMacro::MacroArgs ();
10963
10654
      args->append ("par1");
10972
10663
 
10973
10664
} // namespace Puma
10974
10665
 
10975
 
#line 10976 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
10976
 
 
10977
 
#ifdef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreprocessorParser_cc__
10978
 
/*** begin of aspect includes ***/
10979
 
#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__)
10980
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
10981
 
 
10982
 
#line 7 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
10983
 
#endif
10984
 
#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__)
10985
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
10986
 
 
10987
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
10988
 
#endif
10989
 
#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__)
10990
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
10991
 
 
10992
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10666
#line 10667 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10667
 
 
10668
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreprocessorParser_cc__
 
10669
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
10670
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
10671
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
10672
#include "CCExprResolveCC.ah"
 
10673
#endif
 
10674
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
10675
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
10676
#include "ExtACTree.ah"
 
10677
#endif
 
10678
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
10679
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
10680
#include "ExtGnu.ah"
 
10681
#endif
 
10682
#endif
 
10683
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
10684
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
10685
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
10686
#include "CCExprResolveH.ah"
 
10687
#endif
 
10688
#endif
 
10689
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
10690
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
10691
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
10692
#include "CExprResolveCC.ah"
 
10693
#endif
 
10694
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
10695
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
10696
#include "ExtACTree.ah"
 
10697
#endif
 
10698
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
10699
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
10700
#include "ExtGnu.ah"
 
10701
#endif
 
10702
#endif
 
10703
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
10704
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
10705
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
10706
#include "CExprResolveH.ah"
 
10707
#endif
 
10708
#endif
 
10709
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
10710
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
10711
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
10712
 
 
10713
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10714
#endif
 
10715
#endif
 
10716
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
10717
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
10718
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
10719
 
 
10720
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10721
// This file is part of PUMA.
 
10722
// Copyright (C) 1999-2003  The PUMA developer team.
 
10723
//                                                                
 
10724
// This program is free software;  you can redistribute it and/or 
 
10725
// modify it under the terms of the GNU General Public License as 
 
10726
// published by the Free Software Foundation; either version 2 of 
 
10727
// the License, or (at your option) any later version.            
 
10728
//                                                                
 
10729
// This program is distributed in the hope that it will be useful,
 
10730
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
10731
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
10732
// GNU General Public License for more details.                   
 
10733
//                                                                
 
10734
// You should have received a copy of the GNU General Public      
 
10735
// License along with this program; if not, write to the Free     
 
10736
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
10737
// MA  02111-1307  USA                                            
 
10738
 
 
10739
#ifndef __WinImportHandler__
 
10740
#define __WinImportHandler__
 
10741
 
 
10742
/********************************************************/
 
10743
/* Win #import directive support                        */
 
10744
/********************************************************/
 
10745
 
 
10746
 
 
10747
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10748
 
 
10749
#line 10750 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10750
class CCExprResolve;
 
10751
class CExprResolve;
 
10752
class WinIfExists;
 
10753
class WinMacros;
 
10754
class WinAsm;
 
10755
class WinDeclSpecs;
 
10756
class WinMemberExplSpec;
 
10757
class WinTypeKeywords;
 
10758
class WinFriend;
 
10759
class ExtAC;
 
10760
class ExtACBuilderCoupling;
 
10761
class ExtACSyntaxCoupling;
 
10762
class ExtACTree;
 
10763
class ExtACKeywords;
 
10764
class ExtGnu;
 
10765
class PragmaOnceUnitState;
 
10766
class PragmaOnce;
 
10767
class CMatchSyntax;
 
10768
 
 
10769
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10770
class WinImportHandler {
 
10771
#line 10772 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10772
 
 
10773
public:
 
10774
  static WinImportHandler *aspectof () {
 
10775
    static WinImportHandler __instance;
 
10776
    return &__instance;
 
10777
  }
 
10778
  static WinImportHandler *aspectOf () {
 
10779
    return aspectof ();
 
10780
  }
 
10781
private:
 
10782
 
 
10783
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10784
 
 
10785
#line 10786 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10786
  friend class ::CCExprResolve;
 
10787
  friend class ::CExprResolve;
 
10788
  friend class ::WinIfExists;
 
10789
  friend class ::WinMacros;
 
10790
  friend class ::WinAsm;
 
10791
  friend class ::WinDeclSpecs;
 
10792
  friend class ::WinMemberExplSpec;
 
10793
  friend class ::WinTypeKeywords;
 
10794
  friend class ::WinFriend;
 
10795
  friend class ::ExtAC;
 
10796
  friend class ::ExtACBuilderCoupling;
 
10797
  friend class ::ExtACSyntaxCoupling;
 
10798
  friend class ::ExtACTree;
 
10799
  friend class ::ExtACKeywords;
 
10800
  friend class ::ExtGnu;
 
10801
  friend class ::PragmaOnceUnitState;
 
10802
  friend class ::PragmaOnce;
 
10803
  friend class ::CMatchSyntax;
 
10804
 
 
10805
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10806
 
 
10807
  /********************************************************/
 
10808
  /* Win #import directive                                */
 
10809
  /********************************************************/
 
10810
 
 
10811
  // pointcuts
 
10812
  
 
10813
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10814
 
 
10815
  
 
10816
  // handle --import-handler option
 
10817
  
 
10818
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10819
 
 
10820
public: template<class JoinPoint> void __a0_before 
 
10821
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10822
 
 
10823
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10824
(JoinPoint *tjp, const Puma::Config &config, bool process_includes)
 
10825
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10826
 {
 
10827
#line 10828 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10828
 
 
10829
  JoinPoint *&thisJoinPoint = tjp;
 
10830
 
 
10831
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10832
 
 
10833
#line 10834 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10834
 
 
10835
  typedef typename JoinPoint::That __JP_That;
 
10836
  typedef typename JoinPoint::Target __JP_Target;
 
10837
  typedef typename JoinPoint::Result __JP_Result;
 
10838
 
 
10839
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10840
 
 
10841
    const Puma::ConfOption *opt;
 
10842
    char *tmp;
 
10843
    
 
10844
    if (process_includes) {
 
10845
      opt = config.Option ("--import-handler");
 
10846
      if (opt && opt->Arguments ()) {
 
10847
        // delete old import handler
 
10848
        if (thisJoinPoint->that ()->_importHandler)
 
10849
          delete[] thisJoinPoint->that ()->_importHandler;
 
10850
        
 
10851
        // get new import handler
 
10852
        tmp = new char[strlen (opt->Argument (0))+1];
 
10853
        strcpy (tmp, opt->Argument (0));
 
10854
        thisJoinPoint->that ()->_importHandler = tmp;
 
10855
      }
 
10856
    }
 
10857
  }
 
10858
#line 10859 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10859
 
 
10860
private:
 
10861
 
 
10862
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10863
 
 
10864
 
 
10865
protected:
 
10866
  WinImportHandler () {}
 
10867
};
 
10868
#line 10869 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10869
 
 
10870
namespace AC {
 
10871
  template <class JoinPoint>
 
10872
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
 
10873
    typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<0> Arg0;
 
10874
    typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<1> Arg1;
 
10875
    ::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
 
10876
  }
 
10877
 
10878
 
 
10879
#line 62 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
10880
 
 
10881
 
 
10882
 
 
10883
#endif /* __WinImportHandler__ */
 
10884
 
 
10885
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
10886
#endif
 
10887
#endif
 
10888
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
10889
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
10890
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
10891
 
 
10892
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
10993
10893
// This file is part of PUMA.
10994
10894
// Copyright (C) 1999-2003  The PUMA developer team.
10995
10895
//                                                                
11016
10916
/********************************************************/
11017
10917
 
11018
10918
 
11019
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
11020
 
using namespace Puma;
11021
 
 
11022
 
 
11023
 
 
11024
 
#line 11025 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10919
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10920
 
 
10921
#line 10922 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10922
class CCExprResolve;
 
10923
class CExprResolve;
11025
10924
class WinIfExists;
11026
10925
class WinImportHandler;
11027
 
class CMatchSyntax;
11028
 
class ExtGnu;
 
10926
class WinAsm;
 
10927
class WinDeclSpecs;
 
10928
class WinMemberExplSpec;
 
10929
class WinTypeKeywords;
 
10930
class WinFriend;
11029
10931
class ExtAC;
11030
10932
class ExtACBuilderCoupling;
11031
10933
class ExtACSyntaxCoupling;
11032
10934
class ExtACTree;
11033
10935
class ExtACKeywords;
11034
 
class WinAsm;
11035
 
class WinDeclSpecs;
11036
 
class WinMemberExplSpec;
11037
 
class WinTypeKeywords;
 
10936
class ExtGnu;
11038
10937
class PragmaOnceUnitState;
11039
10938
class PragmaOnce;
11040
 
class CCExprResolve;
11041
 
class CExprResolve;
 
10939
class CMatchSyntax;
11042
10940
 
11043
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10941
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11044
10942
class WinMacros {
11045
 
#line 11046 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10943
#line 10944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11046
10944
 
11047
10945
public:
11048
10946
  static WinMacros *aspectof () {
11054
10952
  }
11055
10953
private:
11056
10954
 
11057
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10955
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11058
10956
 
11059
 
#line 11060 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10957
#line 10958 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10958
  friend class ::CCExprResolve;
 
10959
  friend class ::CExprResolve;
11060
10960
  friend class ::WinIfExists;
11061
10961
  friend class ::WinImportHandler;
11062
 
  friend class ::CMatchSyntax;
11063
 
  friend class ::ExtGnu;
 
10962
  friend class ::WinAsm;
 
10963
  friend class ::WinDeclSpecs;
 
10964
  friend class ::WinMemberExplSpec;
 
10965
  friend class ::WinTypeKeywords;
 
10966
  friend class ::WinFriend;
11064
10967
  friend class ::ExtAC;
11065
10968
  friend class ::ExtACBuilderCoupling;
11066
10969
  friend class ::ExtACSyntaxCoupling;
11067
10970
  friend class ::ExtACTree;
11068
10971
  friend class ::ExtACKeywords;
11069
 
  friend class ::WinAsm;
11070
 
  friend class ::WinDeclSpecs;
11071
 
  friend class ::WinMemberExplSpec;
11072
 
  friend class ::WinTypeKeywords;
 
10972
  friend class ::ExtGnu;
11073
10973
  friend class ::PragmaOnceUnitState;
11074
10974
  friend class ::PragmaOnce;
11075
 
  friend class ::CCExprResolve;
11076
 
  friend class ::CExprResolve;
 
10975
  friend class ::CMatchSyntax;
11077
10976
 
11078
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10977
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11079
10978
 
11080
10979
  /********************************************************/
11081
10980
  /* Win specific predefined macros                       */
11083
10982
 
11084
10983
  // predefine win specific macros
11085
10984
  
11086
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10985
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11087
10986
 
11088
10987
public: template<class JoinPoint> void __a0_before 
11089
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10988
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11090
10989
 
11091
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
11092
 
(JoinPoint *tjp, const Config &config)
11093
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10990
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10991
(JoinPoint *tjp, const Puma::Config &config)
 
10992
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11094
10993
 {
11095
 
#line 11096 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
10994
#line 10995 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11096
10995
 
11097
10996
  JoinPoint *&thisJoinPoint = tjp;
11098
10997
 
11099
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
10998
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11100
10999
 
11101
 
#line 11102 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11000
#line 11001 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11102
11001
 
11103
11002
  typedef typename JoinPoint::That __JP_That;
11104
11003
  typedef typename JoinPoint::Target __JP_Target;
11105
11004
  typedef typename JoinPoint::Result __JP_Result;
11106
11005
 
11107
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
11006
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11108
11007
 
11109
11008
    if (config.Option ("--vc")) {
11110
11009
      // constants
11117
11016
      thisJoinPoint->that ()->defMacro ("__noop", " ");
11118
11017
 
11119
11018
      // function-like macros
11120
 
      PreMacro::MacroArgs *args = new PreMacro::MacroArgs (1);
 
11019
      Puma::PreMacro::MacroArgs *args = new Puma::PreMacro::MacroArgs (1);
11121
11020
      args->append ("__arg0");
11122
11021
      thisJoinPoint->that ()->macroManager ()->addMacro (
11123
 
        new PreMacro ("__declspec", args, " "));
 
11022
        new Puma::PreMacro ("__declspec", args, " "));
11124
11023
    }
11125
11024
  }
11126
 
#line 11127 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11025
#line 11026 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11127
11026
 
11128
11027
private:
11129
11028
 
11130
 
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
11029
#line 54 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11131
11030
 
11132
11031
 
11133
11032
protected:
11134
11033
  WinMacros () {}
11135
11034
};
11136
 
#line 11137 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11035
#line 11036 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11137
11036
 
11138
11037
namespace AC {
11139
 
  template <class JoinPoint, class Binding>
11140
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
11141
 
    typedef typename Binding::template Arg<0> Arg0;
 
11038
  template <class JoinPoint>
 
11039
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
 
11040
    typedef typename JoinPoint::Binding_WinMacros_WinMacros_a0_before::template Arg<0> Arg0;
11142
11041
    ::WinMacros::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp));
11143
11042
  }
11144
11043
11145
11044
 
11146
 
#line 60 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
11045
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
11147
11046
 
11148
11047
 
11149
11048
 
11150
11049
#endif /* __WinMacros__ */
11151
11050
 
11152
 
#line 15 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
11153
 
#endif
11154
 
#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__)
11155
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
11156
 
#include "CMatchSyntax.ah"
11157
 
#endif
11158
 
#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__)
11159
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__
11160
 
#include "ExtGnu.ah"
11161
 
#endif
11162
 
#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__)
11163
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__
 
11051
#line 59 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
11052
#endif
 
11053
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11054
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11055
 
 
11056
#line 63 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
11057
#endif
 
11058
#endif
 
11059
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
11060
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
11061
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
11062
#include "WinAsm.ah"
 
11063
#endif
 
11064
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11065
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11066
#include "ExtACTree.ah"
 
11067
#endif
 
11068
#endif
 
11069
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
11070
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
11071
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
11072
#include "WinDeclSpecs.ah"
 
11073
#endif
 
11074
#endif
 
11075
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
11076
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
11077
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
11078
#include "WinMemberExplSpec.ah"
 
11079
#endif
 
11080
#endif
 
11081
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
11082
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
11083
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
11084
#include "WinTypeKeywords.ah"
 
11085
#endif
 
11086
#endif
 
11087
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
11088
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
11089
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
11090
#include "WinFriend.ah"
 
11091
#endif
 
11092
#endif
 
11093
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
11094
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
11095
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
11164
11096
#include "ExtAC.ah"
11165
11097
#endif
11166
 
#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__)
11167
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
11098
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11099
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11100
#include "ExtACTree.ah"
 
11101
#endif
 
11102
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11103
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11104
#include "ExtACKeywords.ah"
 
11105
#endif
 
11106
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
11107
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
11108
#include "ExtGnu.ah"
 
11109
#endif
 
11110
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11111
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11112
#include "PragmaOnceUnitState.ah"
 
11113
#endif
 
11114
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
11115
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
11116
#include "CMatchSyntax.ah"
 
11117
#endif
 
11118
#endif
 
11119
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
11120
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
11121
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
11168
11122
#include "ExtACBuilderH.ah"
11169
11123
#endif
11170
 
#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__)
11171
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
11124
#endif
 
11125
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
11126
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
11127
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
11172
11128
#include "ExtACBuilderCC.ah"
11173
11129
#endif
11174
 
#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__)
11175
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
11130
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11131
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11132
#include "ExtACTree.ah"
 
11133
#endif
 
11134
#endif
 
11135
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
11136
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
11137
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
11176
11138
#include "ExtACSyntaxH.ah"
11177
11139
#endif
11178
 
#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__)
11179
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
11140
#endif
 
11141
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
11142
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
11143
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
11180
11144
#include "ExtACSyntaxCC.ah"
11181
11145
#endif
11182
 
#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__)
11183
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11146
#endif
 
11147
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11148
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11149
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
11184
11150
#include "ExtACTree.ah"
11185
11151
#endif
11186
 
#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__)
11187
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11152
#endif
 
11153
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11154
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11155
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11188
11156
 
11189
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11157
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
11190
11158
// This file is part of PUMA.
11191
11159
// Copyright (C) 1999-2003  The PUMA developer team.
11192
11160
//                                                                
11209
11177
#define __ext_ac_keywords_ah__
11210
11178
 
11211
11179
 
11212
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
11180
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
11213
11181
 
11214
 
#line 11215 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11182
#line 11183 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11215
11183
 
11216
11184
#ifndef __ac_fwd_ExtACKeywords__
11217
11185
#define __ac_fwd_ExtACKeywords__
11218
11186
class ExtACKeywords;
11219
11187
namespace AC {
11220
 
  template <class JoinPoint, class Binding>
11221
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
11222
 
  template <class JoinPoint, class Binding>
11223
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
11224
 
  template <class JoinPoint>
11225
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
11188
  template <class JoinPoint>
 
11189
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
11190
  template <class JoinPoint>
 
11191
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
11192
  template <class JoinPoint>
 
11193
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
11226
11194
}
11227
11195
#endif
11228
11196
 
11229
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11230
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11197
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
11198
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
11231
11199
#endif
11232
11200
 
11233
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
11201
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
11234
11202
// This file is part of PUMA.
11235
11203
// Copyright (C) 1999-2003  The PUMA developer team.
11236
11204
//                                                                
11255
11223
// Special project derivation for C++ sources.
11256
11224
 
11257
11225
 
11258
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
11226
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
11259
11227
// This file is part of PUMA.
11260
11228
// Copyright (C) 1999-2003  The PUMA developer team.
11261
11229
//                                                                
11281
11249
// methods for searching and writing files. 
11282
11250
 
11283
11251
 
11284
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
11252
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
11285
11253
// This file is part of PUMA.
11286
11254
// Copyright (C) 1999-2003  The PUMA developer team.
11287
11255
//                                                                
11306
11274
// Manages directories and methods to access the files in it.
11307
11275
 
11308
11276
 
11309
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
11277
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
11310
11278
// This file is part of PUMA.
11311
11279
// Copyright (C) 1999-2003  The PUMA developer team.
11312
11280
//                                                                
11335
11303
 
11336
11304
 
11337
11305
 
11338
 
#line 11339 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11306
#line 11307 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11339
11307
} // closed Puma
 
11308
class CCExprResolve;
 
11309
class CExprResolve;
11340
11310
class WinIfExists;
11341
11311
class WinImportHandler;
11342
11312
class WinMacros;
11343
 
class CMatchSyntax;
11344
 
class ExtGnu;
 
11313
class WinAsm;
 
11314
class WinDeclSpecs;
 
11315
class WinMemberExplSpec;
 
11316
class WinTypeKeywords;
 
11317
class WinFriend;
11345
11318
class ExtAC;
11346
11319
class ExtACBuilderCoupling;
11347
11320
class ExtACSyntaxCoupling;
11348
11321
class ExtACTree;
11349
11322
class ExtACKeywords;
11350
 
class WinAsm;
11351
 
class WinDeclSpecs;
11352
 
class WinMemberExplSpec;
11353
 
class WinTypeKeywords;
 
11323
class ExtGnu;
11354
11324
class PragmaOnceUnitState;
11355
11325
class PragmaOnce;
11356
 
class CCExprResolve;
11357
 
class CExprResolve;
 
11326
class CMatchSyntax;
11358
11327
namespace Puma {
11359
11328
 
11360
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
11329
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
11361
11330
class PathInfo {
11362
 
#line 11363 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11331
#line 11332 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11332
  friend class ::CCExprResolve;
 
11333
  friend class ::CExprResolve;
11363
11334
  friend class ::WinIfExists;
11364
11335
  friend class ::WinImportHandler;
11365
11336
  friend class ::WinMacros;
11366
 
  friend class ::CMatchSyntax;
11367
 
  friend class ::ExtGnu;
 
11337
  friend class ::WinAsm;
 
11338
  friend class ::WinDeclSpecs;
 
11339
  friend class ::WinMemberExplSpec;
 
11340
  friend class ::WinTypeKeywords;
 
11341
  friend class ::WinFriend;
11368
11342
  friend class ::ExtAC;
11369
11343
  friend class ::ExtACBuilderCoupling;
11370
11344
  friend class ::ExtACSyntaxCoupling;
11371
11345
  friend class ::ExtACTree;
11372
11346
  friend class ::ExtACKeywords;
11373
 
  friend class ::WinAsm;
11374
 
  friend class ::WinDeclSpecs;
11375
 
  friend class ::WinMemberExplSpec;
11376
 
  friend class ::WinTypeKeywords;
 
11347
  friend class ::ExtGnu;
11377
11348
  friend class ::PragmaOnceUnitState;
11378
11349
  friend class ::PragmaOnce;
11379
 
  friend class ::CCExprResolve;
11380
 
  friend class ::CExprResolve;
 
11350
  friend class ::CMatchSyntax;
11381
11351
 
11382
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
11352
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
11383
11353
 
11384
11354
  const char *_src;        // Source path.
11385
11355
  const char *_dest;        // Destination path.
11406
11376
 
11407
11377
#endif /* __path_info__ */
11408
11378
 
11409
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
11379
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
11410
11380
// This file is part of PUMA.
11411
11381
// Copyright (C) 1999-2003  The PUMA developer team.
11412
11382
//                                                                
11433
11403
// are iterated. 
11434
11404
 
11435
11405
 
11436
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
11406
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
11437
11407
// This file is part of PUMA.
11438
11408
// Copyright (C) 1999-2003  The PUMA developer team.
11439
11409
//                                                                
11456
11426
#define __project_file__
11457
11427
 
11458
11428
 
11459
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
11429
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
11460
11430
using std::map;
11461
11431
 
11462
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
11432
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
11463
11433
using std::string;
11464
11434
 
11465
11435
 
11466
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
11436
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
11467
11437
namespace Puma {
11468
11438
 
11469
11439
// the project file abstraction is used to store all filenames relevant
11470
11440
// for a specific file that is managed by Puma.
11471
11441
 
11472
11442
 
11473
 
#line 11474 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11443
#line 11444 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11474
11444
} // closed Puma
 
11445
class CCExprResolve;
 
11446
class CExprResolve;
11475
11447
class WinIfExists;
11476
11448
class WinImportHandler;
11477
11449
class WinMacros;
11478
 
class CMatchSyntax;
11479
 
class ExtGnu;
 
11450
class WinAsm;
 
11451
class WinDeclSpecs;
 
11452
class WinMemberExplSpec;
 
11453
class WinTypeKeywords;
 
11454
class WinFriend;
11480
11455
class ExtAC;
11481
11456
class ExtACBuilderCoupling;
11482
11457
class ExtACSyntaxCoupling;
11483
11458
class ExtACTree;
11484
11459
class ExtACKeywords;
11485
 
class WinAsm;
11486
 
class WinDeclSpecs;
11487
 
class WinMemberExplSpec;
11488
 
class WinTypeKeywords;
 
11460
class ExtGnu;
11489
11461
class PragmaOnceUnitState;
11490
11462
class PragmaOnce;
11491
 
class CCExprResolve;
11492
 
class CExprResolve;
 
11463
class CMatchSyntax;
11493
11464
namespace Puma {
11494
11465
 
11495
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
11466
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
11496
11467
class ProjectFile {
11497
 
#line 11498 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11468
#line 11469 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11469
  friend class ::CCExprResolve;
 
11470
  friend class ::CExprResolve;
11498
11471
  friend class ::WinIfExists;
11499
11472
  friend class ::WinImportHandler;
11500
11473
  friend class ::WinMacros;
11501
 
  friend class ::CMatchSyntax;
11502
 
  friend class ::ExtGnu;
 
11474
  friend class ::WinAsm;
 
11475
  friend class ::WinDeclSpecs;
 
11476
  friend class ::WinMemberExplSpec;
 
11477
  friend class ::WinTypeKeywords;
 
11478
  friend class ::WinFriend;
11503
11479
  friend class ::ExtAC;
11504
11480
  friend class ::ExtACBuilderCoupling;
11505
11481
  friend class ::ExtACSyntaxCoupling;
11506
11482
  friend class ::ExtACTree;
11507
11483
  friend class ::ExtACKeywords;
11508
 
  friend class ::WinAsm;
11509
 
  friend class ::WinDeclSpecs;
11510
 
  friend class ::WinMemberExplSpec;
11511
 
  friend class ::WinTypeKeywords;
 
11484
  friend class ::ExtGnu;
11512
11485
  friend class ::PragmaOnceUnitState;
11513
11486
  friend class ::PragmaOnce;
11514
 
  friend class ::CCExprResolve;
11515
 
  friend class ::CExprResolve;
 
11487
  friend class ::CMatchSyntax;
11516
11488
 
11517
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
11489
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
11518
11490
 
11519
11491
  Filename _nick_name;
11520
11492
  Filename _dest_path;
11538
11510
 
11539
11511
#endif // __project_file__
11540
11512
 
11541
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
11513
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
11542
11514
namespace Puma {
11543
11515
 
11544
11516
class PathManager;
11545
11517
class RegComp;
11546
11518
 
11547
11519
 
11548
 
#line 11549 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11520
#line 11521 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11549
11521
} // closed Puma
 
11522
class CCExprResolve;
 
11523
class CExprResolve;
11550
11524
class WinIfExists;
11551
11525
class WinImportHandler;
11552
11526
class WinMacros;
11553
 
class CMatchSyntax;
11554
 
class ExtGnu;
 
11527
class WinAsm;
 
11528
class WinDeclSpecs;
 
11529
class WinMemberExplSpec;
 
11530
class WinTypeKeywords;
 
11531
class WinFriend;
11555
11532
class ExtAC;
11556
11533
class ExtACBuilderCoupling;
11557
11534
class ExtACSyntaxCoupling;
11558
11535
class ExtACTree;
11559
11536
class ExtACKeywords;
11560
 
class WinAsm;
11561
 
class WinDeclSpecs;
11562
 
class WinMemberExplSpec;
11563
 
class WinTypeKeywords;
 
11537
class ExtGnu;
11564
11538
class PragmaOnceUnitState;
11565
11539
class PragmaOnce;
11566
 
class CCExprResolve;
11567
 
class CExprResolve;
 
11540
class CMatchSyntax;
11568
11541
namespace Puma {
11569
11542
 
11570
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
11543
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
11571
11544
class PathIterator : public PFMConstIter {
11572
 
#line 11573 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11545
#line 11546 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11546
  friend class ::CCExprResolve;
 
11547
  friend class ::CExprResolve;
11573
11548
  friend class ::WinIfExists;
11574
11549
  friend class ::WinImportHandler;
11575
11550
  friend class ::WinMacros;
11576
 
  friend class ::CMatchSyntax;
11577
 
  friend class ::ExtGnu;
 
11551
  friend class ::WinAsm;
 
11552
  friend class ::WinDeclSpecs;
 
11553
  friend class ::WinMemberExplSpec;
 
11554
  friend class ::WinTypeKeywords;
 
11555
  friend class ::WinFriend;
11578
11556
  friend class ::ExtAC;
11579
11557
  friend class ::ExtACBuilderCoupling;
11580
11558
  friend class ::ExtACSyntaxCoupling;
11581
11559
  friend class ::ExtACTree;
11582
11560
  friend class ::ExtACKeywords;
11583
 
  friend class ::WinAsm;
11584
 
  friend class ::WinDeclSpecs;
11585
 
  friend class ::WinMemberExplSpec;
11586
 
  friend class ::WinTypeKeywords;
 
11561
  friend class ::ExtGnu;
11587
11562
  friend class ::PragmaOnceUnitState;
11588
11563
  friend class ::PragmaOnce;
11589
 
  friend class ::CCExprResolve;
11590
 
  friend class ::CExprResolve;
 
11564
  friend class ::CMatchSyntax;
11591
11565
 
11592
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
11566
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
11593
11567
 
11594
11568
  friend class PathManager;
11595
11569
 
11614
11588
 
11615
11589
#endif /* __path_iterator__ */
11616
11590
 
11617
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
11591
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
11618
11592
namespace Puma {
11619
11593
 
11620
11594
class RegComp;
11622
11596
class Unit;
11623
11597
 
11624
11598
 
11625
 
#line 11626 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11599
#line 11600 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11626
11600
} // closed Puma
 
11601
class CCExprResolve;
 
11602
class CExprResolve;
11627
11603
class WinIfExists;
11628
11604
class WinImportHandler;
11629
11605
class WinMacros;
11630
 
class CMatchSyntax;
11631
 
class ExtGnu;
 
11606
class WinAsm;
 
11607
class WinDeclSpecs;
 
11608
class WinMemberExplSpec;
 
11609
class WinTypeKeywords;
 
11610
class WinFriend;
11632
11611
class ExtAC;
11633
11612
class ExtACBuilderCoupling;
11634
11613
class ExtACSyntaxCoupling;
11635
11614
class ExtACTree;
11636
11615
class ExtACKeywords;
11637
 
class WinAsm;
11638
 
class WinDeclSpecs;
11639
 
class WinMemberExplSpec;
11640
 
class WinTypeKeywords;
 
11616
class ExtGnu;
11641
11617
class PragmaOnceUnitState;
11642
11618
class PragmaOnce;
11643
 
class CCExprResolve;
11644
 
class CExprResolve;
 
11619
class CMatchSyntax;
11645
11620
namespace Puma {
11646
11621
 
11647
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
11622
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
11648
11623
class PathManager {
11649
 
#line 11650 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11624
#line 11625 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11625
  friend class ::CCExprResolve;
 
11626
  friend class ::CExprResolve;
11650
11627
  friend class ::WinIfExists;
11651
11628
  friend class ::WinImportHandler;
11652
11629
  friend class ::WinMacros;
11653
 
  friend class ::CMatchSyntax;
11654
 
  friend class ::ExtGnu;
 
11630
  friend class ::WinAsm;
 
11631
  friend class ::WinDeclSpecs;
 
11632
  friend class ::WinMemberExplSpec;
 
11633
  friend class ::WinTypeKeywords;
 
11634
  friend class ::WinFriend;
11655
11635
  friend class ::ExtAC;
11656
11636
  friend class ::ExtACBuilderCoupling;
11657
11637
  friend class ::ExtACSyntaxCoupling;
11658
11638
  friend class ::ExtACTree;
11659
11639
  friend class ::ExtACKeywords;
11660
 
  friend class ::WinAsm;
11661
 
  friend class ::WinDeclSpecs;
11662
 
  friend class ::WinMemberExplSpec;
11663
 
  friend class ::WinTypeKeywords;
 
11640
  friend class ::ExtGnu;
11664
11641
  friend class ::PragmaOnceUnitState;
11665
11642
  friend class ::PragmaOnce;
11666
 
  friend class ::CCExprResolve;
11667
 
  friend class ::CExprResolve;
 
11643
  friend class ::CMatchSyntax;
11668
11644
 
11669
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
11645
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
11670
11646
 
11671
11647
 
11672
11648
  ErrorStream     *_err;
11768
11744
 
11769
11745
#endif /* __path_manager__ */
11770
11746
 
11771
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
11747
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
11748
 
 
11749
#line 11750 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11750
 
 
11751
#ifndef __ac_fwd_PragmaOnceUnitState__
 
11752
#define __ac_fwd_PragmaOnceUnitState__
 
11753
class PragmaOnceUnitState;
 
11754
namespace AC {
 
11755
  template <class JoinPoint>
 
11756
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
11757
  template <class JoinPoint>
 
11758
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
11759
}
 
11760
#endif
 
11761
 
 
11762
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11763
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11764
#endif
 
11765
 
 
11766
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
11767
// This file is part of PUMA.
 
11768
// Copyright (C) 1999-2003  The PUMA developer team.
 
11769
//                                                                
 
11770
// This program is free software;  you can redistribute it and/or 
 
11771
// modify it under the terms of the GNU General Public License as 
 
11772
// published by the Free Software Foundation; either version 2 of 
 
11773
// the License, or (at your option) any later version.            
 
11774
//                                                                
 
11775
// This program is distributed in the hope that it will be useful,
 
11776
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
11777
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
11778
// GNU General Public License for more details.                   
 
11779
//                                                                
 
11780
// You should have received a copy of the GNU General Public      
 
11781
// License along with this program; if not, write to the Free     
 
11782
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
11783
// MA  02111-1307  USA                                            
 
11784
 
 
11785
#ifndef __UnitManager__
 
11786
#define __UnitManager__
 
11787
 
 
11788
// Class UnitManager helps you to have control of all units built.
 
11789
 
 
11790
#include <iostream>
 
11791
#include <list>
 
11792
#include <map>
 
11793
#include <string>
 
11794
using namespace std;
 
11795
#include "Puma/ErrorStream.h"
 
11796
 
 
11797
namespace Puma {
 
11798
 
 
11799
 
 
11800
class Unit;
 
11801
class Source;
 
11802
class Tokenizer;
 
11803
 
 
11804
 
 
11805
#line 11806 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11806
} // closed Puma
 
11807
class CCExprResolve;
 
11808
class CExprResolve;
 
11809
class WinIfExists;
 
11810
class WinImportHandler;
 
11811
class WinMacros;
 
11812
class WinAsm;
 
11813
class WinDeclSpecs;
 
11814
class WinMemberExplSpec;
 
11815
class WinTypeKeywords;
 
11816
class WinFriend;
 
11817
class ExtAC;
 
11818
class ExtACBuilderCoupling;
 
11819
class ExtACSyntaxCoupling;
 
11820
class ExtACTree;
 
11821
class ExtACKeywords;
 
11822
class ExtGnu;
 
11823
class PragmaOnceUnitState;
 
11824
class PragmaOnce;
 
11825
class CMatchSyntax;
 
11826
namespace Puma {
 
11827
 
 
11828
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
11829
class UnitManager {
 
11830
#line 11831 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11831
  friend class ::CCExprResolve;
 
11832
  friend class ::CExprResolve;
 
11833
  friend class ::WinIfExists;
 
11834
  friend class ::WinImportHandler;
 
11835
  friend class ::WinMacros;
 
11836
  friend class ::WinAsm;
 
11837
  friend class ::WinDeclSpecs;
 
11838
  friend class ::WinMemberExplSpec;
 
11839
  friend class ::WinTypeKeywords;
 
11840
  friend class ::WinFriend;
 
11841
  friend class ::ExtAC;
 
11842
  friend class ::ExtACBuilderCoupling;
 
11843
  friend class ::ExtACSyntaxCoupling;
 
11844
  friend class ::ExtACTree;
 
11845
  friend class ::ExtACKeywords;
 
11846
  friend class ::ExtGnu;
 
11847
  friend class ::PragmaOnceUnitState;
 
11848
  friend class ::PragmaOnce;
 
11849
  friend class ::CMatchSyntax;
 
11850
 
 
11851
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
11852
 
 
11853
public:
 
11854
  typedef map<string, Unit*> UMap;
 
11855
private:
 
11856
  ErrorStream *_err;        // For error messages.
 
11857
  list<Unit*> _nonames;     // Noname units list.
 
11858
  mutable UMap _umap;       // Named units, map supports fast lookup by name
 
11859
  typedef UMap::value_type UMapPair;
 
11860
  Tokenizer *_tokenizer;    // File scanner.
 
11861
 
 
11862
public:
 
11863
  UnitManager (ErrorStream &err) : _err (&err), _tokenizer (0) {}
 
11864
        
 
11865
  // Destructor: Delete all units.
 
11866
  virtual ~UnitManager ();
 
11867
        
 
11868
  // Get the unit hash table.
 
11869
  UMap &getTable () const { return _umap; }
 
11870
  typedef UMap::iterator UMapIter;
 
11871
        
 
11872
  // Get/Set the file scanner that is used by newUnit
 
11873
  Tokenizer *tokenizer () const { return _tokenizer; }
 
11874
  void tokenizer (Tokenizer *t) { _tokenizer = t; }
 
11875
 
 
11876
  // Add a unit to manager.
 
11877
  void addUnit (Unit *unit);
 
11878
        
 
11879
  // Remove (and destroy) a unit from hash table. If the name
 
11880
  // is NULL remove all (but not the nonames).
 
11881
  void removeUnit (const char *name = (const char*) 0, bool = false, 
 
11882
                   bool destroy = true) const;
 
11883
 
 
11884
  // Empty a unit. Don't remove from hash table.
 
11885
  // Preserve the last save location information.
 
11886
  void closeUnit (const char *name = (const char*) 0, bool = false) const;
 
11887
 
 
11888
  // Build and add a new unit. 
 
11889
  Unit *newUnit (const char *, Source *in = (Source*) 0, bool = false);
 
11890
        
 
11891
  // Get a unit by name. 
 
11892
  Unit *getUnit (const char *name, bool = false) const;
 
11893
                        
 
11894
  // Print given unit to the given outstream. If no
 
11895
  // name is given, print all units.
 
11896
  void print (const char *name = (const char*) 0, bool = false, 
 
11897
              ostream &out = cout) const;
 
11898
 
 
11899
  // Destroy all noname units.
 
11900
  void removeNonames ();
 
11901
      
 
11902
  // Initialize the unit manager and the managed 
 
11903
  // units for the next parse process.
 
11904
  
 
11905
#line 11906 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11906
public: __attribute__((always_inline)) inline void __exec_old_init();
 
11907
 
 
11908
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
11909
void init ();
 
11910
};
 
11911
 
 
11912
 
 
11913
} // namespace Puma
 
11914
 
 
11915
#endif /* __UnitManager__ */
 
11916
 
 
11917
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
11772
11918
// This file is part of PUMA.
11773
11919
// Copyright (C) 1999-2003  The PUMA developer team.
11774
11920
//                                                                
11795
11941
 
11796
11942
// Project file save mode.
11797
11943
 
11798
 
#line 11799 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11944
#line 11945 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11799
11945
} // closed Puma
 
11946
class CCExprResolve;
 
11947
class CExprResolve;
11800
11948
class WinIfExists;
11801
11949
class WinImportHandler;
11802
11950
class WinMacros;
11803
 
class CMatchSyntax;
11804
 
class ExtGnu;
 
11951
class WinAsm;
 
11952
class WinDeclSpecs;
 
11953
class WinMemberExplSpec;
 
11954
class WinTypeKeywords;
 
11955
class WinFriend;
11805
11956
class ExtAC;
11806
11957
class ExtACBuilderCoupling;
11807
11958
class ExtACSyntaxCoupling;
11808
11959
class ExtACTree;
11809
11960
class ExtACKeywords;
11810
 
class WinAsm;
11811
 
class WinDeclSpecs;
11812
 
class WinMemberExplSpec;
11813
 
class WinTypeKeywords;
 
11961
class ExtGnu;
11814
11962
class PragmaOnceUnitState;
11815
11963
class PragmaOnce;
11816
 
class CCExprResolve;
11817
 
class CExprResolve;
 
11964
class CMatchSyntax;
11818
11965
namespace Puma {
11819
11966
 
11820
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
11967
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
11821
11968
struct SaveMode {
11822
 
#line 11823 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11969
#line 11970 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
11970
  friend class ::CCExprResolve;
 
11971
  friend class ::CExprResolve;
11823
11972
  friend class ::WinIfExists;
11824
11973
  friend class ::WinImportHandler;
11825
11974
  friend class ::WinMacros;
11826
 
  friend class ::CMatchSyntax;
11827
 
  friend class ::ExtGnu;
 
11975
  friend class ::WinAsm;
 
11976
  friend class ::WinDeclSpecs;
 
11977
  friend class ::WinMemberExplSpec;
 
11978
  friend class ::WinTypeKeywords;
 
11979
  friend class ::WinFriend;
11828
11980
  friend class ::ExtAC;
11829
11981
  friend class ::ExtACBuilderCoupling;
11830
11982
  friend class ::ExtACSyntaxCoupling;
11831
11983
  friend class ::ExtACTree;
11832
11984
  friend class ::ExtACKeywords;
11833
 
  friend class ::WinAsm;
11834
 
  friend class ::WinDeclSpecs;
11835
 
  friend class ::WinMemberExplSpec;
11836
 
  friend class ::WinTypeKeywords;
 
11985
  friend class ::ExtGnu;
11837
11986
  friend class ::PragmaOnceUnitState;
11838
11987
  friend class ::PragmaOnce;
11839
 
  friend class ::CCExprResolve;
11840
 
  friend class ::CExprResolve;
 
11988
  friend class ::CMatchSyntax;
11841
11989
 
11842
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
11990
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
11843
11991
 
11844
11992
  enum Mode { 
11845
11993
    OVERWRITE = 1, 
11853
12001
 
11854
12002
#endif /* __SaveMode__ */
11855
12003
 
11856
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
12004
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
11857
12005
#include <fstream>
11858
12006
 
11859
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
12007
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
11860
12008
using namespace std;
11861
12009
 
11862
12010
namespace Puma {
11863
12011
 
11864
12012
 
11865
12013
 
11866
 
#line 11867 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12014
#line 12015 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
11867
12015
} // closed Puma
 
12016
class CCExprResolve;
 
12017
class CExprResolve;
11868
12018
class WinIfExists;
11869
12019
class WinImportHandler;
11870
12020
class WinMacros;
11871
 
class CMatchSyntax;
11872
 
class ExtGnu;
 
12021
class WinAsm;
 
12022
class WinDeclSpecs;
 
12023
class WinMemberExplSpec;
 
12024
class WinTypeKeywords;
 
12025
class WinFriend;
11873
12026
class ExtAC;
11874
12027
class ExtACBuilderCoupling;
11875
12028
class ExtACSyntaxCoupling;
11876
12029
class ExtACTree;
11877
12030
class ExtACKeywords;
11878
 
class WinAsm;
11879
 
class WinDeclSpecs;
11880
 
class WinMemberExplSpec;
11881
 
class WinTypeKeywords;
 
12031
class ExtGnu;
11882
12032
class PragmaOnceUnitState;
11883
12033
class PragmaOnce;
11884
 
class CCExprResolve;
11885
 
class CExprResolve;
 
12034
class CMatchSyntax;
11886
12035
namespace Puma {
11887
12036
 
11888
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
12037
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
11889
12038
class Project : public PathManager, public SaveMode {
11890
 
#line 11891 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12039
#line 12040 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12040
  friend class ::CCExprResolve;
 
12041
  friend class ::CExprResolve;
11891
12042
  friend class ::WinIfExists;
11892
12043
  friend class ::WinImportHandler;
11893
12044
  friend class ::WinMacros;
11894
 
  friend class ::CMatchSyntax;
11895
 
  friend class ::ExtGnu;
 
12045
  friend class ::WinAsm;
 
12046
  friend class ::WinDeclSpecs;
 
12047
  friend class ::WinMemberExplSpec;
 
12048
  friend class ::WinTypeKeywords;
 
12049
  friend class ::WinFriend;
11896
12050
  friend class ::ExtAC;
11897
12051
  friend class ::ExtACBuilderCoupling;
11898
12052
  friend class ::ExtACSyntaxCoupling;
11899
12053
  friend class ::ExtACTree;
11900
12054
  friend class ::ExtACKeywords;
11901
 
  friend class ::WinAsm;
11902
 
  friend class ::WinDeclSpecs;
11903
 
  friend class ::WinMemberExplSpec;
11904
 
  friend class ::WinTypeKeywords;
 
12055
  friend class ::ExtGnu;
11905
12056
  friend class ::PragmaOnceUnitState;
11906
12057
  friend class ::PragmaOnce;
11907
 
  friend class ::CCExprResolve;
11908
 
  friend class ::CExprResolve;
 
12058
  friend class ::CMatchSyntax;
11909
12059
 
11910
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
12060
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
11911
12061
 
11912
12062
  UnitManager  _unitManager; 
11913
12063
  const char  *_suffix;           // Current file name suffix.
11994
12144
 
11995
12145
#endif /* __project__ */
11996
12146
 
11997
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
12147
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
11998
12148
 
11999
 
#line 12000 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12149
#line 12150 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12000
12150
 
12001
12151
#ifndef __ac_fwd_ExtACKeywords__
12002
12152
#define __ac_fwd_ExtACKeywords__
12003
12153
class ExtACKeywords;
12004
12154
namespace AC {
12005
 
  template <class JoinPoint, class Binding>
12006
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
12007
 
  template <class JoinPoint, class Binding>
12008
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
12009
 
  template <class JoinPoint>
12010
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
12155
  template <class JoinPoint>
 
12156
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
12157
  template <class JoinPoint>
 
12158
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
12159
  template <class JoinPoint>
 
12160
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
12011
12161
}
12012
12162
#endif
12013
12163
 
12014
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
12015
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
12164
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
12165
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
12016
12166
#endif
12017
12167
 
12018
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
12168
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
12019
12169
// This file is part of PUMA.
12020
12170
// Copyright (C) 1999-2003  The PUMA developer team.
12021
12171
//                                                                
12052
12202
class Token;
12053
12203
 
12054
12204
 
12055
 
#line 12056 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12205
#line 12206 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12056
12206
} // closed Puma
 
12207
class CCExprResolve;
 
12208
class CExprResolve;
12057
12209
class WinIfExists;
12058
12210
class WinImportHandler;
12059
12211
class WinMacros;
12060
 
class CMatchSyntax;
12061
 
class ExtGnu;
 
12212
class WinAsm;
 
12213
class WinDeclSpecs;
 
12214
class WinMemberExplSpec;
 
12215
class WinTypeKeywords;
 
12216
class WinFriend;
12062
12217
class ExtAC;
12063
12218
class ExtACBuilderCoupling;
12064
12219
class ExtACSyntaxCoupling;
12065
12220
class ExtACTree;
12066
12221
class ExtACKeywords;
12067
 
class WinAsm;
12068
 
class WinDeclSpecs;
12069
 
class WinMemberExplSpec;
12070
 
class WinTypeKeywords;
 
12222
class ExtGnu;
12071
12223
class PragmaOnceUnitState;
12072
12224
class PragmaOnce;
12073
 
class CCExprResolve;
12074
 
class CExprResolve;
 
12225
class CMatchSyntax;
12075
12226
namespace Puma {
12076
12227
 
12077
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
12228
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
12078
12229
class CScanner : public CRecognizer, public Tokenizer {
12079
 
#line 12080 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12230
#line 12231 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12231
  friend class ::CCExprResolve;
 
12232
  friend class ::CExprResolve;
12080
12233
  friend class ::WinIfExists;
12081
12234
  friend class ::WinImportHandler;
12082
12235
  friend class ::WinMacros;
12083
 
  friend class ::CMatchSyntax;
12084
 
  friend class ::ExtGnu;
 
12236
  friend class ::WinAsm;
 
12237
  friend class ::WinDeclSpecs;
 
12238
  friend class ::WinMemberExplSpec;
 
12239
  friend class ::WinTypeKeywords;
 
12240
  friend class ::WinFriend;
12085
12241
  friend class ::ExtAC;
12086
12242
  friend class ::ExtACBuilderCoupling;
12087
12243
  friend class ::ExtACSyntaxCoupling;
12088
12244
  friend class ::ExtACTree;
12089
12245
  friend class ::ExtACKeywords;
12090
 
  friend class ::WinAsm;
12091
 
  friend class ::WinDeclSpecs;
12092
 
  friend class ::WinMemberExplSpec;
12093
 
  friend class ::WinTypeKeywords;
 
12246
  friend class ::ExtGnu;
12094
12247
  friend class ::PragmaOnceUnitState;
12095
12248
  friend class ::PragmaOnce;
12096
 
  friend class ::CCExprResolve;
12097
 
  friend class ::CExprResolve;
 
12249
  friend class ::CMatchSyntax;
12098
12250
 
12099
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
12251
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
12100
12252
 
12101
12253
  Location loc;
12102
12254
  ErrorSink &err;
12111
12263
  virtual ~CScanner () {}
12112
12264
  void configure (const Config &);
12113
12265
  
12114
 
#line 12115 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
12115
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
12266
#line 12267 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12267
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
12116
12268
 
12117
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
12269
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
12118
12270
void fill_unit (Source &in, Unit &unit);
12119
12271
  
12120
 
#line 12121 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
12121
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
12272
#line 12273 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12273
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
12122
12274
 
12123
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
12275
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
12124
12276
void fill_unit (const char *in, Unit &unit);
12125
12277
};
12126
12278
 
12129
12281
 
12130
12282
#endif /* __c_scanner_h__ */
12131
12283
 
12132
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
12284
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
12133
12285
namespace Puma {
12134
12286
 
12135
12287
 
12137
12289
class CTypeInfo;
12138
12290
 
12139
12291
 
12140
 
#line 12141 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12292
#line 12293 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12141
12293
} // closed Puma
 
12294
class CCExprResolve;
 
12295
class CExprResolve;
12142
12296
class WinIfExists;
12143
12297
class WinImportHandler;
12144
12298
class WinMacros;
12145
 
class CMatchSyntax;
12146
 
class ExtGnu;
 
12299
class WinAsm;
 
12300
class WinDeclSpecs;
 
12301
class WinMemberExplSpec;
 
12302
class WinTypeKeywords;
 
12303
class WinFriend;
12147
12304
class ExtAC;
12148
12305
class ExtACBuilderCoupling;
12149
12306
class ExtACSyntaxCoupling;
12150
12307
class ExtACTree;
12151
12308
class ExtACKeywords;
12152
 
class WinAsm;
12153
 
class WinDeclSpecs;
12154
 
class WinMemberExplSpec;
12155
 
class WinTypeKeywords;
 
12309
class ExtGnu;
12156
12310
class PragmaOnceUnitState;
12157
12311
class PragmaOnce;
12158
 
class CCExprResolve;
12159
 
class CExprResolve;
 
12312
class CMatchSyntax;
12160
12313
namespace Puma {
12161
12314
 
12162
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
12315
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
12163
12316
class CProject : public Project {
12164
 
#line 12165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12317
#line 12318 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12318
  friend class ::CCExprResolve;
 
12319
  friend class ::CExprResolve;
12165
12320
  friend class ::WinIfExists;
12166
12321
  friend class ::WinImportHandler;
12167
12322
  friend class ::WinMacros;
12168
 
  friend class ::CMatchSyntax;
12169
 
  friend class ::ExtGnu;
 
12323
  friend class ::WinAsm;
 
12324
  friend class ::WinDeclSpecs;
 
12325
  friend class ::WinMemberExplSpec;
 
12326
  friend class ::WinTypeKeywords;
 
12327
  friend class ::WinFriend;
12170
12328
  friend class ::ExtAC;
12171
12329
  friend class ::ExtACBuilderCoupling;
12172
12330
  friend class ::ExtACSyntaxCoupling;
12173
12331
  friend class ::ExtACTree;
12174
12332
  friend class ::ExtACKeywords;
12175
 
  friend class ::WinAsm;
12176
 
  friend class ::WinDeclSpecs;
12177
 
  friend class ::WinMemberExplSpec;
12178
 
  friend class ::WinTypeKeywords;
 
12333
  friend class ::ExtGnu;
12179
12334
  friend class ::PragmaOnceUnitState;
12180
12335
  friend class ::PragmaOnce;
12181
 
  friend class ::CCExprResolve;
12182
 
  friend class ::CExprResolve;
 
12336
  friend class ::CMatchSyntax;
12183
12337
 
12184
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
12338
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
12185
12339
 
12186
12340
  Config _config;
12187
12341
  CScanner _scanner;
12217
12371
  // Scan the file `file' or the source if given. When
12218
12372
  // scanning a source the resulting unit gets the name `file'.
12219
12373
  
12220
 
#line 12221 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
12221
 
public: inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
 
12374
#line 12375 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12375
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
12222
12376
 
12223
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
12377
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
12224
12378
virtual Unit *scanFile (const char *file, Source * = (Source*)0, 
12225
12379
                          bool isFile = true);
12226
12380
        
12250
12404
 
12251
12405
#endif /* __CProject_h__ */
12252
12406
 
12253
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
12407
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
12254
12408
// This file is part of PUMA.
12255
12409
// Copyright (C) 1999-2003  The PUMA developer team.
12256
12410
//                                                                
12276
12430
// absolute path of the corresponding file.
12277
12431
 
12278
12432
 
12279
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
12433
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
12280
12434
namespace Puma {
12281
12435
 
12282
12436
 
12283
12437
class Project;
12284
12438
 
12285
12439
 
12286
 
#line 12287 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12440
#line 12441 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12287
12441
} // closed Puma
 
12442
class CCExprResolve;
 
12443
class CExprResolve;
12288
12444
class WinIfExists;
12289
12445
class WinImportHandler;
12290
12446
class WinMacros;
12291
 
class CMatchSyntax;
12292
 
class ExtGnu;
 
12447
class WinAsm;
 
12448
class WinDeclSpecs;
 
12449
class WinMemberExplSpec;
 
12450
class WinTypeKeywords;
 
12451
class WinFriend;
12293
12452
class ExtAC;
12294
12453
class ExtACBuilderCoupling;
12295
12454
class ExtACSyntaxCoupling;
12296
12455
class ExtACTree;
12297
12456
class ExtACKeywords;
12298
 
class WinAsm;
12299
 
class WinDeclSpecs;
12300
 
class WinMemberExplSpec;
12301
 
class WinTypeKeywords;
 
12457
class ExtGnu;
12302
12458
class PragmaOnceUnitState;
12303
12459
class PragmaOnce;
12304
 
class CCExprResolve;
12305
 
class CExprResolve;
 
12460
class CMatchSyntax;
12306
12461
namespace Puma {
12307
12462
 
12308
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
12463
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
12309
12464
class FileUnit : public Unit {
12310
 
#line 12311 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12465
#line 12466 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12466
  friend class ::CCExprResolve;
 
12467
  friend class ::CExprResolve;
12311
12468
  friend class ::WinIfExists;
12312
12469
  friend class ::WinImportHandler;
12313
12470
  friend class ::WinMacros;
12314
 
  friend class ::CMatchSyntax;
12315
 
  friend class ::ExtGnu;
 
12471
  friend class ::WinAsm;
 
12472
  friend class ::WinDeclSpecs;
 
12473
  friend class ::WinMemberExplSpec;
 
12474
  friend class ::WinTypeKeywords;
 
12475
  friend class ::WinFriend;
12316
12476
  friend class ::ExtAC;
12317
12477
  friend class ::ExtACBuilderCoupling;
12318
12478
  friend class ::ExtACSyntaxCoupling;
12319
12479
  friend class ::ExtACTree;
12320
12480
  friend class ::ExtACKeywords;
12321
 
  friend class ::WinAsm;
12322
 
  friend class ::WinDeclSpecs;
12323
 
  friend class ::WinMemberExplSpec;
12324
 
  friend class ::WinTypeKeywords;
 
12481
  friend class ::ExtGnu;
12325
12482
  friend class ::PragmaOnceUnitState;
12326
12483
  friend class ::PragmaOnce;
12327
 
  friend class ::CCExprResolve;
12328
 
  friend class ::CExprResolve;
 
12484
  friend class ::CMatchSyntax;
12329
12485
 
12330
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
12486
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
12331
12487
 
12332
12488
  char *_lastLocation; 
12333
12489
  char *_absolutePath;
12393
12549
 
12394
12550
#endif /* __FileUnit__ */
12395
12551
 
12396
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12397
 
using namespace Puma;
12398
 
 
 
12552
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12399
12553
// *****************************************
12400
12554
// AspectC++ keyword handling in the scanner
12401
12555
// *****************************************
12402
12556
 
12403
 
#line 12404 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12557
#line 12558 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12558
class CCExprResolve;
 
12559
class CExprResolve;
12404
12560
class WinIfExists;
12405
12561
class WinImportHandler;
12406
12562
class WinMacros;
12407
 
class CMatchSyntax;
12408
 
class ExtGnu;
 
12563
class WinAsm;
 
12564
class WinDeclSpecs;
 
12565
class WinMemberExplSpec;
 
12566
class WinTypeKeywords;
 
12567
class WinFriend;
12409
12568
class ExtAC;
12410
12569
class ExtACBuilderCoupling;
12411
12570
class ExtACSyntaxCoupling;
12412
12571
class ExtACTree;
12413
 
class WinAsm;
12414
 
class WinDeclSpecs;
12415
 
class WinMemberExplSpec;
12416
 
class WinTypeKeywords;
 
12572
class ExtGnu;
12417
12573
class PragmaOnceUnitState;
12418
12574
class PragmaOnce;
12419
 
class CCExprResolve;
12420
 
class CExprResolve;
 
12575
class CMatchSyntax;
12421
12576
 
12422
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12577
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12423
12578
class ExtACKeywords {
12424
 
#line 12425 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12579
#line 12580 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12425
12580
 
12426
12581
public:
12427
12582
  static ExtACKeywords *aspectof () {
12433
12588
  }
12434
12589
private:
12435
12590
 
12436
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12591
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12437
12592
 
12438
 
#line 12439 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12593
#line 12594 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12594
  friend class ::CCExprResolve;
 
12595
  friend class ::CExprResolve;
12439
12596
  friend class ::WinIfExists;
12440
12597
  friend class ::WinImportHandler;
12441
12598
  friend class ::WinMacros;
12442
 
  friend class ::CMatchSyntax;
12443
 
  friend class ::ExtGnu;
 
12599
  friend class ::WinAsm;
 
12600
  friend class ::WinDeclSpecs;
 
12601
  friend class ::WinMemberExplSpec;
 
12602
  friend class ::WinTypeKeywords;
 
12603
  friend class ::WinFriend;
12444
12604
  friend class ::ExtAC;
12445
12605
  friend class ::ExtACBuilderCoupling;
12446
12606
  friend class ::ExtACSyntaxCoupling;
12447
12607
  friend class ::ExtACTree;
12448
 
  friend class ::WinAsm;
12449
 
  friend class ::WinDeclSpecs;
12450
 
  friend class ::WinMemberExplSpec;
12451
 
  friend class ::WinTypeKeywords;
 
12608
  friend class ::ExtGnu;
12452
12609
  friend class ::PragmaOnceUnitState;
12453
12610
  friend class ::PragmaOnce;
12454
 
  friend class ::CCExprResolve;
12455
 
  friend class ::CExprResolve;
 
12611
  friend class ::CMatchSyntax;
12456
12612
 
12457
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12613
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12458
12614
 
12459
12615
 
12460
12616
  bool _prj_keywords;
12461
 
  CProject *_project; // active project
 
12617
  Puma::CProject *_project; // active project
12462
12618
  
12463
12619
protected:
12464
12620
  ExtACKeywords () : _prj_keywords (false) {}
 
12621
  
12465
12622
public:
12466
12623
  // allow/forbid AspectC++ keywords in normal project files
12467
12624
  void prj_keywords (bool kw) { _prj_keywords = kw; }
12468
12625
  
12469
12626
  
12470
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12627
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12471
12628
 
12472
12629
public: void __a0_before 
12473
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12630
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12474
12631
 
12475
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12476
 
(CProject &project)
12477
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12632
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12633
(Puma::CProject &project)
 
12634
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12478
12635
 {
12479
12636
    _project = &project;
12480
12637
  }
12481
12638
  
12482
12639
  
12483
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12640
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12484
12641
 
12485
12642
public: template<class JoinPoint> void __a1_before 
12486
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12643
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12487
12644
 
12488
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12489
 
(JoinPoint *tjp, Unit &unit)
12490
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12645
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12646
(JoinPoint *tjp, Puma::Unit &unit)
 
12647
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12491
12648
 {
12492
 
#line 12493 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12649
#line 12650 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12493
12650
 
12494
12651
  typedef typename JoinPoint::That __JP_That;
12495
12652
  typedef typename JoinPoint::Target __JP_Target;
12496
12653
  typedef typename JoinPoint::Result __JP_Result;
12497
12654
 
12498
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12655
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12499
12656
 
12500
12657
    if (!unit.isFile ())
12501
12658
      return;
12502
12659
      
12503
12660
    bool ac_kw = _prj_keywords;
12504
12661
    // in external files the AspectC++ keywords are always identifiers
12505
 
    if (!((FileUnit*)&unit)->belongsTo (*_project)) {
 
12662
    if (!((Puma::FileUnit*)&unit)->belongsTo (*_project)) {
12506
12663
      ac_kw = false;
12507
12664
    }
12508
12665
    // in aspect headers keywords are keywords
12515
12672
  }
12516
12673
  
12517
12674
  
12518
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12675
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12519
12676
 
12520
12677
public: template<class JoinPoint> void __a2_before 
12521
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12678
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12522
12679
 
12523
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12680
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12524
12681
(JoinPoint *tjp)
12525
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12682
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12526
12683
 {
12527
 
#line 12528 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12684
#line 12685 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12528
12685
 
12529
12686
  typedef typename JoinPoint::That __JP_That;
12530
12687
  typedef typename JoinPoint::Target __JP_Target;
12531
12688
  typedef typename JoinPoint::Result __JP_Result;
12532
12689
 
12533
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12690
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12534
12691
 
12535
12692
    _project = tjp->that ();
12536
12693
  }
12537
12694
};
12538
 
#line 12539 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreprocessorParser.cc"
 
12695
#line 12696 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreprocessorParser.cc"
12539
12696
 
12540
12697
namespace AC {
12541
 
  template <class JoinPoint, class Binding>
12542
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
12543
 
    typedef typename Binding::template Arg<0> Arg0;
 
12698
  template <class JoinPoint>
 
12699
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
 
12700
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a0_before::template Arg<0> Arg0;
12544
12701
    ::ExtACKeywords::aspectof()->__a0_before ((Puma::CProject &)Arg0::val (tjp));
12545
12702
  }
12546
 
  template <class JoinPoint, class Binding>
12547
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
12548
 
    typedef typename Binding::template Arg<0> Arg0;
 
12703
  template <class JoinPoint>
 
12704
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
 
12705
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a1_before::template Arg<0> Arg0;
12549
12706
    ::ExtACKeywords::aspectof()->__a1_before (tjp, (Puma::Unit &)Arg0::val (tjp));
12550
12707
  }
12551
12708
  template <class JoinPoint>
12552
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
 
12709
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
12553
12710
    ::ExtACKeywords::aspectof()->__a2_before (tjp);
12554
12711
  }
12555
12712
12556
12713
 
12557
 
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
12714
#line 72 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
12558
12715
  
12559
12716
 
12560
12717
#endif /* __ext_ac_keywords_ah__ */
12561
12718
 
12562
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
12563
 
#endif
12564
 
#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__)
12565
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
12719
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
12720
#endif
 
12721
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12722
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12723
#include "PragmaOnceUnitState.ah"
 
12724
#endif
 
12725
#endif
 
12726
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
12727
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
12728
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
12729
#include "ExtACTree.ah"
 
12730
#endif
 
12731
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
12732
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
12733
#include "ExtGnu.ah"
 
12734
#endif
 
12735
#endif
 
12736
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
12737
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
12738
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
12739
#include "ExtACTree.ah"
 
12740
#endif
 
12741
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
12742
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
12743
#include "ExtGnuCSemDeclSpecs.ah"
 
12744
#endif
 
12745
#endif
 
12746
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12747
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12748
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12749
#include "PragmaOnceUnitState.ah"
 
12750
#endif
 
12751
#endif
 
12752
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
12753
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12754
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
12755
#include "PragmaOnceUnitState.ah"
 
12756
#endif
 
12757
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
12758
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
12759
 
 
12760
#line 203 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreprocessorParser.cc"
 
12761
#endif
 
12762
#endif
 
12763
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
12764
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
12765
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
12566
12766
#include "TraceSyntax.ah"
12567
12767
#endif
12568
 
#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__)
12569
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__
12570
 
#include "WinAsm.ah"
12571
 
#endif
12572
 
#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__)
12573
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
12574
 
#include "WinDeclSpecs.ah"
12575
 
#endif
12576
 
#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__)
12577
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
12578
 
#include "WinMemberExplSpec.ah"
12579
 
#endif
12580
 
#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__)
12581
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
12582
 
#include "WinTypeKeywords.ah"
12583
 
#endif
12584
 
#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__)
12585
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
12586
 
 
12587
 
#line 75 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
12588
 
#endif
12589
 
#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__)
12590
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
12591
 
 
12592
 
#line 79 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreprocessorParser.cc"
12593
 
#endif
12594
 
#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__)
12595
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
12596
 
#include "CCExprResolveH.ah"
12597
 
#endif
12598
 
#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__)
12599
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
12600
 
#include "CCExprResolveCC.ah"
12601
 
#endif
12602
 
#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__)
12603
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__
12604
 
#include "CExprResolveH.ah"
12605
 
#endif
12606
 
#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__)
12607
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
12608
 
#include "CExprResolveCC.ah"
12609
 
#endif
12610
 
/*** end of aspect includes ***/
12611
 
#undef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
12612
 
#undef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreprocessorParser_cc__
12613
 
#endif // __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreprocessorParser_cc__
 
12768
#endif
 
12769
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
12770
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
12771
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
12772
#include "CMatchSyntax.ah"
 
12773
#endif
 
12774
#endif
 
12775
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
12776
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreprocessorParser_cc__
 
12777
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreprocessorParser_cc__