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

« back to all changes in this revision

Viewing changes to Puma/gen-release/step2/src/CScanner.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/CScanner.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_CScanner_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/CScanner.cc"
9
 
 
10
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.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_CScanner_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/CScanner.cc"
 
9
 
 
10
#line 11 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.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/CScanner.cc"
44
 
 
45
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
46
 
 
47
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
59
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
60
 
 
61
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
62
 
 
63
#line 64 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
48
64
 
49
65
#ifndef __ac_fwd_ExtACKeywords__
50
66
#define __ac_fwd_ExtACKeywords__
51
67
class ExtACKeywords;
52
68
namespace AC {
53
 
  template <class JoinPoint, class Binding>
54
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
55
 
  template <class JoinPoint, class Binding>
56
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
57
 
  template <class JoinPoint>
58
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
69
  template <class JoinPoint>
 
70
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
71
  template <class JoinPoint>
 
72
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
73
  template <class JoinPoint>
 
74
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
59
75
}
60
76
#endif
61
77
 
62
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
63
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
78
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
79
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
64
80
#endif
65
81
 
66
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
 
82
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
67
83
// This file is part of PUMA.
68
84
// Copyright (C) 1999-2003  The PUMA developer team.
69
85
//                                                                
83
99
// MA  02111-1307  USA                                            
84
100
 
85
101
 
86
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
102
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
87
103
// This file is part of PUMA.
88
104
// Copyright (C) 1999-2003  The PUMA developer team.
89
105
//                                                                
106
122
#define __c_scanner_h__
107
123
 
108
124
 
109
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
125
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
110
126
// This file is part of PUMA.
111
127
// Copyright (C) 1999-2003  The PUMA developer team.
112
128
//                                                                
129
145
#define __c_recognizer_h__
130
146
 
131
147
 
132
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
148
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
133
149
// This file is part of PUMA.
134
150
// Copyright (C) 1999-2003  The PUMA developer team.
135
151
//                                                                
152
168
#define __CScanBuffer_h__
153
169
 
154
170
 
155
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
171
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
156
172
// This file is part of PUMA.
157
173
// Copyright (C) 1999-2003  The PUMA developer team.
158
174
//                                                                
174
190
#ifndef __scan_buffer_h__
175
191
#define __scan_buffer_h__
176
192
 
 
193
#include <iostream>
 
194
using namespace std;
 
195
 
177
196
namespace Puma {
178
197
 
179
198
 
180
 
 
181
 
#line 182 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
199
#line 200 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
182
200
} // closed Puma
 
201
class CCExprResolve;
 
202
class CExprResolve;
183
203
class WinIfExists;
184
204
class WinImportHandler;
185
205
class WinMacros;
186
 
class CMatchSyntax;
187
 
class ExtGnu;
 
206
class WinAsm;
 
207
class WinDeclSpecs;
 
208
class WinMemberExplSpec;
 
209
class WinTypeKeywords;
 
210
class WinFriend;
188
211
class ExtAC;
189
212
class ExtACBuilderCoupling;
190
213
class ExtACSyntaxCoupling;
191
214
class ExtACTree;
192
215
class ExtACKeywords;
193
 
class WinAsm;
194
 
class WinDeclSpecs;
195
 
class WinMemberExplSpec;
196
 
class WinTypeKeywords;
 
216
class ExtGnu;
197
217
class PragmaOnceUnitState;
198
218
class PragmaOnce;
199
 
class CCExprResolve;
200
 
class CExprResolve;
 
219
class CMatchSyntax;
201
220
namespace Puma {
202
221
 
203
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
222
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
204
223
class ScanBuffer {
205
 
#line 206 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
224
#line 225 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
225
  friend class ::CCExprResolve;
 
226
  friend class ::CExprResolve;
206
227
  friend class ::WinIfExists;
207
228
  friend class ::WinImportHandler;
208
229
  friend class ::WinMacros;
209
 
  friend class ::CMatchSyntax;
210
 
  friend class ::ExtGnu;
 
230
  friend class ::WinAsm;
 
231
  friend class ::WinDeclSpecs;
 
232
  friend class ::WinMemberExplSpec;
 
233
  friend class ::WinTypeKeywords;
 
234
  friend class ::WinFriend;
211
235
  friend class ::ExtAC;
212
236
  friend class ::ExtACBuilderCoupling;
213
237
  friend class ::ExtACSyntaxCoupling;
214
238
  friend class ::ExtACTree;
215
239
  friend class ::ExtACKeywords;
216
 
  friend class ::WinAsm;
217
 
  friend class ::WinDeclSpecs;
218
 
  friend class ::WinMemberExplSpec;
219
 
  friend class ::WinTypeKeywords;
 
240
  friend class ::ExtGnu;
220
241
  friend class ::PragmaOnceUnitState;
221
242
  friend class ::PragmaOnce;
222
 
  friend class ::CCExprResolve;
223
 
  friend class ::CExprResolve;
 
243
  friend class ::CMatchSyntax;
224
244
 
225
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
245
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
226
246
 
227
247
public:
228
 
  typedef enum { STATE_END, STATE_ERROR, STATE_OK } State;
 
248
  typedef enum { STATE_NEW, STATE_END, STATE_ERROR, STATE_OK } State;
 
249
 
 
250
private:
 
251
  int _token;      // start position of current token
 
252
  int _pos;        // current position (in token; _pos >= _token && pos < filled)
 
253
  char *_buffer;   // token to the buffer that contains all input characters
 
254
  int  _buff_size; // size of the input buffer
 
255
  State _state;
 
256
 
 
257
public:  
 
258
  ScanBuffer () : _state (STATE_NEW) {}
 
259
 
 
260
  // init buffer to directly scan from a string
 
261
  void init (const char *str, int l = 0);
229
262
  
230
 
  virtual ~ScanBuffer () {}
231
 
 
232
 
  virtual char next () = 0;
233
 
  virtual char *token () = 0;
234
 
  virtual int len () const = 0;
235
 
  virtual void reset () = 0;
236
 
  virtual void retry () = 0; 
237
 
  virtual void accept (int len) = 0;
238
 
  virtual void more (int len) = 0;
239
 
  virtual State state () const = 0;
 
263
  char next () { return _buffer[_pos++]; }
 
264
  char lookahead () { return _buffer[_pos]; }
 
265
  char *token () const { return _buffer + _token; }
 
266
  int len () const { return _pos - _token; }
 
267
  void reset () { _token = _pos = 0; }
 
268
  void retry () { _pos = _token; } 
 
269
  void accept (int len) {
 
270
    _token += len;
 
271
    _pos = _token;
 
272
  }
 
273
  void more (int len) { _pos = _token + len; }
 
274
  State state () {
 
275
    if (_state == STATE_OK && _pos >= _buff_size)
 
276
      return STATE_END;
 
277
    return _state;
 
278
  }
240
279
};
241
280
 
242
281
 
244
283
 
245
284
#endif /* __scan_buffer_h__ */
246
285
 
247
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
248
 
// This file is part of PUMA.
249
 
// Copyright (C) 1999-2003  The PUMA developer team.
250
 
//                                                                
251
 
// This program is free software;  you can redistribute it and/or 
252
 
// modify it under the terms of the GNU General Public License as 
253
 
// published by the Free Software Foundation; either version 2 of 
254
 
// the License, or (at your option) any later version.            
255
 
//                                                                
256
 
// This program is distributed in the hope that it will be useful,
257
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
258
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
259
 
// GNU General Public License for more details.                   
260
 
//                                                                
261
 
// You should have received a copy of the GNU General Public      
262
 
// License along with this program; if not, write to the Free     
263
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
264
 
// MA  02111-1307  USA                                            
265
 
 
266
 
#ifndef __array_h__
267
 
#define __array_h__
268
 
 
269
 
#include <assert.h>
270
 
 
271
 
namespace Puma {
272
 
 
273
 
 
274
 
#line 275 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
275
 
} // closed Puma
276
 
class WinIfExists;
277
 
class WinImportHandler;
278
 
class WinMacros;
279
 
class CMatchSyntax;
280
 
class ExtGnu;
281
 
class ExtAC;
282
 
class ExtACBuilderCoupling;
283
 
class ExtACSyntaxCoupling;
284
 
class ExtACTree;
285
 
class ExtACKeywords;
286
 
class WinAsm;
287
 
class WinDeclSpecs;
288
 
class WinMemberExplSpec;
289
 
class WinTypeKeywords;
290
 
class PragmaOnceUnitState;
291
 
class PragmaOnce;
292
 
class CCExprResolve;
293
 
class CExprResolve;
294
 
namespace Puma {
295
 
 
296
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
297
 
template <class Item>
298
 
class Array {
299
 
#line 300 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
300
 
  friend class ::WinIfExists;
301
 
  friend class ::WinImportHandler;
302
 
  friend class ::WinMacros;
303
 
  friend class ::CMatchSyntax;
304
 
  friend class ::ExtGnu;
305
 
  friend class ::ExtAC;
306
 
  friend class ::ExtACBuilderCoupling;
307
 
  friend class ::ExtACSyntaxCoupling;
308
 
  friend class ::ExtACTree;
309
 
  friend class ::ExtACKeywords;
310
 
  friend class ::WinAsm;
311
 
  friend class ::WinDeclSpecs;
312
 
  friend class ::WinMemberExplSpec;
313
 
  friend class ::WinTypeKeywords;
314
 
  friend class ::PragmaOnceUnitState;
315
 
  friend class ::PragmaOnce;
316
 
  friend class ::CCExprResolve;
317
 
  friend class ::CExprResolve;
318
 
 
319
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
320
 
 
321
 
   protected:
322
 
      static const long default_init_size = 5;
323
 
      static const long default_increment = 5;
324
 
 
325
 
   public:
326
 
      Array (long is = default_init_size, long incr = default_increment);
327
 
      Array (const Array<Item>& array);
328
 
      Array<Item>& operator =(const Array<Item>&);
329
 
      ~Array ();
330
 
      void append (const Item& item);
331
 
      void insert (long index, const Item& item);
332
 
      void prepend (const Item& item);
333
 
      void remove (long index);
334
 
      void reset ();
335
 
      Item& get (long index);
336
 
      Item& operator[] (long index);
337
 
      Item fetch (long index) const;
338
 
      Item& lookup (long index) const;
339
 
      long length () const;
340
 
 
341
 
   private:
342
 
      Item* data;
343
 
      long size;
344
 
      long count;
345
 
      long increment;
346
 
      
347
 
      void check (long wanted);
348
 
 };
349
 
 
350
 
template <class Item>
351
 
inline Array<Item>::Array (long is, long incr)
352
 
 {
353
 
   count     = 0; 
354
 
   size      = is;
355
 
   increment = incr;
356
 
   data      = new Item[size];
357
 
 }
358
 
 
359
 
template <class Item>
360
 
Array<Item>::Array (const Array<Item>& array)
361
 
 {
362
 
   count = 0;
363
 
   size  = array.size;
364
 
   data  = new Item[size];
365
 
   increment = array.increment;
366
 
 
367
 
   for (int pos = 0; pos < array.length (); pos++)
368
 
      append (array.lookup (pos));
369
 
 }
370
 
 
371
 
template <class Item>
372
 
Array<Item>& Array<Item>::operator =(const Array<Item>& array)
373
 
 {
374
 
   if (data)
375
 
      delete[] data;
376
 
   count = 0;
377
 
   size  = array.size;
378
 
   data  = new Item[size];
379
 
   increment = array.increment;
380
 
 
381
 
   for (int pos = 0; pos < array.length (); pos++)
382
 
      append (array.lookup (pos));
383
 
   return *this;
384
 
 }
385
 
 
386
 
template <class Item>
387
 
Array<Item>::~Array ()
388
 
 {
389
 
   if (data)
390
 
      delete[] data;
391
 
 }
392
 
 
393
 
template <class Item>
394
 
inline void Array<Item>::check (long wanted)
395
 
 {
396
 
   if (wanted >= size)
397
 
    {
398
 
      Item* new_data;
399
 
 
400
 
      while (wanted >= size)
401
 
      {
402
 
         size += increment;
403
 
         increment*=2;
404
 
      }
405
 
      new_data = new Item[size];
406
 
      for (int pos = 0; pos < count; pos++)
407
 
         new_data[pos] = data[pos];
408
 
      delete[] data;
409
 
      data = new_data;
410
 
    }
411
 
 }
412
 
   
413
 
template <class Item>
414
 
inline void Array<Item>::append (const Item& item)
415
 
 {
416
 
   check (count);
417
 
   data[count++] = item;
418
 
 }
419
 
 
420
 
template <class Item>
421
 
void Array<Item>::prepend (const Item& item)
422
 
 {
423
 
   insert (0, item);
424
 
 }
425
 
 
426
 
template <class Item>
427
 
void Array<Item>::insert (long index, const Item& item)
428
 
 {
429
 
   check (count);
430
 
   for (int pos = count; pos > index; pos--)
431
 
      data[pos] = data[pos - 1];
432
 
   data[index] = item;
433
 
   count++;
434
 
 }
435
 
 
436
 
template <class Item>
437
 
inline Item& Array<Item>::get (long index)
438
 
 {
439
 
   check (index);
440
 
   if (index >= count)
441
 
      count = index + 1;
442
 
   return data[index];
443
 
 }
444
 
 
445
 
template <class Item>
446
 
inline Item& Array<Item>::operator[] (long index)
447
 
 {
448
 
   return get (index);
449
 
 }
450
 
 
451
 
template <class Item>
452
 
inline Item Array<Item>::fetch (long index) const
453
 
 {
454
 
   assert(index < count);
455
 
   return data[index];
456
 
 }
457
 
 
458
 
template <class Item>
459
 
inline long Array<Item>::length () const
460
 
 {
461
 
   return count;
462
 
 }
463
 
 
464
 
template <class Item>
465
 
inline void Array<Item>::remove (long index)
466
 
 {
467
 
   if (index < count && count > 0)
468
 
    {
469
 
      for (int pos = index; pos < count - 1; pos++)
470
 
         data[pos] = data[pos + 1];
471
 
      count--;
472
 
    }
473
 
 }
474
 
 
475
 
#ifndef __puma
476
 
template <>
477
 
inline void Array<int>::reset () {
478
 
   count = 0; 
479
 
}
480
 
#endif
481
 
 
482
 
template <class Item>
483
 
void Array<Item>::reset ()
484
 
 {
485
 
   if (data)
486
 
      delete[] data;
487
 
   count     = 0; 
488
 
   size      = default_init_size;
489
 
   increment = default_increment;
490
 
   data      = new Item[size];
491
 
 }
492
 
 
493
 
template <class Item>
494
 
inline Item& Array<Item>::lookup (long index) const
495
 
 {
496
 
   assert(index >= 0 && index < count);
497
 
//   if (index >= count) index = count - 1; 
498
 
//   if (index < 0)      index = 0;
499
 
   return data[index];
500
 
 }
501
 
 
502
 
 
503
 
} // namespace Puma
504
 
 
505
 
// Array specialization for pointer types sharing method definitions
506
 
 
507
 
#ifndef __puma
508
 
 
509
 
#include "Puma/VoidPtrArray.h"
510
 
 
511
 
namespace Puma {
512
 
 
513
 
 
514
 
template <class Item>
515
 
class Array<Item*> : private VoidPtrArray {
516
 
  typedef VoidPtrArray Base;
517
 
 
518
 
public:
519
 
  Array (long is = default_init_size, long incr = default_increment) :
520
 
    Base (is, incr) {}
521
 
  Array (const Array<Item*> &array) : 
522
 
    Base (array) {}
523
 
  Array<Item*> &operator= (const Array<Item*> &array) 
524
 
   { return (Array<Item*>&)Base::operator= (array); }
525
 
 
526
 
  ~Array () {}
527
 
 
528
 
  void append (const Item *item)           { Base::append ((void*)item); }
529
 
  void insert (long idx, const Item *item) { Base::insert (idx, (void*)item); }
530
 
  void prepend (const Item *item)          { Base::prepend ((void*)item); }
531
 
  void remove (long idx)                   { Base::remove (idx); }
532
 
  void reset ()                            { Base::reset (); }
533
 
 
534
 
  Item *&get (long idx)          { return (Item*&)Base::get (idx); }
535
 
  Item *&operator[] (long idx)   { return (Item*&)Base::operator[] (idx); }
536
 
  Item *fetch (long idx) const   { return (Item*)Base::fetch (idx); }
537
 
  Item *&lookup (long idx) const { return (Item*&)Base::lookup (idx); }
538
 
  long length () const           { return Base::length (); }
539
 
};
540
 
 
541
 
 
542
 
} // namespace Puma
543
 
 
544
 
#endif /* __puma */
545
 
 
546
 
#endif /* __array_h__ */
547
 
 
548
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
549
 
namespace Puma {
550
 
 
551
 
 
552
 
 
553
 
#line 554 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
554
 
} // closed Puma
555
 
class WinIfExists;
556
 
class WinImportHandler;
557
 
class WinMacros;
558
 
class CMatchSyntax;
559
 
class ExtGnu;
560
 
class ExtAC;
561
 
class ExtACBuilderCoupling;
562
 
class ExtACSyntaxCoupling;
563
 
class ExtACTree;
564
 
class ExtACKeywords;
565
 
class WinAsm;
566
 
class WinDeclSpecs;
567
 
class WinMemberExplSpec;
568
 
class WinTypeKeywords;
569
 
class PragmaOnceUnitState;
570
 
class PragmaOnce;
571
 
class CCExprResolve;
572
 
class CExprResolve;
573
 
namespace Puma {
574
 
 
575
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
576
 
class CScanBuffer {
577
 
#line 578 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
578
 
  friend class ::WinIfExists;
579
 
  friend class ::WinImportHandler;
580
 
  friend class ::WinMacros;
581
 
  friend class ::CMatchSyntax;
582
 
  friend class ::ExtGnu;
583
 
  friend class ::ExtAC;
584
 
  friend class ::ExtACBuilderCoupling;
585
 
  friend class ::ExtACSyntaxCoupling;
586
 
  friend class ::ExtACTree;
587
 
  friend class ::ExtACKeywords;
588
 
  friend class ::WinAsm;
589
 
  friend class ::WinDeclSpecs;
590
 
  friend class ::WinMemberExplSpec;
591
 
  friend class ::WinTypeKeywords;
592
 
  friend class ::PragmaOnceUnitState;
593
 
  friend class ::PragmaOnce;
594
 
  friend class ::CCExprResolve;
595
 
  friend class ::CExprResolve;
596
 
 
597
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
598
 
 
599
 
  ScanBuffer *next_buffer;
600
 
  bool on_new_line;
601
 
  int nl_pos;
602
 
 
 
286
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
287
namespace Puma {
 
288
 
 
289
 
 
290
 
 
291
#line 292 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
292
} // closed Puma
 
293
class CCExprResolve;
 
294
class CExprResolve;
 
295
class WinIfExists;
 
296
class WinImportHandler;
 
297
class WinMacros;
 
298
class WinAsm;
 
299
class WinDeclSpecs;
 
300
class WinMemberExplSpec;
 
301
class WinTypeKeywords;
 
302
class WinFriend;
 
303
class ExtAC;
 
304
class ExtACBuilderCoupling;
 
305
class ExtACSyntaxCoupling;
 
306
class ExtACTree;
 
307
class ExtACKeywords;
 
308
class ExtGnu;
 
309
class PragmaOnceUnitState;
 
310
class PragmaOnce;
 
311
class CMatchSyntax;
 
312
namespace Puma {
 
313
 
 
314
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
315
class CScanBuffer : public ScanBuffer {
 
316
#line 317 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
317
  friend class ::CCExprResolve;
 
318
  friend class ::CExprResolve;
 
319
  friend class ::WinIfExists;
 
320
  friend class ::WinImportHandler;
 
321
  friend class ::WinMacros;
 
322
  friend class ::WinAsm;
 
323
  friend class ::WinDeclSpecs;
 
324
  friend class ::WinMemberExplSpec;
 
325
  friend class ::WinTypeKeywords;
 
326
  friend class ::WinFriend;
 
327
  friend class ::ExtAC;
 
328
  friend class ::ExtACBuilderCoupling;
 
329
  friend class ::ExtACSyntaxCoupling;
 
330
  friend class ::ExtACTree;
 
331
  friend class ::ExtACKeywords;
 
332
  friend class ::ExtGnu;
 
333
  friend class ::PragmaOnceUnitState;
 
334
  friend class ::PragmaOnce;
 
335
  friend class ::CMatchSyntax;
 
336
 
 
337
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
338
 
 
339
 
 
340
  int _new_line_pos;
603
341
  void check ();
604
342
 
605
343
public:
606
 
  void decorate (ScanBuffer *nb) { next_buffer = nb; }
 
344
  CScanBuffer () : _new_line_pos (-1) {}
607
345
  inline char next ();
608
346
  inline void reset ();
 
347
  inline void retry (); 
609
348
  inline void accept (int len);
610
 
  inline void retry ();
611
 
  bool new_line () const { return on_new_line; }
612
 
  char *token () { return next_buffer->token (); }
613
 
  int len () const { return next_buffer->len (); }
614
 
  void more (int len) { next_buffer->more (len); }
615
 
  ScanBuffer::State state () const { return next_buffer->state (); }
 
349
  inline bool new_line (int len) const;
616
350
};
617
351
 
618
352
 
619
353
inline char CScanBuffer::next () {
620
 
  char character = next_buffer->next ();
621
 
  if (character == '\n' && nl_pos == -1)
622
 
    nl_pos = len () - 1;
623
 
  check ();
 
354
  char character = ScanBuffer::next ();
 
355
  if (character == '\n' && _new_line_pos == -1)
 
356
    _new_line_pos = len ();
 
357
  if (ScanBuffer::state () == ScanBuffer::STATE_OK &&
 
358
      ScanBuffer::lookahead () == '\\')
 
359
    check ();
624
360
  return character;
625
361
}
626
362
 
627
363
inline void CScanBuffer::reset () { 
628
 
  next_buffer->reset (); 
629
 
  on_new_line = true;
630
 
  nl_pos = -1;
 
364
  ScanBuffer::reset ();
 
365
  _new_line_pos = -1;
631
366
  check ();
632
367
}
633
368
 
634
 
 
635
369
inline void CScanBuffer::retry () {
636
 
  nl_pos = -1;
637
 
  next_buffer->retry ();
 
370
  ScanBuffer::retry ();
 
371
  _new_line_pos = -1;
638
372
}
639
373
 
640
 
 
641
374
inline void CScanBuffer::accept (int len) {
642
 
  on_new_line = (nl_pos >= 0 && nl_pos < len);
643
 
  nl_pos = -1;
644
 
  next_buffer->accept (len);
 
375
  ScanBuffer::accept (len);
 
376
  _new_line_pos = -1;
 
377
}
 
378
 
 
379
inline bool CScanBuffer::new_line (int len) const {
 
380
  return _new_line_pos != -1 && _new_line_pos <= len;
645
381
}
646
382
 
647
383
} // namespace Puma
648
384
 
649
385
#endif // __CScanBuffer_h__
650
386
 
651
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
387
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
652
388
// This file is part of PUMA.
653
389
// Copyright (C) 1999-2003  The PUMA developer team.
654
390
//                                                                
671
407
#define __c_comment_recognizer_h__
672
408
 
673
409
 
674
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
410
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
675
411
// This file is part of PUMA.
676
412
// Copyright (C) 1999-2003  The PUMA developer team.
677
413
//                                                                
698
434
// generated mapping table
699
435
 
700
436
 
701
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
 
437
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
702
438
// This file is part of PUMA.
703
439
// Copyright (C) 1999-2003  The PUMA developer team.
704
440
//                                                                
723
459
// The token recognizer class, which uses scanner tables generated by the
724
460
// orange tool.
725
461
 
726
 
 
727
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
728
462
namespace Puma {
729
463
 
730
464
 
731
465
#ifndef __TTGEN__
732
466
#  define __TTGEN__
733
 
 
734
 
#line 735 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
735
 
} // closed Puma
736
 
class WinIfExists;
737
 
class WinImportHandler;
738
 
class WinMacros;
739
 
class CMatchSyntax;
740
 
class ExtGnu;
741
 
class ExtAC;
742
 
class ExtACBuilderCoupling;
743
 
class ExtACSyntaxCoupling;
744
 
class ExtACTree;
745
 
class ExtACKeywords;
746
 
class WinAsm;
747
 
class WinDeclSpecs;
748
 
class WinMemberExplSpec;
749
 
class WinTypeKeywords;
750
 
class PragmaOnceUnitState;
751
 
class PragmaOnce;
752
 
class CCExprResolve;
753
 
class CExprResolve;
754
 
namespace Puma {
755
 
 
756
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
757
467
typedef struct
758
 
 {
759
 
#line 760 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
760
 
  friend class ::WinIfExists;
761
 
  friend class ::WinImportHandler;
762
 
  friend class ::WinMacros;
763
 
  friend class ::CMatchSyntax;
764
 
  friend class ::ExtGnu;
765
 
  friend class ::ExtAC;
766
 
  friend class ::ExtACBuilderCoupling;
767
 
  friend class ::ExtACSyntaxCoupling;
768
 
  friend class ::ExtACTree;
769
 
  friend class ::ExtACKeywords;
770
 
  friend class ::WinAsm;
771
 
  friend class ::WinDeclSpecs;
772
 
  friend class ::WinMemberExplSpec;
773
 
  friend class ::WinTypeKeywords;
774
 
  friend class ::PragmaOnceUnitState;
775
 
  friend class ::PragmaOnce;
776
 
  friend class ::CCExprResolve;
777
 
  friend class ::CExprResolve;
778
 
 
779
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
780
 
 unsigned char Type;
 
468
 { unsigned char Type;
781
469
   unsigned char LookAhead;
782
470
   int           Expression;
783
471
   int           Start;
787
475
 
788
476
// class declaration
789
477
 
790
 
 
791
 
#line 792 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
792
 
} // closed Puma
793
 
class WinIfExists;
794
 
class WinImportHandler;
795
 
class WinMacros;
796
 
class CMatchSyntax;
797
 
class ExtGnu;
798
 
class ExtAC;
799
 
class ExtACBuilderCoupling;
800
 
class ExtACSyntaxCoupling;
801
 
class ExtACTree;
802
 
class ExtACKeywords;
803
 
class WinAsm;
804
 
class WinDeclSpecs;
805
 
class WinMemberExplSpec;
806
 
class WinTypeKeywords;
807
 
class PragmaOnceUnitState;
808
 
class PragmaOnce;
809
 
class CCExprResolve;
810
 
class CExprResolve;
811
 
namespace Puma {
812
 
 
813
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
814
478
template <typename TScanBuffer>
815
479
class OrangeRecognizer {
816
 
#line 817 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
817
 
  friend class ::WinIfExists;
818
 
  friend class ::WinImportHandler;
819
 
  friend class ::WinMacros;
820
 
  friend class ::CMatchSyntax;
821
 
  friend class ::ExtGnu;
822
 
  friend class ::ExtAC;
823
 
  friend class ::ExtACBuilderCoupling;
824
 
  friend class ::ExtACSyntaxCoupling;
825
 
  friend class ::ExtACTree;
826
 
  friend class ::ExtACKeywords;
827
 
  friend class ::WinAsm;
828
 
  friend class ::WinDeclSpecs;
829
 
  friend class ::WinMemberExplSpec;
830
 
  friend class ::WinTypeKeywords;
831
 
  friend class ::PragmaOnceUnitState;
832
 
  friend class ::PragmaOnce;
833
 
  friend class ::CCExprResolve;
834
 
  friend class ::CExprResolve;
835
 
 
836
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
837
 
 
838
480
  // local structures generated by Orange
839
481
 
840
482
  char *_map;
867
509
  int  LookAheadLen;
868
510
  int  AcceptLen;
869
511
  int  AcceptState;
870
 
  ScanBuffer::State buffer_state = ScanBuffer::STATE_OK;
 
512
  typename TScanBuffer::State buffer_state = TScanBuffer::STATE_OK;
871
513
 
872
514
  State = _start;
873
515
  AcceptState = -1;
900
542
      LookAheadLen = scan_buffer->len ();
901
543
 
902
544
    buffer_state = scan_buffer->state ();
903
 
  } while (NextState != -1 && buffer_state == ScanBuffer::STATE_OK);
 
545
  } while (NextState != -1 && buffer_state == TScanBuffer::STATE_OK);
904
546
 
905
 
  if (buffer_state == ScanBuffer::STATE_ERROR)
 
547
  if (buffer_state == TScanBuffer::STATE_ERROR)
906
548
    return -1;
907
549
 
908
550
  if (AcceptState == -1)
918
560
 
919
561
#endif /* __orange_recognizer_h__ */
920
562
 
921
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
563
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
922
564
namespace Puma {
923
565
 
924
566
 
925
567
// class declaration
926
568
 
927
 
 
928
 
#line 929 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
929
 
} // closed Puma
930
 
class WinIfExists;
931
 
class WinImportHandler;
932
 
class WinMacros;
933
 
class CMatchSyntax;
934
 
class ExtGnu;
935
 
class ExtAC;
936
 
class ExtACBuilderCoupling;
937
 
class ExtACSyntaxCoupling;
938
 
class ExtACTree;
939
 
class ExtACKeywords;
940
 
class WinAsm;
941
 
class WinDeclSpecs;
942
 
class WinMemberExplSpec;
943
 
class WinTypeKeywords;
944
 
class PragmaOnceUnitState;
945
 
class PragmaOnce;
946
 
class CCExprResolve;
947
 
class CExprResolve;
948
 
namespace Puma {
949
 
 
950
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
951
569
template <class ScanBuffer>
952
570
class MappedOrangeRecognizer : public OrangeRecognizer<ScanBuffer> {
953
 
#line 954 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
954
 
  friend class ::WinIfExists;
955
 
  friend class ::WinImportHandler;
956
 
  friend class ::WinMacros;
957
 
  friend class ::CMatchSyntax;
958
 
  friend class ::ExtGnu;
959
 
  friend class ::ExtAC;
960
 
  friend class ::ExtACBuilderCoupling;
961
 
  friend class ::ExtACSyntaxCoupling;
962
 
  friend class ::ExtACTree;
963
 
  friend class ::ExtACKeywords;
964
 
  friend class ::WinAsm;
965
 
  friend class ::WinDeclSpecs;
966
 
  friend class ::WinMemberExplSpec;
967
 
  friend class ::WinTypeKeywords;
968
 
  friend class ::PragmaOnceUnitState;
969
 
  friend class ::PragmaOnce;
970
 
  friend class ::CCExprResolve;
971
 
  friend class ::CExprResolve;
972
 
 
973
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
974
 
 
975
571
  int *_expr_map;
976
572
 
977
573
public:
999
595
 
1000
596
#endif // __mapped_orange_recognizer_h__
1001
597
 
1002
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
598
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
1003
599
namespace Puma {
1004
600
 
1005
601
 
1006
602
 
1007
 
#line 1008 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
603
#line 604 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1008
604
} // closed Puma
 
605
class CCExprResolve;
 
606
class CExprResolve;
1009
607
class WinIfExists;
1010
608
class WinImportHandler;
1011
609
class WinMacros;
1012
 
class CMatchSyntax;
1013
 
class ExtGnu;
 
610
class WinAsm;
 
611
class WinDeclSpecs;
 
612
class WinMemberExplSpec;
 
613
class WinTypeKeywords;
 
614
class WinFriend;
1014
615
class ExtAC;
1015
616
class ExtACBuilderCoupling;
1016
617
class ExtACSyntaxCoupling;
1017
618
class ExtACTree;
1018
619
class ExtACKeywords;
1019
 
class WinAsm;
1020
 
class WinDeclSpecs;
1021
 
class WinMemberExplSpec;
1022
 
class WinTypeKeywords;
 
620
class ExtGnu;
1023
621
class PragmaOnceUnitState;
1024
622
class PragmaOnce;
1025
 
class CCExprResolve;
1026
 
class CExprResolve;
 
623
class CMatchSyntax;
1027
624
namespace Puma {
1028
625
 
1029
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
626
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
1030
627
class CCommentRecognizer {
1031
 
#line 1032 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
628
#line 629 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
629
  friend class ::CCExprResolve;
 
630
  friend class ::CExprResolve;
1032
631
  friend class ::WinIfExists;
1033
632
  friend class ::WinImportHandler;
1034
633
  friend class ::WinMacros;
1035
 
  friend class ::CMatchSyntax;
1036
 
  friend class ::ExtGnu;
 
634
  friend class ::WinAsm;
 
635
  friend class ::WinDeclSpecs;
 
636
  friend class ::WinMemberExplSpec;
 
637
  friend class ::WinTypeKeywords;
 
638
  friend class ::WinFriend;
1037
639
  friend class ::ExtAC;
1038
640
  friend class ::ExtACBuilderCoupling;
1039
641
  friend class ::ExtACSyntaxCoupling;
1040
642
  friend class ::ExtACTree;
1041
643
  friend class ::ExtACKeywords;
1042
 
  friend class ::WinAsm;
1043
 
  friend class ::WinDeclSpecs;
1044
 
  friend class ::WinMemberExplSpec;
1045
 
  friend class ::WinTypeKeywords;
 
644
  friend class ::ExtGnu;
1046
645
  friend class ::PragmaOnceUnitState;
1047
646
  friend class ::PragmaOnce;
1048
 
  friend class ::CCExprResolve;
1049
 
  friend class ::CExprResolve;
 
647
  friend class ::CMatchSyntax;
1050
648
 
1051
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
649
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
1052
650
 
1053
651
public:
1054
652
  typedef enum { NO_COMMENT, SL_COMMENT, ML_COMMENT } Mode;
1071
669
 
1072
670
#endif /* __c_comment_recognizer_h__ */
1073
671
 
1074
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
672
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
1075
673
// This file is part of PUMA.
1076
674
// Copyright (C) 1999-2003  The PUMA developer team.
1077
675
//                                                                
1094
692
#define __keyword_recognizer_h__
1095
693
 
1096
694
 
1097
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
695
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
1098
696
namespace Puma {
1099
697
 
1100
698
 
1101
699
 
1102
 
#line 1103 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
700
#line 701 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1103
701
} // closed Puma
 
702
class CCExprResolve;
 
703
class CExprResolve;
1104
704
class WinIfExists;
1105
705
class WinImportHandler;
1106
706
class WinMacros;
1107
 
class CMatchSyntax;
1108
 
class ExtGnu;
 
707
class WinAsm;
 
708
class WinDeclSpecs;
 
709
class WinMemberExplSpec;
 
710
class WinTypeKeywords;
 
711
class WinFriend;
1109
712
class ExtAC;
1110
713
class ExtACBuilderCoupling;
1111
714
class ExtACSyntaxCoupling;
1112
715
class ExtACTree;
1113
716
class ExtACKeywords;
1114
 
class WinAsm;
1115
 
class WinDeclSpecs;
1116
 
class WinMemberExplSpec;
1117
 
class WinTypeKeywords;
 
717
class ExtGnu;
1118
718
class PragmaOnceUnitState;
1119
719
class PragmaOnce;
1120
 
class CCExprResolve;
1121
 
class CExprResolve;
 
720
class CMatchSyntax;
1122
721
namespace Puma {
1123
722
 
1124
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
723
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
1125
724
class KeywordRecognizer {
1126
 
#line 1127 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
725
#line 726 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
726
  friend class ::CCExprResolve;
 
727
  friend class ::CExprResolve;
1127
728
  friend class ::WinIfExists;
1128
729
  friend class ::WinImportHandler;
1129
730
  friend class ::WinMacros;
1130
 
  friend class ::CMatchSyntax;
1131
 
  friend class ::ExtGnu;
 
731
  friend class ::WinAsm;
 
732
  friend class ::WinDeclSpecs;
 
733
  friend class ::WinMemberExplSpec;
 
734
  friend class ::WinTypeKeywords;
 
735
  friend class ::WinFriend;
1132
736
  friend class ::ExtAC;
1133
737
  friend class ::ExtACBuilderCoupling;
1134
738
  friend class ::ExtACSyntaxCoupling;
1135
739
  friend class ::ExtACTree;
1136
740
  friend class ::ExtACKeywords;
1137
 
  friend class ::WinAsm;
1138
 
  friend class ::WinDeclSpecs;
1139
 
  friend class ::WinMemberExplSpec;
1140
 
  friend class ::WinTypeKeywords;
 
741
  friend class ::ExtGnu;
1141
742
  friend class ::PragmaOnceUnitState;
1142
743
  friend class ::PragmaOnce;
1143
 
  friend class ::CCExprResolve;
1144
 
  friend class ::CExprResolve;
 
744
  friend class ::CMatchSyntax;
1145
745
 
1146
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
746
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
1147
747
 
1148
748
protected:
1149
749
  virtual MappedOrangeRecognizer<CScanBuffer> &recognizer() = 0;
1158
758
 
1159
759
#endif /* __keyword_recognizer_h__ */
1160
760
 
1161
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1162
 
namespace Puma {
1163
 
 
1164
 
 
1165
 
 
1166
 
#line 1167 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
761
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Array.h"
 
762
// This file is part of PUMA.
 
763
// Copyright (C) 1999-2003  The PUMA developer team.
 
764
//                                                                
 
765
// This program is free software;  you can redistribute it and/or 
 
766
// modify it under the terms of the GNU General Public License as 
 
767
// published by the Free Software Foundation; either version 2 of 
 
768
// the License, or (at your option) any later version.            
 
769
//                                                                
 
770
// This program is distributed in the hope that it will be useful,
 
771
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
772
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
773
// GNU General Public License for more details.                   
 
774
//                                                                
 
775
// You should have received a copy of the GNU General Public      
 
776
// License along with this program; if not, write to the Free     
 
777
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
778
// MA  02111-1307  USA                                            
 
779
 
 
780
#ifndef __array_h__
 
781
#define __array_h__
 
782
 
 
783
#include <assert.h>
 
784
 
 
785
namespace Puma {
 
786
 
 
787
template <class Item>
 
788
class Array {
 
789
protected:
 
790
  static const long default_init_size = 5;
 
791
  static const long default_increment = 5;
 
792
 
 
793
public:
 
794
  Array (long is = default_init_size, long incr = default_increment);
 
795
  Array (const Array<Item>& array);
 
796
  Array<Item>& operator =(const Array<Item>&);
 
797
  ~Array ();
 
798
  void append (const Item& item);
 
799
  void insert (long index, const Item& item);
 
800
  void prepend (const Item& item);
 
801
  void remove (long index);
 
802
  void reset ();
 
803
  Item& get (long index);
 
804
  Item& operator[] (long index);
 
805
  Item fetch (long index) const;
 
806
  Item& lookup (long index) const;
 
807
  long length () const;
 
808
 
 
809
private:
 
810
  Item* data;
 
811
  long size;
 
812
  long count;
 
813
  long increment;
 
814
      
 
815
  void grow (long wanted);
 
816
};
 
817
 
 
818
template <class Item>
 
819
inline Array<Item>::Array (long is, long incr) {
 
820
  count     = 0; 
 
821
  size      = is;
 
822
  increment = incr;
 
823
  data      = 0;
 
824
}
 
825
 
 
826
template <class Item>
 
827
Array<Item>::Array (const Array<Item>& array) {
 
828
  count     = 0;
 
829
  size      = array.size;
 
830
  increment = array.increment;
 
831
  
 
832
  if (size && array.data) {
 
833
    data = new Item[size];
 
834
    for (; count < array.count; count++) {
 
835
      data[count] = array.data[count];
 
836
    }
 
837
  } else
 
838
    data = 0;
 
839
}
 
840
 
 
841
template <class Item>
 
842
Array<Item>& Array<Item>::operator =(const Array<Item>& array) {
 
843
  if (data)
 
844
    delete[] data;
 
845
 
 
846
  count     = 0;
 
847
  size      = array.size;
 
848
  increment = array.increment;
 
849
 
 
850
  if (size && array.data) {
 
851
    data = new Item[size];
 
852
    for (; count < array.count; count++) {
 
853
      data[count] = array.data[count];
 
854
    }
 
855
  } else
 
856
    data = 0;
 
857
  
 
858
  return *this;
 
859
}
 
860
 
 
861
template <class Item>
 
862
Array<Item>::~Array () {
 
863
  if (data)
 
864
    delete[] data;
 
865
}
 
866
 
 
867
template <class Item>
 
868
inline void Array<Item>::grow (long wanted) {
 
869
  do {
 
870
    size += increment;
 
871
    increment *= 2;
 
872
  } while (wanted >= size);
 
873
 
 
874
  if (data) {
 
875
    Item* new_data = new Item[size];
 
876
    for (long i = 0; i < count; i++) {
 
877
      new_data[i] = data[i];
 
878
    }
 
879
    delete[] data;
 
880
    data = new_data;
 
881
  } else
 
882
    data = new Item[size];
 
883
}
 
884
   
 
885
template <class Item>
 
886
inline void Array<Item>::append (const Item& item) {
 
887
  if (count >= size || ! data) {
 
888
    grow (count);
 
889
  }
 
890
  data[count++] = item;
 
891
}
 
892
 
 
893
template <class Item>
 
894
void Array<Item>::prepend (const Item& item) {
 
895
  insert (0, item);
 
896
}
 
897
 
 
898
template <class Item>
 
899
void Array<Item>::insert (long index, const Item& item) {
 
900
  if (count >= size || ! data) {
 
901
    grow (count);
 
902
  }
 
903
  for (long i = count; i > index; i--)
 
904
    data[i] = data[i - 1];
 
905
  data[index] = item;
 
906
  count++;
 
907
}
 
908
 
 
909
template <class Item>
 
910
inline Item& Array<Item>::get (long index) {
 
911
  if (index >= size || ! data) {
 
912
    grow (index);
 
913
  }
 
914
  if (index >= count)
 
915
    count = index + 1;
 
916
  return data[index];
 
917
}
 
918
 
 
919
template <class Item>
 
920
inline Item& Array<Item>::operator[] (long index) {
 
921
  return get (index);
 
922
}
 
923
 
 
924
template <class Item>
 
925
inline Item Array<Item>::fetch (long index) const {
 
926
  assert(index < count && data);
 
927
  return data[index];
 
928
}
 
929
 
 
930
template <class Item>
 
931
inline long Array<Item>::length () const {
 
932
  return count;
 
933
}
 
934
 
 
935
template <class Item>
 
936
inline void Array<Item>::remove (long index) {
 
937
  if (index < count && count > 0) {
 
938
    for (long i = index; i < count - 1; i++)
 
939
      data[i] = data[i + 1];
 
940
    count--;
 
941
  }
 
942
}
 
943
 
 
944
#ifndef __puma
 
945
template <>
 
946
inline void Array<int>::reset () {
 
947
  count = 0; 
 
948
}
 
949
#endif
 
950
 
 
951
template <class Item>
 
952
void Array<Item>::reset () {
 
953
  if (data)
 
954
    delete[] data;
 
955
    
 
956
  count     = 0; 
 
957
  size      = default_init_size;
 
958
  increment = default_increment;
 
959
  data      = new Item[size];
 
960
}
 
961
 
 
962
template <class Item>
 
963
inline Item& Array<Item>::lookup (long index) const {
 
964
  assert(index >= 0 && index < count);
 
965
  return data[index];
 
966
}
 
967
 
 
968
 
 
969
} // namespace Puma
 
970
 
 
971
// Array specialization for pointer types sharing method definitions
 
972
 
 
973
#ifndef __puma
 
974
 
 
975
#include "Puma/VoidPtrArray.h"
 
976
 
 
977
namespace Puma {
 
978
 
 
979
 
 
980
template <class Item>
 
981
class Array<Item*> : private VoidPtrArray {
 
982
  typedef VoidPtrArray Base;
 
983
 
 
984
public:
 
985
  Array (long is = default_init_size, long incr = default_increment) :
 
986
    Base (is, incr) {}
 
987
  Array (const Array<Item*> &array) : 
 
988
    Base (array) {}
 
989
  Array<Item*> &operator= (const Array<Item*> &array) 
 
990
   { return (Array<Item*>&)Base::operator= (array); }
 
991
 
 
992
  ~Array () {}
 
993
 
 
994
  void append (const Item *item)           { Base::append ((void*)item); }
 
995
  void insert (long idx, const Item *item) { Base::insert (idx, (void*)item); }
 
996
  void prepend (const Item *item)          { Base::prepend ((void*)item); }
 
997
  void remove (long idx)                   { Base::remove (idx); }
 
998
  void reset ()                            { Base::reset (); }
 
999
 
 
1000
  Item *&get (long idx)                    { return (Item*&)Base::get (idx); }
 
1001
  Item *&operator[] (long idx)             { return (Item*&)Base::operator[] (idx); }
 
1002
  Item *fetch (long idx) const             { return (Item*)Base::fetch (idx); }
 
1003
  Item *&lookup (long idx) const           { return (Item*&)Base::lookup (idx); }
 
1004
  long length () const                     { return Base::length (); }
 
1005
};
 
1006
 
 
1007
 
 
1008
} // namespace Puma
 
1009
 
 
1010
#endif /* __puma */
 
1011
 
 
1012
#endif /* __array_h__ */
 
1013
 
 
1014
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
1015
namespace Puma {
 
1016
 
 
1017
 
 
1018
 
 
1019
#line 1020 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1167
1020
} // closed Puma
 
1021
class CCExprResolve;
 
1022
class CExprResolve;
1168
1023
class WinIfExists;
1169
1024
class WinImportHandler;
1170
1025
class WinMacros;
1171
 
class CMatchSyntax;
1172
 
class ExtGnu;
 
1026
class WinAsm;
 
1027
class WinDeclSpecs;
 
1028
class WinMemberExplSpec;
 
1029
class WinTypeKeywords;
 
1030
class WinFriend;
1173
1031
class ExtAC;
1174
1032
class ExtACBuilderCoupling;
1175
1033
class ExtACSyntaxCoupling;
1176
1034
class ExtACTree;
1177
1035
class ExtACKeywords;
1178
 
class WinAsm;
1179
 
class WinDeclSpecs;
1180
 
class WinMemberExplSpec;
1181
 
class WinTypeKeywords;
 
1036
class ExtGnu;
1182
1037
class PragmaOnceUnitState;
1183
1038
class PragmaOnce;
1184
 
class CCExprResolve;
1185
 
class CExprResolve;
 
1039
class CMatchSyntax;
1186
1040
namespace Puma {
1187
1041
 
1188
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
1042
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1189
1043
class CRecognizer {
1190
 
#line 1191 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1044
#line 1045 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1045
  friend class ::CCExprResolve;
 
1046
  friend class ::CExprResolve;
1191
1047
  friend class ::WinIfExists;
1192
1048
  friend class ::WinImportHandler;
1193
1049
  friend class ::WinMacros;
1194
 
  friend class ::CMatchSyntax;
1195
 
  friend class ::ExtGnu;
 
1050
  friend class ::WinAsm;
 
1051
  friend class ::WinDeclSpecs;
 
1052
  friend class ::WinMemberExplSpec;
 
1053
  friend class ::WinTypeKeywords;
 
1054
  friend class ::WinFriend;
1196
1055
  friend class ::ExtAC;
1197
1056
  friend class ::ExtACBuilderCoupling;
1198
1057
  friend class ::ExtACSyntaxCoupling;
1199
1058
  friend class ::ExtACTree;
1200
1059
  friend class ::ExtACKeywords;
1201
 
  friend class ::WinAsm;
1202
 
  friend class ::WinDeclSpecs;
1203
 
  friend class ::WinMemberExplSpec;
1204
 
  friend class ::WinTypeKeywords;
 
1060
  friend class ::ExtGnu;
1205
1061
  friend class ::PragmaOnceUnitState;
1206
1062
  friend class ::PragmaOnce;
1207
 
  friend class ::CCExprResolve;
1208
 
  friend class ::CExprResolve;
1209
 
 
1210
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1211
 
 
1212
 
  CScanBuffer scan_buffer;
 
1063
  friend class ::CMatchSyntax;
 
1064
 
 
1065
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
1066
 
1213
1067
  CCommentRecognizer comment_recognizer;
1214
1068
  Array<KeywordRecognizer*> additional_keyword_recognizers;
1215
1069
 
1216
1070
public:
 
1071
  CScanBuffer scan_buffer; // TODO: temporarily made public!
 
1072
 
1217
1073
  typedef enum { NORMAL, IN_COMP_DIR, IN_PRE_DIR } Mode;
1218
 
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, STRING, CORE, 
 
1074
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, CORE, 
1219
1075
                 KEYWORD, ID, WILDCARD, UNKNOWN } Lang;
1220
1076
 
1221
 
  CRecognizer () : wildcards (false), aspectc (false), macro_ops (false),
 
1077
  CRecognizer () : directives(true), wildcards (false),
 
1078
    aspectc (false), macro_ops (false),
1222
1079
    std_c (true), std_cplusplus (true) {}
1223
 
  CRecognizer (ScanBuffer& buffer) : wildcards (false), aspectc (false),
1224
 
    macro_ops (false) { setup (buffer); }
 
1080
  void allow_directives (bool flag = true)    { directives = flag; }
1225
1081
  void allow_wildcards (bool flag = true)     { wildcards = flag; }
1226
1082
  void allow_aspectc (bool flag = true)       { aspectc   = flag; } 
1227
1083
  void allow_macro_ops (bool flag = true)     { macro_ops = flag; }
1228
1084
  void allow_std_c (bool flag = true)         { std_c = flag; }
1229
1085
  void allow_std_cplusplus (bool flag = true) { std_cplusplus = flag; }
1230
 
  void setup (ScanBuffer &buffer);
 
1086
  void setup ();
1231
1087
  int recognize (Lang &lang, int &expr, int &len);
1232
 
  Mode mode () { return scan_mode; }
1233
 
  bool new_line () const { return scan_buffer.new_line (); }
 
1088
  Mode mode () const { return scan_mode; }
 
1089
  void mode (Mode mode) { scan_mode = mode; }
1234
1090
  CScanBuffer& buffer () { return scan_buffer; }
1235
1091
  void addRecognizer(KeywordRecognizer &recognizer) 
1236
1092
   { additional_keyword_recognizers.append(&recognizer); }
1237
1093
 
1238
1094
private:
1239
 
  static MappedOrangeRecognizer<CScanBuffer> string_recognizer;   
1240
1095
  static MappedOrangeRecognizer<CScanBuffer> pre_dir_recognizer;
1241
1096
  static MappedOrangeRecognizer<CScanBuffer> pre_token_recognizer;
1242
1097
  static OrangeRecognizer<CScanBuffer> dir_recognizer;
1243
 
  static MappedOrangeRecognizer<CScanBuffer> whitespace_recognizer;
1244
1098
  static MappedOrangeRecognizer<CScanBuffer> wildcard_recognizer;
1245
1099
  static MappedOrangeRecognizer<CScanBuffer> core_recognizer;
1246
1100
  static MappedOrangeRecognizer<CScanBuffer> identifier_recognizer;
1247
1101
 
1248
1102
  Mode scan_mode;
1249
 
  bool check_directive;
 
1103
  bool directives;
1250
1104
  bool wildcards;
1251
1105
  bool aspectc;
1252
1106
  bool macro_ops;
1259
1113
 
1260
1114
#endif /* __c_recognizer_h__ */
1261
1115
 
1262
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
 
1116
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
1263
1117
// This file is part of PUMA.
1264
1118
// Copyright (C) 1999-2003  The PUMA developer team.
1265
1119
//                                                                
1282
1136
#define __location_h__
1283
1137
 
1284
1138
 
1285
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1139
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1140
// This file is part of PUMA.
 
1141
// Copyright (C) 1999-2003  The PUMA developer team.
 
1142
//                                                                
 
1143
// This program is free software;  you can redistribute it and/or 
 
1144
// modify it under the terms of the GNU General Public License as 
 
1145
// published by the Free Software Foundation; either version 2 of 
 
1146
// the License, or (at your option) any later version.            
 
1147
//                                                                
 
1148
// This program is distributed in the hope that it will be useful,
 
1149
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
1150
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
1151
// GNU General Public License for more details.                   
 
1152
//                                                                
 
1153
// You should have received a copy of the GNU General Public      
 
1154
// License along with this program; if not, write to the Free     
 
1155
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
1156
// MA  02111-1307  USA                                            
 
1157
 
 
1158
#ifndef __filename_h__
 
1159
#define __filename_h__
 
1160
 
 
1161
 
 
1162
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1286
1163
// This file is part of PUMA.
1287
1164
// Copyright (C) 1999-2003  The PUMA developer team.
1288
1165
//                                                                
1305
1182
#define __smart_ptr_h__
1306
1183
 
1307
1184
 
1308
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1185
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1309
1186
// This file is part of PUMA.
1310
1187
// Copyright (C) 1999-2003  The PUMA developer team.
1311
1188
//                                                                
1331
1208
 
1332
1209
 
1333
1210
 
1334
 
#line 1335 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1211
#line 1212 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1335
1212
} // closed Puma
 
1213
class CCExprResolve;
 
1214
class CExprResolve;
1336
1215
class WinIfExists;
1337
1216
class WinImportHandler;
1338
1217
class WinMacros;
1339
 
class CMatchSyntax;
1340
 
class ExtGnu;
 
1218
class WinAsm;
 
1219
class WinDeclSpecs;
 
1220
class WinMemberExplSpec;
 
1221
class WinTypeKeywords;
 
1222
class WinFriend;
1341
1223
class ExtAC;
1342
1224
class ExtACBuilderCoupling;
1343
1225
class ExtACSyntaxCoupling;
1344
1226
class ExtACTree;
1345
1227
class ExtACKeywords;
1346
 
class WinAsm;
1347
 
class WinDeclSpecs;
1348
 
class WinMemberExplSpec;
1349
 
class WinTypeKeywords;
 
1228
class ExtGnu;
1350
1229
class PragmaOnceUnitState;
1351
1230
class PragmaOnce;
1352
 
class CCExprResolve;
1353
 
class CExprResolve;
 
1231
class CMatchSyntax;
1354
1232
namespace Puma {
1355
1233
 
1356
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1234
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1357
1235
class RefCnt {
1358
 
#line 1359 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1236
#line 1237 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1237
  friend class ::CCExprResolve;
 
1238
  friend class ::CExprResolve;
1359
1239
  friend class ::WinIfExists;
1360
1240
  friend class ::WinImportHandler;
1361
1241
  friend class ::WinMacros;
1362
 
  friend class ::CMatchSyntax;
1363
 
  friend class ::ExtGnu;
 
1242
  friend class ::WinAsm;
 
1243
  friend class ::WinDeclSpecs;
 
1244
  friend class ::WinMemberExplSpec;
 
1245
  friend class ::WinTypeKeywords;
 
1246
  friend class ::WinFriend;
1364
1247
  friend class ::ExtAC;
1365
1248
  friend class ::ExtACBuilderCoupling;
1366
1249
  friend class ::ExtACSyntaxCoupling;
1367
1250
  friend class ::ExtACTree;
1368
1251
  friend class ::ExtACKeywords;
1369
 
  friend class ::WinAsm;
1370
 
  friend class ::WinDeclSpecs;
1371
 
  friend class ::WinMemberExplSpec;
1372
 
  friend class ::WinTypeKeywords;
 
1252
  friend class ::ExtGnu;
1373
1253
  friend class ::PragmaOnceUnitState;
1374
1254
  friend class ::PragmaOnce;
1375
 
  friend class ::CCExprResolve;
1376
 
  friend class ::CExprResolve;
 
1255
  friend class ::CMatchSyntax;
1377
1256
 
1378
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1257
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1379
1258
 
1380
1259
  int _counter;
1381
1260
 
1393
1272
 
1394
1273
#endif /* __ref_cnt_h__ */
1395
1274
 
1396
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1275
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1397
1276
namespace Puma {
1398
1277
 
1399
1278
 
1400
1279
 
1401
 
#line 1402 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1280
#line 1281 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1402
1281
} // closed Puma
 
1282
class CCExprResolve;
 
1283
class CExprResolve;
1403
1284
class WinIfExists;
1404
1285
class WinImportHandler;
1405
1286
class WinMacros;
1406
 
class CMatchSyntax;
1407
 
class ExtGnu;
 
1287
class WinAsm;
 
1288
class WinDeclSpecs;
 
1289
class WinMemberExplSpec;
 
1290
class WinTypeKeywords;
 
1291
class WinFriend;
1408
1292
class ExtAC;
1409
1293
class ExtACBuilderCoupling;
1410
1294
class ExtACSyntaxCoupling;
1411
1295
class ExtACTree;
1412
1296
class ExtACKeywords;
1413
 
class WinAsm;
1414
 
class WinDeclSpecs;
1415
 
class WinMemberExplSpec;
1416
 
class WinTypeKeywords;
 
1297
class ExtGnu;
1417
1298
class PragmaOnceUnitState;
1418
1299
class PragmaOnce;
1419
 
class CCExprResolve;
1420
 
class CExprResolve;
 
1300
class CMatchSyntax;
1421
1301
namespace Puma {
1422
1302
 
1423
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1303
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1424
1304
class SmartPtr {
1425
 
#line 1426 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1305
#line 1306 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1306
  friend class ::CCExprResolve;
 
1307
  friend class ::CExprResolve;
1426
1308
  friend class ::WinIfExists;
1427
1309
  friend class ::WinImportHandler;
1428
1310
  friend class ::WinMacros;
1429
 
  friend class ::CMatchSyntax;
1430
 
  friend class ::ExtGnu;
 
1311
  friend class ::WinAsm;
 
1312
  friend class ::WinDeclSpecs;
 
1313
  friend class ::WinMemberExplSpec;
 
1314
  friend class ::WinTypeKeywords;
 
1315
  friend class ::WinFriend;
1431
1316
  friend class ::ExtAC;
1432
1317
  friend class ::ExtACBuilderCoupling;
1433
1318
  friend class ::ExtACSyntaxCoupling;
1434
1319
  friend class ::ExtACTree;
1435
1320
  friend class ::ExtACKeywords;
1436
 
  friend class ::WinAsm;
1437
 
  friend class ::WinDeclSpecs;
1438
 
  friend class ::WinMemberExplSpec;
1439
 
  friend class ::WinTypeKeywords;
 
1321
  friend class ::ExtGnu;
1440
1322
  friend class ::PragmaOnceUnitState;
1441
1323
  friend class ::PragmaOnce;
1442
 
  friend class ::CCExprResolve;
1443
 
  friend class ::CExprResolve;
 
1324
  friend class ::CMatchSyntax;
1444
1325
 
1445
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1326
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1446
1327
 
1447
1328
  RefCnt *_data;
1448
1329
 
1464
1345
 
1465
1346
#endif /* __smart_ptr_h__ */
1466
1347
 
1467
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1348
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
1468
1349
// This file is part of PUMA.
1469
1350
// Copyright (C) 1999-2003  The PUMA developer team.
1470
1351
//                                                                
1486
1367
#ifndef __printable_h__
1487
1368
#define __printable_h__
1488
1369
 
1489
 
#include <iostream>
 
1370
 
 
1371
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
1490
1372
using namespace std;
1491
1373
 
1492
1374
namespace Puma {
1493
1375
 
1494
1376
 
1495
1377
 
1496
 
#line 1497 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1378
#line 1379 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1497
1379
} // closed Puma
 
1380
class CCExprResolve;
 
1381
class CExprResolve;
1498
1382
class WinIfExists;
1499
1383
class WinImportHandler;
1500
1384
class WinMacros;
1501
 
class CMatchSyntax;
1502
 
class ExtGnu;
 
1385
class WinAsm;
 
1386
class WinDeclSpecs;
 
1387
class WinMemberExplSpec;
 
1388
class WinTypeKeywords;
 
1389
class WinFriend;
1503
1390
class ExtAC;
1504
1391
class ExtACBuilderCoupling;
1505
1392
class ExtACSyntaxCoupling;
1506
1393
class ExtACTree;
1507
1394
class ExtACKeywords;
1508
 
class WinAsm;
1509
 
class WinDeclSpecs;
1510
 
class WinMemberExplSpec;
1511
 
class WinTypeKeywords;
 
1395
class ExtGnu;
1512
1396
class PragmaOnceUnitState;
1513
1397
class PragmaOnce;
1514
 
class CCExprResolve;
1515
 
class CExprResolve;
 
1398
class CMatchSyntax;
1516
1399
namespace Puma {
1517
1400
 
1518
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1401
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
1519
1402
class Printable {
1520
 
#line 1521 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1403
#line 1404 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1404
  friend class ::CCExprResolve;
 
1405
  friend class ::CExprResolve;
1521
1406
  friend class ::WinIfExists;
1522
1407
  friend class ::WinImportHandler;
1523
1408
  friend class ::WinMacros;
1524
 
  friend class ::CMatchSyntax;
1525
 
  friend class ::ExtGnu;
 
1409
  friend class ::WinAsm;
 
1410
  friend class ::WinDeclSpecs;
 
1411
  friend class ::WinMemberExplSpec;
 
1412
  friend class ::WinTypeKeywords;
 
1413
  friend class ::WinFriend;
1526
1414
  friend class ::ExtAC;
1527
1415
  friend class ::ExtACBuilderCoupling;
1528
1416
  friend class ::ExtACSyntaxCoupling;
1529
1417
  friend class ::ExtACTree;
1530
1418
  friend class ::ExtACKeywords;
1531
 
  friend class ::WinAsm;
1532
 
  friend class ::WinDeclSpecs;
1533
 
  friend class ::WinMemberExplSpec;
1534
 
  friend class ::WinTypeKeywords;
 
1419
  friend class ::ExtGnu;
1535
1420
  friend class ::PragmaOnceUnitState;
1536
1421
  friend class ::PragmaOnce;
1537
 
  friend class ::CCExprResolve;
1538
 
  friend class ::CExprResolve;
 
1422
  friend class ::CMatchSyntax;
1539
1423
 
1540
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1424
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
1541
1425
 
1542
1426
public:
1543
1427
  virtual ~Printable () {}
1555
1439
 
1556
1440
#endif /* __printable_h__ */
1557
1441
 
1558
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
1559
 
// This file is part of PUMA.
1560
 
// Copyright (C) 1999-2003  The PUMA developer team.
1561
 
//                                                                
1562
 
// This program is free software;  you can redistribute it and/or 
1563
 
// modify it under the terms of the GNU General Public License as 
1564
 
// published by the Free Software Foundation; either version 2 of 
1565
 
// the License, or (at your option) any later version.            
1566
 
//                                                                
1567
 
// This program is distributed in the hope that it will be useful,
1568
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1569
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1570
 
// GNU General Public License for more details.                   
1571
 
//                                                                
1572
 
// You should have received a copy of the GNU General Public      
1573
 
// License along with this program; if not, write to the Free     
1574
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1575
 
// MA  02111-1307  USA                                            
1576
 
 
1577
 
#ifndef __location_info_h__
1578
 
#define __location_info_h__
1579
 
 
1580
 
 
1581
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
1582
 
// This file is part of PUMA.
1583
 
// Copyright (C) 1999-2003  The PUMA developer team.
1584
 
//                                                                
1585
 
// This program is free software;  you can redistribute it and/or 
1586
 
// modify it under the terms of the GNU General Public License as 
1587
 
// published by the Free Software Foundation; either version 2 of 
1588
 
// the License, or (at your option) any later version.            
1589
 
//                                                                
1590
 
// This program is distributed in the hope that it will be useful,
1591
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1592
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1593
 
// GNU General Public License for more details.                   
1594
 
//                                                                
1595
 
// You should have received a copy of the GNU General Public      
1596
 
// License along with this program; if not, write to the Free     
1597
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1598
 
// MA  02111-1307  USA                                            
1599
 
 
1600
 
#ifndef __filename_h__
1601
 
#define __filename_h__
1602
 
 
1603
 
 
1604
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1442
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1605
1443
// This file is part of PUMA.
1606
1444
// Copyright (C) 1999-2003  The PUMA developer team.
1607
1445
//                                                                
1624
1462
#define __filename_info_h__
1625
1463
 
1626
1464
 
1627
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1465
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1628
1466
// This file is part of PUMA.
1629
1467
// Copyright (C) 1999-2003  The PUMA developer team.
1630
1468
//                                                                
1647
1485
#define __DString_h__
1648
1486
 
1649
1487
 
1650
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1488
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1651
1489
// This file is part of PUMA.
1652
1490
// Copyright (C) 1999-2003  The PUMA developer team.
1653
1491
//                                                                
1670
1508
#define __StrHashTable_h__
1671
1509
 
1672
1510
 
1673
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1511
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1674
1512
// This file is part of PUMA.
1675
1513
// Copyright (C) 1999-2003  The PUMA developer team.
1676
1514
//                                                                
1693
1531
#define __StrHashKey_h__
1694
1532
 
1695
1533
 
1696
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1534
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1697
1535
// This file is part of PUMA.
1698
1536
// Copyright (C) 1999-2003  The PUMA developer team.
1699
1537
//                                                                
1723
1561
class Unit;
1724
1562
 
1725
1563
 
1726
 
#line 1727 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1564
#line 1565 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1727
1565
} // closed Puma
 
1566
class CCExprResolve;
 
1567
class CExprResolve;
1728
1568
class WinIfExists;
1729
1569
class WinImportHandler;
1730
1570
class WinMacros;
1731
 
class CMatchSyntax;
1732
 
class ExtGnu;
 
1571
class WinAsm;
 
1572
class WinDeclSpecs;
 
1573
class WinMemberExplSpec;
 
1574
class WinTypeKeywords;
 
1575
class WinFriend;
1733
1576
class ExtAC;
1734
1577
class ExtACBuilderCoupling;
1735
1578
class ExtACSyntaxCoupling;
1736
1579
class ExtACTree;
1737
1580
class ExtACKeywords;
1738
 
class WinAsm;
1739
 
class WinDeclSpecs;
1740
 
class WinMemberExplSpec;
1741
 
class WinTypeKeywords;
 
1581
class ExtGnu;
1742
1582
class PragmaOnceUnitState;
1743
1583
class PragmaOnce;
1744
 
class CCExprResolve;
1745
 
class CExprResolve;
 
1584
class CMatchSyntax;
1746
1585
namespace Puma {
1747
1586
 
1748
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1587
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1749
1588
class StrCol {
1750
 
#line 1751 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1589
#line 1590 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1590
  friend class ::CCExprResolve;
 
1591
  friend class ::CExprResolve;
1751
1592
  friend class ::WinIfExists;
1752
1593
  friend class ::WinImportHandler;
1753
1594
  friend class ::WinMacros;
1754
 
  friend class ::CMatchSyntax;
1755
 
  friend class ::ExtGnu;
 
1595
  friend class ::WinAsm;
 
1596
  friend class ::WinDeclSpecs;
 
1597
  friend class ::WinMemberExplSpec;
 
1598
  friend class ::WinTypeKeywords;
 
1599
  friend class ::WinFriend;
1756
1600
  friend class ::ExtAC;
1757
1601
  friend class ::ExtACBuilderCoupling;
1758
1602
  friend class ::ExtACSyntaxCoupling;
1759
1603
  friend class ::ExtACTree;
1760
1604
  friend class ::ExtACKeywords;
1761
 
  friend class ::WinAsm;
1762
 
  friend class ::WinDeclSpecs;
1763
 
  friend class ::WinMemberExplSpec;
1764
 
  friend class ::WinTypeKeywords;
 
1605
  friend class ::ExtGnu;
1765
1606
  friend class ::PragmaOnceUnitState;
1766
1607
  friend class ::PragmaOnce;
1767
 
  friend class ::CCExprResolve;
1768
 
  friend class ::CExprResolve;
 
1608
  friend class ::CMatchSyntax;
1769
1609
 
1770
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1610
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1771
1611
 
1772
1612
protected:
1773
1613
  StrCol () {}
1795
1635
 
1796
1636
#endif /* __str_col__ */
1797
1637
 
1798
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1638
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1799
1639
// This file is part of PUMA.
1800
1640
// Copyright (C) 1999-2003  The PUMA developer team.
1801
1641
//                                                                
1830
1670
 
1831
1671
 
1832
1672
 
1833
 
#line 1834 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1673
#line 1674 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1834
1674
} // closed Puma
 
1675
class CCExprResolve;
 
1676
class CExprResolve;
1835
1677
class WinIfExists;
1836
1678
class WinImportHandler;
1837
1679
class WinMacros;
1838
 
class CMatchSyntax;
1839
 
class ExtGnu;
 
1680
class WinAsm;
 
1681
class WinDeclSpecs;
 
1682
class WinMemberExplSpec;
 
1683
class WinTypeKeywords;
 
1684
class WinFriend;
1840
1685
class ExtAC;
1841
1686
class ExtACBuilderCoupling;
1842
1687
class ExtACSyntaxCoupling;
1843
1688
class ExtACTree;
1844
1689
class ExtACKeywords;
1845
 
class WinAsm;
1846
 
class WinDeclSpecs;
1847
 
class WinMemberExplSpec;
1848
 
class WinTypeKeywords;
 
1690
class ExtGnu;
1849
1691
class PragmaOnceUnitState;
1850
1692
class PragmaOnce;
1851
 
class CCExprResolve;
1852
 
class CExprResolve;
 
1693
class CMatchSyntax;
1853
1694
namespace Puma {
1854
1695
 
1855
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1696
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1856
1697
class Chain {
1857
 
#line 1858 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1698
#line 1699 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1699
  friend class ::CCExprResolve;
 
1700
  friend class ::CExprResolve;
1858
1701
  friend class ::WinIfExists;
1859
1702
  friend class ::WinImportHandler;
1860
1703
  friend class ::WinMacros;
1861
 
  friend class ::CMatchSyntax;
1862
 
  friend class ::ExtGnu;
 
1704
  friend class ::WinAsm;
 
1705
  friend class ::WinDeclSpecs;
 
1706
  friend class ::WinMemberExplSpec;
 
1707
  friend class ::WinTypeKeywords;
 
1708
  friend class ::WinFriend;
1863
1709
  friend class ::ExtAC;
1864
1710
  friend class ::ExtACBuilderCoupling;
1865
1711
  friend class ::ExtACSyntaxCoupling;
1866
1712
  friend class ::ExtACTree;
1867
1713
  friend class ::ExtACKeywords;
1868
 
  friend class ::WinAsm;
1869
 
  friend class ::WinDeclSpecs;
1870
 
  friend class ::WinMemberExplSpec;
1871
 
  friend class ::WinTypeKeywords;
 
1714
  friend class ::ExtGnu;
1872
1715
  friend class ::PragmaOnceUnitState;
1873
1716
  friend class ::PragmaOnce;
1874
 
  friend class ::CCExprResolve;
1875
 
  friend class ::CExprResolve;
 
1717
  friend class ::CMatchSyntax;
1876
1718
 
1877
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1719
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1878
1720
 
1879
1721
  Chain *next;
1880
1722
 
1938
1780
 
1939
1781
#endif /* __Chain_h__ */
1940
1782
 
1941
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1783
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1942
1784
namespace Puma {
1943
1785
 
1944
1786
 
1945
1787
 
1946
 
#line 1947 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1788
#line 1789 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
1947
1789
} // closed Puma
 
1790
class CCExprResolve;
 
1791
class CExprResolve;
1948
1792
class WinIfExists;
1949
1793
class WinImportHandler;
1950
1794
class WinMacros;
1951
 
class CMatchSyntax;
1952
 
class ExtGnu;
 
1795
class WinAsm;
 
1796
class WinDeclSpecs;
 
1797
class WinMemberExplSpec;
 
1798
class WinTypeKeywords;
 
1799
class WinFriend;
1953
1800
class ExtAC;
1954
1801
class ExtACBuilderCoupling;
1955
1802
class ExtACSyntaxCoupling;
1956
1803
class ExtACTree;
1957
1804
class ExtACKeywords;
1958
 
class WinAsm;
1959
 
class WinDeclSpecs;
1960
 
class WinMemberExplSpec;
1961
 
class WinTypeKeywords;
 
1805
class ExtGnu;
1962
1806
class PragmaOnceUnitState;
1963
1807
class PragmaOnce;
1964
 
class CCExprResolve;
1965
 
class CExprResolve;
 
1808
class CMatchSyntax;
1966
1809
namespace Puma {
1967
1810
 
1968
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1811
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1969
1812
class StrHashKey : public Chain {
1970
 
#line 1971 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1813
#line 1814 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1814
  friend class ::CCExprResolve;
 
1815
  friend class ::CExprResolve;
1971
1816
  friend class ::WinIfExists;
1972
1817
  friend class ::WinImportHandler;
1973
1818
  friend class ::WinMacros;
1974
 
  friend class ::CMatchSyntax;
1975
 
  friend class ::ExtGnu;
 
1819
  friend class ::WinAsm;
 
1820
  friend class ::WinDeclSpecs;
 
1821
  friend class ::WinMemberExplSpec;
 
1822
  friend class ::WinTypeKeywords;
 
1823
  friend class ::WinFriend;
1976
1824
  friend class ::ExtAC;
1977
1825
  friend class ::ExtACBuilderCoupling;
1978
1826
  friend class ::ExtACSyntaxCoupling;
1979
1827
  friend class ::ExtACTree;
1980
1828
  friend class ::ExtACKeywords;
1981
 
  friend class ::WinAsm;
1982
 
  friend class ::WinDeclSpecs;
1983
 
  friend class ::WinMemberExplSpec;
1984
 
  friend class ::WinTypeKeywords;
 
1829
  friend class ::ExtGnu;
1985
1830
  friend class ::PragmaOnceUnitState;
1986
1831
  friend class ::PragmaOnce;
1987
 
  friend class ::CCExprResolve;
1988
 
  friend class ::CExprResolve;
 
1832
  friend class ::CMatchSyntax;
1989
1833
 
1990
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1834
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1991
1835
 
1992
1836
  unsigned int m_Magic;
1993
1837
  unsigned int m_Len;
1998
1842
public:
1999
1843
  StrHashKey (int m, const char *s, int l) : 
2000
1844
    m_Magic (m), m_Len (l), m_Str (StrCol::dup (s, l)) {}
 
1845
  ~StrHashKey () { if (m_Str) delete[] m_Str; }
2001
1846
 
2002
1847
  unsigned int getMagic () const { return m_Magic; }
2003
1848
  unsigned int length () const { return m_Len; }
2009
1854
 
2010
1855
#endif /* __StrHashKey_h__ */
2011
1856
 
2012
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1857
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
2013
1858
#include <assert.h>
2014
1859
 
2015
1860
namespace Puma {
2016
1861
 
2017
1862
 
2018
1863
 
2019
 
#line 2020 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1864
#line 1865 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2020
1865
} // closed Puma
 
1866
class CCExprResolve;
 
1867
class CExprResolve;
2021
1868
class WinIfExists;
2022
1869
class WinImportHandler;
2023
1870
class WinMacros;
2024
 
class CMatchSyntax;
2025
 
class ExtGnu;
 
1871
class WinAsm;
 
1872
class WinDeclSpecs;
 
1873
class WinMemberExplSpec;
 
1874
class WinTypeKeywords;
 
1875
class WinFriend;
2026
1876
class ExtAC;
2027
1877
class ExtACBuilderCoupling;
2028
1878
class ExtACSyntaxCoupling;
2029
1879
class ExtACTree;
2030
1880
class ExtACKeywords;
2031
 
class WinAsm;
2032
 
class WinDeclSpecs;
2033
 
class WinMemberExplSpec;
2034
 
class WinTypeKeywords;
 
1881
class ExtGnu;
2035
1882
class PragmaOnceUnitState;
2036
1883
class PragmaOnce;
2037
 
class CCExprResolve;
2038
 
class CExprResolve;
 
1884
class CMatchSyntax;
2039
1885
namespace Puma {
2040
1886
 
2041
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1887
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
2042
1888
class StrHashTable {
2043
 
#line 2044 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1889
#line 1890 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1890
  friend class ::CCExprResolve;
 
1891
  friend class ::CExprResolve;
2044
1892
  friend class ::WinIfExists;
2045
1893
  friend class ::WinImportHandler;
2046
1894
  friend class ::WinMacros;
2047
 
  friend class ::CMatchSyntax;
2048
 
  friend class ::ExtGnu;
 
1895
  friend class ::WinAsm;
 
1896
  friend class ::WinDeclSpecs;
 
1897
  friend class ::WinMemberExplSpec;
 
1898
  friend class ::WinTypeKeywords;
 
1899
  friend class ::WinFriend;
2049
1900
  friend class ::ExtAC;
2050
1901
  friend class ::ExtACBuilderCoupling;
2051
1902
  friend class ::ExtACSyntaxCoupling;
2052
1903
  friend class ::ExtACTree;
2053
1904
  friend class ::ExtACKeywords;
2054
 
  friend class ::WinAsm;
2055
 
  friend class ::WinDeclSpecs;
2056
 
  friend class ::WinMemberExplSpec;
2057
 
  friend class ::WinTypeKeywords;
 
1905
  friend class ::ExtGnu;
2058
1906
  friend class ::PragmaOnceUnitState;
2059
1907
  friend class ::PragmaOnce;
2060
 
  friend class ::CCExprResolve;
2061
 
  friend class ::CExprResolve;
 
1908
  friend class ::CMatchSyntax;
2062
1909
 
2063
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1910
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
2064
1911
 
2065
1912
  StrHashKey *_emptyKey;
2066
1913
 
2073
1920
  StrHashKey *empty () const { assert (_emptyKey); return _emptyKey; }
2074
1921
  StrHashKey *insert (const char *);
2075
1922
  void remove (StrHashKey *);
 
1923
  void clear ();
2076
1924
 
2077
1925
  enum { STRHASHTABLE_SIZE=0xffff };
2078
1926
  
2080
1928
  Chain m_Table[STRHASHTABLE_SIZE];
2081
1929
 
2082
1930
  StrHashKey *find (unsigned int, const char *, unsigned int);
2083
 
  unsigned int hash (const char *, unsigned int);
 
1931
  unsigned int hash (const char *, unsigned int &);
2084
1932
};
2085
1933
 
2086
1934
 
2088
1936
 
2089
1937
#endif /* __StrHashTable_h__ */
2090
1938
 
2091
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1939
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
2092
1940
#include <assert.h>
2093
1941
 
2094
1942
namespace Puma {
2097
1945
extern StrHashTable ___str_dict;
2098
1946
 
2099
1947
 
2100
 
#line 2101 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1948
#line 1949 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2101
1949
} // closed Puma
 
1950
class CCExprResolve;
 
1951
class CExprResolve;
2102
1952
class WinIfExists;
2103
1953
class WinImportHandler;
2104
1954
class WinMacros;
2105
 
class CMatchSyntax;
2106
 
class ExtGnu;
 
1955
class WinAsm;
 
1956
class WinDeclSpecs;
 
1957
class WinMemberExplSpec;
 
1958
class WinTypeKeywords;
 
1959
class WinFriend;
2107
1960
class ExtAC;
2108
1961
class ExtACBuilderCoupling;
2109
1962
class ExtACSyntaxCoupling;
2110
1963
class ExtACTree;
2111
1964
class ExtACKeywords;
2112
 
class WinAsm;
2113
 
class WinDeclSpecs;
2114
 
class WinMemberExplSpec;
2115
 
class WinTypeKeywords;
 
1965
class ExtGnu;
2116
1966
class PragmaOnceUnitState;
2117
1967
class PragmaOnce;
2118
 
class CCExprResolve;
2119
 
class CExprResolve;
 
1968
class CMatchSyntax;
2120
1969
namespace Puma {
2121
1970
 
2122
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1971
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
2123
1972
class DString {
2124
 
#line 2125 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
1973
#line 1974 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1974
  friend class ::CCExprResolve;
 
1975
  friend class ::CExprResolve;
2125
1976
  friend class ::WinIfExists;
2126
1977
  friend class ::WinImportHandler;
2127
1978
  friend class ::WinMacros;
2128
 
  friend class ::CMatchSyntax;
2129
 
  friend class ::ExtGnu;
 
1979
  friend class ::WinAsm;
 
1980
  friend class ::WinDeclSpecs;
 
1981
  friend class ::WinMemberExplSpec;
 
1982
  friend class ::WinTypeKeywords;
 
1983
  friend class ::WinFriend;
2130
1984
  friend class ::ExtAC;
2131
1985
  friend class ::ExtACBuilderCoupling;
2132
1986
  friend class ::ExtACSyntaxCoupling;
2133
1987
  friend class ::ExtACTree;
2134
1988
  friend class ::ExtACKeywords;
2135
 
  friend class ::WinAsm;
2136
 
  friend class ::WinDeclSpecs;
2137
 
  friend class ::WinMemberExplSpec;
2138
 
  friend class ::WinTypeKeywords;
 
1989
  friend class ::ExtGnu;
2139
1990
  friend class ::PragmaOnceUnitState;
2140
1991
  friend class ::PragmaOnce;
2141
 
  friend class ::CCExprResolve;
2142
 
  friend class ::CExprResolve;
 
1992
  friend class ::CMatchSyntax;
2143
1993
 
2144
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1994
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
2145
1995
 
2146
1996
  StrHashKey *m_Key;
2147
1997
 
2208
2058
    assert (m_Key);
2209
2059
    return c_str ();
2210
2060
  }
 
2061
  
 
2062
  static void clearDict() {
 
2063
    ___str_dict.clear ();
 
2064
  }
2211
2065
};
2212
2066
 
2213
2067
 
2215
2069
 
2216
2070
#endif /* __DString_h__ */
2217
2071
 
2218
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2072
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2219
2073
namespace Puma {
2220
2074
 
2221
2075
 
2222
2076
 
2223
 
#line 2224 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2077
#line 2078 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2224
2078
} // closed Puma
 
2079
class CCExprResolve;
 
2080
class CExprResolve;
2225
2081
class WinIfExists;
2226
2082
class WinImportHandler;
2227
2083
class WinMacros;
2228
 
class CMatchSyntax;
2229
 
class ExtGnu;
 
2084
class WinAsm;
 
2085
class WinDeclSpecs;
 
2086
class WinMemberExplSpec;
 
2087
class WinTypeKeywords;
 
2088
class WinFriend;
2230
2089
class ExtAC;
2231
2090
class ExtACBuilderCoupling;
2232
2091
class ExtACSyntaxCoupling;
2233
2092
class ExtACTree;
2234
2093
class ExtACKeywords;
2235
 
class WinAsm;
2236
 
class WinDeclSpecs;
2237
 
class WinMemberExplSpec;
2238
 
class WinTypeKeywords;
 
2094
class ExtGnu;
2239
2095
class PragmaOnceUnitState;
2240
2096
class PragmaOnce;
2241
 
class CCExprResolve;
2242
 
class CExprResolve;
 
2097
class CMatchSyntax;
2243
2098
namespace Puma {
2244
2099
 
2245
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2100
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2246
2101
class FilenameInfo : public RefCnt {
2247
 
#line 2248 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2102
#line 2103 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2103
  friend class ::CCExprResolve;
 
2104
  friend class ::CExprResolve;
2248
2105
  friend class ::WinIfExists;
2249
2106
  friend class ::WinImportHandler;
2250
2107
  friend class ::WinMacros;
2251
 
  friend class ::CMatchSyntax;
2252
 
  friend class ::ExtGnu;
 
2108
  friend class ::WinAsm;
 
2109
  friend class ::WinDeclSpecs;
 
2110
  friend class ::WinMemberExplSpec;
 
2111
  friend class ::WinTypeKeywords;
 
2112
  friend class ::WinFriend;
2253
2113
  friend class ::ExtAC;
2254
2114
  friend class ::ExtACBuilderCoupling;
2255
2115
  friend class ::ExtACSyntaxCoupling;
2256
2116
  friend class ::ExtACTree;
2257
2117
  friend class ::ExtACKeywords;
2258
 
  friend class ::WinAsm;
2259
 
  friend class ::WinDeclSpecs;
2260
 
  friend class ::WinMemberExplSpec;
2261
 
  friend class ::WinTypeKeywords;
 
2118
  friend class ::ExtGnu;
2262
2119
  friend class ::PragmaOnceUnitState;
2263
2120
  friend class ::PragmaOnce;
2264
 
  friend class ::CCExprResolve;
2265
 
  friend class ::CExprResolve;
 
2121
  friend class ::CMatchSyntax;
2266
2122
 
2267
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2123
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2268
2124
 
2269
2125
  DString _name;
2270
2126
  const char *_path;
2274
2130
  FilenameInfo () : _path ((const char*)0), _root ((const char*)0) {}
2275
2131
  ~FilenameInfo ();
2276
2132
  void name (const char *n);
2277
 
  void name (const DString &dsn) { _name = dsn; }
 
2133
//  void name (const DString &dsn) { _name = dsn; }
2278
2134
  const char *name () const { return _name.c_str (); }
2279
2135
  const char *path ();
2280
2136
  const char *root ();
2289
2145
 
2290
2146
#endif /* __filename_info_h__ */
2291
2147
 
2292
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2148
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
2293
2149
namespace Puma {
2294
2150
 
2295
2151
 
2296
2152
 
2297
 
#line 2298 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2153
#line 2154 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2298
2154
} // closed Puma
 
2155
class CCExprResolve;
 
2156
class CExprResolve;
2299
2157
class WinIfExists;
2300
2158
class WinImportHandler;
2301
2159
class WinMacros;
2302
 
class CMatchSyntax;
2303
 
class ExtGnu;
 
2160
class WinAsm;
 
2161
class WinDeclSpecs;
 
2162
class WinMemberExplSpec;
 
2163
class WinTypeKeywords;
 
2164
class WinFriend;
2304
2165
class ExtAC;
2305
2166
class ExtACBuilderCoupling;
2306
2167
class ExtACSyntaxCoupling;
2307
2168
class ExtACTree;
2308
2169
class ExtACKeywords;
2309
 
class WinAsm;
2310
 
class WinDeclSpecs;
2311
 
class WinMemberExplSpec;
2312
 
class WinTypeKeywords;
 
2170
class ExtGnu;
2313
2171
class PragmaOnceUnitState;
2314
2172
class PragmaOnce;
2315
 
class CCExprResolve;
2316
 
class CExprResolve;
 
2173
class CMatchSyntax;
2317
2174
namespace Puma {
2318
2175
 
2319
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2176
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
2320
2177
class Filename : public SmartPtr, public Printable {
2321
 
#line 2322 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2178
#line 2179 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2179
  friend class ::CCExprResolve;
 
2180
  friend class ::CExprResolve;
2322
2181
  friend class ::WinIfExists;
2323
2182
  friend class ::WinImportHandler;
2324
2183
  friend class ::WinMacros;
2325
 
  friend class ::CMatchSyntax;
2326
 
  friend class ::ExtGnu;
 
2184
  friend class ::WinAsm;
 
2185
  friend class ::WinDeclSpecs;
 
2186
  friend class ::WinMemberExplSpec;
 
2187
  friend class ::WinTypeKeywords;
 
2188
  friend class ::WinFriend;
2327
2189
  friend class ::ExtAC;
2328
2190
  friend class ::ExtACBuilderCoupling;
2329
2191
  friend class ::ExtACSyntaxCoupling;
2330
2192
  friend class ::ExtACTree;
2331
2193
  friend class ::ExtACKeywords;
2332
 
  friend class ::WinAsm;
2333
 
  friend class ::WinDeclSpecs;
2334
 
  friend class ::WinMemberExplSpec;
2335
 
  friend class ::WinTypeKeywords;
 
2194
  friend class ::ExtGnu;
2336
2195
  friend class ::PragmaOnceUnitState;
2337
2196
  friend class ::PragmaOnce;
2338
 
  friend class ::CCExprResolve;
2339
 
  friend class ::CExprResolve;
 
2197
  friend class ::CMatchSyntax;
2340
2198
 
2341
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2199
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
2342
2200
 
2343
2201
  FilenameInfo *info () const { return (FilenameInfo*)data (); }
2344
2202
 
2346
2204
  Filename () {}
2347
2205
  Filename (const char *n) { name (n); }
2348
2206
  Filename &operator = (const char *n) { name (n); return *this; }
 
2207
  bool operator ~ () const { return info () != 0; }
2349
2208
  void name (const char *n);
2350
2209
  const char *name () const;
2351
2210
  const char *path () const;
2361
2220
 
2362
2221
#endif /* __filename_h__ */
2363
2222
 
2364
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
2223
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
2365
2224
namespace Puma {
2366
2225
 
2367
2226
 
2368
2227
 
2369
 
#line 2370 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2228
#line 2229 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2370
2229
} // closed Puma
 
2230
class CCExprResolve;
 
2231
class CExprResolve;
2371
2232
class WinIfExists;
2372
2233
class WinImportHandler;
2373
2234
class WinMacros;
2374
 
class CMatchSyntax;
2375
 
class ExtGnu;
 
2235
class WinAsm;
 
2236
class WinDeclSpecs;
 
2237
class WinMemberExplSpec;
 
2238
class WinTypeKeywords;
 
2239
class WinFriend;
2376
2240
class ExtAC;
2377
2241
class ExtACBuilderCoupling;
2378
2242
class ExtACSyntaxCoupling;
2379
2243
class ExtACTree;
2380
2244
class ExtACKeywords;
2381
 
class WinAsm;
2382
 
class WinDeclSpecs;
2383
 
class WinMemberExplSpec;
2384
 
class WinTypeKeywords;
 
2245
class ExtGnu;
2385
2246
class PragmaOnceUnitState;
2386
2247
class PragmaOnce;
2387
 
class CCExprResolve;
2388
 
class CExprResolve;
 
2248
class CMatchSyntax;
2389
2249
namespace Puma {
2390
2250
 
2391
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
2392
 
class LocationInfo : public RefCnt {
2393
 
#line 2394 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2251
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
2252
class Location {
 
2253
#line 2254 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2254
  friend class ::CCExprResolve;
 
2255
  friend class ::CExprResolve;
2394
2256
  friend class ::WinIfExists;
2395
2257
  friend class ::WinImportHandler;
2396
2258
  friend class ::WinMacros;
2397
 
  friend class ::CMatchSyntax;
2398
 
  friend class ::ExtGnu;
 
2259
  friend class ::WinAsm;
 
2260
  friend class ::WinDeclSpecs;
 
2261
  friend class ::WinMemberExplSpec;
 
2262
  friend class ::WinTypeKeywords;
 
2263
  friend class ::WinFriend;
2399
2264
  friend class ::ExtAC;
2400
2265
  friend class ::ExtACBuilderCoupling;
2401
2266
  friend class ::ExtACSyntaxCoupling;
2402
2267
  friend class ::ExtACTree;
2403
2268
  friend class ::ExtACKeywords;
2404
 
  friend class ::WinAsm;
2405
 
  friend class ::WinDeclSpecs;
2406
 
  friend class ::WinMemberExplSpec;
2407
 
  friend class ::WinTypeKeywords;
 
2269
  friend class ::ExtGnu;
2408
2270
  friend class ::PragmaOnceUnitState;
2409
2271
  friend class ::PragmaOnce;
2410
 
  friend class ::CCExprResolve;
2411
 
  friend class ::CExprResolve;
 
2272
  friend class ::CMatchSyntax;
2412
2273
 
2413
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
2274
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
2414
2275
 
2415
2276
  Filename _filename;
2416
2277
  int _line;
 
2278
  int _column;
2417
2279
 
2418
2280
public:
2419
 
  LocationInfo () : _filename (), _line (0) {}
2420
 
  void setup (Filename f, int l);
 
2281
  Location () : _filename (), _line (0), _column (0) {}
 
2282
  Location (Filename f, int l, int c = 0) { setup (f, l, c); }
 
2283
  void setup (Filename f, int l, int c = 0) {
 
2284
    _filename = f;
 
2285
    _line     = l;
 
2286
    _column   = c;
 
2287
  }
2421
2288
  const Filename &filename () const { return _filename; }
2422
2289
  int line () const { return _line; }
2423
 
  bool operator < (const LocationInfo &l) const;
2424
 
  bool operator == (const LocationInfo &l) const;
2425
 
};
2426
 
 
2427
 
 
2428
 
} // namespace Puma
2429
 
 
2430
 
#endif /* __location_info_h__ */
2431
 
 
2432
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2433
 
namespace Puma {
2434
 
 
2435
 
 
2436
 
 
2437
 
#line 2438 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
2438
 
} // closed Puma
2439
 
class WinIfExists;
2440
 
class WinImportHandler;
2441
 
class WinMacros;
2442
 
class CMatchSyntax;
2443
 
class ExtGnu;
2444
 
class ExtAC;
2445
 
class ExtACBuilderCoupling;
2446
 
class ExtACSyntaxCoupling;
2447
 
class ExtACTree;
2448
 
class ExtACKeywords;
2449
 
class WinAsm;
2450
 
class WinDeclSpecs;
2451
 
class WinMemberExplSpec;
2452
 
class WinTypeKeywords;
2453
 
class PragmaOnceUnitState;
2454
 
class PragmaOnce;
2455
 
class CCExprResolve;
2456
 
class CExprResolve;
2457
 
namespace Puma {
2458
 
 
2459
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2460
 
class Location : public SmartPtr, public Printable {
2461
 
#line 2462 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
2462
 
  friend class ::WinIfExists;
2463
 
  friend class ::WinImportHandler;
2464
 
  friend class ::WinMacros;
2465
 
  friend class ::CMatchSyntax;
2466
 
  friend class ::ExtGnu;
2467
 
  friend class ::ExtAC;
2468
 
  friend class ::ExtACBuilderCoupling;
2469
 
  friend class ::ExtACSyntaxCoupling;
2470
 
  friend class ::ExtACTree;
2471
 
  friend class ::ExtACKeywords;
2472
 
  friend class ::WinAsm;
2473
 
  friend class ::WinDeclSpecs;
2474
 
  friend class ::WinMemberExplSpec;
2475
 
  friend class ::WinTypeKeywords;
2476
 
  friend class ::PragmaOnceUnitState;
2477
 
  friend class ::PragmaOnce;
2478
 
  friend class ::CCExprResolve;
2479
 
  friend class ::CExprResolve;
2480
 
 
2481
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2482
 
 
2483
 
  LocationInfo *info () const { return (LocationInfo*)data (); }
2484
 
 
2485
 
public:
2486
 
  Location () {}
2487
 
  Location (Filename f, int l) { setup (f, l); }
2488
 
  Location (LocationInfo *lptr) : SmartPtr (lptr) {}
2489
 
  LocationInfo *operator ~ () { if (info ()) info ()->ref (); return info (); }
2490
 
  void setup (Filename f, int l);
2491
 
  const Filename &filename () const   { return info ()->filename (); }
2492
 
  int line () const;
2493
 
  bool operator == (const Location &l) const;
 
2290
  int column () const { return _column; }
 
2291
  bool operator == (const Location &l) const {
 
2292
    return filename () == l.filename () && line () == l.line () &&
 
2293
      column () == l.column ();
 
2294
  }
2494
2295
  bool operator != (const Location &l) const { return ! (*this == l); }
2495
 
  bool operator < (const Location &l) const;
 
2296
  bool operator < (const Location &l) const {
 
2297
    // TODO: does it make sense to compare the filenames? better assert?
 
2298
    if (filename () != l.filename ())
 
2299
      return false;
 
2300
    return line () < l.line () && column () < l.column ();
 
2301
  }
 
2302
};
2496
2303
 
2497
 
  virtual void print (ostream &os) const {
2498
 
    if (info ())
 
2304
inline std::ostream &operator << (std::ostream &os, const Location &loc) {
2499
2305
#ifdef VISUAL_STUDIO
2500
 
      os << filename () << "(" << line () << ")";
 
2306
  os << loc.filename () << "(" << loc.line () << ")";
2501
2307
#else
2502
 
      os << filename () << ":" << line ();
 
2308
  os << loc.filename () << ":" << loc.line ();
2503
2309
#endif
2504
 
  }
2505
 
};
2506
 
 
2507
 
 
 
2310
  return os;  
 
2311
}
2508
2312
} // namespace Puma
2509
2313
 
2510
2314
#endif /* __location_h__ */
2511
2315
 
2512
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
2316
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2513
2317
// This file is part of PUMA.
2514
2318
// Copyright (C) 1999-2003  The PUMA developer team.
2515
2319
//                                                                
2537
2341
 
2538
2342
 
2539
2343
 
2540
 
#line 2541 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2344
#line 2345 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2541
2345
} // closed Puma
 
2346
class CCExprResolve;
 
2347
class CExprResolve;
2542
2348
class WinIfExists;
2543
2349
class WinImportHandler;
2544
2350
class WinMacros;
2545
 
class CMatchSyntax;
2546
 
class ExtGnu;
 
2351
class WinAsm;
 
2352
class WinDeclSpecs;
 
2353
class WinMemberExplSpec;
 
2354
class WinTypeKeywords;
 
2355
class WinFriend;
2547
2356
class ExtAC;
2548
2357
class ExtACBuilderCoupling;
2549
2358
class ExtACSyntaxCoupling;
2550
2359
class ExtACTree;
2551
2360
class ExtACKeywords;
2552
 
class WinAsm;
2553
 
class WinDeclSpecs;
2554
 
class WinMemberExplSpec;
2555
 
class WinTypeKeywords;
 
2361
class ExtGnu;
2556
2362
class PragmaOnceUnitState;
2557
2363
class PragmaOnce;
2558
 
class CCExprResolve;
2559
 
class CExprResolve;
 
2364
class CMatchSyntax;
2560
2365
namespace Puma {
2561
2366
 
2562
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
2367
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2563
2368
class LanguageID {
2564
 
#line 2565 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2369
#line 2370 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2370
  friend class ::CCExprResolve;
 
2371
  friend class ::CExprResolve;
2565
2372
  friend class ::WinIfExists;
2566
2373
  friend class ::WinImportHandler;
2567
2374
  friend class ::WinMacros;
2568
 
  friend class ::CMatchSyntax;
2569
 
  friend class ::ExtGnu;
 
2375
  friend class ::WinAsm;
 
2376
  friend class ::WinDeclSpecs;
 
2377
  friend class ::WinMemberExplSpec;
 
2378
  friend class ::WinTypeKeywords;
 
2379
  friend class ::WinFriend;
2570
2380
  friend class ::ExtAC;
2571
2381
  friend class ::ExtACBuilderCoupling;
2572
2382
  friend class ::ExtACSyntaxCoupling;
2573
2383
  friend class ::ExtACTree;
2574
2384
  friend class ::ExtACKeywords;
2575
 
  friend class ::WinAsm;
2576
 
  friend class ::WinDeclSpecs;
2577
 
  friend class ::WinMemberExplSpec;
2578
 
  friend class ::WinTypeKeywords;
 
2385
  friend class ::ExtGnu;
2579
2386
  friend class ::PragmaOnceUnitState;
2580
2387
  friend class ::PragmaOnce;
2581
 
  friend class ::CCExprResolve;
2582
 
  friend class ::CExprResolve;
 
2388
  friend class ::CMatchSyntax;
2583
2389
 
2584
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
2390
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2585
2391
 
2586
2392
  const char *_id;
2587
2393
 
2598
2404
 
2599
2405
#endif /* __language_id_h__ */
2600
2406
 
2601
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
2407
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
2602
2408
// This file is part of PUMA.
2603
2409
// Copyright (C) 1999-2003  The PUMA developer team.
2604
2410
//                                                                
2624
2430
// form tokens, which used to fill a "Unit".
2625
2431
 
2626
2432
 
2627
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
2433
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
2628
2434
// This file is part of PUMA.
2629
2435
// Copyright (C) 1999-2003  The PUMA developer team.
2630
2436
//                                                                
2650
2456
 
2651
2457
 
2652
2458
 
2653
 
#line 2654 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2459
#line 2460 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2654
2460
} // closed Puma
 
2461
class CCExprResolve;
 
2462
class CExprResolve;
2655
2463
class WinIfExists;
2656
2464
class WinImportHandler;
2657
2465
class WinMacros;
2658
 
class CMatchSyntax;
2659
 
class ExtGnu;
 
2466
class WinAsm;
 
2467
class WinDeclSpecs;
 
2468
class WinMemberExplSpec;
 
2469
class WinTypeKeywords;
 
2470
class WinFriend;
2660
2471
class ExtAC;
2661
2472
class ExtACBuilderCoupling;
2662
2473
class ExtACSyntaxCoupling;
2663
2474
class ExtACTree;
2664
2475
class ExtACKeywords;
2665
 
class WinAsm;
2666
 
class WinDeclSpecs;
2667
 
class WinMemberExplSpec;
2668
 
class WinTypeKeywords;
 
2476
class ExtGnu;
2669
2477
class PragmaOnceUnitState;
2670
2478
class PragmaOnce;
2671
 
class CCExprResolve;
2672
 
class CExprResolve;
 
2479
class CMatchSyntax;
2673
2480
namespace Puma {
2674
2481
 
2675
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
2482
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
2676
2483
class Source {
2677
 
#line 2678 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2484
#line 2485 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2485
  friend class ::CCExprResolve;
 
2486
  friend class ::CExprResolve;
2678
2487
  friend class ::WinIfExists;
2679
2488
  friend class ::WinImportHandler;
2680
2489
  friend class ::WinMacros;
2681
 
  friend class ::CMatchSyntax;
2682
 
  friend class ::ExtGnu;
 
2490
  friend class ::WinAsm;
 
2491
  friend class ::WinDeclSpecs;
 
2492
  friend class ::WinMemberExplSpec;
 
2493
  friend class ::WinTypeKeywords;
 
2494
  friend class ::WinFriend;
2683
2495
  friend class ::ExtAC;
2684
2496
  friend class ::ExtACBuilderCoupling;
2685
2497
  friend class ::ExtACSyntaxCoupling;
2686
2498
  friend class ::ExtACTree;
2687
2499
  friend class ::ExtACKeywords;
2688
 
  friend class ::WinAsm;
2689
 
  friend class ::WinDeclSpecs;
2690
 
  friend class ::WinMemberExplSpec;
2691
 
  friend class ::WinTypeKeywords;
 
2500
  friend class ::ExtGnu;
2692
2501
  friend class ::PragmaOnceUnitState;
2693
2502
  friend class ::PragmaOnce;
2694
 
  friend class ::CCExprResolve;
2695
 
  friend class ::CExprResolve;
 
2503
  friend class ::CMatchSyntax;
2696
2504
 
2697
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
2505
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
2698
2506
 
2699
2507
public:
2700
2508
  Source () {}
2708
2516
 
2709
2517
#endif /* __source_h__ */
2710
2518
 
2711
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
2519
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
2712
2520
// This file is part of PUMA.
2713
2521
// Copyright (C) 1999-2003  The PUMA developer team.
2714
2522
//                                                                
2731
2539
#define __unit_h__
2732
2540
 
2733
2541
 
2734
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2542
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2735
2543
// This file is part of PUMA.
2736
2544
// Copyright (C) 1999-2003  The PUMA developer team.
2737
2545
//                                                                
2754
2562
#define __list_h__
2755
2563
 
2756
2564
 
2757
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2565
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
2758
2566
// This file is part of PUMA.
2759
2567
// Copyright (C) 1999-2003  The PUMA developer team.
2760
2568
//                                                                
2789
2597
class List;
2790
2598
 
2791
2599
 
2792
 
#line 2793 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2600
#line 2601 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2793
2601
} // closed Puma
 
2602
class CCExprResolve;
 
2603
class CExprResolve;
2794
2604
class WinIfExists;
2795
2605
class WinImportHandler;
2796
2606
class WinMacros;
2797
 
class CMatchSyntax;
2798
 
class ExtGnu;
 
2607
class WinAsm;
 
2608
class WinDeclSpecs;
 
2609
class WinMemberExplSpec;
 
2610
class WinTypeKeywords;
 
2611
class WinFriend;
2799
2612
class ExtAC;
2800
2613
class ExtACBuilderCoupling;
2801
2614
class ExtACSyntaxCoupling;
2802
2615
class ExtACTree;
2803
2616
class ExtACKeywords;
2804
 
class WinAsm;
2805
 
class WinDeclSpecs;
2806
 
class WinMemberExplSpec;
2807
 
class WinTypeKeywords;
 
2617
class ExtGnu;
2808
2618
class PragmaOnceUnitState;
2809
2619
class PragmaOnce;
2810
 
class CCExprResolve;
2811
 
class CExprResolve;
 
2620
class CMatchSyntax;
2812
2621
namespace Puma {
2813
2622
 
2814
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2623
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
2815
2624
class ListElement {
2816
 
#line 2817 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2625
#line 2626 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2626
  friend class ::CCExprResolve;
 
2627
  friend class ::CExprResolve;
2817
2628
  friend class ::WinIfExists;
2818
2629
  friend class ::WinImportHandler;
2819
2630
  friend class ::WinMacros;
2820
 
  friend class ::CMatchSyntax;
2821
 
  friend class ::ExtGnu;
 
2631
  friend class ::WinAsm;
 
2632
  friend class ::WinDeclSpecs;
 
2633
  friend class ::WinMemberExplSpec;
 
2634
  friend class ::WinTypeKeywords;
 
2635
  friend class ::WinFriend;
2822
2636
  friend class ::ExtAC;
2823
2637
  friend class ::ExtACBuilderCoupling;
2824
2638
  friend class ::ExtACSyntaxCoupling;
2825
2639
  friend class ::ExtACTree;
2826
2640
  friend class ::ExtACKeywords;
2827
 
  friend class ::WinAsm;
2828
 
  friend class ::WinDeclSpecs;
2829
 
  friend class ::WinMemberExplSpec;
2830
 
  friend class ::WinTypeKeywords;
 
2641
  friend class ::ExtGnu;
2831
2642
  friend class ::PragmaOnceUnitState;
2832
2643
  friend class ::PragmaOnce;
2833
 
  friend class ::CCExprResolve;
2834
 
  friend class ::CExprResolve;
 
2644
  friend class ::CMatchSyntax;
2835
2645
 
2836
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2646
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
2837
2647
 
2838
2648
  friend class List;
2839
2649
 
2854
2664
 
2855
2665
#endif /* __list_element_h__ */
2856
2666
 
2857
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2667
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2858
2668
namespace Puma {
2859
2669
 
2860
2670
 
2861
2671
 
2862
 
#line 2863 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2672
#line 2673 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2863
2673
} // closed Puma
 
2674
class CCExprResolve;
 
2675
class CExprResolve;
2864
2676
class WinIfExists;
2865
2677
class WinImportHandler;
2866
2678
class WinMacros;
2867
 
class CMatchSyntax;
2868
 
class ExtGnu;
 
2679
class WinAsm;
 
2680
class WinDeclSpecs;
 
2681
class WinMemberExplSpec;
 
2682
class WinTypeKeywords;
 
2683
class WinFriend;
2869
2684
class ExtAC;
2870
2685
class ExtACBuilderCoupling;
2871
2686
class ExtACSyntaxCoupling;
2872
2687
class ExtACTree;
2873
2688
class ExtACKeywords;
2874
 
class WinAsm;
2875
 
class WinDeclSpecs;
2876
 
class WinMemberExplSpec;
2877
 
class WinTypeKeywords;
 
2689
class ExtGnu;
2878
2690
class PragmaOnceUnitState;
2879
2691
class PragmaOnce;
2880
 
class CCExprResolve;
2881
 
class CExprResolve;
 
2692
class CMatchSyntax;
2882
2693
namespace Puma {
2883
2694
 
2884
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2695
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2885
2696
class List {
2886
 
#line 2887 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2697
#line 2698 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2698
  friend class ::CCExprResolve;
 
2699
  friend class ::CExprResolve;
2887
2700
  friend class ::WinIfExists;
2888
2701
  friend class ::WinImportHandler;
2889
2702
  friend class ::WinMacros;
2890
 
  friend class ::CMatchSyntax;
2891
 
  friend class ::ExtGnu;
 
2703
  friend class ::WinAsm;
 
2704
  friend class ::WinDeclSpecs;
 
2705
  friend class ::WinMemberExplSpec;
 
2706
  friend class ::WinTypeKeywords;
 
2707
  friend class ::WinFriend;
2892
2708
  friend class ::ExtAC;
2893
2709
  friend class ::ExtACBuilderCoupling;
2894
2710
  friend class ::ExtACSyntaxCoupling;
2895
2711
  friend class ::ExtACTree;
2896
2712
  friend class ::ExtACKeywords;
2897
 
  friend class ::WinAsm;
2898
 
  friend class ::WinDeclSpecs;
2899
 
  friend class ::WinMemberExplSpec;
2900
 
  friend class ::WinTypeKeywords;
 
2713
  friend class ::ExtGnu;
2901
2714
  friend class ::PragmaOnceUnitState;
2902
2715
  friend class ::PragmaOnce;
2903
 
  friend class ::CCExprResolve;
2904
 
  friend class ::CExprResolve;
 
2716
  friend class ::CMatchSyntax;
2905
2717
 
2906
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
2718
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
2907
2719
 
2908
2720
  ListElement *_first;
2909
2721
  ListElement *_last;
2939
2751
  const ListElement *first () const { return _first; }
2940
2752
  const ListElement *last () const { return _last; }
2941
2753
  const ListElement *next (const ListElement *element) const
2942
 
   { return element->_next; }
 
2754
   { return element ? element->_next : 0; }
2943
2755
  const ListElement *prev (const ListElement *element) const 
2944
 
   { return element->_prev; }
 
2756
   { return element ? element->_prev : 0; }
2945
2757
};
2946
2758
 
2947
2759
 
2949
2761
 
2950
2762
#endif /* __list_h__ */
2951
2763
 
2952
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2764
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
2953
2765
 
2954
 
#line 2955 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2766
#line 2767 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
2955
2767
 
2956
2768
#ifndef __ac_fwd_PragmaOnceUnitState__
2957
2769
#define __ac_fwd_PragmaOnceUnitState__
2958
2770
class PragmaOnceUnitState;
2959
2771
namespace AC {
2960
2772
  template <class JoinPoint>
2961
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
2773
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
2774
  template <class JoinPoint>
 
2775
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
2962
2776
}
2963
2777
#endif
2964
2778
 
2965
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2966
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2779
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2780
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2967
2781
#endif
2968
2782
 
2969
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2970
 
 
2971
 
#line 2972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
2972
 
 
2973
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2783
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2784
// This file is part of PUMA.
 
2785
// Copyright (C) 1999-2003  The PUMA developer team.
 
2786
//                                                                
 
2787
// This program is free software;  you can redistribute it and/or 
 
2788
// modify it under the terms of the GNU General Public License as 
 
2789
// published by the Free Software Foundation; either version 2 of 
 
2790
// the License, or (at your option) any later version.            
 
2791
//                                                                
 
2792
// This program is distributed in the hope that it will be useful,
 
2793
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
2794
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
2795
// GNU General Public License for more details.                   
 
2796
//                                                                
 
2797
// You should have received a copy of the GNU General Public      
 
2798
// License along with this program; if not, write to the Free     
 
2799
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
2800
// MA  02111-1307  USA                                            
 
2801
 
 
2802
#ifndef __UnitState__
 
2803
#define __UnitState__
 
2804
 
 
2805
// The state of a unit: 
 
2806
// 1. modified by manipulations and not updated at the class registry
 
2807
// 2. modified by manipulations and updated at the class registry
 
2808
// 3. unmodified by manipulations and not updated at the class registry
 
2809
// 4. unmodified by manipulations and updated at the class registry
 
2810
 
 
2811
namespace Puma {
 
2812
 
 
2813
 
 
2814
 
 
2815
#line 2816 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2816
} // closed Puma
 
2817
class CCExprResolve;
 
2818
class CExprResolve;
 
2819
class WinIfExists;
 
2820
class WinImportHandler;
 
2821
class WinMacros;
 
2822
class WinAsm;
 
2823
class WinDeclSpecs;
 
2824
class WinMemberExplSpec;
 
2825
class WinTypeKeywords;
 
2826
class WinFriend;
 
2827
class ExtAC;
 
2828
class ExtACBuilderCoupling;
 
2829
class ExtACSyntaxCoupling;
 
2830
class ExtACTree;
 
2831
class ExtACKeywords;
 
2832
class ExtGnu;
 
2833
class PragmaOnceUnitState;
 
2834
class PragmaOnce;
 
2835
class CMatchSyntax;
 
2836
namespace Puma {
 
2837
 
 
2838
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
2839
 
 
2840
#line 2841 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2841
} // closed Puma
 
2842
 
 
2843
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2844
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
2845
 
 
2846
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2974
2847
// This file is part of PUMA.
2975
2848
// Copyright (C) 1999-2003  The PUMA developer team.
2976
2849
//                                                                
2992
2865
#ifndef __PragmaOnceUnitState__
2993
2866
#define __PragmaOnceUnitState__
2994
2867
 
2995
 
using namespace Puma;
2996
 
 
2997
 
 
2998
 
#line 2999 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2868
 
 
2869
#line 2870 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2870
class CCExprResolve;
 
2871
class CExprResolve;
2999
2872
class WinIfExists;
3000
2873
class WinImportHandler;
3001
2874
class WinMacros;
3002
 
class CMatchSyntax;
3003
 
class ExtGnu;
 
2875
class WinAsm;
 
2876
class WinDeclSpecs;
 
2877
class WinMemberExplSpec;
 
2878
class WinTypeKeywords;
 
2879
class WinFriend;
3004
2880
class ExtAC;
3005
2881
class ExtACBuilderCoupling;
3006
2882
class ExtACSyntaxCoupling;
3007
2883
class ExtACTree;
3008
2884
class ExtACKeywords;
3009
 
class WinAsm;
3010
 
class WinDeclSpecs;
3011
 
class WinMemberExplSpec;
3012
 
class WinTypeKeywords;
 
2885
class ExtGnu;
3013
2886
class PragmaOnce;
3014
 
class CCExprResolve;
3015
 
class CExprResolve;
 
2887
class CMatchSyntax;
3016
2888
 
3017
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2889
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3018
2890
class PragmaOnceUnitState {
3019
 
#line 3020 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2891
#line 2892 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3020
2892
 
3021
2893
public:
3022
2894
  static PragmaOnceUnitState *aspectof () {
3028
2900
  }
3029
2901
private:
3030
2902
 
3031
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2903
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3032
2904
 
3033
 
#line 3034 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2905
#line 2906 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2906
  friend class ::CCExprResolve;
 
2907
  friend class ::CExprResolve;
3034
2908
  friend class ::WinIfExists;
3035
2909
  friend class ::WinImportHandler;
3036
2910
  friend class ::WinMacros;
3037
 
  friend class ::CMatchSyntax;
3038
 
  friend class ::ExtGnu;
 
2911
  friend class ::WinAsm;
 
2912
  friend class ::WinDeclSpecs;
 
2913
  friend class ::WinMemberExplSpec;
 
2914
  friend class ::WinTypeKeywords;
 
2915
  friend class ::WinFriend;
3039
2916
  friend class ::ExtAC;
3040
2917
  friend class ::ExtACBuilderCoupling;
3041
2918
  friend class ::ExtACSyntaxCoupling;
3042
2919
  friend class ::ExtACTree;
3043
2920
  friend class ::ExtACKeywords;
3044
 
  friend class ::WinAsm;
3045
 
  friend class ::WinDeclSpecs;
3046
 
  friend class ::WinMemberExplSpec;
3047
 
  friend class ::WinTypeKeywords;
 
2921
  friend class ::ExtGnu;
3048
2922
  friend class ::PragmaOnce;
3049
 
  friend class ::CCExprResolve;
3050
 
  friend class ::CExprResolve;
 
2923
  friend class ::CMatchSyntax;
3051
2924
 
3052
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2925
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3053
2926
 
3054
2927
  /******************************************************/
3055
2928
  /* specific #pragma once unit state                   */
3057
2930
 
3058
2931
  // pointcut definitions
3059
2932
  
3060
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2933
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3061
2934
 
3062
2935
 
3063
2936
  
3064
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2937
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3065
2938
 
3066
2939
  
3067
2940
  // initialize new state flag
3068
2941
  
3069
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2942
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3070
2943
 
3071
2944
public: template<class JoinPoint> void __a0_after 
3072
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2945
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3073
2946
 
3074
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2947
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3075
2948
(JoinPoint *tjp)
3076
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2949
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3077
2950
 {
3078
 
#line 3079 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2951
#line 2952 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3079
2952
 
3080
2953
  JoinPoint *&thisJoinPoint = tjp;
3081
2954
 
3082
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2955
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3083
2956
 
3084
 
#line 3085 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
2957
#line 2958 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3085
2958
 
3086
2959
  typedef typename JoinPoint::That __JP_That;
3087
2960
  typedef typename JoinPoint::Target __JP_Target;
3088
2961
  typedef typename JoinPoint::Result __JP_Result;
3089
2962
 
3090
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2963
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3091
2964
 
3092
2965
    thisJoinPoint->that ()->_once = false;
3093
2966
  }
3094
 
#line 3095 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
3095
 
 
3096
 
private:
3097
 
 
3098
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2967
#line 2968 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2968
 
 
2969
private:
 
2970
 
 
2971
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2972
 
 
2973
  
 
2974
  // initialize new flag for all managed units 
 
2975
  
 
2976
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2977
 
 
2978
public: template<class JoinPoint> void __a1_after 
 
2979
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2980
 
 
2981
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2982
(JoinPoint *tjp)
 
2983
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2984
 {
 
2985
#line 2986 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2986
 
 
2987
  typedef typename JoinPoint::That __JP_That;
 
2988
  typedef typename JoinPoint::Target __JP_Target;
 
2989
  typedef typename JoinPoint::Result __JP_Result;
 
2990
 
 
2991
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2992
 
 
2993
    // go through the whole unit hash table and reset the 
 
2994
    // `#pragma once' state of the units
 
2995
    typename __JP_That
 
2996
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
2997
::UMapIter iter;
 
2998
    for (iter = tjp->that()->_umap.begin (); iter != tjp->that()->_umap.end (); ++iter)
 
2999
      (*iter).second->state ().onlyOnce (false);
 
3000
  }
 
3001
#line 3002 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3002
 
 
3003
private:
 
3004
 
 
3005
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3099
3006
 
3100
3007
 
3101
3008
protected:
3102
3009
  // this aspect should never be instantiated directly
3103
3010
  PragmaOnceUnitState () {}
3104
3011
};
3105
 
#line 3106 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3012
#line 3013 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3106
3013
 
3107
3014
namespace AC {
3108
3015
  template <class JoinPoint>
3109
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
 
3016
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
3110
3017
    ::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
3111
3018
  }
 
3019
  template <class JoinPoint>
 
3020
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp) {
 
3021
    ::PragmaOnceUnitState::aspectof()->__a1_after (tjp);
 
3022
  }
3112
3023
3113
3024
 
3114
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3025
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3115
3026
 
3116
3027
 
3117
3028
 
3118
3029
#endif /* __PragmaOnceUnitState__ */
3119
3030
 
3120
 
#line 4 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3121
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
3122
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
3123
 
 
3124
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3125
 
// This file is part of PUMA.
3126
 
// Copyright (C) 1999-2003  The PUMA developer team.
3127
 
//                                                                
3128
 
// This program is free software;  you can redistribute it and/or 
3129
 
// modify it under the terms of the GNU General Public License as 
3130
 
// published by the Free Software Foundation; either version 2 of 
3131
 
// the License, or (at your option) any later version.            
3132
 
//                                                                
3133
 
// This program is distributed in the hope that it will be useful,
3134
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
3135
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
3136
 
// GNU General Public License for more details.                   
3137
 
//                                                                
3138
 
// You should have received a copy of the GNU General Public      
3139
 
// License along with this program; if not, write to the Free     
3140
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
3141
 
// MA  02111-1307  USA                                            
3142
 
 
3143
 
#ifndef __UnitState__
3144
 
#define __UnitState__
3145
 
 
3146
 
// The state of a unit: 
3147
 
// 1. modified by manipulations and not updated at the class registry
3148
 
// 2. modified by manipulations and updated at the class registry
3149
 
// 3. unmodified by manipulations and not updated at the class registry
3150
 
// 4. unmodified by manipulations and updated at the class registry
3151
 
 
3152
 
namespace Puma {
3153
 
 
3154
 
 
3155
 
 
3156
 
#line 3157 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
3157
 
} // closed Puma
3158
 
class WinIfExists;
3159
 
class WinImportHandler;
3160
 
class WinMacros;
3161
 
class CMatchSyntax;
3162
 
class ExtGnu;
3163
 
class ExtAC;
3164
 
class ExtACBuilderCoupling;
3165
 
class ExtACSyntaxCoupling;
3166
 
class ExtACTree;
3167
 
class ExtACKeywords;
3168
 
class WinAsm;
3169
 
class WinDeclSpecs;
3170
 
class WinMemberExplSpec;
3171
 
class WinTypeKeywords;
3172
 
class PragmaOnceUnitState;
3173
 
class PragmaOnce;
3174
 
class CCExprResolve;
3175
 
class CExprResolve;
3176
 
namespace Puma {
3177
 
 
3178
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3031
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3032
#endif
 
3033
namespace Puma {
 
3034
 
 
3035
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3179
3036
class UnitState {
3180
 
#line 3181 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3037
#line 3038 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3038
  friend class ::CCExprResolve;
 
3039
  friend class ::CExprResolve;
3181
3040
  friend class ::WinIfExists;
3182
3041
  friend class ::WinImportHandler;
3183
3042
  friend class ::WinMacros;
3184
 
  friend class ::CMatchSyntax;
3185
 
  friend class ::ExtGnu;
 
3043
  friend class ::WinAsm;
 
3044
  friend class ::WinDeclSpecs;
 
3045
  friend class ::WinMemberExplSpec;
 
3046
  friend class ::WinTypeKeywords;
 
3047
  friend class ::WinFriend;
3186
3048
  friend class ::ExtAC;
3187
3049
  friend class ::ExtACBuilderCoupling;
3188
3050
  friend class ::ExtACSyntaxCoupling;
3189
3051
  friend class ::ExtACTree;
3190
3052
  friend class ::ExtACKeywords;
3191
 
  friend class ::WinAsm;
3192
 
  friend class ::WinDeclSpecs;
3193
 
  friend class ::WinMemberExplSpec;
3194
 
  friend class ::WinTypeKeywords;
 
3053
  friend class ::ExtGnu;
3195
3054
  friend class ::PragmaOnceUnitState;
3196
3055
  friend class ::PragmaOnce;
3197
 
  friend class ::CCExprResolve;
3198
 
  friend class ::CExprResolve;
 
3056
  friend class ::CMatchSyntax;
3199
3057
 
3200
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3058
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3201
3059
 
3202
3060
  bool _modified;
3203
3061
  bool _updated;
3205
3063
      
3206
3064
public:
3207
3065
  
3208
 
#line 3209 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
3209
 
public: inline void __exec_old_C1();
 
3066
#line 3067 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3067
public: __attribute__((always_inline)) inline void __exec_old_C1();
3210
3068
 
3211
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3069
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3212
3070
UnitState ();
3213
3071
      
3214
3072
  bool isModified () const;
3222
3080
  void updated ();
3223
3081
   private:
3224
3082
 
3225
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3083
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3226
3084
 bool _once ;
3227
3085
public :
3228
3086
 
3229
3087
bool onlyOnce ( ) const { return _once ; }
3230
3088
void onlyOnce ( bool v ) { _once = v ; }
3231
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3232
 
 
3233
 
#line 3234 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
3234
 
 
3235
 
struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
3236
 
  typedef void Result;
3237
 
  typedef ::Puma::UnitState That;
3238
 
  typedef ::Puma::UnitState Target;
3239
 
  static const int JPID = 5;
 
3089
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3090
 
 
3091
#line 3092 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3092
 
 
3093
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
 
3094
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 __TJP;
 
3095
  typedef TResult Result;
 
3096
  typedef TThat   That;
 
3097
  typedef TTarget Target;
 
3098
  enum { ARGS = TArgs::ARGS };
 
3099
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
3100
  static const int JPID = 3512;
3240
3101
  static const AC::JPType JPTYPE = (AC::JPType)16;
3241
3102
  struct Res {
3242
3103
    typedef void Type;
3243
3104
    typedef void ReferredType;
3244
3105
  };
3245
 
  enum { ARGS = 1 };
3246
 
  template <int I, int DUMMY = 0> struct Arg {
3247
 
    typedef void Type;
3248
 
    typedef void ReferredType;
3249
 
  };
3250
 
  template <int DUMMY> struct Arg<0, DUMMY> {
3251
 
    typedef const ::Puma::UnitState & Type;
3252
 
    typedef const ::Puma::UnitState ReferredType;
3253
 
  };
3254
3106
 
3255
3107
  That *_that;
3256
3108
 
3259
3111
};
3260
3112
 
3261
3113
 
3262
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3114
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3263
3115
 
3264
 
#line 3265 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3116
#line 3117 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3265
3117
 
3266
3118
public:
3267
3119
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
3268
 
  TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 tjp;
3269
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0::That*)this;
3270
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0> (&tjp);
 
3120
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TL< const ::Puma::UnitState & , AC::TLE > > __TJP;
 
3121
  __TJP tjp;
 
3122
  tjp._that =  (__TJP::That*)this;
 
3123
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
3271
3124
 
3272
3125
}
3273
3126
 
3274
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3127
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3275
3128
};
3276
3129
 
3277
3130
 
3278
 
#line 3279 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
3279
 
 
3280
 
 
3281
 
struct TJP__ZN4Puma9UnitStateC1Ev_0 {
3282
 
  typedef void Result;
3283
 
  typedef ::Puma::UnitState That;
3284
 
  typedef ::Puma::UnitState Target;
3285
 
  static const int JPID = 5;
 
3131
#line 3132 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3132
 
 
3133
 
 
3134
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1Ev_0 {
 
3135
  typedef TJP__ZN4Puma9UnitStateC1Ev_0 __TJP;
 
3136
  typedef TResult Result;
 
3137
  typedef TThat   That;
 
3138
  typedef TTarget Target;
 
3139
  enum { ARGS = TArgs::ARGS };
 
3140
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
3141
  static const int JPID = 3488;
3286
3142
  static const AC::JPType JPTYPE = (AC::JPType)16;
3287
3143
  struct Res {
3288
3144
    typedef void Type;
3289
3145
    typedef void ReferredType;
3290
3146
  };
3291
 
  enum { ARGS = 0 };
3292
 
  template <int I, int DUMMY = 0> struct Arg {
3293
 
    typedef void Type;
3294
 
    typedef void ReferredType;
3295
 
  };
3296
3147
 
3297
3148
  That *_that;
3298
3149
 
3301
3152
};
3302
3153
 
3303
3154
 
3304
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3155
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3305
3156
inline UnitState::UnitState ()
3306
3157
 
3307
 
#line 3308 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3158
#line 3159 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3308
3159
{
3309
 
  TJP__ZN4Puma9UnitStateC1Ev_0 tjp;
3310
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1Ev_0::That*)this;
3311
 
this->__exec_old_C1();
3312
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1Ev_0> (&tjp);
3313
 
 
 
3160
  typedef TJP__ZN4Puma9UnitStateC1Ev_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TLE > __TJP;
 
3161
    __TJP tjp;
 
3162
  tjp._that =  (__TJP::That*)this;
 
3163
    this->__exec_old_C1();
 
3164
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
 
3165
  
3314
3166
}
3315
 
inline void Puma::UnitState::__exec_old_C1()
3316
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3167
__attribute__((always_inline)) inline void Puma::UnitState::__exec_old_C1()
 
3168
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
3317
3169
{ _modified = false; _updated = false; _lastModified = 0; }
3318
3170
 
3319
3171
inline bool UnitState::isModified () const 
3337
3189
 
3338
3190
#endif /* __UnitState__ */
3339
3191
 
3340
 
#line 3341 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
3341
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
3342
 
 
3343
 
#line 72 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3344
 
 
3345
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
3192
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
3346
3193
namespace Puma {
3347
3194
 
3348
3195
 
3349
3196
 
3350
 
#line 3351 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3197
#line 3198 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3351
3198
} // closed Puma
 
3199
class CCExprResolve;
 
3200
class CExprResolve;
3352
3201
class WinIfExists;
3353
3202
class WinImportHandler;
3354
3203
class WinMacros;
3355
 
class CMatchSyntax;
3356
 
class ExtGnu;
 
3204
class WinAsm;
 
3205
class WinDeclSpecs;
 
3206
class WinMemberExplSpec;
 
3207
class WinTypeKeywords;
 
3208
class WinFriend;
3357
3209
class ExtAC;
3358
3210
class ExtACBuilderCoupling;
3359
3211
class ExtACSyntaxCoupling;
3360
3212
class ExtACTree;
3361
3213
class ExtACKeywords;
3362
 
class WinAsm;
3363
 
class WinDeclSpecs;
3364
 
class WinMemberExplSpec;
3365
 
class WinTypeKeywords;
 
3214
class ExtGnu;
3366
3215
class PragmaOnceUnitState;
3367
3216
class PragmaOnce;
3368
 
class CCExprResolve;
3369
 
class CExprResolve;
 
3217
class CMatchSyntax;
3370
3218
namespace Puma {
3371
3219
 
3372
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
3220
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
3373
3221
class Unit : public List, public Printable {
3374
 
#line 3375 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3222
#line 3223 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3223
  friend class ::CCExprResolve;
 
3224
  friend class ::CExprResolve;
3375
3225
  friend class ::WinIfExists;
3376
3226
  friend class ::WinImportHandler;
3377
3227
  friend class ::WinMacros;
3378
 
  friend class ::CMatchSyntax;
3379
 
  friend class ::ExtGnu;
 
3228
  friend class ::WinAsm;
 
3229
  friend class ::WinDeclSpecs;
 
3230
  friend class ::WinMemberExplSpec;
 
3231
  friend class ::WinTypeKeywords;
 
3232
  friend class ::WinFriend;
3380
3233
  friend class ::ExtAC;
3381
3234
  friend class ::ExtACBuilderCoupling;
3382
3235
  friend class ::ExtACSyntaxCoupling;
3383
3236
  friend class ::ExtACTree;
3384
3237
  friend class ::ExtACKeywords;
3385
 
  friend class ::WinAsm;
3386
 
  friend class ::WinDeclSpecs;
3387
 
  friend class ::WinMemberExplSpec;
3388
 
  friend class ::WinTypeKeywords;
 
3238
  friend class ::ExtGnu;
3389
3239
  friend class ::PragmaOnceUnitState;
3390
3240
  friend class ::PragmaOnce;
3391
 
  friend class ::CCExprResolve;
3392
 
  friend class ::CExprResolve;
 
3241
  friend class ::CMatchSyntax;
3393
3242
 
3394
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
3243
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
3395
3244
 
3396
3245
  char *_name;
3397
3246
  UnitState _state;
3413
3262
 
3414
3263
#endif /* __unit_h__ */
3415
3264
 
3416
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3265
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3417
3266
namespace Puma {
3418
3267
 
3419
3268
 
3420
3269
 
3421
 
#line 3422 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3270
#line 3271 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3422
3271
} // closed Puma
 
3272
class CCExprResolve;
 
3273
class CExprResolve;
3423
3274
class WinIfExists;
3424
3275
class WinImportHandler;
3425
3276
class WinMacros;
3426
 
class CMatchSyntax;
3427
 
class ExtGnu;
 
3277
class WinAsm;
 
3278
class WinDeclSpecs;
 
3279
class WinMemberExplSpec;
 
3280
class WinTypeKeywords;
 
3281
class WinFriend;
3428
3282
class ExtAC;
3429
3283
class ExtACBuilderCoupling;
3430
3284
class ExtACSyntaxCoupling;
3431
3285
class ExtACTree;
3432
3286
class ExtACKeywords;
3433
 
class WinAsm;
3434
 
class WinDeclSpecs;
3435
 
class WinMemberExplSpec;
3436
 
class WinTypeKeywords;
 
3287
class ExtGnu;
3437
3288
class PragmaOnceUnitState;
3438
3289
class PragmaOnce;
3439
 
class CCExprResolve;
3440
 
class CExprResolve;
 
3290
class CMatchSyntax;
3441
3291
namespace Puma {
3442
3292
 
3443
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3293
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3444
3294
class Tokenizer {
3445
 
#line 3446 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3295
#line 3296 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3296
  friend class ::CCExprResolve;
 
3297
  friend class ::CExprResolve;
3446
3298
  friend class ::WinIfExists;
3447
3299
  friend class ::WinImportHandler;
3448
3300
  friend class ::WinMacros;
3449
 
  friend class ::CMatchSyntax;
3450
 
  friend class ::ExtGnu;
 
3301
  friend class ::WinAsm;
 
3302
  friend class ::WinDeclSpecs;
 
3303
  friend class ::WinMemberExplSpec;
 
3304
  friend class ::WinTypeKeywords;
 
3305
  friend class ::WinFriend;
3451
3306
  friend class ::ExtAC;
3452
3307
  friend class ::ExtACBuilderCoupling;
3453
3308
  friend class ::ExtACSyntaxCoupling;
3454
3309
  friend class ::ExtACTree;
3455
3310
  friend class ::ExtACKeywords;
3456
 
  friend class ::WinAsm;
3457
 
  friend class ::WinDeclSpecs;
3458
 
  friend class ::WinMemberExplSpec;
3459
 
  friend class ::WinTypeKeywords;
 
3311
  friend class ::ExtGnu;
3460
3312
  friend class ::PragmaOnceUnitState;
3461
3313
  friend class ::PragmaOnce;
3462
 
  friend class ::CCExprResolve;
3463
 
  friend class ::CExprResolve;
 
3314
  friend class ::CMatchSyntax;
3464
3315
 
3465
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3316
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3466
3317
 
3467
3318
public:
3468
3319
  virtual ~Tokenizer () {}
3474
3325
 
3475
3326
#endif /* __Tokenizer_h__ */
3476
3327
 
3477
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3328
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3478
3329
// This file is part of PUMA.
3479
3330
// Copyright (C) 1999-2003  The PUMA developer team.
3480
3331
//                                                                
3509
3360
// messages or collect them for a later processing.
3510
3361
 
3511
3362
 
3512
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3363
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3513
3364
// This file is part of PUMA.
3514
3365
// Copyright (C) 1999-2003  The PUMA developer team.
3515
3366
//                                                                
3537
3388
 
3538
3389
 
3539
3390
 
3540
 
#line 3541 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3391
#line 3392 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3541
3392
} // closed Puma
 
3393
class CCExprResolve;
 
3394
class CExprResolve;
3542
3395
class WinIfExists;
3543
3396
class WinImportHandler;
3544
3397
class WinMacros;
3545
 
class CMatchSyntax;
3546
 
class ExtGnu;
 
3398
class WinAsm;
 
3399
class WinDeclSpecs;
 
3400
class WinMemberExplSpec;
 
3401
class WinTypeKeywords;
 
3402
class WinFriend;
3547
3403
class ExtAC;
3548
3404
class ExtACBuilderCoupling;
3549
3405
class ExtACSyntaxCoupling;
3550
3406
class ExtACTree;
3551
3407
class ExtACKeywords;
3552
 
class WinAsm;
3553
 
class WinDeclSpecs;
3554
 
class WinMemberExplSpec;
3555
 
class WinTypeKeywords;
 
3408
class ExtGnu;
3556
3409
class PragmaOnceUnitState;
3557
3410
class PragmaOnce;
3558
 
class CCExprResolve;
3559
 
class CExprResolve;
 
3411
class CMatchSyntax;
3560
3412
namespace Puma {
3561
3413
 
3562
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3414
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3563
3415
class ErrorSeverity {
3564
 
#line 3565 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3416
#line 3417 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3417
  friend class ::CCExprResolve;
 
3418
  friend class ::CExprResolve;
3565
3419
  friend class ::WinIfExists;
3566
3420
  friend class ::WinImportHandler;
3567
3421
  friend class ::WinMacros;
3568
 
  friend class ::CMatchSyntax;
3569
 
  friend class ::ExtGnu;
 
3422
  friend class ::WinAsm;
 
3423
  friend class ::WinDeclSpecs;
 
3424
  friend class ::WinMemberExplSpec;
 
3425
  friend class ::WinTypeKeywords;
 
3426
  friend class ::WinFriend;
3570
3427
  friend class ::ExtAC;
3571
3428
  friend class ::ExtACBuilderCoupling;
3572
3429
  friend class ::ExtACSyntaxCoupling;
3573
3430
  friend class ::ExtACTree;
3574
3431
  friend class ::ExtACKeywords;
3575
 
  friend class ::WinAsm;
3576
 
  friend class ::WinDeclSpecs;
3577
 
  friend class ::WinMemberExplSpec;
3578
 
  friend class ::WinTypeKeywords;
 
3432
  friend class ::ExtGnu;
3579
3433
  friend class ::PragmaOnceUnitState;
3580
3434
  friend class ::PragmaOnce;
3581
 
  friend class ::CCExprResolve;
3582
 
  friend class ::CExprResolve;
 
3435
  friend class ::CMatchSyntax;
3583
3436
 
3584
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3437
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3585
3438
 
3586
3439
  unsigned short _severity;
3587
3440
  const char *_text;
3621
3474
 
3622
3475
#endif /* __error_severity_h__ */
3623
3476
 
3624
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3477
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3625
3478
namespace Puma {
3626
3479
 
3627
3480
 
3628
3481
 
3629
 
#line 3630 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3482
#line 3483 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3630
3483
} // closed Puma
 
3484
class CCExprResolve;
 
3485
class CExprResolve;
3631
3486
class WinIfExists;
3632
3487
class WinImportHandler;
3633
3488
class WinMacros;
3634
 
class CMatchSyntax;
3635
 
class ExtGnu;
 
3489
class WinAsm;
 
3490
class WinDeclSpecs;
 
3491
class WinMemberExplSpec;
 
3492
class WinTypeKeywords;
 
3493
class WinFriend;
3636
3494
class ExtAC;
3637
3495
class ExtACBuilderCoupling;
3638
3496
class ExtACSyntaxCoupling;
3639
3497
class ExtACTree;
3640
3498
class ExtACKeywords;
3641
 
class WinAsm;
3642
 
class WinDeclSpecs;
3643
 
class WinMemberExplSpec;
3644
 
class WinTypeKeywords;
 
3499
class ExtGnu;
3645
3500
class PragmaOnceUnitState;
3646
3501
class PragmaOnce;
3647
 
class CCExprResolve;
3648
 
class CExprResolve;
 
3502
class CMatchSyntax;
3649
3503
namespace Puma {
3650
3504
 
3651
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3505
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3652
3506
class ErrorSink {
3653
 
#line 3654 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3507
#line 3508 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3508
  friend class ::CCExprResolve;
 
3509
  friend class ::CExprResolve;
3654
3510
  friend class ::WinIfExists;
3655
3511
  friend class ::WinImportHandler;
3656
3512
  friend class ::WinMacros;
3657
 
  friend class ::CMatchSyntax;
3658
 
  friend class ::ExtGnu;
 
3513
  friend class ::WinAsm;
 
3514
  friend class ::WinDeclSpecs;
 
3515
  friend class ::WinMemberExplSpec;
 
3516
  friend class ::WinTypeKeywords;
 
3517
  friend class ::WinFriend;
3659
3518
  friend class ::ExtAC;
3660
3519
  friend class ::ExtACBuilderCoupling;
3661
3520
  friend class ::ExtACSyntaxCoupling;
3662
3521
  friend class ::ExtACTree;
3663
3522
  friend class ::ExtACKeywords;
3664
 
  friend class ::WinAsm;
3665
 
  friend class ::WinDeclSpecs;
3666
 
  friend class ::WinMemberExplSpec;
3667
 
  friend class ::WinTypeKeywords;
 
3523
  friend class ::ExtGnu;
3668
3524
  friend class ::PragmaOnceUnitState;
3669
3525
  friend class ::PragmaOnce;
3670
 
  friend class ::CCExprResolve;
3671
 
  friend class ::CExprResolve;
 
3526
  friend class ::CMatchSyntax;
3672
3527
 
3673
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3528
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3674
3529
 
3675
3530
public:
3676
3531
  virtual ~ErrorSink () {}
3695
3550
 
3696
3551
#endif /* __error_sink_h__ */
3697
3552
 
3698
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
3553
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
3699
3554
// This file is part of PUMA.
3700
3555
// Copyright (C) 1999-2003  The PUMA developer team.
3701
3556
//                                                                
3721
3576
// information from file or command line.
3722
3577
 
3723
3578
 
3724
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
3579
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
3725
3580
// This file is part of PUMA.
3726
3581
// Copyright (C) 1999-2003  The PUMA developer team.
3727
3582
//                                                                
3747
3602
 
3748
3603
 
3749
3604
 
3750
 
#line 3751 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3605
#line 3606 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3751
3606
} // closed Puma
 
3607
class CCExprResolve;
 
3608
class CExprResolve;
3752
3609
class WinIfExists;
3753
3610
class WinImportHandler;
3754
3611
class WinMacros;
3755
 
class CMatchSyntax;
3756
 
class ExtGnu;
 
3612
class WinAsm;
 
3613
class WinDeclSpecs;
 
3614
class WinMemberExplSpec;
 
3615
class WinTypeKeywords;
 
3616
class WinFriend;
3757
3617
class ExtAC;
3758
3618
class ExtACBuilderCoupling;
3759
3619
class ExtACSyntaxCoupling;
3760
3620
class ExtACTree;
3761
3621
class ExtACKeywords;
3762
 
class WinAsm;
3763
 
class WinDeclSpecs;
3764
 
class WinMemberExplSpec;
3765
 
class WinTypeKeywords;
 
3622
class ExtGnu;
3766
3623
class PragmaOnceUnitState;
3767
3624
class PragmaOnce;
3768
 
class CCExprResolve;
3769
 
class CExprResolve;
 
3625
class CMatchSyntax;
3770
3626
namespace Puma {
3771
3627
 
3772
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
3628
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
3773
3629
class Flags {
3774
 
#line 3775 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3630
#line 3631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3631
  friend class ::CCExprResolve;
 
3632
  friend class ::CExprResolve;
3775
3633
  friend class ::WinIfExists;
3776
3634
  friend class ::WinImportHandler;
3777
3635
  friend class ::WinMacros;
3778
 
  friend class ::CMatchSyntax;
3779
 
  friend class ::ExtGnu;
 
3636
  friend class ::WinAsm;
 
3637
  friend class ::WinDeclSpecs;
 
3638
  friend class ::WinMemberExplSpec;
 
3639
  friend class ::WinTypeKeywords;
 
3640
  friend class ::WinFriend;
3780
3641
  friend class ::ExtAC;
3781
3642
  friend class ::ExtACBuilderCoupling;
3782
3643
  friend class ::ExtACSyntaxCoupling;
3783
3644
  friend class ::ExtACTree;
3784
3645
  friend class ::ExtACKeywords;
3785
 
  friend class ::WinAsm;
3786
 
  friend class ::WinDeclSpecs;
3787
 
  friend class ::WinMemberExplSpec;
3788
 
  friend class ::WinTypeKeywords;
 
3646
  friend class ::ExtGnu;
3789
3647
  friend class ::PragmaOnceUnitState;
3790
3648
  friend class ::PragmaOnce;
3791
 
  friend class ::CCExprResolve;
3792
 
  friend class ::CExprResolve;
 
3649
  friend class ::CMatchSyntax;
3793
3650
 
3794
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
3651
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
3795
3652
 
3796
3653
public:
3797
3654
  enum Flag {
3855
3712
 
3856
3713
#endif /* __Flags_h__ */
3857
3714
 
3858
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
3715
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3859
3716
// This file is part of PUMA.
3860
3717
// Copyright (C) 1999-2003  The PUMA developer team.
3861
3718
//                                                                
3878
3735
#define __ConfOption_h__
3879
3736
 
3880
3737
 
3881
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
3738
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3882
3739
#include <stdlib.h>
3883
3740
 
3884
3741
namespace Puma {
3885
3742
 
3886
3743
 
3887
3744
 
3888
 
#line 3889 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3745
#line 3746 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
3889
3746
} // closed Puma
 
3747
class CCExprResolve;
 
3748
class CExprResolve;
3890
3749
class WinIfExists;
3891
3750
class WinImportHandler;
3892
3751
class WinMacros;
3893
 
class CMatchSyntax;
3894
 
class ExtGnu;
 
3752
class WinAsm;
 
3753
class WinDeclSpecs;
 
3754
class WinMemberExplSpec;
 
3755
class WinTypeKeywords;
 
3756
class WinFriend;
3895
3757
class ExtAC;
3896
3758
class ExtACBuilderCoupling;
3897
3759
class ExtACSyntaxCoupling;
3898
3760
class ExtACTree;
3899
3761
class ExtACKeywords;
3900
 
class WinAsm;
3901
 
class WinDeclSpecs;
3902
 
class WinMemberExplSpec;
3903
 
class WinTypeKeywords;
 
3762
class ExtGnu;
3904
3763
class PragmaOnceUnitState;
3905
3764
class PragmaOnce;
3906
 
class CCExprResolve;
3907
 
class CExprResolve;
 
3765
class CMatchSyntax;
3908
3766
namespace Puma {
3909
3767
 
3910
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
3768
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3911
3769
class ConfOption {
3912
 
#line 3913 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3770
#line 3771 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3771
  friend class ::CCExprResolve;
 
3772
  friend class ::CExprResolve;
3913
3773
  friend class ::WinIfExists;
3914
3774
  friend class ::WinImportHandler;
3915
3775
  friend class ::WinMacros;
3916
 
  friend class ::CMatchSyntax;
3917
 
  friend class ::ExtGnu;
 
3776
  friend class ::WinAsm;
 
3777
  friend class ::WinDeclSpecs;
 
3778
  friend class ::WinMemberExplSpec;
 
3779
  friend class ::WinTypeKeywords;
 
3780
  friend class ::WinFriend;
3918
3781
  friend class ::ExtAC;
3919
3782
  friend class ::ExtACBuilderCoupling;
3920
3783
  friend class ::ExtACSyntaxCoupling;
3921
3784
  friend class ::ExtACTree;
3922
3785
  friend class ::ExtACKeywords;
3923
 
  friend class ::WinAsm;
3924
 
  friend class ::WinDeclSpecs;
3925
 
  friend class ::WinMemberExplSpec;
3926
 
  friend class ::WinTypeKeywords;
 
3786
  friend class ::ExtGnu;
3927
3787
  friend class ::PragmaOnceUnitState;
3928
3788
  friend class ::PragmaOnce;
3929
 
  friend class ::CCExprResolve;
3930
 
  friend class ::CExprResolve;
 
3789
  friend class ::CMatchSyntax;
3931
3790
 
3932
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
3791
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3933
3792
 
3934
3793
  const char *_name;
3935
3794
  Array<const char *> _args;
3975
3834
 
3976
3835
#endif /* __ConfOption_h__ */
3977
3836
 
3978
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3837
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3979
3838
// This file is part of PUMA.
3980
3839
// Copyright (C) 1999-2003  The PUMA developer team.
3981
3840
//                                                                
4003
3862
 
4004
3863
#include <sstream>
4005
3864
 
4006
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3865
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4007
3866
using namespace std;
4008
3867
 
4009
3868
namespace Puma {
4010
3869
 
4011
3870
 
4012
3871
 
4013
 
#line 4014 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3872
#line 3873 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
4014
3873
} // closed Puma
 
3874
class CCExprResolve;
 
3875
class CExprResolve;
4015
3876
class WinIfExists;
4016
3877
class WinImportHandler;
4017
3878
class WinMacros;
4018
 
class CMatchSyntax;
4019
 
class ExtGnu;
 
3879
class WinAsm;
 
3880
class WinDeclSpecs;
 
3881
class WinMemberExplSpec;
 
3882
class WinTypeKeywords;
 
3883
class WinFriend;
4020
3884
class ExtAC;
4021
3885
class ExtACBuilderCoupling;
4022
3886
class ExtACSyntaxCoupling;
4023
3887
class ExtACTree;
4024
3888
class ExtACKeywords;
4025
 
class WinAsm;
4026
 
class WinDeclSpecs;
4027
 
class WinMemberExplSpec;
4028
 
class WinTypeKeywords;
 
3889
class ExtGnu;
4029
3890
class PragmaOnceUnitState;
4030
3891
class PragmaOnce;
4031
 
class CCExprResolve;
4032
 
class CExprResolve;
 
3892
class CMatchSyntax;
4033
3893
namespace Puma {
4034
3894
 
4035
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3895
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4036
3896
class ErrorStream : public ErrorSink {
4037
 
#line 4038 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
3897
#line 3898 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3898
  friend class ::CCExprResolve;
 
3899
  friend class ::CExprResolve;
4038
3900
  friend class ::WinIfExists;
4039
3901
  friend class ::WinImportHandler;
4040
3902
  friend class ::WinMacros;
4041
 
  friend class ::CMatchSyntax;
4042
 
  friend class ::ExtGnu;
 
3903
  friend class ::WinAsm;
 
3904
  friend class ::WinDeclSpecs;
 
3905
  friend class ::WinMemberExplSpec;
 
3906
  friend class ::WinTypeKeywords;
 
3907
  friend class ::WinFriend;
4043
3908
  friend class ::ExtAC;
4044
3909
  friend class ::ExtACBuilderCoupling;
4045
3910
  friend class ::ExtACSyntaxCoupling;
4046
3911
  friend class ::ExtACTree;
4047
3912
  friend class ::ExtACKeywords;
4048
 
  friend class ::WinAsm;
4049
 
  friend class ::WinDeclSpecs;
4050
 
  friend class ::WinMemberExplSpec;
4051
 
  friend class ::WinTypeKeywords;
 
3913
  friend class ::ExtGnu;
4052
3914
  friend class ::PragmaOnceUnitState;
4053
3915
  friend class ::PragmaOnce;
4054
 
  friend class ::CCExprResolve;
4055
 
  friend class ::CExprResolve;
 
3916
  friend class ::CMatchSyntax;
4056
3917
 
4057
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
3918
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4058
3919
 
4059
3920
  ostream *_ostream;
4060
3921
  ErrorSeverity _max_severity;
4097
3958
 
4098
3959
#endif /* __error_stream_h__ */
4099
3960
 
4100
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
3961
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4101
3962
// This file is part of PUMA.
4102
3963
// Copyright (C) 1999-2003  The PUMA developer team.
4103
3964
//                                                                
4120
3981
#define __OptsParser_h__
4121
3982
 
4122
3983
 
4123
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
3984
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4124
3985
// This file is part of PUMA.
4125
3986
// Copyright (C) 1999-2003  The PUMA developer team.
4126
3987
//                                                                
4143
4004
#define __SimpleParser_h__
4144
4005
 
4145
4006
 
4146
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4007
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4147
4008
#include <vector>
4148
4009
using namespace std;
4149
4010
 
4150
4011
namespace Puma {
4151
4012
 
4152
4013
 
 
4014
/** 
 
4015
 * Simple string parser. 
 
4016
 * \class SimpleParser SimpleParser.h Puma/common/SimpleParser.h
 
4017
 */
4153
4018
 
4154
 
#line 4155 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4019
#line 4020 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
4155
4020
} // closed Puma
 
4021
class CCExprResolve;
 
4022
class CExprResolve;
4156
4023
class WinIfExists;
4157
4024
class WinImportHandler;
4158
4025
class WinMacros;
4159
 
class CMatchSyntax;
4160
 
class ExtGnu;
 
4026
class WinAsm;
 
4027
class WinDeclSpecs;
 
4028
class WinMemberExplSpec;
 
4029
class WinTypeKeywords;
 
4030
class WinFriend;
4161
4031
class ExtAC;
4162
4032
class ExtACBuilderCoupling;
4163
4033
class ExtACSyntaxCoupling;
4164
4034
class ExtACTree;
4165
4035
class ExtACKeywords;
4166
 
class WinAsm;
4167
 
class WinDeclSpecs;
4168
 
class WinMemberExplSpec;
4169
 
class WinTypeKeywords;
 
4036
class ExtGnu;
4170
4037
class PragmaOnceUnitState;
4171
4038
class PragmaOnce;
4172
 
class CCExprResolve;
4173
 
class CExprResolve;
 
4039
class CMatchSyntax;
4174
4040
namespace Puma {
4175
4041
 
4176
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4042
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4177
4043
class SimpleParser {
4178
 
#line 4179 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4044
#line 4045 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4045
  friend class ::CCExprResolve;
 
4046
  friend class ::CExprResolve;
4179
4047
  friend class ::WinIfExists;
4180
4048
  friend class ::WinImportHandler;
4181
4049
  friend class ::WinMacros;
4182
 
  friend class ::CMatchSyntax;
4183
 
  friend class ::ExtGnu;
 
4050
  friend class ::WinAsm;
 
4051
  friend class ::WinDeclSpecs;
 
4052
  friend class ::WinMemberExplSpec;
 
4053
  friend class ::WinTypeKeywords;
 
4054
  friend class ::WinFriend;
4184
4055
  friend class ::ExtAC;
4185
4056
  friend class ::ExtACBuilderCoupling;
4186
4057
  friend class ::ExtACSyntaxCoupling;
4187
4058
  friend class ::ExtACTree;
4188
4059
  friend class ::ExtACKeywords;
4189
 
  friend class ::WinAsm;
4190
 
  friend class ::WinDeclSpecs;
4191
 
  friend class ::WinMemberExplSpec;
4192
 
  friend class ::WinTypeKeywords;
 
4060
  friend class ::ExtGnu;
4193
4061
  friend class ::PragmaOnceUnitState;
4194
4062
  friend class ::PragmaOnce;
4195
 
  friend class ::CCExprResolve;
4196
 
  friend class ::CExprResolve;
 
4063
  friend class ::CMatchSyntax;
4197
4064
 
4198
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4065
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4199
4066
 
4200
4067
public:
4201
 
  SimpleParser() {}
4202
 
  ~SimpleParser() {}
4203
 
   
4204
 
  static int tokenize (const string &, vector<string> &, 
4205
 
                       const string &delimiters = " ");
4206
 
  static string strip (const string &);
 
4068
  /**
 
4069
   * Remove enclosing double-quotes from a string.
 
4070
   * \param str The string to strip.
 
4071
   * \return String without the enclosing double-quotes.
 
4072
   */
 
4073
  static string strip (const string& str);
 
4074
  /**
 
4075
   * Splits a given string into tokens recognized by the given delimiters.
 
4076
   * \param str The string to split.
 
4077
   * \param tokens A vector for the tokens.
 
4078
   * \param delimiters A string with the delimiters. Default is a space or tab.
 
4079
   * \return Number of recognized tokens.
 
4080
   */
 
4081
  static int tokenize (const string& str, vector<string>& tokens, const string& delimiters = " ");
 
4082
 
 
4083
private:
 
4084
  /**
 
4085
   * Get the position of the next token.
 
4086
   * \param line The string to tokenize.
 
4087
   * \param delimiters A string with the token delimiters.
 
4088
   * \param pos The current position in the string.
 
4089
   * \param lastPos The last position in the string.
 
4090
   * \return The position of the next token.
 
4091
   */
 
4092
  static string::size_type next (const string& line, const string& delimiters, string::size_type pos, string::size_type& lastPos);
 
4093
  /**
 
4094
   * Get the begin of the next token.
 
4095
   * \param line The string to tokenize.
 
4096
   * \param delimiters A string with the token delimiters.
 
4097
   * \param pos The current position in the string.
 
4098
   * \return The begin of the next token.
 
4099
   */
 
4100
  static string::size_type findBeginOfNextToken (const string& line, const string& delimiters, string::size_type pos);
 
4101
  /**
 
4102
   * Get the end of the next token.
 
4103
   * \param line The string to tokenize.
 
4104
   * \param delimiters A string with the token delimiters.
 
4105
   * \param lastPos The last position in the string, i.e. the begin of the next token.
 
4106
   * \return The end of the next token.
 
4107
   */
 
4108
  static string::size_type findEndOfNextToken (const string& line, const string& delimiters, string::size_type lastPos);
4207
4109
};
4208
4110
 
4209
4111
 
4211
4113
 
4212
4114
#endif /* __SimpleParser_h__ */
4213
4115
 
4214
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4116
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4215
4117
using namespace std;
4216
4118
 
4217
4119
namespace Puma {
4218
4120
 
4219
4121
 
 
4122
/** \brief The %Options %Parser searches command line parameters for options and
 
4123
 *  handles their option arguments, if applicable.
 
4124
 */
4220
4125
 
4221
 
#line 4222 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4126
#line 4127 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
4222
4127
} // closed Puma
 
4128
class CCExprResolve;
 
4129
class CExprResolve;
4223
4130
class WinIfExists;
4224
4131
class WinImportHandler;
4225
4132
class WinMacros;
4226
 
class CMatchSyntax;
4227
 
class ExtGnu;
 
4133
class WinAsm;
 
4134
class WinDeclSpecs;
 
4135
class WinMemberExplSpec;
 
4136
class WinTypeKeywords;
 
4137
class WinFriend;
4228
4138
class ExtAC;
4229
4139
class ExtACBuilderCoupling;
4230
4140
class ExtACSyntaxCoupling;
4231
4141
class ExtACTree;
4232
4142
class ExtACKeywords;
4233
 
class WinAsm;
4234
 
class WinDeclSpecs;
4235
 
class WinMemberExplSpec;
4236
 
class WinTypeKeywords;
 
4143
class ExtGnu;
4237
4144
class PragmaOnceUnitState;
4238
4145
class PragmaOnce;
4239
 
class CCExprResolve;
4240
 
class CExprResolve;
 
4146
class CMatchSyntax;
4241
4147
namespace Puma {
4242
4148
 
4243
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4149
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4244
4150
class OptsParser : public SimpleParser {
4245
 
#line 4246 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4151
#line 4152 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4152
  friend class ::CCExprResolve;
 
4153
  friend class ::CExprResolve;
4246
4154
  friend class ::WinIfExists;
4247
4155
  friend class ::WinImportHandler;
4248
4156
  friend class ::WinMacros;
4249
 
  friend class ::CMatchSyntax;
4250
 
  friend class ::ExtGnu;
 
4157
  friend class ::WinAsm;
 
4158
  friend class ::WinDeclSpecs;
 
4159
  friend class ::WinMemberExplSpec;
 
4160
  friend class ::WinTypeKeywords;
 
4161
  friend class ::WinFriend;
4251
4162
  friend class ::ExtAC;
4252
4163
  friend class ::ExtACBuilderCoupling;
4253
4164
  friend class ::ExtACSyntaxCoupling;
4254
4165
  friend class ::ExtACTree;
4255
4166
  friend class ::ExtACKeywords;
4256
 
  friend class ::WinAsm;
4257
 
  friend class ::WinDeclSpecs;
4258
 
  friend class ::WinMemberExplSpec;
4259
 
  friend class ::WinTypeKeywords;
 
4167
  friend class ::ExtGnu;
4260
4168
  friend class ::PragmaOnceUnitState;
4261
4169
  friend class ::PragmaOnce;
4262
 
  friend class ::CCExprResolve;
4263
 
  friend class ::CExprResolve;
4264
 
 
4265
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4266
 
 
 
4170
  friend class ::CMatchSyntax;
 
4171
 
 
4172
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4173
 
 
4174
  
 
4175
  
 
4176
  /** \brief Vector holding the commandline parameters. 
 
4177
   *  
 
4178
   *  This vector is filled in the constructor
 
4179
   */
4267
4180
  vector<string> m_argv;
 
4181
 
 
4182
  /** \brief Position of current parameter analyzed by the 
 
4183
   *  options parser.
 
4184
   */
4268
4185
  unsigned int m_curarg;
 
4186
  
 
4187
  /** \brief The increment added to m_curarg used to get to the next 
 
4188
   *  entry of m_argv which shall be analysed.
 
4189
   */
4269
4190
  unsigned int m_tonext;
 
4191
  
 
4192
  /** \brief %Option number of currently processed element of m_argv
 
4193
   */
4270
4194
  int m_number;
 
4195
  
 
4196
  /** \brief Name of current option
 
4197
   */
 
4198
  string m_opt;
4271
4199
 
 
4200
  /** \brief Value of current option argument
 
4201
   */
4272
4202
  string m_arg;
4273
 
  string m_opt;
 
4203
  
4274
4204
   
4275
4205
public:
4276
4206
  
4277
 
  enum {NOARG =-4, ERR = -3, NOOPTION = -2, UNKNOWN = -1, FINISH = 0 };
4278
 
  
4279
 
  enum ArgType { AT_NONE = 0, AT_MANDATORY = 1, AT_OPTIONAL = 2 };
4280
 
  
 
4207
  /** \enum
 
4208
   *  Return codes for OptsParser::getOption() and OptsParser::getArgument()
 
4209
   */
 
4210
  enum {
 
4211
     NOARG =-4, /**< %Option has no argument */
 
4212
     ERR = -3, /**< Error when parsing option */
 
4213
     NOOPTION = -2, /**< Command line parameter is not an option */
 
4214
     UNKNOWN = -1, /**< Parameter is an unknown option */
 
4215
     FINISH = 0 /**< All options are handled */
 
4216
  };
 
4217
  
 
4218
  /** \enum
 
4219
   *  Type of argument associated to an option  
 
4220
   */
 
4221
  enum ArgType { 
 
4222
     AT_NONE = 0, /**< %Option receives no argument */
 
4223
     AT_MANDATORY = 1, /**< %Option requires an argument */
 
4224
     AT_OPTIONAL = 2 /**< %Option has optionally an argument */
 
4225
  };
 
4226
  
 
4227
  /** \struct
 
4228
   *  Type for specifying an array of options recognized by the %Option %Parser.
 
4229
   *  An array of this type has to be passed to the constructor OptsParser::OptsParser()
 
4230
   */
4281
4231
  struct Option {
4282
 
#line 4283 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4232
#line 4233 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4233
  friend class ::CCExprResolve;
 
4234
  friend class ::CExprResolve;
4283
4235
  friend class ::WinIfExists;
4284
4236
  friend class ::WinImportHandler;
4285
4237
  friend class ::WinMacros;
4286
 
  friend class ::CMatchSyntax;
4287
 
  friend class ::ExtGnu;
 
4238
  friend class ::WinAsm;
 
4239
  friend class ::WinDeclSpecs;
 
4240
  friend class ::WinMemberExplSpec;
 
4241
  friend class ::WinTypeKeywords;
 
4242
  friend class ::WinFriend;
4288
4243
  friend class ::ExtAC;
4289
4244
  friend class ::ExtACBuilderCoupling;
4290
4245
  friend class ::ExtACSyntaxCoupling;
4291
4246
  friend class ::ExtACTree;
4292
4247
  friend class ::ExtACKeywords;
4293
 
  friend class ::WinAsm;
4294
 
  friend class ::WinDeclSpecs;
4295
 
  friend class ::WinMemberExplSpec;
4296
 
  friend class ::WinTypeKeywords;
 
4248
  friend class ::ExtGnu;
4297
4249
  friend class ::PragmaOnceUnitState;
4298
4250
  friend class ::PragmaOnce;
4299
 
  friend class ::CCExprResolve;
4300
 
  friend class ::CExprResolve;
4301
 
 
4302
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4303
 
 
4304
 
    int number;
4305
 
    char key; 
4306
 
    const char *name;
4307
 
    const char *desc;
4308
 
    ArgType args;
 
4251
  friend class ::CMatchSyntax;
 
4252
 
 
4253
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4254
 
 
4255
    int number; /**< Number associated with this option */
 
4256
    const char *shortName; /**< Short name of this option. Should ideally not contain more than one character */
 
4257
    const char *longName; /**< Long namen of this option */
 
4258
    const char *desc; /**< Description of this option **/ 
 
4259
    ArgType argType; /**< Type of argument for this option */
4309
4260
  };
4310
4261
 
4311
4262
private:
 
4263
  /** Pointer to array of available options. This value is set to the value of the 
 
4264
   * parameter passed to the constructor OptsParser::OptsParser()
 
4265
   */
4312
4266
  const Option *m_opts;
4313
4267
   
4314
4268
public:
4315
 
  OptsParser (int, char **, const Option *);
4316
 
  OptsParser (const string &, const Option *);
 
4269
  /** \brief Constructor of OptsParser
 
4270
   *  
 
4271
   *  \param argc Number of parameters to be analyzed
 
4272
   *  \param argv Parameters to be analyzed
 
4273
   *  \param opts Pointer to array of options which shall be
 
4274
   *              recognized by the options parser
 
4275
   *
 
4276
   */
 
4277
  OptsParser (int argc, char **argv, const Option *opts);
 
4278
  
 
4279
  /** \brief Constructor of OptsParser
 
4280
   *  
 
4281
   *  \param line Reference to string with parameters to analyse
 
4282
   *              The paramaters are extracted from the string by splitting it up 
 
4283
   *              into tokens at:
 
4284
   *               - space character
 
4285
   *               - tabs 
 
4286
   *               - newline
 
4287
   *               - carriage return
 
4288
   *  \param opts Pointer to array of options which shall be 
 
4289
   *              recognized by the options parser
 
4290
   */
 
4291
  OptsParser (const string &line, const Option *);
4317
4292
 
4318
 
  int getCurrentArgNum () const;
4319
 
  int getNextArgNum () const;
 
4293
  
 
4294
  /** Get next parameter without modification. 
 
4295
   * No option parsing is done
 
4296
   *
 
4297
   * \return OptsParser::NOOPTION or OptsParser::FINISH 
 
4298
   */
 
4299
  int getRawOption ();
 
4300
  
 
4301
  /** \brief Get next option
 
4302
   *
 
4303
   * This function processes the next parameter passed to the constructor 
 
4304
   * OptsParser::OptsParser(). 
 
4305
   * That is, search for options and eventually process
 
4306
   * option and option arguement. 
 
4307
   *
 
4308
   * \return Number of option recognized by the options parser or
 
4309
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
4310
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
4311
   *
 
4312
   */
4320
4313
  int getOption ();
 
4314
  
 
4315
  /** \brief Get result of last processed parameter
 
4316
   *
 
4317
   *  The number returned by this function is identical to the number 
 
4318
   *  returned by the last call of OptsParser::getOption
 
4319
   *   
 
4320
   * \return Number of option recognized by the options parser or
 
4321
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
4322
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
4323
   *
 
4324
   */
4321
4325
  int getResult () const;
4322
4326
  
 
4327
  /** \brief Get option argument of last processed parameter
 
4328
   *
 
4329
   *  This function returns the argument of the option processed during 
 
4330
   *  OptsParser::getOption. If the option does not provide any argument
 
4331
   *  the string will be empty.
 
4332
   *
 
4333
   *  If OptsParser::getOption or respectively OptsParser::getResult returns with 
 
4334
   *  OptsParser::NOOPTION this function (OptsParser::getArgument) returns the last processed parameter, 
 
4335
   *  which is no option, of course.
 
4336
   *
 
4337
   *  \return Argument of last processed parameter
 
4338
   */
4323
4339
  const string &getArgument () const;
 
4340
  
 
4341
  /** \brief Get option name of last processed parameter
 
4342
   *
 
4343
   *  If the last processed parameter did not contain an option the string 
 
4344
   *  returned by this function is empty.
 
4345
   *
 
4346
   *  \return Name of last processed parameter
 
4347
   *
 
4348
   */
4324
4349
  const string &getOptionName () const;
 
4350
  
 
4351
  /** \brief Get position of current argument
 
4352
   *
 
4353
   *  \return Position of currently processed parameter previously passed to OptsParser::OptsParser()
 
4354
   *
 
4355
   */
 
4356
  int getCurrentArgNum () const;
 
4357
  
 
4358
  /** \brief Get position of next argument
 
4359
   *
 
4360
   *  \return Position of next parameter which will be processed by the %Options %Parser
 
4361
   *
 
4362
   */
 
4363
  int getNextArgNum () const;
4325
4364
 
4326
 
  bool revokeArgument();
4327
 
   
4328
4365
private:
4329
 
  int  getShortOption (const string &);
4330
 
  int  getLongOption  (const string &);
4331
 
  bool processOption  (const string &, unsigned int,ArgType argtype);
 
4366
  /** Search for an option in m_argv at position m_curarg
 
4367
   *
 
4368
   *  \param arg Currently processed parameter 
 
4369
   */
 
4370
  const Option*  findOption(const string &arg, bool isLong);
 
4371
  
 
4372
  /** Process an option found by OptsParser::findOption(). 
 
4373
   */
 
4374
  bool processOption  (const string &arg, const Option* curOpt, bool isLong);
4332
4375
};
4333
4376
 
4334
4377
 
4336
4379
 
4337
4380
#endif /* __OptsParser_h__ */
4338
4381
 
4339
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4382
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
4340
4383
using namespace std;
4341
4384
 
4342
4385
namespace Puma {
4343
4386
 
4344
4387
 
4345
4388
 
4346
 
#line 4347 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4389
#line 4390 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
4347
4390
} // closed Puma
 
4391
class CCExprResolve;
 
4392
class CExprResolve;
4348
4393
class WinIfExists;
4349
4394
class WinImportHandler;
4350
4395
class WinMacros;
4351
 
class CMatchSyntax;
4352
 
class ExtGnu;
 
4396
class WinAsm;
 
4397
class WinDeclSpecs;
 
4398
class WinMemberExplSpec;
 
4399
class WinTypeKeywords;
 
4400
class WinFriend;
4353
4401
class ExtAC;
4354
4402
class ExtACBuilderCoupling;
4355
4403
class ExtACSyntaxCoupling;
4356
4404
class ExtACTree;
4357
4405
class ExtACKeywords;
4358
 
class WinAsm;
4359
 
class WinDeclSpecs;
4360
 
class WinMemberExplSpec;
4361
 
class WinTypeKeywords;
 
4406
class ExtGnu;
4362
4407
class PragmaOnceUnitState;
4363
4408
class PragmaOnce;
4364
 
class CCExprResolve;
4365
 
class CExprResolve;
 
4409
class CMatchSyntax;
4366
4410
namespace Puma {
4367
4411
 
4368
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4412
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
4369
4413
class Config {
4370
 
#line 4371 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4414
#line 4415 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4415
  friend class ::CCExprResolve;
 
4416
  friend class ::CExprResolve;
4371
4417
  friend class ::WinIfExists;
4372
4418
  friend class ::WinImportHandler;
4373
4419
  friend class ::WinMacros;
4374
 
  friend class ::CMatchSyntax;
4375
 
  friend class ::ExtGnu;
 
4420
  friend class ::WinAsm;
 
4421
  friend class ::WinDeclSpecs;
 
4422
  friend class ::WinMemberExplSpec;
 
4423
  friend class ::WinTypeKeywords;
 
4424
  friend class ::WinFriend;
4376
4425
  friend class ::ExtAC;
4377
4426
  friend class ::ExtACBuilderCoupling;
4378
4427
  friend class ::ExtACSyntaxCoupling;
4379
4428
  friend class ::ExtACTree;
4380
4429
  friend class ::ExtACKeywords;
4381
 
  friend class ::WinAsm;
4382
 
  friend class ::WinDeclSpecs;
4383
 
  friend class ::WinMemberExplSpec;
4384
 
  friend class ::WinTypeKeywords;
 
4430
  friend class ::ExtGnu;
4385
4431
  friend class ::PragmaOnceUnitState;
4386
4432
  friend class ::PragmaOnce;
4387
 
  friend class ::CCExprResolve;
4388
 
  friend class ::CExprResolve;
 
4433
  friend class ::CMatchSyntax;
4389
4434
 
4390
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4435
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
4391
4436
 
4392
4437
  Flags _flags;
4393
4438
  ErrorStream &_err;
4447
4492
private:
4448
4493
  bool Valid (const char *, const char * = (const char *)0) const;
4449
4494
 
4450
 
  bool Process (OptsParser&);
 
4495
  bool Process (OptsParser&, bool unescape = false);
4451
4496
  bool ProcessAssert (const string&);
4452
4497
  bool ProcessDefine (const string&);
4453
4498
  bool ProcessLockMacro (const string&);
4456
4501
  bool ProcessArgument (const string&,const string&);
4457
4502
  bool ProcessPathArgument (const string&,const string&);
4458
4503
 
 
4504
  string Unescape(const string&);
4459
4505
};
4460
4506
 
4461
4507
inline Config::Config (ErrorStream &e) : _err (e)
4497
4543
 
4498
4544
#endif /* __Config_h__ */
4499
4545
 
4500
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4546
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
4501
4547
namespace Puma {
4502
4548
 
4503
4549
 
4504
4550
class Token;
4505
4551
 
4506
4552
 
4507
 
#line 4508 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4553
#line 4554 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
4508
4554
} // closed Puma
 
4555
class CCExprResolve;
 
4556
class CExprResolve;
4509
4557
class WinIfExists;
4510
4558
class WinImportHandler;
4511
4559
class WinMacros;
4512
 
class CMatchSyntax;
4513
 
class ExtGnu;
 
4560
class WinAsm;
 
4561
class WinDeclSpecs;
 
4562
class WinMemberExplSpec;
 
4563
class WinTypeKeywords;
 
4564
class WinFriend;
4514
4565
class ExtAC;
4515
4566
class ExtACBuilderCoupling;
4516
4567
class ExtACSyntaxCoupling;
4517
4568
class ExtACTree;
4518
4569
class ExtACKeywords;
4519
 
class WinAsm;
4520
 
class WinDeclSpecs;
4521
 
class WinMemberExplSpec;
4522
 
class WinTypeKeywords;
 
4570
class ExtGnu;
4523
4571
class PragmaOnceUnitState;
4524
4572
class PragmaOnce;
4525
 
class CCExprResolve;
4526
 
class CExprResolve;
 
4573
class CMatchSyntax;
4527
4574
namespace Puma {
4528
4575
 
4529
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4576
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
4530
4577
class CScanner : public CRecognizer, public Tokenizer {
4531
 
#line 4532 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4578
#line 4579 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4579
  friend class ::CCExprResolve;
 
4580
  friend class ::CExprResolve;
4532
4581
  friend class ::WinIfExists;
4533
4582
  friend class ::WinImportHandler;
4534
4583
  friend class ::WinMacros;
4535
 
  friend class ::CMatchSyntax;
4536
 
  friend class ::ExtGnu;
 
4584
  friend class ::WinAsm;
 
4585
  friend class ::WinDeclSpecs;
 
4586
  friend class ::WinMemberExplSpec;
 
4587
  friend class ::WinTypeKeywords;
 
4588
  friend class ::WinFriend;
4537
4589
  friend class ::ExtAC;
4538
4590
  friend class ::ExtACBuilderCoupling;
4539
4591
  friend class ::ExtACSyntaxCoupling;
4540
4592
  friend class ::ExtACTree;
4541
4593
  friend class ::ExtACKeywords;
4542
 
  friend class ::WinAsm;
4543
 
  friend class ::WinDeclSpecs;
4544
 
  friend class ::WinMemberExplSpec;
4545
 
  friend class ::WinTypeKeywords;
 
4594
  friend class ::ExtGnu;
4546
4595
  friend class ::PragmaOnceUnitState;
4547
4596
  friend class ::PragmaOnce;
4548
 
  friend class ::CCExprResolve;
4549
 
  friend class ::CExprResolve;
 
4597
  friend class ::CMatchSyntax;
4550
4598
 
4551
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4599
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
4552
4600
 
4553
4601
  Location loc;
4554
4602
  ErrorSink &err;
4563
4611
  virtual ~CScanner () {}
4564
4612
  void configure (const Config &);
4565
4613
  
4566
 
#line 4567 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4567
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
4614
#line 4615 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4615
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
4568
4616
 
4569
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4617
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
4570
4618
void fill_unit (Source &in, Unit &unit);
4571
4619
  
4572
 
#line 4573 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4573
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
4620
#line 4621 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4621
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
4574
4622
 
4575
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
4623
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
4576
4624
void fill_unit (const char *in, Unit &unit);
4577
4625
};
4578
4626
 
4581
4629
 
4582
4630
#endif /* __c_scanner_h__ */
4583
4631
 
4584
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_Sequential.h"
4585
 
// This file is part of PUMA.
4586
 
// Copyright (C) 1999-2003  The PUMA developer team.
4587
 
//                                                                
4588
 
// This program is free software;  you can redistribute it and/or 
4589
 
// modify it under the terms of the GNU General Public License as 
4590
 
// published by the Free Software Foundation; either version 2 of 
4591
 
// the License, or (at your option) any later version.            
4592
 
//                                                                
4593
 
// This program is distributed in the hope that it will be useful,
4594
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
4595
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
4596
 
// GNU General Public License for more details.                   
4597
 
//                                                                
4598
 
// You should have received a copy of the GNU General Public      
4599
 
// License along with this program; if not, write to the Free     
4600
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
4601
 
// MA  02111-1307  USA                                            
4602
 
 
4603
 
#ifndef __sb_sequential_h__
4604
 
#define __sb_sequential_h__
4605
 
 
4606
 
 
4607
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_Sequential.h"
4608
 
namespace Puma {
4609
 
 
4610
 
 
4611
 
 
4612
 
#line 4613 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4613
 
} // closed Puma
4614
 
class WinIfExists;
4615
 
class WinImportHandler;
4616
 
class WinMacros;
4617
 
class CMatchSyntax;
4618
 
class ExtGnu;
4619
 
class ExtAC;
4620
 
class ExtACBuilderCoupling;
4621
 
class ExtACSyntaxCoupling;
4622
 
class ExtACTree;
4623
 
class ExtACKeywords;
4624
 
class WinAsm;
4625
 
class WinDeclSpecs;
4626
 
class WinMemberExplSpec;
4627
 
class WinTypeKeywords;
4628
 
class PragmaOnceUnitState;
4629
 
class PragmaOnce;
4630
 
class CCExprResolve;
4631
 
class CExprResolve;
4632
 
namespace Puma {
4633
 
 
4634
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_Sequential.h"
4635
 
class SB_Sequential : public ScanBuffer {
4636
 
#line 4637 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4637
 
  friend class ::WinIfExists;
4638
 
  friend class ::WinImportHandler;
4639
 
  friend class ::WinMacros;
4640
 
  friend class ::CMatchSyntax;
4641
 
  friend class ::ExtGnu;
4642
 
  friend class ::ExtAC;
4643
 
  friend class ::ExtACBuilderCoupling;
4644
 
  friend class ::ExtACSyntaxCoupling;
4645
 
  friend class ::ExtACTree;
4646
 
  friend class ::ExtACKeywords;
4647
 
  friend class ::WinAsm;
4648
 
  friend class ::WinDeclSpecs;
4649
 
  friend class ::WinMemberExplSpec;
4650
 
  friend class ::WinTypeKeywords;
4651
 
  friend class ::PragmaOnceUnitState;
4652
 
  friend class ::PragmaOnce;
4653
 
  friend class ::CCExprResolve;
4654
 
  friend class ::CExprResolve;
4655
 
 
4656
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_Sequential.h"
4657
 
 
4658
 
  char TokenBuffer[1024]; // Maximum token size!
4659
 
  int  BuffPos;
4660
 
  int  BuffSize;
4661
 
  Source *source;
4662
 
  State _state;
4663
 
 
4664
 
  void fetch ();
4665
 
 
4666
 
public:
4667
 
  void init (Source &src) { source = &src; }
4668
 
  char next () {
4669
 
    char character = TokenBuffer[BuffPos++];
4670
 
    if (BuffPos == BuffSize)
4671
 
      fetch ();
4672
 
    return character;
4673
 
  }
4674
 
 
4675
 
  char *token () { return TokenBuffer; }
4676
 
  int len () const { return BuffPos; }
4677
 
  void reset () { BuffPos = 0; BuffSize = 0; fetch (); }
4678
 
  void retry () { BuffPos = 0; }
4679
 
  void accept (int len) {
4680
 
    BuffSize -= len; BuffPos = 0;
4681
 
    memcpy (TokenBuffer, TokenBuffer + len, BuffSize);
4682
 
  }
4683
 
  void more (int len) { BuffPos = len; }
4684
 
  State state () const { return (BuffPos < BuffSize) ? STATE_OK : _state; }
4685
 
};
4686
 
 
4687
 
 
4688
 
} // namespace Puma
4689
 
 
4690
 
#endif /* __sb_sequential_h__ */
4691
 
 
4692
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_WholeFile.h"
4693
 
// This file is part of PUMA.
4694
 
// Copyright (C) 1999-2003  The PUMA developer team.
4695
 
//                                                                
4696
 
// This program is free software;  you can redistribute it and/or 
4697
 
// modify it under the terms of the GNU General Public License as 
4698
 
// published by the Free Software Foundation; either version 2 of 
4699
 
// the License, or (at your option) any later version.            
4700
 
//                                                                
4701
 
// This program is distributed in the hope that it will be useful,
4702
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
4703
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
4704
 
// GNU General Public License for more details.                   
4705
 
//                                                                
4706
 
// You should have received a copy of the GNU General Public      
4707
 
// License along with this program; if not, write to the Free     
4708
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
4709
 
// MA  02111-1307  USA                                            
4710
 
 
4711
 
#ifndef __sb_whole_file_h__
4712
 
#define __sb_whole_file_h__
4713
 
 
4714
 
 
4715
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_String.h"
4716
 
// This file is part of PUMA.
4717
 
// Copyright (C) 1999-2003  The PUMA developer team.
4718
 
//                                                                
4719
 
// This program is free software;  you can redistribute it and/or 
4720
 
// modify it under the terms of the GNU General Public License as 
4721
 
// published by the Free Software Foundation; either version 2 of 
4722
 
// the License, or (at your option) any later version.            
4723
 
//                                                                
4724
 
// This program is distributed in the hope that it will be useful,
4725
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
4726
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
4727
 
// GNU General Public License for more details.                   
4728
 
//                                                                
4729
 
// You should have received a copy of the GNU General Public      
4730
 
// License along with this program; if not, write to the Free     
4731
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
4732
 
// MA  02111-1307  USA                                            
4733
 
 
4734
 
#ifndef __sb_string_h__
4735
 
#define __sb_string_h__
4736
 
 
4737
 
 
4738
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_String.h"
4739
 
namespace Puma {
4740
 
 
4741
 
 
4742
 
 
4743
 
#line 4744 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4744
 
} // closed Puma
4745
 
class WinIfExists;
4746
 
class WinImportHandler;
4747
 
class WinMacros;
4748
 
class CMatchSyntax;
4749
 
class ExtGnu;
4750
 
class ExtAC;
4751
 
class ExtACBuilderCoupling;
4752
 
class ExtACSyntaxCoupling;
4753
 
class ExtACTree;
4754
 
class ExtACKeywords;
4755
 
class WinAsm;
4756
 
class WinDeclSpecs;
4757
 
class WinMemberExplSpec;
4758
 
class WinTypeKeywords;
4759
 
class PragmaOnceUnitState;
4760
 
class PragmaOnce;
4761
 
class CCExprResolve;
4762
 
class CExprResolve;
4763
 
namespace Puma {
4764
 
 
4765
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_String.h"
4766
 
class SB_String : public ScanBuffer {
4767
 
#line 4768 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4768
 
  friend class ::WinIfExists;
4769
 
  friend class ::WinImportHandler;
4770
 
  friend class ::WinMacros;
4771
 
  friend class ::CMatchSyntax;
4772
 
  friend class ::ExtGnu;
4773
 
  friend class ::ExtAC;
4774
 
  friend class ::ExtACBuilderCoupling;
4775
 
  friend class ::ExtACSyntaxCoupling;
4776
 
  friend class ::ExtACTree;
4777
 
  friend class ::ExtACKeywords;
4778
 
  friend class ::WinAsm;
4779
 
  friend class ::WinDeclSpecs;
4780
 
  friend class ::WinMemberExplSpec;
4781
 
  friend class ::WinTypeKeywords;
4782
 
  friend class ::PragmaOnceUnitState;
4783
 
  friend class ::PragmaOnce;
4784
 
  friend class ::CCExprResolve;
4785
 
  friend class ::CExprResolve;
4786
 
 
4787
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_String.h"
4788
 
 
4789
 
  const char *string;
4790
 
  const char *TokenBuffer;
4791
 
  const char *end;
4792
 
  int  BuffPos;
4793
 
 
4794
 
public:
4795
 
  void init (const char *str, int len = 0) {
4796
 
    string = str; end = str + (len ? len : strlen (str)); reset (); 
4797
 
  }
4798
 
 
4799
 
  char next () { return TokenBuffer[BuffPos++]; }
4800
 
  char *token () { return (char*)TokenBuffer; }
4801
 
  int len () const { return BuffPos; }
4802
 
  void reset () { TokenBuffer = string; BuffPos = 0; }
4803
 
  void retry () { BuffPos = 0; }
4804
 
  void accept (int len) { BuffPos = 0; TokenBuffer += len; }
4805
 
  void more (int len) { BuffPos = len; }
4806
 
  State state () const { return  (TokenBuffer + BuffPos == end) ? STATE_END : STATE_OK; }
4807
 
};
4808
 
 
4809
 
 
4810
 
} // namespace Puma
4811
 
 
4812
 
#endif /* __sb_string_h__ */
4813
 
 
4814
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_WholeFile.h"
4815
 
namespace Puma {
4816
 
 
4817
 
 
4818
 
 
4819
 
#line 4820 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4820
 
} // closed Puma
4821
 
class WinIfExists;
4822
 
class WinImportHandler;
4823
 
class WinMacros;
4824
 
class CMatchSyntax;
4825
 
class ExtGnu;
4826
 
class ExtAC;
4827
 
class ExtACBuilderCoupling;
4828
 
class ExtACSyntaxCoupling;
4829
 
class ExtACTree;
4830
 
class ExtACKeywords;
4831
 
class WinAsm;
4832
 
class WinDeclSpecs;
4833
 
class WinMemberExplSpec;
4834
 
class WinTypeKeywords;
4835
 
class PragmaOnceUnitState;
4836
 
class PragmaOnce;
4837
 
class CCExprResolve;
4838
 
class CExprResolve;
4839
 
namespace Puma {
4840
 
 
4841
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_WholeFile.h"
4842
 
class SB_WholeFile : public SB_String {
4843
 
#line 4844 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
4844
 
  friend class ::WinIfExists;
4845
 
  friend class ::WinImportHandler;
4846
 
  friend class ::WinMacros;
4847
 
  friend class ::CMatchSyntax;
4848
 
  friend class ::ExtGnu;
4849
 
  friend class ::ExtAC;
4850
 
  friend class ::ExtACBuilderCoupling;
4851
 
  friend class ::ExtACSyntaxCoupling;
4852
 
  friend class ::ExtACTree;
4853
 
  friend class ::ExtACKeywords;
4854
 
  friend class ::WinAsm;
4855
 
  friend class ::WinDeclSpecs;
4856
 
  friend class ::WinMemberExplSpec;
4857
 
  friend class ::WinTypeKeywords;
4858
 
  friend class ::PragmaOnceUnitState;
4859
 
  friend class ::PragmaOnce;
4860
 
  friend class ::CCExprResolve;
4861
 
  friend class ::CExprResolve;
4862
 
 
4863
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SB_WholeFile.h"
4864
 
 
4865
 
  char* buffer;
4866
 
  bool error;
4867
 
 
4868
 
public:
4869
 
  SB_WholeFile () : SB_String (), buffer (0) {}
4870
 
  virtual ~SB_WholeFile () { if (buffer) delete[] buffer; }
4871
 
 
4872
 
  void init (ErrorSink &err, Source &src) { 
4873
 
    if (buffer) delete[] buffer;
4874
 
 
4875
 
    error = false;
4876
 
    int buffer_size = src.size ();
4877
 
    if (buffer_size < 0) {
4878
 
      err << sev_error << "can't determine size of input file" 
4879
 
          << endMessage;
4880
 
      error = true;
4881
 
      return;
4882
 
    }
4883
 
 
4884
 
    buffer = new char[buffer_size];
4885
 
    if (! buffer) { // Help, this should not happen, but why not checking
4886
 
      err << sev_error << "Out of memory" << endMessage;
4887
 
      error = true;
4888
 
      return;
4889
 
    }
4890
 
         
4891
 
    if (src.read (buffer, src.size ()) != src.size ()) {
4892
 
      err << sev_error << "can't load input file" << endMessage;
4893
 
      error = true;
4894
 
      return;
4895
 
    }
4896
 
 
4897
 
    SB_String::init (buffer, buffer_size);
4898
 
  }
4899
 
 
4900
 
  State state () const { return error ? STATE_ERROR : SB_String::state (); }
4901
 
};
4902
 
 
4903
 
 
4904
 
} // namespace Puma
4905
 
 
4906
 
#endif /* __sb_whole_file_h__ */
4907
 
 
4908
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
4632
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
4909
4633
// This file is part of PUMA.
4910
4634
// Copyright (C) 1999-2003  The PUMA developer team.
4911
4635
//                                                                
4933
4657
 
4934
4658
#include <stdlib.h>
4935
4659
 
4936
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
4660
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
4937
4661
#include <assert.h>
4938
4662
 
4939
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
4663
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
4940
4664
namespace Puma {
4941
4665
 
4942
4666
 
4943
4667
 
4944
 
#line 4945 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4668
#line 4669 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
4945
4669
} // closed Puma
 
4670
class CCExprResolve;
 
4671
class CExprResolve;
4946
4672
class WinIfExists;
4947
4673
class WinImportHandler;
4948
4674
class WinMacros;
4949
 
class CMatchSyntax;
4950
 
class ExtGnu;
 
4675
class WinAsm;
 
4676
class WinDeclSpecs;
 
4677
class WinMemberExplSpec;
 
4678
class WinTypeKeywords;
 
4679
class WinFriend;
4951
4680
class ExtAC;
4952
4681
class ExtACBuilderCoupling;
4953
4682
class ExtACSyntaxCoupling;
4954
4683
class ExtACTree;
4955
4684
class ExtACKeywords;
4956
 
class WinAsm;
4957
 
class WinDeclSpecs;
4958
 
class WinMemberExplSpec;
4959
 
class WinTypeKeywords;
 
4685
class ExtGnu;
4960
4686
class PragmaOnceUnitState;
4961
4687
class PragmaOnce;
4962
 
class CCExprResolve;
4963
 
class CExprResolve;
 
4688
class CMatchSyntax;
4964
4689
namespace Puma {
4965
4690
 
4966
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
4691
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
4967
4692
class Token : public ListElement {
4968
 
#line 4969 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
4693
#line 4694 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4694
  friend class ::CCExprResolve;
 
4695
  friend class ::CExprResolve;
4969
4696
  friend class ::WinIfExists;
4970
4697
  friend class ::WinImportHandler;
4971
4698
  friend class ::WinMacros;
4972
 
  friend class ::CMatchSyntax;
4973
 
  friend class ::ExtGnu;
 
4699
  friend class ::WinAsm;
 
4700
  friend class ::WinDeclSpecs;
 
4701
  friend class ::WinMemberExplSpec;
 
4702
  friend class ::WinTypeKeywords;
 
4703
  friend class ::WinFriend;
4974
4704
  friend class ::ExtAC;
4975
4705
  friend class ::ExtACBuilderCoupling;
4976
4706
  friend class ::ExtACSyntaxCoupling;
4977
4707
  friend class ::ExtACTree;
4978
4708
  friend class ::ExtACKeywords;
4979
 
  friend class ::WinAsm;
4980
 
  friend class ::WinDeclSpecs;
4981
 
  friend class ::WinMemberExplSpec;
4982
 
  friend class ::WinTypeKeywords;
 
4709
  friend class ::ExtGnu;
4983
4710
  friend class ::PragmaOnceUnitState;
4984
4711
  friend class ::PragmaOnce;
4985
 
  friend class ::CCExprResolve;
4986
 
  friend class ::CExprResolve;
 
4712
  friend class ::CMatchSyntax;
4987
4713
 
4988
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
4714
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
4989
4715
 
4990
4716
  int _type, _real_type;
4991
4717
 
4992
4718
  Location _location;
4993
4719
  LanguageID _language;
4994
 
  DString _text;
 
4720
  const char *_text;
 
4721
  mutable DString _dtext;
4995
4722
 
4996
4723
  Array<int> *_cont_lines;
4997
4724
   
5032
4759
  void macro_generated ()           { _flags |= TK_MACRO_GENERATED; }
5033
4760
  void macro_call ()                { _flags |= TK_MACRO_CALL; }
5034
4761
  
5035
 
  const DString &text () const     { return _text; }
 
4762
  const char *text () const;
 
4763
  DString &dtext () const;
5036
4764
  char *get_static_text () const;
5037
4765
  int type () const                 { return _type; }
5038
4766
  const Location &location () const { return _location; }
5109
4837
 
5110
4838
#endif /* __Token_h__ */
5111
4839
 
5112
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CTokens.h"
 
4840
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTokens.h"
5113
4841
// This file is part of PUMA.
5114
4842
// Copyright (C) 1999-2003  The PUMA developer team.
5115
4843
//                                                                
5140
4868
  TOK_ZERO_VAL,
5141
4869
  TOK_INT_VAL,
5142
4870
  TOK_FLT_VAL,
 
4871
  TOK_STRING_VAL,
 
4872
  TOK_CHAR_VAL,
5143
4873
  TOK_COMMA,
5144
4874
  TOK_ASSIGN,
5145
4875
  TOK_QUESTION,
5322
5052
  TOK_LAST_AC = TOK_UNKNOWN_T,
5323
5053
  
5324
5054
  // further [A](C|C++) token
5325
 
  TOK_STRING_VAL,
5326
 
  TOK_CHAR_VAL,
5327
5055
  TOK_ID,
5328
5056
 
5329
5057
  // These two always have to be the ** last ** token listed here!!!
5336
5064
 
5337
5065
#endif /* __C_TOKENS__ */
5338
5066
 
5339
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
 
5067
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
5068
#include <string.h>
 
5069
 
5340
5070
namespace Puma {
5341
5071
 
5342
5072
 
5354
5084
}
5355
5085
 
5356
5086
 
5357
 
Token *CScanner::scan () {
5358
 
  CRecognizer::Lang lang;
5359
 
  int expr, len;
5360
 
  Token *result = 0;
5361
 
 
5362
 
  switch (buffer ().state ()) {
5363
 
    case ScanBuffer::STATE_OK:
5364
 
      switch (recognize (lang, expr, len)) {
5365
 
        case -1: result = new Token (Token::ID_ERROR); break;
5366
 
        case 0 :
5367
 
        case 1 : result = make_token (lang, expr, len); break;
5368
 
      }
5369
 
      break;
5370
 
    case ScanBuffer::STATE_END:
5371
 
      result = new Token (Token::ID_END_OF_FILE);
5372
 
      break;
5373
 
    case ScanBuffer::STATE_ERROR:
5374
 
      result = new Token (Token::ID_ERROR);
5375
 
      break;
5376
 
  }
5377
 
 
5378
 
  return result;
5379
 
}
5380
 
 
5381
 
 
5382
5087
LanguageID CScanner::map_lang (CRecognizer::Lang lang) {
5383
5088
  switch (lang) {
5384
5089
    case CRecognizer::COMMENT: return Token::comment_id;
5386
5091
    case CRecognizer::COMP_DIR: return Token::dir_id;
5387
5092
    case CRecognizer::WHITE: return Token::white_id;
5388
5093
    case CRecognizer::PRE: return Token::macro_op_id;
5389
 
    case CRecognizer::STRING: return Token::cpp_id;
5390
5094
    case CRecognizer::CORE: return Token::cpp_id;
5391
5095
    case CRecognizer::KEYWORD: return Token::keyword_id;
5392
5096
    case CRecognizer::ID: return Token::identifier_id;
5401
5105
  Token *result = 0;
5402
5106
  char short_buffer[512];
5403
5107
  char *tok_buffer = short_buffer;
5404
 
  long rows = 0L;
 
5108
  int rows = 0;
 
5109
  int columns = 0;
 
5110
  int offset = loc.column ();
 
5111
  Mode old_mode = mode ();
5405
5112
  
5406
5113
  // dynamically allocate a huge buffer
5407
 
  if (len >= (int)sizeof (short_buffer))
 
5114
  if (len >= (int)sizeof (short_buffer) - 1)
5408
5115
    tok_buffer = new char[len + 1];
5409
5116
 
5410
 
  char *src  = buffer ().token ();
5411
 
  char *dest = tok_buffer;
5412
 
  char *end  = src + len;
5413
 
 
5414
 
  int last = 0;
5415
 
  Array<int> *cl = 0;
5416
 
  while (src < end) {
5417
 
    if (*src == '\\' && src + 1 < end && *(src + 1) == '\n') {
5418
 
      src += 2;
5419
 
      rows++;
5420
 
      if (!cl) cl = new Array<int>(10,10);
5421
 
      cl->append (last);
5422
 
      last = 0;
5423
 
    }
5424
 
    else if (*src == '\\' && src + 2 < end && *(src + 1) == '\x0d' &&
5425
 
             *(src + 2) == '\n') {
5426
 
      src += 3;
5427
 
      rows++;
5428
 
      if (!cl) cl = new Array<int>(10,10);
5429
 
      cl->append (last);
5430
 
      last = 0;
5431
 
    }
5432
 
    else {
5433
 
      if (*src == '\n')
5434
 
        rows++;
5435
 
      *dest = *src;
5436
 
      dest++;
5437
 
      src++;
5438
 
      last++;
5439
 
    }
5440
 
  }
5441
 
  *dest = '\0';
5442
 
 
5443
 
  buffer ().accept (len);
5444
 
 
 
5117
  // select the correct language id
5445
5118
  if (lang == CRecognizer::UNKNOWN)
5446
5119
    expr = Token::ID_UNKNOWN;
5447
 
 
5448
 
  // select the correct language id
5449
 
 
5450
5120
  LanguageID lid;
5451
 
 
5452
 
  if (mode () == CRecognizer::IN_COMP_DIR && lang != CRecognizer::COMMENT)
 
5121
  if (old_mode == CRecognizer::IN_COMP_DIR && lang != CRecognizer::COMMENT)
5453
5122
    lid = Token::dir_id;
5454
5123
  else {
5455
5124
    if (lang == CRecognizer::CORE && expr == TOK_OPEN_ROUND)
5462
5131
      lid = map_lang (lang);
5463
5132
  }
5464
5133
 
5465
 
  result = new Token (expr, lid, tok_buffer);
5466
 
  result->location (loc);
5467
 
 
5468
 
  // set the next token location
5469
 
  if (rows > 0L)
5470
 
    loc.setup (loc.filename (), loc.line () + rows);
5471
 
 
5472
 
  // attach the continuation line marks
5473
 
  if (cl) result->cont_lines (cl);
 
5134
//  volatile int z, s = 0;
 
5135
//  for (z = 0; z < 100; z++)
 
5136
//    s += z;
 
5137
  char *src  = buffer ().token ();
 
5138
  if (!buffer ().new_line (len)) {
 
5139
    // a token without newline => can be copied directly
 
5140
    memcpy (tok_buffer, src, len);
 
5141
    tok_buffer[len] = '\0';
 
5142
    result = new Token (expr, lid, tok_buffer);
 
5143
    result->location (loc);
 
5144
    loc.setup (loc.filename (), loc.line (), loc.column () + len);
 
5145
  }
 
5146
  else {
 
5147
    // special token with newline => more complicated
 
5148
    char *dest = tok_buffer;
 
5149
    char *end  = src + len;
 
5150
  
 
5151
    int last = 0;
 
5152
    Array<int> *cl = 0;
 
5153
    while (src < end) {
 
5154
      if (*src == '\\' && src + 1 < end && *(src + 1) == '\n') {
 
5155
        src += 2;
 
5156
        rows++;
 
5157
        columns = 1;
 
5158
        offset = 0;
 
5159
        if (!cl) cl = new Array<int>(10,10);
 
5160
        cl->append (last);
 
5161
        last = 0;
 
5162
      }
 
5163
      else if (*src == '\\' && src + 2 < end && *(src + 1) == '\x0d' &&
 
5164
               *(src + 2) == '\n') {
 
5165
        src += 3;
 
5166
        rows++;
 
5167
        columns = 1;
 
5168
        offset = 0;
 
5169
        if (!cl) cl = new Array<int>(10,10);
 
5170
        cl->append (last);
 
5171
        last = 0;
 
5172
      }
 
5173
      else {
 
5174
        if (*src == '\n') {
 
5175
          rows++;
 
5176
          columns = 1;
 
5177
          offset = 0;
 
5178
          mode (NORMAL);
 
5179
          allow_directives ();
 
5180
        } else {
 
5181
          columns++;
 
5182
        }
 
5183
        *dest = *src;
 
5184
        dest++;
 
5185
        src++;
 
5186
        last++;
 
5187
      }
 
5188
    }
 
5189
    *dest = '\0';
 
5190
  
 
5191
    result = new Token (expr, lid, tok_buffer);
 
5192
    result->location (loc);
 
5193
  
 
5194
    // set the next token location
 
5195
    if (rows > 0 || columns > 0)
 
5196
      loc.setup (loc.filename (), loc.line () + rows, offset + columns);
 
5197
  
 
5198
    // attach the continuation line marks
 
5199
    if (cl) result->cont_lines (cl);
 
5200
  }
 
5201
  // eventually accept the token
 
5202
  buffer ().accept (len);
5474
5203
 
5475
5204
  // free a dynamically allocated huge buffer
5476
5205
  if (len >= (int)sizeof (short_buffer))
5481
5210
 
5482
5211
 
5483
5212
void CScanner::scan_all (Unit &unit) {
5484
 
  Token* token;
5485
 
 
5486
 
  loc.setup (unit.name () ? unit.name () : "<anonymous unit>", 1L);
5487
 
 
5488
 
  while ((token = scan ())->type () != Token::ID_END_OF_FILE) {
5489
 
    if (token->type () == Token::ID_UNKNOWN)
5490
 
      err << sev_error << token->location () 
5491
 
          << "Unknown token" << endMessage;
5492
 
    else if (token->type () == Token::ID_ERROR) {
5493
 
      err << sev_error << token->location () 
5494
 
          << "Error while scanning tokens" << endMessage;
 
5213
 
 
5214
  loc.setup (unit.name () ? unit.name () : "<anonymous unit>", 1, 1);
 
5215
 
 
5216
  while (buffer ().state () == CScanBuffer::STATE_OK ||
 
5217
      buffer ().state () == CScanBuffer::STATE_NEW) {
 
5218
 
 
5219
    CRecognizer::Lang lang;
 
5220
    int expr, len;
 
5221
    int result = recognize (lang, expr, len); 
 
5222
 
 
5223
//    if (lang == WHITE && mode () == NORMAL && !buffer ().new_line (len)) {
 
5224
//      // eventually accept the token
 
5225
//      buffer ().accept (len);
 
5226
//      continue;
 
5227
//    }
 
5228
//    if (lang == COMMENT) {
 
5229
//      // eventually accept the token
 
5230
//      buffer ().accept (len);
 
5231
//      continue;
 
5232
//    }
 
5233
    
 
5234
    if (result >= 0) {
 
5235
      Token *new_token = make_token (lang, expr, len); 
 
5236
      unit.append (*new_token);
 
5237
//      cout << loc << " token " << new_token->type () << ": " << new_token->text () << endl;
 
5238
    }
 
5239
    else {
 
5240
      err << sev_error << loc 
 
5241
        << "Error while scanning tokens" << endMessage;
5495
5242
      break;
5496
 
    } else if (token->type () == Token::ID_WARNING)
5497
 
      err << sev_warning << token->location () 
5498
 
          << "Warning while scanning tokens" << endMessage;
5499
 
      
5500
 
    unit.append (*token);
 
5243
    }
5501
5244
  }
5502
 
  if (token->type () == Token::ID_END_OF_FILE)
5503
 
    delete token;
5504
5245
}
5505
5246
 
5506
5247
 
5507
5248
 
5508
 
#line 5509 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
5509
 
 
5510
 
 
5511
 
struct TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0 {
5512
 
  typedef void Result;
5513
 
  typedef ::Puma::CScanner That;
5514
 
  typedef ::Puma::CScanner Target;
5515
 
  static const int JPID = 59;
 
5249
#line 5250 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5250
 
 
5251
 
 
5252
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0 {
 
5253
  typedef TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0 __TJP;
 
5254
  typedef TResult Result;
 
5255
  typedef TThat   That;
 
5256
  typedef TTarget Target;
 
5257
  enum { ARGS = TArgs::ARGS };
 
5258
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
5259
  static const int JPID = 3730;
5516
5260
  static const AC::JPType JPTYPE = (AC::JPType)8;
5517
5261
  struct Res {
5518
 
    typedef void Type;
5519
 
    typedef void ReferredType;
5520
 
  };
5521
 
  enum { ARGS = 2 };
5522
 
  template <int I, int DUMMY = 0> struct Arg {
5523
 
    typedef void Type;
5524
 
    typedef void ReferredType;
5525
 
  };
5526
 
  template <int DUMMY> struct Arg<0, DUMMY> {
5527
 
    typedef ::Puma::Source & Type;
5528
 
    typedef ::Puma::Source ReferredType;
5529
 
  };
5530
 
  template <int DUMMY> struct Arg<1, DUMMY> {
5531
 
    typedef ::Puma::Unit & Type;
5532
 
    typedef ::Puma::Unit ReferredType;
 
5262
    typedef TResult Type;
 
5263
    typedef TResult ReferredType;
5533
5264
  };
5534
5265
 
5535
 
  void **_args;
 
5266
  void *_args[ARGS];
5536
5267
  That *_that;
5537
5268
 
5538
5269
  inline void *arg (int n) {return _args[n];}
5541
5272
  }
5542
5273
  inline That *that() {return (That*)_that;}
5543
5274
 
5544
 
};
5545
 
struct Binding_TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0_ExtACKeywords_ExtACKeywords_a1_before {
5546
 
  typedef TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0 TJP;
 
5275
struct Binding_ExtACKeywords_ExtACKeywords_a1_before {
 
5276
  typedef __TJP TJP;
5547
5277
  template <int I, int DUMMY = 0> struct Arg {
5548
5278
    void val (TJP *tjp) {} // for VC7
5549
5279
  };
5550
5280
  template <int DUMMY> struct Arg<0, DUMMY> {
5551
 
    static TJP::Arg<1>::ReferredType &val (TJP *tjp) { return *tjp->template arg<1> (); }
 
5281
    static typename TJP::template Arg<1>::ReferredType &val (TJP *tjp) { return *tjp->template arg<1> (); }
5552
5282
  };
5553
5283
};
5554
 
 
5555
 
 
5556
 
#line 197 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
 
5284
};
 
5285
 
 
5286
 
 
5287
#line 208 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
5557
5288
void CScanner::fill_unit (Source & arg0, Unit & arg1) 
5558
 
#line 5559 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5289
#line 5290 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
5559
5290
{
5560
 
  void *args__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit[] = { (void*)&arg0, (void*)&arg1 };
5561
 
  TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0 tjp;
5562
 
  tjp._args = args__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit;
5563
 
  tjp._that =  (TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0::That*)this;
 
5291
  typedef TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0< void, ::Puma::CScanner , ::Puma::CScanner ,  AC::TL< ::Puma::Source & , AC::TL< ::Puma::Unit & , AC::TLE > > > __TJP;
 
5292
    __TJP tjp;
 
5293
  tjp._args[0] = (void*)&arg0;
 
5294
  tjp._args[1] = (void*)&arg1;
 
5295
  tjp._that =  (__TJP::That*)this;
5564
5296
  if(::AC::CFlow<ExtACKeywords,0>::active ()) {
5565
 
  AC::invoke_ExtACKeywords_ExtACKeywords_a1_before<TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0, Binding_TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0_ExtACKeywords_ExtACKeywords_a1_before> (&tjp);
 
5297
  AC::invoke_ExtACKeywords_ExtACKeywords_a1_before<__TJP> (&tjp);
5566
5298
  }
5567
 
this->__exec_old_fill_unit(arg0, arg1);
5568
 
 
 
5299
    this->__exec_old_fill_unit(arg0, arg1);
 
5300
  
5569
5301
}
5570
 
inline void Puma::CScanner::__exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit)
5571
 
#line 197 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
 
5302
__attribute__((always_inline)) inline void Puma::CScanner::__exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit)
 
5303
#line 208 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
5572
5304
{
5573
 
  if (in.size () > 0) {
5574
 
    SB_WholeFile whole_file_buffer;
5575
 
 
5576
 
    whole_file_buffer.init (err, in);
5577
 
    setup (whole_file_buffer);
5578
 
    scan_all (unit);
5579
 
  } else {
5580
 
    SB_Sequential seq_buffer;
5581
 
 
5582
 
    seq_buffer.init (in);
5583
 
    setup (seq_buffer);
5584
 
    scan_all (unit);
 
5305
 
 
5306
  int size = in.size ();
 
5307
  if (size == 0)
 
5308
    return;
 
5309
  if (size == -1) {
 
5310
    err << sev_error << "can't scan file of unknown size" << endMessage;
 
5311
    return;
5585
5312
  }
 
5313
  char *buf = new char[size];
 
5314
        if (in.read (buf, size) != size) {
 
5315
    err << sev_error << "can't load input file" << endMessage;
 
5316
          return;
 
5317
        }
 
5318
  setup ();
 
5319
  buffer ().init (buf, size);
 
5320
  scan_all (unit);
 
5321
  delete[] buf;
5586
5322
}
5587
5323
 
5588
5324
 
5589
5325
 
5590
 
#line 5591 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
5591
 
 
5592
 
 
5593
 
struct TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0 {
5594
 
  typedef void Result;
5595
 
  typedef ::Puma::CScanner That;
5596
 
  typedef ::Puma::CScanner Target;
5597
 
  static const int JPID = 60;
 
5326
#line 5327 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5327
 
 
5328
 
 
5329
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0 {
 
5330
  typedef TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0 __TJP;
 
5331
  typedef TResult Result;
 
5332
  typedef TThat   That;
 
5333
  typedef TTarget Target;
 
5334
  enum { ARGS = TArgs::ARGS };
 
5335
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
5336
  static const int JPID = 3732;
5598
5337
  static const AC::JPType JPTYPE = (AC::JPType)8;
5599
5338
  struct Res {
5600
 
    typedef void Type;
5601
 
    typedef void ReferredType;
5602
 
  };
5603
 
  enum { ARGS = 2 };
5604
 
  template <int I, int DUMMY = 0> struct Arg {
5605
 
    typedef void Type;
5606
 
    typedef void ReferredType;
5607
 
  };
5608
 
  template <int DUMMY> struct Arg<0, DUMMY> {
5609
 
    typedef const char * Type;
5610
 
    typedef const char * ReferredType;
5611
 
  };
5612
 
  template <int DUMMY> struct Arg<1, DUMMY> {
5613
 
    typedef ::Puma::Unit & Type;
5614
 
    typedef ::Puma::Unit ReferredType;
 
5339
    typedef TResult Type;
 
5340
    typedef TResult ReferredType;
5615
5341
  };
5616
5342
 
5617
 
  void **_args;
 
5343
  void *_args[ARGS];
5618
5344
  That *_that;
5619
5345
 
5620
5346
  inline void *arg (int n) {return _args[n];}
5623
5349
  }
5624
5350
  inline That *that() {return (That*)_that;}
5625
5351
 
5626
 
};
5627
 
struct Binding_TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0_ExtACKeywords_ExtACKeywords_a1_before {
5628
 
  typedef TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0 TJP;
 
5352
struct Binding_ExtACKeywords_ExtACKeywords_a1_before {
 
5353
  typedef __TJP TJP;
5629
5354
  template <int I, int DUMMY = 0> struct Arg {
5630
5355
    void val (TJP *tjp) {} // for VC7
5631
5356
  };
5632
5357
  template <int DUMMY> struct Arg<0, DUMMY> {
5633
 
    static TJP::Arg<1>::ReferredType &val (TJP *tjp) { return *tjp->template arg<1> (); }
 
5358
    static typename TJP::template Arg<1>::ReferredType &val (TJP *tjp) { return *tjp->template arg<1> (); }
5634
5359
  };
5635
5360
};
5636
 
 
5637
 
 
5638
 
#line 214 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
 
5361
};
 
5362
 
 
5363
 
 
5364
#line 229 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
5639
5365
void CScanner::fill_unit (const char * arg0, Unit & arg1) 
5640
 
#line 5641 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5366
#line 5367 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
5641
5367
{
5642
 
  void *args__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit[] = { (void*)&arg0, (void*)&arg1 };
5643
 
  TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0 tjp;
5644
 
  tjp._args = args__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit;
5645
 
  tjp._that =  (TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0::That*)this;
 
5368
  typedef TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0< void, ::Puma::CScanner , ::Puma::CScanner ,  AC::TL< const char * , AC::TL< ::Puma::Unit & , AC::TLE > > > __TJP;
 
5369
    __TJP tjp;
 
5370
  tjp._args[0] = (void*)&arg0;
 
5371
  tjp._args[1] = (void*)&arg1;
 
5372
  tjp._that =  (__TJP::That*)this;
5646
5373
  if(::AC::CFlow<ExtACKeywords,0>::active ()) {
5647
 
  AC::invoke_ExtACKeywords_ExtACKeywords_a1_before<TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0, Binding_TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0_ExtACKeywords_ExtACKeywords_a1_before> (&tjp);
 
5374
  AC::invoke_ExtACKeywords_ExtACKeywords_a1_before<__TJP> (&tjp);
5648
5375
  }
5649
 
this->__exec_old_fill_unit(arg0, arg1);
5650
 
 
 
5376
    this->__exec_old_fill_unit(arg0, arg1);
 
5377
  
5651
5378
}
5652
 
inline void Puma::CScanner::__exec_old_fill_unit(const char * in,::Puma::Unit & unit)
5653
 
#line 214 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
 
5379
__attribute__((always_inline)) inline void Puma::CScanner::__exec_old_fill_unit(const char * in,::Puma::Unit & unit)
 
5380
#line 229 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
5654
5381
{
5655
 
  SB_String string_buffer;
5656
 
 
5657
 
  string_buffer.init (in);
5658
 
  setup (string_buffer);
 
5382
  setup ();
 
5383
  buffer ().init (in);
5659
5384
  scan_all (unit);
5660
5385
}
5661
5386
 
5662
5387
   
5663
5388
} // namespace Puma
5664
5389
 
5665
 
#line 5666 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5390
#line 5391 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
5666
5391
 
5667
 
#ifdef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_CScanner_cc__
5668
 
/*** begin of aspect includes ***/
5669
 
#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__)
5670
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
5392
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_CScanner_cc__
 
5393
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
5394
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
5395
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
5396
#include "CCExprResolveCC.ah"
 
5397
#endif
 
5398
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5399
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5400
#include "ExtACTree.ah"
 
5401
#endif
 
5402
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
5403
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
5404
#include "ExtGnu.ah"
 
5405
#endif
 
5406
#endif
 
5407
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5408
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5409
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
5410
#include "CCExprResolveH.ah"
 
5411
#endif
 
5412
#endif
 
5413
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
5414
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
5415
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
5416
#include "CExprResolveCC.ah"
 
5417
#endif
 
5418
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5419
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5420
#include "ExtACTree.ah"
 
5421
#endif
 
5422
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
5423
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
5424
#include "ExtGnu.ah"
 
5425
#endif
 
5426
#endif
 
5427
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5428
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5429
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
5430
#include "CExprResolveH.ah"
 
5431
#endif
 
5432
#endif
 
5433
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
5434
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
5435
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
5671
5436
#include "WinIfExists.ah"
5672
5437
#endif
5673
 
#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__)
5674
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
5438
#endif
 
5439
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
5440
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
5441
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
5675
5442
#include "WinImportHandler.ah"
5676
5443
#endif
5677
 
#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__)
5678
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
 
5444
#endif
 
5445
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
5446
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
5447
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
5679
5448
#include "WinMacros.ah"
5680
5449
#endif
5681
 
#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__)
5682
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
5683
 
#include "CMatchSyntax.ah"
5684
 
#endif
5685
 
#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__)
5686
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__
5687
 
#include "ExtGnu.ah"
5688
 
#endif
5689
 
#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__)
5690
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__
 
5450
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5451
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5452
#include "PragmaOnceUnitState.ah"
 
5453
#endif
 
5454
#endif
 
5455
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
5456
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
5457
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
5458
#include "WinAsm.ah"
 
5459
#endif
 
5460
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5461
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5462
#include "ExtACTree.ah"
 
5463
#endif
 
5464
#endif
 
5465
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
5466
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
5467
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
5468
#include "WinDeclSpecs.ah"
 
5469
#endif
 
5470
#endif
 
5471
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
5472
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
5473
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
5474
#include "WinMemberExplSpec.ah"
 
5475
#endif
 
5476
#endif
 
5477
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
5478
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
5479
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
5480
#include "WinTypeKeywords.ah"
 
5481
#endif
 
5482
#endif
 
5483
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
5484
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
5485
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
5486
#include "WinFriend.ah"
 
5487
#endif
 
5488
#endif
 
5489
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
5490
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
5491
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
5691
5492
#include "ExtAC.ah"
5692
5493
#endif
5693
 
#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__)
5694
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
5494
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5495
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5496
#include "ExtACTree.ah"
 
5497
#endif
 
5498
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5499
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5500
#include "ExtACKeywords.ah"
 
5501
#endif
 
5502
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
5503
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
5504
#include "ExtGnu.ah"
 
5505
#endif
 
5506
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5507
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5508
#include "PragmaOnceUnitState.ah"
 
5509
#endif
 
5510
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
5511
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
5512
#include "CMatchSyntax.ah"
 
5513
#endif
 
5514
#endif
 
5515
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
5516
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
5517
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
5695
5518
#include "ExtACBuilderH.ah"
5696
5519
#endif
5697
 
#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__)
5698
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
5520
#endif
 
5521
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
5522
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
5523
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
5699
5524
#include "ExtACBuilderCC.ah"
5700
5525
#endif
5701
 
#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__)
5702
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
5526
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5527
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5528
#include "ExtACTree.ah"
 
5529
#endif
 
5530
#endif
 
5531
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
5532
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
5533
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
5703
5534
#include "ExtACSyntaxH.ah"
5704
5535
#endif
5705
 
#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__)
5706
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
5536
#endif
 
5537
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
5538
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
5539
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
5707
5540
#include "ExtACSyntaxCC.ah"
5708
5541
#endif
5709
 
#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__)
5710
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5542
#endif
 
5543
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5544
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
5545
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
5711
5546
#include "ExtACTree.ah"
5712
5547
#endif
5713
 
#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__)
5714
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5548
#endif
 
5549
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5550
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5551
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
5715
5552
 
5716
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
5553
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
5717
5554
// This file is part of PUMA.
5718
5555
// Copyright (C) 1999-2003  The PUMA developer team.
5719
5556
//                                                                
5736
5573
#define __ext_ac_keywords_ah__
5737
5574
 
5738
5575
 
5739
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
5576
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
5740
5577
 
5741
 
#line 5742 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5578
#line 5579 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
5742
5579
 
5743
5580
#ifndef __ac_fwd_ExtACKeywords__
5744
5581
#define __ac_fwd_ExtACKeywords__
5745
5582
class ExtACKeywords;
5746
5583
namespace AC {
5747
 
  template <class JoinPoint, class Binding>
5748
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
5749
 
  template <class JoinPoint, class Binding>
5750
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
5751
 
  template <class JoinPoint>
5752
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
5584
  template <class JoinPoint>
 
5585
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
5586
  template <class JoinPoint>
 
5587
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
5588
  template <class JoinPoint>
 
5589
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
5753
5590
}
5754
5591
#endif
5755
5592
 
5756
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
5757
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5593
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
5594
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
5758
5595
#endif
5759
5596
 
5760
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
5597
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
5761
5598
// This file is part of PUMA.
5762
5599
// Copyright (C) 1999-2003  The PUMA developer team.
5763
5600
//                                                                
5782
5619
// Special project derivation for C++ sources.
5783
5620
 
5784
5621
 
5785
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
5622
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
5786
5623
// This file is part of PUMA.
5787
5624
// Copyright (C) 1999-2003  The PUMA developer team.
5788
5625
//                                                                
5808
5645
// methods for searching and writing files. 
5809
5646
 
5810
5647
 
5811
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
5648
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
5812
5649
// This file is part of PUMA.
5813
5650
// Copyright (C) 1999-2003  The PUMA developer team.
5814
5651
//                                                                
5833
5670
// Manages directories and methods to access the files in it.
5834
5671
 
5835
5672
 
5836
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
5673
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5837
5674
// This file is part of PUMA.
5838
5675
// Copyright (C) 1999-2003  The PUMA developer team.
5839
5676
//                                                                
5862
5699
 
5863
5700
 
5864
5701
 
5865
 
#line 5866 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5702
#line 5703 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
5866
5703
} // closed Puma
 
5704
class CCExprResolve;
 
5705
class CExprResolve;
5867
5706
class WinIfExists;
5868
5707
class WinImportHandler;
5869
5708
class WinMacros;
5870
 
class CMatchSyntax;
5871
 
class ExtGnu;
 
5709
class WinAsm;
 
5710
class WinDeclSpecs;
 
5711
class WinMemberExplSpec;
 
5712
class WinTypeKeywords;
 
5713
class WinFriend;
5872
5714
class ExtAC;
5873
5715
class ExtACBuilderCoupling;
5874
5716
class ExtACSyntaxCoupling;
5875
5717
class ExtACTree;
5876
5718
class ExtACKeywords;
5877
 
class WinAsm;
5878
 
class WinDeclSpecs;
5879
 
class WinMemberExplSpec;
5880
 
class WinTypeKeywords;
 
5719
class ExtGnu;
5881
5720
class PragmaOnceUnitState;
5882
5721
class PragmaOnce;
5883
 
class CCExprResolve;
5884
 
class CExprResolve;
 
5722
class CMatchSyntax;
5885
5723
namespace Puma {
5886
5724
 
5887
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
5725
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5888
5726
class PathInfo {
5889
 
#line 5890 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5727
#line 5728 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5728
  friend class ::CCExprResolve;
 
5729
  friend class ::CExprResolve;
5890
5730
  friend class ::WinIfExists;
5891
5731
  friend class ::WinImportHandler;
5892
5732
  friend class ::WinMacros;
5893
 
  friend class ::CMatchSyntax;
5894
 
  friend class ::ExtGnu;
 
5733
  friend class ::WinAsm;
 
5734
  friend class ::WinDeclSpecs;
 
5735
  friend class ::WinMemberExplSpec;
 
5736
  friend class ::WinTypeKeywords;
 
5737
  friend class ::WinFriend;
5895
5738
  friend class ::ExtAC;
5896
5739
  friend class ::ExtACBuilderCoupling;
5897
5740
  friend class ::ExtACSyntaxCoupling;
5898
5741
  friend class ::ExtACTree;
5899
5742
  friend class ::ExtACKeywords;
5900
 
  friend class ::WinAsm;
5901
 
  friend class ::WinDeclSpecs;
5902
 
  friend class ::WinMemberExplSpec;
5903
 
  friend class ::WinTypeKeywords;
 
5743
  friend class ::ExtGnu;
5904
5744
  friend class ::PragmaOnceUnitState;
5905
5745
  friend class ::PragmaOnce;
5906
 
  friend class ::CCExprResolve;
5907
 
  friend class ::CExprResolve;
 
5746
  friend class ::CMatchSyntax;
5908
5747
 
5909
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
5748
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5910
5749
 
5911
5750
  const char *_src;        // Source path.
5912
5751
  const char *_dest;        // Destination path.
5933
5772
 
5934
5773
#endif /* __path_info__ */
5935
5774
 
5936
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
5775
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
5937
5776
// This file is part of PUMA.
5938
5777
// Copyright (C) 1999-2003  The PUMA developer team.
5939
5778
//                                                                
5960
5799
// are iterated. 
5961
5800
 
5962
5801
 
5963
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
5802
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5964
5803
// This file is part of PUMA.
5965
5804
// Copyright (C) 1999-2003  The PUMA developer team.
5966
5805
//                                                                
5985
5824
#include <map>
5986
5825
using std::map;
5987
5826
 
5988
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
5827
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5989
5828
using std::string;
5990
5829
 
5991
5830
 
5992
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
5831
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5993
5832
namespace Puma {
5994
5833
 
5995
5834
// the project file abstraction is used to store all filenames relevant
5996
5835
// for a specific file that is managed by Puma.
5997
5836
 
5998
5837
 
5999
 
#line 6000 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5838
#line 5839 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6000
5839
} // closed Puma
 
5840
class CCExprResolve;
 
5841
class CExprResolve;
6001
5842
class WinIfExists;
6002
5843
class WinImportHandler;
6003
5844
class WinMacros;
6004
 
class CMatchSyntax;
6005
 
class ExtGnu;
 
5845
class WinAsm;
 
5846
class WinDeclSpecs;
 
5847
class WinMemberExplSpec;
 
5848
class WinTypeKeywords;
 
5849
class WinFriend;
6006
5850
class ExtAC;
6007
5851
class ExtACBuilderCoupling;
6008
5852
class ExtACSyntaxCoupling;
6009
5853
class ExtACTree;
6010
5854
class ExtACKeywords;
6011
 
class WinAsm;
6012
 
class WinDeclSpecs;
6013
 
class WinMemberExplSpec;
6014
 
class WinTypeKeywords;
 
5855
class ExtGnu;
6015
5856
class PragmaOnceUnitState;
6016
5857
class PragmaOnce;
6017
 
class CCExprResolve;
6018
 
class CExprResolve;
 
5858
class CMatchSyntax;
6019
5859
namespace Puma {
6020
5860
 
6021
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
5861
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
6022
5862
class ProjectFile {
6023
 
#line 6024 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5863
#line 5864 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5864
  friend class ::CCExprResolve;
 
5865
  friend class ::CExprResolve;
6024
5866
  friend class ::WinIfExists;
6025
5867
  friend class ::WinImportHandler;
6026
5868
  friend class ::WinMacros;
6027
 
  friend class ::CMatchSyntax;
6028
 
  friend class ::ExtGnu;
 
5869
  friend class ::WinAsm;
 
5870
  friend class ::WinDeclSpecs;
 
5871
  friend class ::WinMemberExplSpec;
 
5872
  friend class ::WinTypeKeywords;
 
5873
  friend class ::WinFriend;
6029
5874
  friend class ::ExtAC;
6030
5875
  friend class ::ExtACBuilderCoupling;
6031
5876
  friend class ::ExtACSyntaxCoupling;
6032
5877
  friend class ::ExtACTree;
6033
5878
  friend class ::ExtACKeywords;
6034
 
  friend class ::WinAsm;
6035
 
  friend class ::WinDeclSpecs;
6036
 
  friend class ::WinMemberExplSpec;
6037
 
  friend class ::WinTypeKeywords;
 
5879
  friend class ::ExtGnu;
6038
5880
  friend class ::PragmaOnceUnitState;
6039
5881
  friend class ::PragmaOnce;
6040
 
  friend class ::CCExprResolve;
6041
 
  friend class ::CExprResolve;
 
5882
  friend class ::CMatchSyntax;
6042
5883
 
6043
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
5884
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
6044
5885
 
6045
5886
  Filename _nick_name;
6046
5887
  Filename _dest_path;
6064
5905
 
6065
5906
#endif // __project_file__
6066
5907
 
6067
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
5908
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
6068
5909
namespace Puma {
6069
5910
 
6070
5911
class PathManager;
6071
5912
class RegComp;
6072
5913
 
6073
5914
 
6074
 
#line 6075 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5915
#line 5916 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6075
5916
} // closed Puma
 
5917
class CCExprResolve;
 
5918
class CExprResolve;
6076
5919
class WinIfExists;
6077
5920
class WinImportHandler;
6078
5921
class WinMacros;
6079
 
class CMatchSyntax;
6080
 
class ExtGnu;
 
5922
class WinAsm;
 
5923
class WinDeclSpecs;
 
5924
class WinMemberExplSpec;
 
5925
class WinTypeKeywords;
 
5926
class WinFriend;
6081
5927
class ExtAC;
6082
5928
class ExtACBuilderCoupling;
6083
5929
class ExtACSyntaxCoupling;
6084
5930
class ExtACTree;
6085
5931
class ExtACKeywords;
6086
 
class WinAsm;
6087
 
class WinDeclSpecs;
6088
 
class WinMemberExplSpec;
6089
 
class WinTypeKeywords;
 
5932
class ExtGnu;
6090
5933
class PragmaOnceUnitState;
6091
5934
class PragmaOnce;
6092
 
class CCExprResolve;
6093
 
class CExprResolve;
 
5935
class CMatchSyntax;
6094
5936
namespace Puma {
6095
5937
 
6096
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
5938
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
6097
5939
class PathIterator : public PFMConstIter {
6098
 
#line 6099 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5940
#line 5941 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5941
  friend class ::CCExprResolve;
 
5942
  friend class ::CExprResolve;
6099
5943
  friend class ::WinIfExists;
6100
5944
  friend class ::WinImportHandler;
6101
5945
  friend class ::WinMacros;
6102
 
  friend class ::CMatchSyntax;
6103
 
  friend class ::ExtGnu;
 
5946
  friend class ::WinAsm;
 
5947
  friend class ::WinDeclSpecs;
 
5948
  friend class ::WinMemberExplSpec;
 
5949
  friend class ::WinTypeKeywords;
 
5950
  friend class ::WinFriend;
6104
5951
  friend class ::ExtAC;
6105
5952
  friend class ::ExtACBuilderCoupling;
6106
5953
  friend class ::ExtACSyntaxCoupling;
6107
5954
  friend class ::ExtACTree;
6108
5955
  friend class ::ExtACKeywords;
6109
 
  friend class ::WinAsm;
6110
 
  friend class ::WinDeclSpecs;
6111
 
  friend class ::WinMemberExplSpec;
6112
 
  friend class ::WinTypeKeywords;
 
5956
  friend class ::ExtGnu;
6113
5957
  friend class ::PragmaOnceUnitState;
6114
5958
  friend class ::PragmaOnce;
6115
 
  friend class ::CCExprResolve;
6116
 
  friend class ::CExprResolve;
 
5959
  friend class ::CMatchSyntax;
6117
5960
 
6118
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
5961
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
6119
5962
 
6120
5963
  friend class PathManager;
6121
5964
 
6140
5983
 
6141
5984
#endif /* __path_iterator__ */
6142
5985
 
6143
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
5986
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
6144
5987
namespace Puma {
6145
5988
 
6146
5989
class RegComp;
6148
5991
class Unit;
6149
5992
 
6150
5993
 
6151
 
#line 6152 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
5994
#line 5995 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6152
5995
} // closed Puma
 
5996
class CCExprResolve;
 
5997
class CExprResolve;
6153
5998
class WinIfExists;
6154
5999
class WinImportHandler;
6155
6000
class WinMacros;
6156
 
class CMatchSyntax;
6157
 
class ExtGnu;
 
6001
class WinAsm;
 
6002
class WinDeclSpecs;
 
6003
class WinMemberExplSpec;
 
6004
class WinTypeKeywords;
 
6005
class WinFriend;
6158
6006
class ExtAC;
6159
6007
class ExtACBuilderCoupling;
6160
6008
class ExtACSyntaxCoupling;
6161
6009
class ExtACTree;
6162
6010
class ExtACKeywords;
6163
 
class WinAsm;
6164
 
class WinDeclSpecs;
6165
 
class WinMemberExplSpec;
6166
 
class WinTypeKeywords;
 
6011
class ExtGnu;
6167
6012
class PragmaOnceUnitState;
6168
6013
class PragmaOnce;
6169
 
class CCExprResolve;
6170
 
class CExprResolve;
 
6014
class CMatchSyntax;
6171
6015
namespace Puma {
6172
6016
 
6173
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
6017
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
6174
6018
class PathManager {
6175
 
#line 6176 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6019
#line 6020 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6020
  friend class ::CCExprResolve;
 
6021
  friend class ::CExprResolve;
6176
6022
  friend class ::WinIfExists;
6177
6023
  friend class ::WinImportHandler;
6178
6024
  friend class ::WinMacros;
6179
 
  friend class ::CMatchSyntax;
6180
 
  friend class ::ExtGnu;
 
6025
  friend class ::WinAsm;
 
6026
  friend class ::WinDeclSpecs;
 
6027
  friend class ::WinMemberExplSpec;
 
6028
  friend class ::WinTypeKeywords;
 
6029
  friend class ::WinFriend;
6181
6030
  friend class ::ExtAC;
6182
6031
  friend class ::ExtACBuilderCoupling;
6183
6032
  friend class ::ExtACSyntaxCoupling;
6184
6033
  friend class ::ExtACTree;
6185
6034
  friend class ::ExtACKeywords;
6186
 
  friend class ::WinAsm;
6187
 
  friend class ::WinDeclSpecs;
6188
 
  friend class ::WinMemberExplSpec;
6189
 
  friend class ::WinTypeKeywords;
 
6035
  friend class ::ExtGnu;
6190
6036
  friend class ::PragmaOnceUnitState;
6191
6037
  friend class ::PragmaOnce;
6192
 
  friend class ::CCExprResolve;
6193
 
  friend class ::CExprResolve;
 
6038
  friend class ::CMatchSyntax;
6194
6039
 
6195
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
6040
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
6196
6041
 
6197
6042
 
6198
6043
  ErrorStream     *_err;
6294
6139
 
6295
6140
#endif /* __path_manager__ */
6296
6141
 
6297
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6142
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6143
 
 
6144
#line 6145 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6145
 
 
6146
#ifndef __ac_fwd_PragmaOnceUnitState__
 
6147
#define __ac_fwd_PragmaOnceUnitState__
 
6148
class PragmaOnceUnitState;
 
6149
namespace AC {
 
6150
  template <class JoinPoint>
 
6151
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
6152
  template <class JoinPoint>
 
6153
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
6154
}
 
6155
#endif
 
6156
 
 
6157
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6158
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6159
#endif
 
6160
 
 
6161
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6298
6162
// This file is part of PUMA.
6299
6163
// Copyright (C) 1999-2003  The PUMA developer team.
6300
6164
//                                                                
6319
6183
// Class UnitManager helps you to have control of all units built.
6320
6184
 
6321
6185
 
6322
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6186
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6323
6187
#include <list>
6324
6188
 
6325
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6189
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6326
6190
using namespace std;
6327
6191
 
6328
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6192
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6329
6193
namespace Puma {
6330
6194
 
6331
6195
 
6334
6198
class Tokenizer;
6335
6199
 
6336
6200
 
6337
 
#line 6338 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6201
#line 6202 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6338
6202
} // closed Puma
 
6203
class CCExprResolve;
 
6204
class CExprResolve;
6339
6205
class WinIfExists;
6340
6206
class WinImportHandler;
6341
6207
class WinMacros;
6342
 
class CMatchSyntax;
6343
 
class ExtGnu;
 
6208
class WinAsm;
 
6209
class WinDeclSpecs;
 
6210
class WinMemberExplSpec;
 
6211
class WinTypeKeywords;
 
6212
class WinFriend;
6344
6213
class ExtAC;
6345
6214
class ExtACBuilderCoupling;
6346
6215
class ExtACSyntaxCoupling;
6347
6216
class ExtACTree;
6348
6217
class ExtACKeywords;
6349
 
class WinAsm;
6350
 
class WinDeclSpecs;
6351
 
class WinMemberExplSpec;
6352
 
class WinTypeKeywords;
 
6218
class ExtGnu;
6353
6219
class PragmaOnceUnitState;
6354
6220
class PragmaOnce;
6355
 
class CCExprResolve;
6356
 
class CExprResolve;
 
6221
class CMatchSyntax;
6357
6222
namespace Puma {
6358
6223
 
6359
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6224
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6360
6225
class UnitManager {
6361
 
#line 6362 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6226
#line 6227 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6227
  friend class ::CCExprResolve;
 
6228
  friend class ::CExprResolve;
6362
6229
  friend class ::WinIfExists;
6363
6230
  friend class ::WinImportHandler;
6364
6231
  friend class ::WinMacros;
6365
 
  friend class ::CMatchSyntax;
6366
 
  friend class ::ExtGnu;
 
6232
  friend class ::WinAsm;
 
6233
  friend class ::WinDeclSpecs;
 
6234
  friend class ::WinMemberExplSpec;
 
6235
  friend class ::WinTypeKeywords;
 
6236
  friend class ::WinFriend;
6367
6237
  friend class ::ExtAC;
6368
6238
  friend class ::ExtACBuilderCoupling;
6369
6239
  friend class ::ExtACSyntaxCoupling;
6370
6240
  friend class ::ExtACTree;
6371
6241
  friend class ::ExtACKeywords;
6372
 
  friend class ::WinAsm;
6373
 
  friend class ::WinDeclSpecs;
6374
 
  friend class ::WinMemberExplSpec;
6375
 
  friend class ::WinTypeKeywords;
 
6242
  friend class ::ExtGnu;
6376
6243
  friend class ::PragmaOnceUnitState;
6377
6244
  friend class ::PragmaOnce;
6378
 
  friend class ::CCExprResolve;
6379
 
  friend class ::CExprResolve;
 
6245
  friend class ::CMatchSyntax;
6380
6246
 
6381
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6247
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6382
6248
 
6383
6249
public:
6384
6250
  typedef map<string, Unit*> UMap;
6431
6297
      
6432
6298
  // Initialize the unit manager and the managed 
6433
6299
  // units for the next parse process.
6434
 
  void init ();
 
6300
  
 
6301
#line 6302 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6302
public: __attribute__((always_inline)) inline void __exec_old_init();
 
6303
 
 
6304
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6305
void init ();
6435
6306
};
6436
6307
 
6437
6308
 
6439
6310
 
6440
6311
#endif /* __UnitManager__ */
6441
6312
 
6442
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
6313
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6443
6314
// This file is part of PUMA.
6444
6315
// Copyright (C) 1999-2003  The PUMA developer team.
6445
6316
//                                                                
6466
6337
 
6467
6338
// Project file save mode.
6468
6339
 
6469
 
#line 6470 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6340
#line 6341 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6470
6341
} // closed Puma
 
6342
class CCExprResolve;
 
6343
class CExprResolve;
6471
6344
class WinIfExists;
6472
6345
class WinImportHandler;
6473
6346
class WinMacros;
6474
 
class CMatchSyntax;
6475
 
class ExtGnu;
 
6347
class WinAsm;
 
6348
class WinDeclSpecs;
 
6349
class WinMemberExplSpec;
 
6350
class WinTypeKeywords;
 
6351
class WinFriend;
6476
6352
class ExtAC;
6477
6353
class ExtACBuilderCoupling;
6478
6354
class ExtACSyntaxCoupling;
6479
6355
class ExtACTree;
6480
6356
class ExtACKeywords;
6481
 
class WinAsm;
6482
 
class WinDeclSpecs;
6483
 
class WinMemberExplSpec;
6484
 
class WinTypeKeywords;
 
6357
class ExtGnu;
6485
6358
class PragmaOnceUnitState;
6486
6359
class PragmaOnce;
6487
 
class CCExprResolve;
6488
 
class CExprResolve;
 
6360
class CMatchSyntax;
6489
6361
namespace Puma {
6490
6362
 
6491
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
6363
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6492
6364
struct SaveMode {
6493
 
#line 6494 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6365
#line 6366 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6366
  friend class ::CCExprResolve;
 
6367
  friend class ::CExprResolve;
6494
6368
  friend class ::WinIfExists;
6495
6369
  friend class ::WinImportHandler;
6496
6370
  friend class ::WinMacros;
6497
 
  friend class ::CMatchSyntax;
6498
 
  friend class ::ExtGnu;
 
6371
  friend class ::WinAsm;
 
6372
  friend class ::WinDeclSpecs;
 
6373
  friend class ::WinMemberExplSpec;
 
6374
  friend class ::WinTypeKeywords;
 
6375
  friend class ::WinFriend;
6499
6376
  friend class ::ExtAC;
6500
6377
  friend class ::ExtACBuilderCoupling;
6501
6378
  friend class ::ExtACSyntaxCoupling;
6502
6379
  friend class ::ExtACTree;
6503
6380
  friend class ::ExtACKeywords;
6504
 
  friend class ::WinAsm;
6505
 
  friend class ::WinDeclSpecs;
6506
 
  friend class ::WinMemberExplSpec;
6507
 
  friend class ::WinTypeKeywords;
 
6381
  friend class ::ExtGnu;
6508
6382
  friend class ::PragmaOnceUnitState;
6509
6383
  friend class ::PragmaOnce;
6510
 
  friend class ::CCExprResolve;
6511
 
  friend class ::CExprResolve;
 
6384
  friend class ::CMatchSyntax;
6512
6385
 
6513
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
6386
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6514
6387
 
6515
6388
  enum Mode { 
6516
6389
    OVERWRITE = 1, 
6524
6397
 
6525
6398
#endif /* __SaveMode__ */
6526
6399
 
6527
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
6400
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
6528
6401
#include <fstream>
6529
6402
 
6530
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
6403
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
6531
6404
using namespace std;
6532
6405
 
6533
6406
namespace Puma {
6534
6407
 
6535
6408
 
6536
6409
 
6537
 
#line 6538 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6410
#line 6411 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6538
6411
} // closed Puma
 
6412
class CCExprResolve;
 
6413
class CExprResolve;
6539
6414
class WinIfExists;
6540
6415
class WinImportHandler;
6541
6416
class WinMacros;
6542
 
class CMatchSyntax;
6543
 
class ExtGnu;
 
6417
class WinAsm;
 
6418
class WinDeclSpecs;
 
6419
class WinMemberExplSpec;
 
6420
class WinTypeKeywords;
 
6421
class WinFriend;
6544
6422
class ExtAC;
6545
6423
class ExtACBuilderCoupling;
6546
6424
class ExtACSyntaxCoupling;
6547
6425
class ExtACTree;
6548
6426
class ExtACKeywords;
6549
 
class WinAsm;
6550
 
class WinDeclSpecs;
6551
 
class WinMemberExplSpec;
6552
 
class WinTypeKeywords;
 
6427
class ExtGnu;
6553
6428
class PragmaOnceUnitState;
6554
6429
class PragmaOnce;
6555
 
class CCExprResolve;
6556
 
class CExprResolve;
 
6430
class CMatchSyntax;
6557
6431
namespace Puma {
6558
6432
 
6559
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
6433
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
6560
6434
class Project : public PathManager, public SaveMode {
6561
 
#line 6562 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6435
#line 6436 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6436
  friend class ::CCExprResolve;
 
6437
  friend class ::CExprResolve;
6562
6438
  friend class ::WinIfExists;
6563
6439
  friend class ::WinImportHandler;
6564
6440
  friend class ::WinMacros;
6565
 
  friend class ::CMatchSyntax;
6566
 
  friend class ::ExtGnu;
 
6441
  friend class ::WinAsm;
 
6442
  friend class ::WinDeclSpecs;
 
6443
  friend class ::WinMemberExplSpec;
 
6444
  friend class ::WinTypeKeywords;
 
6445
  friend class ::WinFriend;
6567
6446
  friend class ::ExtAC;
6568
6447
  friend class ::ExtACBuilderCoupling;
6569
6448
  friend class ::ExtACSyntaxCoupling;
6570
6449
  friend class ::ExtACTree;
6571
6450
  friend class ::ExtACKeywords;
6572
 
  friend class ::WinAsm;
6573
 
  friend class ::WinDeclSpecs;
6574
 
  friend class ::WinMemberExplSpec;
6575
 
  friend class ::WinTypeKeywords;
 
6451
  friend class ::ExtGnu;
6576
6452
  friend class ::PragmaOnceUnitState;
6577
6453
  friend class ::PragmaOnce;
6578
 
  friend class ::CCExprResolve;
6579
 
  friend class ::CExprResolve;
 
6454
  friend class ::CMatchSyntax;
6580
6455
 
6581
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
6456
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
6582
6457
 
6583
6458
  UnitManager  _unitManager; 
6584
6459
  const char  *_suffix;           // Current file name suffix.
6665
6540
 
6666
6541
#endif /* __project__ */
6667
6542
 
6668
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
6543
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
6669
6544
namespace Puma {
6670
6545
 
6671
6546
 
6673
6548
class CTypeInfo;
6674
6549
 
6675
6550
 
6676
 
#line 6677 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6551
#line 6552 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6677
6552
} // closed Puma
 
6553
class CCExprResolve;
 
6554
class CExprResolve;
6678
6555
class WinIfExists;
6679
6556
class WinImportHandler;
6680
6557
class WinMacros;
6681
 
class CMatchSyntax;
6682
 
class ExtGnu;
 
6558
class WinAsm;
 
6559
class WinDeclSpecs;
 
6560
class WinMemberExplSpec;
 
6561
class WinTypeKeywords;
 
6562
class WinFriend;
6683
6563
class ExtAC;
6684
6564
class ExtACBuilderCoupling;
6685
6565
class ExtACSyntaxCoupling;
6686
6566
class ExtACTree;
6687
6567
class ExtACKeywords;
6688
 
class WinAsm;
6689
 
class WinDeclSpecs;
6690
 
class WinMemberExplSpec;
6691
 
class WinTypeKeywords;
 
6568
class ExtGnu;
6692
6569
class PragmaOnceUnitState;
6693
6570
class PragmaOnce;
6694
 
class CCExprResolve;
6695
 
class CExprResolve;
 
6571
class CMatchSyntax;
6696
6572
namespace Puma {
6697
6573
 
6698
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
6574
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
6699
6575
class CProject : public Project {
6700
 
#line 6701 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6576
#line 6577 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6577
  friend class ::CCExprResolve;
 
6578
  friend class ::CExprResolve;
6701
6579
  friend class ::WinIfExists;
6702
6580
  friend class ::WinImportHandler;
6703
6581
  friend class ::WinMacros;
6704
 
  friend class ::CMatchSyntax;
6705
 
  friend class ::ExtGnu;
 
6582
  friend class ::WinAsm;
 
6583
  friend class ::WinDeclSpecs;
 
6584
  friend class ::WinMemberExplSpec;
 
6585
  friend class ::WinTypeKeywords;
 
6586
  friend class ::WinFriend;
6706
6587
  friend class ::ExtAC;
6707
6588
  friend class ::ExtACBuilderCoupling;
6708
6589
  friend class ::ExtACSyntaxCoupling;
6709
6590
  friend class ::ExtACTree;
6710
6591
  friend class ::ExtACKeywords;
6711
 
  friend class ::WinAsm;
6712
 
  friend class ::WinDeclSpecs;
6713
 
  friend class ::WinMemberExplSpec;
6714
 
  friend class ::WinTypeKeywords;
 
6592
  friend class ::ExtGnu;
6715
6593
  friend class ::PragmaOnceUnitState;
6716
6594
  friend class ::PragmaOnce;
6717
 
  friend class ::CCExprResolve;
6718
 
  friend class ::CExprResolve;
 
6595
  friend class ::CMatchSyntax;
6719
6596
 
6720
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
6597
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
6721
6598
 
6722
6599
  Config _config;
6723
6600
  CScanner _scanner;
6753
6630
  // Scan the file `file' or the source if given. When
6754
6631
  // scanning a source the resulting unit gets the name `file'.
6755
6632
  
6756
 
#line 6757 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
6757
 
public: inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
 
6633
#line 6634 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6634
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
6758
6635
 
6759
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
6636
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
6760
6637
virtual Unit *scanFile (const char *file, Source * = (Source*)0, 
6761
6638
                          bool isFile = true);
6762
6639
        
6786
6663
 
6787
6664
#endif /* __CProject_h__ */
6788
6665
 
6789
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
6666
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6790
6667
// This file is part of PUMA.
6791
6668
// Copyright (C) 1999-2003  The PUMA developer team.
6792
6669
//                                                                
6812
6689
// absolute path of the corresponding file.
6813
6690
 
6814
6691
 
6815
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
6692
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6816
6693
namespace Puma {
6817
6694
 
6818
6695
 
6819
6696
class Project;
6820
6697
 
6821
6698
 
6822
 
#line 6823 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6699
#line 6700 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6823
6700
} // closed Puma
 
6701
class CCExprResolve;
 
6702
class CExprResolve;
6824
6703
class WinIfExists;
6825
6704
class WinImportHandler;
6826
6705
class WinMacros;
6827
 
class CMatchSyntax;
6828
 
class ExtGnu;
 
6706
class WinAsm;
 
6707
class WinDeclSpecs;
 
6708
class WinMemberExplSpec;
 
6709
class WinTypeKeywords;
 
6710
class WinFriend;
6829
6711
class ExtAC;
6830
6712
class ExtACBuilderCoupling;
6831
6713
class ExtACSyntaxCoupling;
6832
6714
class ExtACTree;
6833
6715
class ExtACKeywords;
6834
 
class WinAsm;
6835
 
class WinDeclSpecs;
6836
 
class WinMemberExplSpec;
6837
 
class WinTypeKeywords;
 
6716
class ExtGnu;
6838
6717
class PragmaOnceUnitState;
6839
6718
class PragmaOnce;
6840
 
class CCExprResolve;
6841
 
class CExprResolve;
 
6719
class CMatchSyntax;
6842
6720
namespace Puma {
6843
6721
 
6844
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
6722
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6845
6723
class FileUnit : public Unit {
6846
 
#line 6847 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6724
#line 6725 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6725
  friend class ::CCExprResolve;
 
6726
  friend class ::CExprResolve;
6847
6727
  friend class ::WinIfExists;
6848
6728
  friend class ::WinImportHandler;
6849
6729
  friend class ::WinMacros;
6850
 
  friend class ::CMatchSyntax;
6851
 
  friend class ::ExtGnu;
 
6730
  friend class ::WinAsm;
 
6731
  friend class ::WinDeclSpecs;
 
6732
  friend class ::WinMemberExplSpec;
 
6733
  friend class ::WinTypeKeywords;
 
6734
  friend class ::WinFriend;
6852
6735
  friend class ::ExtAC;
6853
6736
  friend class ::ExtACBuilderCoupling;
6854
6737
  friend class ::ExtACSyntaxCoupling;
6855
6738
  friend class ::ExtACTree;
6856
6739
  friend class ::ExtACKeywords;
6857
 
  friend class ::WinAsm;
6858
 
  friend class ::WinDeclSpecs;
6859
 
  friend class ::WinMemberExplSpec;
6860
 
  friend class ::WinTypeKeywords;
 
6740
  friend class ::ExtGnu;
6861
6741
  friend class ::PragmaOnceUnitState;
6862
6742
  friend class ::PragmaOnce;
6863
 
  friend class ::CCExprResolve;
6864
 
  friend class ::CExprResolve;
 
6743
  friend class ::CMatchSyntax;
6865
6744
 
6866
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
6745
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6867
6746
 
6868
6747
  char *_lastLocation; 
6869
6748
  char *_absolutePath;
6929
6808
 
6930
6809
#endif /* __FileUnit__ */
6931
6810
 
6932
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6933
 
using namespace Puma;
6934
 
 
 
6811
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6935
6812
// *****************************************
6936
6813
// AspectC++ keyword handling in the scanner
6937
6814
// *****************************************
6938
6815
 
6939
 
#line 6940 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6816
#line 6817 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6817
class CCExprResolve;
 
6818
class CExprResolve;
6940
6819
class WinIfExists;
6941
6820
class WinImportHandler;
6942
6821
class WinMacros;
6943
 
class CMatchSyntax;
6944
 
class ExtGnu;
 
6822
class WinAsm;
 
6823
class WinDeclSpecs;
 
6824
class WinMemberExplSpec;
 
6825
class WinTypeKeywords;
 
6826
class WinFriend;
6945
6827
class ExtAC;
6946
6828
class ExtACBuilderCoupling;
6947
6829
class ExtACSyntaxCoupling;
6948
6830
class ExtACTree;
6949
 
class WinAsm;
6950
 
class WinDeclSpecs;
6951
 
class WinMemberExplSpec;
6952
 
class WinTypeKeywords;
 
6831
class ExtGnu;
6953
6832
class PragmaOnceUnitState;
6954
6833
class PragmaOnce;
6955
 
class CCExprResolve;
6956
 
class CExprResolve;
 
6834
class CMatchSyntax;
6957
6835
 
6958
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6836
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6959
6837
class ExtACKeywords {
6960
 
#line 6961 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6838
#line 6839 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
6961
6839
 
6962
6840
public:
6963
6841
  static ExtACKeywords *aspectof () {
6969
6847
  }
6970
6848
private:
6971
6849
 
6972
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6850
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6973
6851
 
6974
 
#line 6975 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6852
#line 6853 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6853
  friend class ::CCExprResolve;
 
6854
  friend class ::CExprResolve;
6975
6855
  friend class ::WinIfExists;
6976
6856
  friend class ::WinImportHandler;
6977
6857
  friend class ::WinMacros;
6978
 
  friend class ::CMatchSyntax;
6979
 
  friend class ::ExtGnu;
 
6858
  friend class ::WinAsm;
 
6859
  friend class ::WinDeclSpecs;
 
6860
  friend class ::WinMemberExplSpec;
 
6861
  friend class ::WinTypeKeywords;
 
6862
  friend class ::WinFriend;
6980
6863
  friend class ::ExtAC;
6981
6864
  friend class ::ExtACBuilderCoupling;
6982
6865
  friend class ::ExtACSyntaxCoupling;
6983
6866
  friend class ::ExtACTree;
6984
 
  friend class ::WinAsm;
6985
 
  friend class ::WinDeclSpecs;
6986
 
  friend class ::WinMemberExplSpec;
6987
 
  friend class ::WinTypeKeywords;
 
6867
  friend class ::ExtGnu;
6988
6868
  friend class ::PragmaOnceUnitState;
6989
6869
  friend class ::PragmaOnce;
6990
 
  friend class ::CCExprResolve;
6991
 
  friend class ::CExprResolve;
 
6870
  friend class ::CMatchSyntax;
6992
6871
 
6993
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6872
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6994
6873
 
6995
6874
 
6996
6875
  bool _prj_keywords;
6997
 
  CProject *_project; // active project
 
6876
  Puma::CProject *_project; // active project
6998
6877
  
6999
6878
protected:
7000
6879
  ExtACKeywords () : _prj_keywords (false) {}
 
6880
  
7001
6881
public:
7002
6882
  // allow/forbid AspectC++ keywords in normal project files
7003
6883
  void prj_keywords (bool kw) { _prj_keywords = kw; }
7004
6884
  
7005
6885
  
7006
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6886
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7007
6887
 
7008
6888
public: void __a0_before 
7009
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6889
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7010
6890
 
7011
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7012
 
(CProject &project)
7013
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6891
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6892
(Puma::CProject &project)
 
6893
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7014
6894
 {
7015
6895
    _project = &project;
7016
6896
  }
7017
6897
  
7018
6898
  
7019
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6899
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7020
6900
 
7021
6901
public: template<class JoinPoint> void __a1_before 
7022
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6902
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7023
6903
 
7024
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7025
 
(JoinPoint *tjp, Unit &unit)
7026
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6904
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6905
(JoinPoint *tjp, Puma::Unit &unit)
 
6906
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7027
6907
 {
7028
 
#line 7029 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6908
#line 6909 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
7029
6909
 
7030
6910
  typedef typename JoinPoint::That __JP_That;
7031
6911
  typedef typename JoinPoint::Target __JP_Target;
7032
6912
  typedef typename JoinPoint::Result __JP_Result;
7033
6913
 
7034
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6914
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7035
6915
 
7036
6916
    if (!unit.isFile ())
7037
6917
      return;
7038
6918
      
7039
6919
    bool ac_kw = _prj_keywords;
7040
6920
    // in external files the AspectC++ keywords are always identifiers
7041
 
    if (!((FileUnit*)&unit)->belongsTo (*_project)) {
 
6921
    if (!((Puma::FileUnit*)&unit)->belongsTo (*_project)) {
7042
6922
      ac_kw = false;
7043
6923
    }
7044
6924
    // in aspect headers keywords are keywords
7051
6931
  }
7052
6932
  
7053
6933
  
7054
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6934
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7055
6935
 
7056
6936
public: template<class JoinPoint> void __a2_before 
7057
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6937
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7058
6938
 
7059
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6939
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7060
6940
(JoinPoint *tjp)
7061
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6941
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7062
6942
 {
7063
 
#line 7064 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6943
#line 6944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
7064
6944
 
7065
6945
  typedef typename JoinPoint::That __JP_That;
7066
6946
  typedef typename JoinPoint::Target __JP_Target;
7067
6947
  typedef typename JoinPoint::Result __JP_Result;
7068
6948
 
7069
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6949
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7070
6950
 
7071
6951
    _project = tjp->that ();
7072
6952
  }
7073
6953
};
7074
 
#line 7075 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/CScanner.cc"
 
6954
#line 6955 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
7075
6955
 
7076
6956
namespace AC {
7077
 
  template <class JoinPoint, class Binding>
7078
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
7079
 
    typedef typename Binding::template Arg<0> Arg0;
 
6957
  template <class JoinPoint>
 
6958
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
 
6959
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a0_before::template Arg<0> Arg0;
7080
6960
    ::ExtACKeywords::aspectof()->__a0_before ((Puma::CProject &)Arg0::val (tjp));
7081
6961
  }
7082
 
  template <class JoinPoint, class Binding>
7083
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
7084
 
    typedef typename Binding::template Arg<0> Arg0;
 
6962
  template <class JoinPoint>
 
6963
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
 
6964
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a1_before::template Arg<0> Arg0;
7085
6965
    ::ExtACKeywords::aspectof()->__a1_before (tjp, (Puma::Unit &)Arg0::val (tjp));
7086
6966
  }
7087
6967
  template <class JoinPoint>
7088
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
 
6968
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
7089
6969
    ::ExtACKeywords::aspectof()->__a2_before (tjp);
7090
6970
  }
7091
6971
7092
6972
 
7093
 
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6973
#line 72 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
7094
6974
  
7095
6975
 
7096
6976
#endif /* __ext_ac_keywords_ah__ */
7097
6977
 
7098
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
7099
 
#endif
7100
 
#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__)
7101
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
6978
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
6979
#endif
 
6980
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6981
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6982
 
 
6983
#line 167 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
6984
#endif
 
6985
#endif
 
6986
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
6987
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6988
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6989
#include "ExtACTree.ah"
 
6990
#endif
 
6991
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
6992
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
6993
#include "ExtGnu.ah"
 
6994
#endif
 
6995
#endif
 
6996
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
6997
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6998
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6999
#include "ExtACTree.ah"
 
7000
#endif
 
7001
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
7002
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
7003
#include "ExtGnuCSemDeclSpecs.ah"
 
7004
#endif
 
7005
#endif
 
7006
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7007
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7008
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7009
#include "PragmaOnceUnitState.ah"
 
7010
#endif
 
7011
#endif
 
7012
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7013
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7014
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7015
#include "PragmaOnceUnitState.ah"
 
7016
#endif
 
7017
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7018
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7019
#include "PragmaOnce.ah"
 
7020
#endif
 
7021
#endif
 
7022
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
7023
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
7024
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
7102
7025
#include "TraceSyntax.ah"
7103
7026
#endif
7104
 
#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__)
7105
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__
7106
 
#include "WinAsm.ah"
7107
 
#endif
7108
 
#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__)
7109
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
7110
 
#include "WinDeclSpecs.ah"
7111
 
#endif
7112
 
#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__)
7113
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
7114
 
#include "WinMemberExplSpec.ah"
7115
 
#endif
7116
 
#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__)
7117
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
7118
 
#include "WinTypeKeywords.ah"
7119
 
#endif
7120
 
#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__)
7121
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
7122
 
 
7123
 
#line 75 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/CScanner.cc"
7124
 
#endif
7125
 
#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__)
7126
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7127
 
#include "PragmaOnce.ah"
7128
 
#endif
7129
 
#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__)
7130
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
7131
 
#include "CCExprResolveH.ah"
7132
 
#endif
7133
 
#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__)
7134
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
7135
 
#include "CCExprResolveCC.ah"
7136
 
#endif
7137
 
#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__)
7138
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__
7139
 
#include "CExprResolveH.ah"
7140
 
#endif
7141
 
#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__)
7142
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
7143
 
#include "CExprResolveCC.ah"
7144
 
#endif
7145
 
/*** end of aspect includes ***/
7146
 
#undef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
7147
 
#undef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_CScanner_cc__
7148
 
#endif // __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_CScanner_cc__
 
7027
#endif
 
7028
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
7029
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
7030
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
7031
#include "CMatchSyntax.ah"
 
7032
#endif
 
7033
#endif
 
7034
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
7035
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_CScanner_cc__
 
7036
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_CScanner_cc__