~ubuntu-branches/ubuntu/jaunty/aspectc++/jaunty

« 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-07-07 14:41:02 UTC
  • mfrom: (1.1.3 upstream) (6.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080707144102-lzml7t07f3sl00r5
Tags: 1.0pre4~svn.20080711-1
* new upstream snapshot.
* include all upstream documentation. Clarifying emails regarding
  licensing has been included into debian/copyright.
* reformat description following recomendations of
  http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description
  (Closes: #480316)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
 
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"
 
2
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
 
3
#ifndef __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
4
#define __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
5
#define __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_src_CScanner_cc__
 
6
#endif // __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
7
 
 
8
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
 
9
 
 
10
#line 11 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
11
11
 
12
12
#ifndef __ac_h_
13
13
#define __ac_h_
40
40
    typedef typename TL::type Type;
41
41
    typedef typename Referred<Type>::type ReferredType;
42
42
  };
 
43
  template <typename T> int ttest(...);
 
44
  template <typename T> char ttest(typename T::__AttrTypes const volatile *);
 
45
  template<typename T> struct HasTypeInfo {
 
46
    enum { RET=((sizeof(ttest<T>(0))==1)?1:0) };
 
47
  };
 
48
  template<typename T, int HAVE = HasTypeInfo<T>::RET> struct TypeInfo {
 
49
    enum { AVAILABLE = 0 };
 
50
  };
 
51
  template<typename T> struct TypeInfo<T, 1> {
 
52
    enum { AVAILABLE = 1 };
 
53
    enum { ELEMENTS = T::__AttrTypes::ARGS };
 
54
    template<int I>
 
55
    struct Member : public AC::Arg<typename T::__AttrTypes,I> {};
 
56
    template<int I>
 
57
    static typename Member<I>::ReferredType* member (T* obj) {
 
58
      return (typename Member<I>::ReferredType*)obj->__attr (I);
 
59
    }
 
60
    static const char *member_name (T &obj, int i) {
 
61
      return obj.__attr_name (i);
 
62
    }
 
63
         };
43
64
  template <class Aspect, int Index>
44
65
  struct CFlow {
45
66
    static int &instance () {
56
77
#endif // __cplusplus
57
78
#endif // __ac_h_
58
79
 
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"
 
80
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
 
81
 
 
82
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
 
83
 
 
84
#line 85 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
64
85
 
65
86
#ifndef __ac_fwd_ExtACKeywords__
66
87
#define __ac_fwd_ExtACKeywords__
75
96
}
76
97
#endif
77
98
 
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__
 
99
#ifndef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
100
#define __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
80
101
#endif
81
102
 
82
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
103
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
83
104
// This file is part of PUMA.
84
105
// Copyright (C) 1999-2003  The PUMA developer team.
85
106
//                                                                
99
120
// MA  02111-1307  USA                                            
100
121
 
101
122
 
102
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
123
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
103
124
// This file is part of PUMA.
104
125
// Copyright (C) 1999-2003  The PUMA developer team.
105
126
//                                                                
122
143
#define __c_scanner_h__
123
144
 
124
145
 
125
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
146
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
126
147
// This file is part of PUMA.
127
148
// Copyright (C) 1999-2003  The PUMA developer team.
128
149
//                                                                
145
166
#define __c_recognizer_h__
146
167
 
147
168
 
148
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
169
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
149
170
// This file is part of PUMA.
150
171
// Copyright (C) 1999-2003  The PUMA developer team.
151
172
//                                                                
168
189
#define __CScanBuffer_h__
169
190
 
170
191
 
171
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
192
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
172
193
// This file is part of PUMA.
173
194
// Copyright (C) 1999-2003  The PUMA developer team.
174
195
//                                                                
196
217
namespace Puma {
197
218
 
198
219
 
199
 
#line 200 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
220
#line 221 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
200
221
} // closed Puma
201
222
class CCExprResolve;
202
223
class CExprResolve;
219
240
class CMatchSyntax;
220
241
namespace Puma {
221
242
 
222
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
243
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
223
244
class ScanBuffer {
224
 
#line 225 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
245
#line 246 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
225
246
  friend class ::CCExprResolve;
226
247
  friend class ::CExprResolve;
227
248
  friend class ::WinIfExists;
242
263
  friend class ::PragmaOnce;
243
264
  friend class ::CMatchSyntax;
244
265
 
245
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
266
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
246
267
 
247
268
public:
248
269
  typedef enum { STATE_NEW, STATE_END, STATE_ERROR, STATE_OK } State;
276
297
      return STATE_END;
277
298
    return _state;
278
299
  }
 
300
public:
 
301
  typedef AC::TL<int,AC::TL<int,AC::TL<char *,AC::TL<int,AC::TLE > > > > __AttrTypes;
 
302
  const char *__attr_name (unsigned i) const {
 
303
    static const char *names[] = { "_token", "_pos", "_buffer", "_buff_size" }; return names[i];
 
304
  }
 
305
  const void *__attr (unsigned __i) const {
 
306
    switch (__i) { case 4: return &_token; case 5: return &_pos; case 6: return &_buffer; case 7: return &_buff_size; default: return 0; }
 
307
  }
 
308
#line 60 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
279
309
};
280
310
 
281
311
 
283
313
 
284
314
#endif /* __scan_buffer_h__ */
285
315
 
286
 
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
316
#line 24 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
287
317
namespace Puma {
288
318
 
289
319
 
290
320
 
291
 
#line 292 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
321
#line 322 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
292
322
} // closed Puma
293
323
class CCExprResolve;
294
324
class CExprResolve;
311
341
class CMatchSyntax;
312
342
namespace Puma {
313
343
 
314
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
344
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
315
345
class CScanBuffer : public ScanBuffer {
316
 
#line 317 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
346
#line 347 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
317
347
  friend class ::CCExprResolve;
318
348
  friend class ::CExprResolve;
319
349
  friend class ::WinIfExists;
334
364
  friend class ::PragmaOnce;
335
365
  friend class ::CMatchSyntax;
336
366
 
337
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
367
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
338
368
 
339
369
 
340
370
  int _new_line_pos;
347
377
  inline void retry (); 
348
378
  inline void accept (int len);
349
379
  inline bool new_line (int len) const;
 
380
public:
 
381
  typedef AC::TL<int,AC::TLE > __AttrTypes;
 
382
  const char *__attr_name (unsigned i) const {
 
383
    static const char *names[] = { "_new_line_pos" }; return names[i];
 
384
  }
 
385
  const void *__attr (unsigned __i) const {
 
386
    switch (__i) { case 0: return &_new_line_pos; default: return 0; }
 
387
  }
 
388
#line 39 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
350
389
};
351
390
 
352
391
 
384
423
 
385
424
#endif // __CScanBuffer_h__
386
425
 
387
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
426
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
388
427
// This file is part of PUMA.
389
428
// Copyright (C) 1999-2003  The PUMA developer team.
390
429
//                                                                
407
446
#define __c_comment_recognizer_h__
408
447
 
409
448
 
410
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
449
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
411
450
// This file is part of PUMA.
412
451
// Copyright (C) 1999-2003  The PUMA developer team.
413
452
//                                                                
434
473
// generated mapping table
435
474
 
436
475
 
437
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
 
476
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
438
477
// This file is part of PUMA.
439
478
// Copyright (C) 1999-2003  The PUMA developer team.
440
479
//                                                                
560
599
 
561
600
#endif /* __orange_recognizer_h__ */
562
601
 
563
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
602
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
564
603
namespace Puma {
565
604
 
566
605
 
595
634
 
596
635
#endif // __mapped_orange_recognizer_h__
597
636
 
598
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
637
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
599
638
namespace Puma {
600
639
 
601
640
 
602
641
 
603
 
#line 604 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
642
#line 643 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
604
643
} // closed Puma
605
644
class CCExprResolve;
606
645
class CExprResolve;
623
662
class CMatchSyntax;
624
663
namespace Puma {
625
664
 
626
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
665
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
627
666
class CCommentRecognizer {
628
 
#line 629 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
667
#line 668 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
629
668
  friend class ::CCExprResolve;
630
669
  friend class ::CExprResolve;
631
670
  friend class ::WinIfExists;
646
685
  friend class ::PragmaOnce;
647
686
  friend class ::CMatchSyntax;
648
687
 
649
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
688
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
650
689
 
651
690
public:
652
691
  typedef enum { NO_COMMENT, SL_COMMENT, ML_COMMENT } Mode;
662
701
  int recognize (CScanBuffer *scan_buffer, int &expr, int &len);
663
702
  void mode (Mode mode) { comment_mode = mode; }
664
703
  Mode mode () { return comment_mode; }
 
704
public:
 
705
  typedef AC::TLE __AttrTypes;
 
706
  const char *__attr_name (unsigned i) const {
 
707
    static const char *names[] = {  }; return names[i];
 
708
  }
 
709
  const void *__attr (unsigned __i) const {
 
710
    switch (__i) { default: return 0; }
 
711
  }
 
712
#line 43 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
665
713
};
666
714
 
667
715
 
669
717
 
670
718
#endif /* __c_comment_recognizer_h__ */
671
719
 
672
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
720
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
673
721
// This file is part of PUMA.
674
722
// Copyright (C) 1999-2003  The PUMA developer team.
675
723
//                                                                
692
740
#define __keyword_recognizer_h__
693
741
 
694
742
 
695
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
743
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
696
744
namespace Puma {
697
745
 
698
746
 
699
747
 
700
 
#line 701 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
748
#line 749 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
701
749
} // closed Puma
702
750
class CCExprResolve;
703
751
class CExprResolve;
720
768
class CMatchSyntax;
721
769
namespace Puma {
722
770
 
723
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
771
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
724
772
class KeywordRecognizer {
725
 
#line 726 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
773
#line 774 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
726
774
  friend class ::CCExprResolve;
727
775
  friend class ::CExprResolve;
728
776
  friend class ::WinIfExists;
743
791
  friend class ::PragmaOnce;
744
792
  friend class ::CMatchSyntax;
745
793
 
746
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
794
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
747
795
 
748
796
protected:
749
797
  virtual MappedOrangeRecognizer<CScanBuffer> &recognizer() = 0;
751
799
public:
752
800
  virtual ~KeywordRecognizer () {}
753
801
  virtual int recognize (CScanBuffer *scan_buffer, int &expr, int &len);
 
802
public:
 
803
  typedef AC::TLE __AttrTypes;
 
804
  const char *__attr_name (unsigned i) const {
 
805
    static const char *names[] = {  }; return names[i];
 
806
  }
 
807
  const void *__attr (unsigned __i) const {
 
808
    switch (__i) { default: return 0; }
 
809
  }
 
810
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
754
811
};
755
812
 
756
813
 
758
815
 
759
816
#endif /* __keyword_recognizer_h__ */
760
817
 
761
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Array.h"
 
818
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Array.h"
762
819
// This file is part of PUMA.
763
820
// Copyright (C) 1999-2003  The PUMA developer team.
764
821
//                                                                
780
837
#ifndef __array_h__
781
838
#define __array_h__
782
839
 
 
840
/** \file
 
841
 *  Variable length array implementation. */
 
842
 
783
843
#include <assert.h>
784
844
 
785
845
namespace Puma {
786
846
 
 
847
 
 
848
/** \class Array Array.h Puma/Array.h
 
849
 *  Variable length array implementation. */
787
850
template <class Item>
788
851
class Array {
789
852
protected:
 
853
  /** Default array size. */
790
854
  static const long default_init_size = 5;
 
855
  /** Default array size increment. */
791
856
  static const long default_increment = 5;
792
857
 
793
858
public:
 
859
  /** Constructor.
 
860
   *  \param is The default size of the array. 
 
861
   *  \param incr The default increment value. */
794
862
  Array (long is = default_init_size, long incr = default_increment);
 
863
  /** Copy-constructor.
 
864
   *  \param array The array to copy. */
795
865
  Array (const Array<Item>& array);
796
 
  Array<Item>& operator =(const Array<Item>&);
 
866
  /** Assignment operator.
 
867
   *  \param copy The array to copy. */
 
868
  Array<Item>& operator =(const Array<Item>& copy);
 
869
  /** Destructor. Destroys the array. */
797
870
  ~Array ();
 
871
  /** Append an item to the array. 
 
872
   *  \param item The item to append. */
798
873
  void append (const Item& item);
 
874
  /** Insert an item at the given array index. 
 
875
   *  \param index The array index. 
 
876
   *  \param item The item to insert. */
799
877
  void insert (long index, const Item& item);
 
878
  /** Prepend an item. 
 
879
   *  \param item The item to prepend. */
800
880
  void prepend (const Item& item);
 
881
  /** Remove the array item at the given array index.
 
882
   *  \param index The array index. */
801
883
  void remove (long index);
 
884
  /** Reset the array. Destroys the current array. */
802
885
  void reset ();
 
886
  /** Get a reference to the array item at the given 
 
887
   *  array index. If the index exceeds the array
 
888
   *  bounds, then the array is reallocated accordingly.
 
889
   *  \param index The array index. */
803
890
  Item& get (long index);
 
891
  /** Get a reference to the array item at the given 
 
892
   *  array index. If the index exceeds the array
 
893
   *  bounds, then the array is reallocated accordingly.
 
894
   *  \param index The array index. */
804
895
  Item& operator[] (long index);
 
896
  /** Get the array item at the given array index.
 
897
   *  Does not return a reference, thus the item may
 
898
   *  be implicitely copied. 
 
899
   *  \warning Does not validate the index!
 
900
   *  \param index The array index. */
805
901
  Item fetch (long index) const;
 
902
  /** Get a reference to the array item at the given 
 
903
   *  array index.
 
904
   *  \warning Does not validate the index!
 
905
   *  \param index The array index. */
806
906
  Item& lookup (long index) const;
 
907
  /** Get the number of items in the array. */
807
908
  long length () const;
808
909
 
809
910
private:
1011
1112
 
1012
1113
#endif /* __array_h__ */
1013
1114
 
1014
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
1115
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1015
1116
namespace Puma {
1016
1117
 
1017
1118
 
1018
1119
 
1019
 
#line 1020 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1120
#line 1121 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1020
1121
} // closed Puma
1021
1122
class CCExprResolve;
1022
1123
class CExprResolve;
1039
1140
class CMatchSyntax;
1040
1141
namespace Puma {
1041
1142
 
1042
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
1143
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1043
1144
class CRecognizer {
1044
 
#line 1045 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1145
#line 1146 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1045
1146
  friend class ::CCExprResolve;
1046
1147
  friend class ::CExprResolve;
1047
1148
  friend class ::WinIfExists;
1062
1163
  friend class ::PragmaOnce;
1063
1164
  friend class ::CMatchSyntax;
1064
1165
 
1065
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
1166
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1066
1167
 
1067
1168
  CCommentRecognizer comment_recognizer;
1068
1169
  Array<KeywordRecognizer*> additional_keyword_recognizers;
1106
1207
  bool macro_ops;
1107
1208
  bool std_c;
1108
1209
  bool std_cplusplus;
 
1210
public:
 
1211
  typedef AC::TL<Puma::CCommentRecognizer,AC::TL<Puma::Array< Puma::KeywordRecognizer * >,AC::TL<Puma::CScanBuffer,AC::TL<bool,AC::TL<bool,AC::TL<bool,AC::TL<bool,AC::TL<bool,AC::TL<bool,AC::TLE > > > > > > > > > __AttrTypes;
 
1212
  const char *__attr_name (unsigned i) const {
 
1213
    static const char *names[] = { "comment_recognizer", "additional_keyword_recognizers", "scan_buffer", "directives", "wildcards", "aspectc", "macro_ops", "std_c", "std_cplusplus" }; return names[i];
 
1214
  }
 
1215
  const void *__attr (unsigned __i) const {
 
1216
    switch (__i) { case 0: return &comment_recognizer; case 2: return &additional_keyword_recognizers; case 3: return &scan_buffer; case 30: return &directives; case 31: return &wildcards; case 32: return &aspectc; case 33: return &macro_ops; case 34: return &std_c; case 35: return &std_cplusplus; default: return 0; }
 
1217
  }
 
1218
#line 73 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
1109
1219
};
1110
1220
 
1111
1221
 
1113
1223
 
1114
1224
#endif /* __c_recognizer_h__ */
1115
1225
 
1116
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
1226
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Location.h"
1117
1227
// This file is part of PUMA.
1118
1228
// Copyright (C) 1999-2003  The PUMA developer team.
1119
1229
//                                                                
1136
1246
#define __location_h__
1137
1247
 
1138
1248
 
1139
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1249
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Filename.h"
1140
1250
// This file is part of PUMA.
1141
1251
// Copyright (C) 1999-2003  The PUMA developer team.
1142
1252
//                                                                
1159
1269
#define __filename_h__
1160
1270
 
1161
1271
 
1162
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1272
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1163
1273
// This file is part of PUMA.
1164
1274
// Copyright (C) 1999-2003  The PUMA developer team.
1165
1275
//                                                                
1182
1292
#define __smart_ptr_h__
1183
1293
 
1184
1294
 
1185
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1295
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1186
1296
// This file is part of PUMA.
1187
1297
// Copyright (C) 1999-2003  The PUMA developer team.
1188
1298
//                                                                
1208
1318
 
1209
1319
 
1210
1320
 
1211
 
#line 1212 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1321
#line 1322 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1212
1322
} // closed Puma
1213
1323
class CCExprResolve;
1214
1324
class CExprResolve;
1231
1341
class CMatchSyntax;
1232
1342
namespace Puma {
1233
1343
 
1234
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1344
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1235
1345
class RefCnt {
1236
 
#line 1237 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1346
#line 1347 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1237
1347
  friend class ::CCExprResolve;
1238
1348
  friend class ::CExprResolve;
1239
1349
  friend class ::WinIfExists;
1254
1364
  friend class ::PragmaOnce;
1255
1365
  friend class ::CMatchSyntax;
1256
1366
 
1257
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1367
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1258
1368
 
1259
1369
  int _counter;
1260
1370
 
1265
1375
  void ref () { _counter++; }
1266
1376
  void deref () { _counter--; }
1267
1377
  int counter () { return _counter; }
 
1378
public:
 
1379
  typedef AC::TL<int,AC::TLE > __AttrTypes;
 
1380
  const char *__attr_name (unsigned i) const {
 
1381
    static const char *names[] = { "_counter" }; return names[i];
 
1382
  }
 
1383
  const void *__attr (unsigned __i) const {
 
1384
    switch (__i) { case 0: return &_counter; default: return 0; }
 
1385
  }
 
1386
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1268
1387
};
1269
1388
 
1270
1389
 
1272
1391
 
1273
1392
#endif /* __ref_cnt_h__ */
1274
1393
 
1275
 
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1394
#line 24 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1276
1395
namespace Puma {
1277
1396
 
1278
1397
 
1279
1398
 
1280
 
#line 1281 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1399
#line 1400 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1281
1400
} // closed Puma
1282
1401
class CCExprResolve;
1283
1402
class CExprResolve;
1300
1419
class CMatchSyntax;
1301
1420
namespace Puma {
1302
1421
 
1303
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1422
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1304
1423
class SmartPtr {
1305
 
#line 1306 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1424
#line 1425 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1306
1425
  friend class ::CCExprResolve;
1307
1426
  friend class ::CExprResolve;
1308
1427
  friend class ::WinIfExists;
1323
1442
  friend class ::PragmaOnce;
1324
1443
  friend class ::CMatchSyntax;
1325
1444
 
1326
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1445
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1327
1446
 
1328
1447
  RefCnt *_data;
1329
1448
 
1338
1457
  void clear ();
1339
1458
  RefCnt *data () const { return _data; }
1340
1459
  bool is_defined () const { return _data != (RefCnt*)0; }
 
1460
public:
 
1461
  typedef AC::TL<Puma::RefCnt *,AC::TLE > __AttrTypes;
 
1462
  const char *__attr_name (unsigned i) const {
 
1463
    static const char *names[] = { "_data" }; return names[i];
 
1464
  }
 
1465
  const void *__attr (unsigned __i) const {
 
1466
    switch (__i) { case 0: return &_data; default: return 0; }
 
1467
  }
 
1468
#line 41 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1341
1469
};
1342
1470
 
1343
1471
 
1345
1473
 
1346
1474
#endif /* __smart_ptr_h__ */
1347
1475
 
1348
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1476
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Printable.h"
1349
1477
// This file is part of PUMA.
1350
1478
// Copyright (C) 1999-2003  The PUMA developer team.
1351
1479
//                                                                
1367
1495
#ifndef __printable_h__
1368
1496
#define __printable_h__
1369
1497
 
 
1498
/** \file
 
1499
 *  Object printing. */
 
1500
 
1370
1501
 
1371
 
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1502
#line 26 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Printable.h"
1372
1503
using namespace std;
1373
1504
 
1374
1505
namespace Puma {
1375
1506
 
1376
1507
 
 
1508
/** \class Printable Printable.h Puma/Printable.h
 
1509
 *  Provides that possibility for an object to be 
 
1510
 *  used with output streams (std::ostream). Derived 
 
1511
 *  classes have to implement method Printable::print(). 
 
1512
 *
 
1513
 *  Example:
 
1514
 *  \code
 
1515
 * class Name : public Puma::Printable {
 
1516
 *   const char* the_name;
 
1517
 * public:
 
1518
 *   Name(const char* n) : the_name(n) {}
 
1519
 *   void print(ostream &os) { 
 
1520
 *     os << "[name: " << the_name << "]"; 
 
1521
 *   }
 
1522
 * };
 
1523
 *
 
1524
 * Name adam("adam");
 
1525
 * std::cout << adam << std::endl;  // prints "[name: adam]\n"
 
1526
 *  \endcode */
1377
1527
 
1378
 
#line 1379 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1528
#line 1529 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1379
1529
} // closed Puma
1380
1530
class CCExprResolve;
1381
1531
class CExprResolve;
1398
1548
class CMatchSyntax;
1399
1549
namespace Puma {
1400
1550
 
1401
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1551
#line 50 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Printable.h"
1402
1552
class Printable {
1403
 
#line 1404 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1553
#line 1554 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1404
1554
  friend class ::CCExprResolve;
1405
1555
  friend class ::CExprResolve;
1406
1556
  friend class ::WinIfExists;
1421
1571
  friend class ::PragmaOnce;
1422
1572
  friend class ::CMatchSyntax;
1423
1573
 
1424
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
 
1574
#line 50 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Printable.h"
1425
1575
 
1426
1576
public:
 
1577
  /** Destructor. */
1427
1578
  virtual ~Printable () {}
 
1579
  /** Print something on the given output stream.
 
1580
   *  \param os The output stream. */
1428
1581
  virtual void print (ostream &os) const = 0;
 
1582
public:
 
1583
  typedef AC::TLE __AttrTypes;
 
1584
  const char *__attr_name (unsigned i) const { return 0; }
 
1585
  const void *__attr (unsigned __i) const { return 0; }
 
1586
#line 57 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Printable.h"
1429
1587
};
1430
1588
 
1431
1589
 
 
1590
/** Output stream operator for Puma::Printable objects. 
 
1591
 *  Calls method Printable::print() on the output stream.
 
1592
 *  \param os The output stream. 
 
1593
 *  \param object The object to print. */
1432
1594
inline ostream &operator << (ostream &os, const Printable &object) {
1433
1595
  object.print (os);
1434
1596
  return os;
1439
1601
 
1440
1602
#endif /* __printable_h__ */
1441
1603
 
1442
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1604
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1443
1605
// This file is part of PUMA.
1444
1606
// Copyright (C) 1999-2003  The PUMA developer team.
1445
1607
//                                                                
1462
1624
#define __filename_info_h__
1463
1625
 
1464
1626
 
1465
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
 
1627
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/DString.h"
1466
1628
// This file is part of PUMA.
1467
1629
// Copyright (C) 1999-2003  The PUMA developer team.
1468
1630
//                                                                
1484
1646
#ifndef __DString_h__
1485
1647
#define __DString_h__
1486
1648
 
1487
 
 
1488
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1649
/** \file
 
1650
 *  Global hash table based string container. */
 
1651
 
 
1652
 
 
1653
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1489
1654
// This file is part of PUMA.
1490
1655
// Copyright (C) 1999-2003  The PUMA developer team.
1491
1656
//                                                                
1508
1673
#define __StrHashTable_h__
1509
1674
 
1510
1675
 
1511
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1676
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1512
1677
// This file is part of PUMA.
1513
1678
// Copyright (C) 1999-2003  The PUMA developer team.
1514
1679
//                                                                
1531
1696
#define __StrHashKey_h__
1532
1697
 
1533
1698
 
1534
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1699
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrCol.h"
1535
1700
// This file is part of PUMA.
1536
1701
// Copyright (C) 1999-2003  The PUMA developer team.
1537
1702
//                                                                
1561
1726
class Unit;
1562
1727
 
1563
1728
 
1564
 
#line 1565 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1729
#line 1730 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1565
1730
} // closed Puma
1566
1731
class CCExprResolve;
1567
1732
class CExprResolve;
1584
1749
class CMatchSyntax;
1585
1750
namespace Puma {
1586
1751
 
1587
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1752
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrCol.h"
1588
1753
class StrCol {
1589
 
#line 1590 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1754
#line 1755 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1590
1755
  friend class ::CCExprResolve;
1591
1756
  friend class ::CExprResolve;
1592
1757
  friend class ::WinIfExists;
1607
1772
  friend class ::PragmaOnce;
1608
1773
  friend class ::CMatchSyntax;
1609
1774
 
1610
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1775
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrCol.h"
1611
1776
 
1612
1777
protected:
1613
1778
  StrCol () {}
1628
1793
  // Duplicate a string
1629
1794
  static char *dup (const char *);
1630
1795
  static char *dup (const char *, int);
 
1796
public:
 
1797
  typedef AC::TLE __AttrTypes;
 
1798
  const char *__attr_name (unsigned i) const { return 0; }
 
1799
  const void *__attr (unsigned __i) const { return 0; }
 
1800
#line 49 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrCol.h"
1631
1801
};
1632
1802
 
1633
1803
 
1635
1805
 
1636
1806
#endif /* __str_col__ */
1637
1807
 
1638
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1808
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Chain.h"
1639
1809
// This file is part of PUMA.
1640
1810
// Copyright (C) 1999-2003  The PUMA developer team.
1641
1811
//                                                                
1670
1840
 
1671
1841
 
1672
1842
 
1673
 
#line 1674 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1843
#line 1844 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1674
1844
} // closed Puma
1675
1845
class CCExprResolve;
1676
1846
class CExprResolve;
1693
1863
class CMatchSyntax;
1694
1864
namespace Puma {
1695
1865
 
1696
 
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1866
#line 34 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Chain.h"
1697
1867
class Chain {
1698
 
#line 1699 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1868
#line 1869 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1699
1869
  friend class ::CCExprResolve;
1700
1870
  friend class ::CExprResolve;
1701
1871
  friend class ::WinIfExists;
1716
1886
  friend class ::PragmaOnce;
1717
1887
  friend class ::CMatchSyntax;
1718
1888
 
1719
 
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1889
#line 34 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Chain.h"
1720
1890
 
1721
1891
  Chain *next;
1722
1892
 
1738
1908
    c->select (next);
1739
1909
    next = c;
1740
1910
  }
 
1911
public:
 
1912
  typedef AC::TL<Puma::Chain *,AC::TLE > __AttrTypes;
 
1913
  const char *__attr_name (unsigned i) const {
 
1914
    static const char *names[] = { "next" }; return names[i];
 
1915
  }
 
1916
  const void *__attr (unsigned __i) const {
 
1917
    switch (__i) { case 0: return &next; default: return 0; }
 
1918
  }
 
1919
#line 55 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Chain.h"
1741
1920
};
1742
1921
 
1743
1922
#ifndef __puma
1780
1959
 
1781
1960
#endif /* __Chain_h__ */
1782
1961
 
1783
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1962
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1784
1963
namespace Puma {
1785
1964
 
1786
1965
 
1787
1966
 
1788
 
#line 1789 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1967
#line 1968 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1789
1968
} // closed Puma
1790
1969
class CCExprResolve;
1791
1970
class CExprResolve;
1808
1987
class CMatchSyntax;
1809
1988
namespace Puma {
1810
1989
 
1811
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1990
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1812
1991
class StrHashKey : public Chain {
1813
 
#line 1814 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
1992
#line 1993 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1814
1993
  friend class ::CCExprResolve;
1815
1994
  friend class ::CExprResolve;
1816
1995
  friend class ::WinIfExists;
1831
2010
  friend class ::PragmaOnce;
1832
2011
  friend class ::CMatchSyntax;
1833
2012
 
1834
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
2013
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1835
2014
 
1836
2015
  unsigned int m_Magic;
1837
2016
  unsigned int m_Len;
1847
2026
  unsigned int getMagic () const { return m_Magic; }
1848
2027
  unsigned int length () const { return m_Len; }
1849
2028
  const char  *c_str () const { return m_Str; }
 
2029
public:
 
2030
  typedef AC::TL<unsigned int,AC::TL<unsigned int,AC::TL<const char *,AC::TLE > > > __AttrTypes;
 
2031
  const char *__attr_name (unsigned i) const {
 
2032
    static const char *names[] = { "m_Magic", "m_Len", "m_Str" }; return names[i];
 
2033
  }
 
2034
  const void *__attr (unsigned __i) const {
 
2035
    switch (__i) { case 0: return &m_Magic; case 1: return &m_Len; case 2: return &m_Str; default: return 0; }
 
2036
  }
 
2037
#line 43 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1850
2038
};
1851
2039
 
1852
2040
 
1854
2042
 
1855
2043
#endif /* __StrHashKey_h__ */
1856
2044
 
1857
 
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
2045
#line 23 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1858
2046
#include <assert.h>
1859
2047
 
1860
2048
namespace Puma {
1861
2049
 
1862
2050
 
1863
2051
 
1864
 
#line 1865 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2052
#line 2053 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1865
2053
} // closed Puma
1866
2054
class CCExprResolve;
1867
2055
class CExprResolve;
1884
2072
class CMatchSyntax;
1885
2073
namespace Puma {
1886
2074
 
1887
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
2075
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1888
2076
class StrHashTable {
1889
 
#line 1890 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2077
#line 2078 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1890
2078
  friend class ::CCExprResolve;
1891
2079
  friend class ::CExprResolve;
1892
2080
  friend class ::WinIfExists;
1907
2095
  friend class ::PragmaOnce;
1908
2096
  friend class ::CMatchSyntax;
1909
2097
 
1910
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
2098
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1911
2099
 
1912
2100
  StrHashKey *_emptyKey;
1913
2101
 
1929
2117
 
1930
2118
  StrHashKey *find (unsigned int, const char *, unsigned int);
1931
2119
  unsigned int hash (const char *, unsigned int &);
 
2120
public:
 
2121
  typedef AC::TL<Puma::StrHashKey *,AC::TL<Puma::Chain [65535],AC::TLE > > __AttrTypes;
 
2122
  const char *__attr_name (unsigned i) const {
 
2123
    static const char *names[] = { "_emptyKey", "m_Table" }; return names[i];
 
2124
  }
 
2125
  const void *__attr (unsigned __i) const {
 
2126
    switch (__i) { case 0: return &_emptyKey; case 2: return &m_Table; default: return 0; }
 
2127
  }
 
2128
#line 49 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1932
2129
};
1933
2130
 
1934
2131
 
1936
2133
 
1937
2134
#endif /* __StrHashTable_h__ */
1938
2135
 
1939
 
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
 
2136
#line 26 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/DString.h"
1940
2137
#include <assert.h>
1941
2138
 
1942
2139
namespace Puma {
1943
2140
 
1944
2141
 
 
2142
/** Global string hash table used by Puma::DString. */
1945
2143
extern StrHashTable ___str_dict;
1946
2144
 
1947
2145
 
1948
 
#line 1949 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2146
/** \class DString DString.h Puma/DString.h
 
2147
 *  Global hash table based string container. */
 
2148
 
 
2149
#line 2150 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1949
2150
} // closed Puma
1950
2151
class CCExprResolve;
1951
2152
class CExprResolve;
1968
2169
class CMatchSyntax;
1969
2170
namespace Puma {
1970
2171
 
1971
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
 
2172
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/DString.h"
1972
2173
class DString {
1973
 
#line 1974 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2174
#line 2175 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
1974
2175
  friend class ::CCExprResolve;
1975
2176
  friend class ::CExprResolve;
1976
2177
  friend class ::WinIfExists;
1991
2192
  friend class ::PragmaOnce;
1992
2193
  friend class ::CMatchSyntax;
1993
2194
 
1994
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
 
2195
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/DString.h"
1995
2196
 
1996
2197
  StrHashKey *m_Key;
1997
2198
 
1998
2199
public:
 
2200
  /** Constructor. */
1999
2201
  DString () {
2000
2202
    m_Key = ___str_dict.empty ();
2001
2203
    assert (m_Key);
2002
2204
  }
 
2205
  /** Constructor.
 
2206
   *  \param s The string, is put into the hash table. */
2003
2207
  DString (const char *s) {
2004
2208
    if(s == 0) {
2005
2209
      m_Key = ___str_dict.empty ();
2008
2212
    }
2009
2213
    assert (m_Key);
2010
2214
  }
 
2215
  /** Copy constructor.
 
2216
   *  \param s The string to copy. */
2011
2217
  DString (const DString &s) : m_Key (s.m_Key) {
2012
2218
    assert (s.m_Key);
2013
2219
  }
 
2220
  /** Destructor. */
 
2221
  ~DString () {
 
2222
    m_Key = 0;
 
2223
  }
2014
2224
  
 
2225
  /** Assignment operator.
 
2226
   *  \param s The string to copy. */
2015
2227
  DString &operator = (const DString &s) {
2016
2228
    assert (s.m_Key);
2017
2229
    m_Key = s.m_Key;
2018
2230
    return *this;
2019
2231
  }
2020
2232
  
 
2233
  /** Assignment operator.
 
2234
   *  \param s The string to copy. */
2021
2235
  DString &operator = (const char *s) {
2022
2236
    if(s == 0) {
2023
2237
      m_Key = ___str_dict.empty ();
2028
2242
    return *this;
2029
2243
  }
2030
2244
 
 
2245
  /** Check if the given string equals this string.
 
2246
   *  \param s The string to compare with. */
2031
2247
  bool operator == (const DString &s) const { 
2032
2248
    assert (m_Key && s.m_Key);
2033
2249
    return m_Key == s.m_Key; 
2034
2250
  }
 
2251
  /** Check if the given string not equals this string.
 
2252
   *  \param s The string to compare with. */
2035
2253
  bool operator != (const DString &s) const { 
2036
2254
    assert (m_Key && s.m_Key);
2037
2255
    return m_Key != s.m_Key; 
2038
2256
  }
2039
2257
 
 
2258
  /** Get the contained C string. */
2040
2259
  const char *c_str() const { 
2041
2260
    assert (m_Key);
2042
2261
    return m_Key->c_str (); 
2043
2262
  }
 
2263
  /** Get the length of the string. */
2044
2264
  unsigned int length () const { 
2045
2265
    assert (m_Key);
2046
2266
    return m_Key->length (); 
2047
2267
  }
 
2268
  /** Check if the string is empty (length=0). */
2048
2269
  bool empty () const {
2049
2270
    assert (m_Key);
2050
2271
    return m_Key->length () == 0;
2051
2272
  }
 
2273
  /** Get the magic number of the string. */
2052
2274
  unsigned int magic () const { 
2053
2275
    assert (m_Key);
2054
2276
    return m_Key->getMagic (); 
2055
2277
  }
2056
2278
 
 
2279
  /** Get the contained C string. */
2057
2280
  operator const char *() const {
2058
2281
    assert (m_Key);
2059
2282
    return c_str ();
2060
2283
  }
2061
2284
  
 
2285
  /** Clear the global string hash table. */
2062
2286
  static void clearDict() {
2063
2287
    ___str_dict.clear ();
2064
2288
  }
 
2289
public:
 
2290
  typedef AC::TL<Puma::StrHashKey *,AC::TLE > __AttrTypes;
 
2291
  const char *__attr_name (unsigned i) const {
 
2292
    static const char *names[] = { "m_Key" }; return names[i];
 
2293
  }
 
2294
  const void *__attr (unsigned __i) const {
 
2295
    switch (__i) { case 0: return &m_Key; default: return 0; }
 
2296
  }
 
2297
#line 130 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/DString.h"
2065
2298
};
2066
2299
 
2067
2300
 
2069
2302
 
2070
2303
#endif /* __DString_h__ */
2071
2304
 
2072
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2305
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2073
2306
namespace Puma {
2074
2307
 
2075
2308
 
2076
2309
 
2077
 
#line 2078 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2310
#line 2311 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2078
2311
} // closed Puma
2079
2312
class CCExprResolve;
2080
2313
class CExprResolve;
2097
2330
class CMatchSyntax;
2098
2331
namespace Puma {
2099
2332
 
2100
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2333
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2101
2334
class FilenameInfo : public RefCnt {
2102
 
#line 2103 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2335
#line 2336 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2103
2336
  friend class ::CCExprResolve;
2104
2337
  friend class ::CExprResolve;
2105
2338
  friend class ::WinIfExists;
2120
2353
  friend class ::PragmaOnce;
2121
2354
  friend class ::CMatchSyntax;
2122
2355
 
2123
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2356
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2124
2357
 
2125
2358
  DString _name;
2126
2359
  const char *_path;
2138
2371
  bool operator == (const FilenameInfo &rc) const {
2139
2372
    return _name == rc._name;
2140
2373
  }
 
2374
public:
 
2375
  typedef AC::TL<Puma::DString,AC::TL<const char *,AC::TL<const char *,AC::TLE > > > __AttrTypes;
 
2376
  const char *__attr_name (unsigned i) const {
 
2377
    static const char *names[] = { "_name", "_path", "_root" }; return names[i];
 
2378
  }
 
2379
  const void *__attr (unsigned __i) const {
 
2380
    switch (__i) { case 0: return &_name; case 1: return &_path; case 2: return &_root; default: return 0; }
 
2381
  }
 
2382
#line 45 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2141
2383
};
2142
2384
 
2143
2385
 
2145
2387
 
2146
2388
#endif /* __filename_info_h__ */
2147
2389
 
2148
 
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2390
#line 26 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Filename.h"
2149
2391
namespace Puma {
2150
2392
 
2151
2393
 
2152
2394
 
2153
 
#line 2154 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2395
#line 2396 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2154
2396
} // closed Puma
2155
2397
class CCExprResolve;
2156
2398
class CExprResolve;
2173
2415
class CMatchSyntax;
2174
2416
namespace Puma {
2175
2417
 
2176
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2418
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Filename.h"
2177
2419
class Filename : public SmartPtr, public Printable {
2178
 
#line 2179 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2420
#line 2421 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2179
2421
  friend class ::CCExprResolve;
2180
2422
  friend class ::CExprResolve;
2181
2423
  friend class ::WinIfExists;
2196
2438
  friend class ::PragmaOnce;
2197
2439
  friend class ::CMatchSyntax;
2198
2440
 
2199
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2441
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Filename.h"
2200
2442
 
2201
2443
  FilenameInfo *info () const { return (FilenameInfo*)data (); }
2202
2444
 
2213
2455
  bool operator == (const Filename &f) const;
2214
2456
  bool operator != (const Filename &f) const { return !(*this == f); }
2215
2457
  virtual void print (ostream &os) const { if (info ()) os << name (); }
 
2458
public:
 
2459
  typedef AC::TLE __AttrTypes;
 
2460
  const char *__attr_name (unsigned i) const { return 0; }
 
2461
  const void *__attr (unsigned __i) const { return 0; }
 
2462
#line 45 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Filename.h"
2216
2463
};
2217
2464
 
2218
2465
 
2220
2467
 
2221
2468
#endif /* __filename_h__ */
2222
2469
 
2223
 
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
2470
#line 24 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Location.h"
2224
2471
namespace Puma {
2225
2472
 
2226
2473
 
2227
2474
 
2228
 
#line 2229 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2475
#line 2476 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2229
2476
} // closed Puma
2230
2477
class CCExprResolve;
2231
2478
class CExprResolve;
2248
2495
class CMatchSyntax;
2249
2496
namespace Puma {
2250
2497
 
2251
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
2498
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Location.h"
2252
2499
class Location {
2253
 
#line 2254 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2500
#line 2501 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2254
2501
  friend class ::CCExprResolve;
2255
2502
  friend class ::CExprResolve;
2256
2503
  friend class ::WinIfExists;
2271
2518
  friend class ::PragmaOnce;
2272
2519
  friend class ::CMatchSyntax;
2273
2520
 
2274
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
2521
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Location.h"
2275
2522
 
2276
2523
  Filename _filename;
2277
2524
  int _line;
2299
2546
      return false;
2300
2547
    return line () < l.line () && column () < l.column ();
2301
2548
  }
 
2549
public:
 
2550
  typedef AC::TL<Puma::Filename,AC::TL<int,AC::TL<int,AC::TLE > > > __AttrTypes;
 
2551
  const char *__attr_name (unsigned i) const {
 
2552
    static const char *names[] = { "_filename", "_line", "_column" }; return names[i];
 
2553
  }
 
2554
  const void *__attr (unsigned __i) const {
 
2555
    switch (__i) { case 0: return &_filename; case 1: return &_line; case 2: return &_column; default: return 0; }
 
2556
  }
 
2557
#line 54 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Location.h"
2302
2558
};
2303
2559
 
2304
2560
inline std::ostream &operator << (std::ostream &os, const Location &loc) {
2313
2569
 
2314
2570
#endif /* __location_h__ */
2315
2571
 
2316
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
2572
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2317
2573
// This file is part of PUMA.
2318
2574
// Copyright (C) 1999-2003  The PUMA developer team.
2319
2575
//                                                                
2341
2597
 
2342
2598
 
2343
2599
 
2344
 
#line 2345 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2600
#line 2601 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2345
2601
} // closed Puma
2346
2602
class CCExprResolve;
2347
2603
class CExprResolve;
2364
2620
class CMatchSyntax;
2365
2621
namespace Puma {
2366
2622
 
2367
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
2623
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2368
2624
class LanguageID {
2369
 
#line 2370 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2625
#line 2626 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2370
2626
  friend class ::CCExprResolve;
2371
2627
  friend class ::CExprResolve;
2372
2628
  friend class ::WinIfExists;
2387
2643
  friend class ::PragmaOnce;
2388
2644
  friend class ::CMatchSyntax;
2389
2645
 
2390
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
2646
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2391
2647
 
2392
2648
  const char *_id;
2393
2649
 
2397
2653
  operator const char *() const { return _id; }
2398
2654
  bool operator == (const LanguageID &id) const
2399
2655
   { return _id == (const char*)id; }
 
2656
public:
 
2657
  typedef AC::TL<const char *,AC::TLE > __AttrTypes;
 
2658
  const char *__attr_name (unsigned i) const {
 
2659
    static const char *names[] = { "_id" }; return names[i];
 
2660
  }
 
2661
  const void *__attr (unsigned __i) const {
 
2662
    switch (__i) { case 0: return &_id; default: return 0; }
 
2663
  }
 
2664
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/LanguageID.h"
2400
2665
};
2401
2666
 
2402
2667
 
2404
2669
 
2405
2670
#endif /* __language_id_h__ */
2406
2671
 
2407
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
2672
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
2408
2673
// This file is part of PUMA.
2409
2674
// Copyright (C) 1999-2003  The PUMA developer team.
2410
2675
//                                                                
2430
2695
// form tokens, which used to fill a "Unit".
2431
2696
 
2432
2697
 
2433
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
 
2698
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Source.h"
2434
2699
// This file is part of PUMA.
2435
2700
// Copyright (C) 1999-2003  The PUMA developer team.
2436
2701
//                                                                
2456
2721
 
2457
2722
 
2458
2723
 
2459
 
#line 2460 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2724
#line 2725 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2460
2725
} // closed Puma
2461
2726
class CCExprResolve;
2462
2727
class CExprResolve;
2479
2744
class CMatchSyntax;
2480
2745
namespace Puma {
2481
2746
 
2482
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
 
2747
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Source.h"
2483
2748
class Source {
2484
 
#line 2485 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2749
#line 2750 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2485
2750
  friend class ::CCExprResolve;
2486
2751
  friend class ::CExprResolve;
2487
2752
  friend class ::WinIfExists;
2502
2767
  friend class ::PragmaOnce;
2503
2768
  friend class ::CMatchSyntax;
2504
2769
 
2505
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
 
2770
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Source.h"
2506
2771
 
2507
2772
public:
2508
2773
  Source () {}
2509
2774
  virtual ~Source () {}
2510
2775
  virtual int read (char *dest, int n) = 0;
2511
2776
  virtual int size () { return -1; }
 
2777
public:
 
2778
  typedef AC::TLE __AttrTypes;
 
2779
  const char *__attr_name (unsigned i) const { return 0; }
 
2780
  const void *__attr (unsigned __i) const { return 0; }
 
2781
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Source.h"
2512
2782
};
2513
2783
 
2514
2784
 
2516
2786
 
2517
2787
#endif /* __source_h__ */
2518
2788
 
2519
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
2789
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Unit.h"
2520
2790
// This file is part of PUMA.
2521
2791
// Copyright (C) 1999-2003  The PUMA developer team.
2522
2792
//                                                                
2538
2808
#ifndef __unit_h__
2539
2809
#define __unit_h__
2540
2810
 
2541
 
 
2542
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
2811
/** \file
 
2812
 *  Token chain abstraction. */
 
2813
 
 
2814
 
 
2815
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/List.h"
2543
2816
// This file is part of PUMA.
2544
2817
// Copyright (C) 1999-2003  The PUMA developer team.
2545
2818
//                                                                
2561
2834
#ifndef __list_h__
2562
2835
#define __list_h__
2563
2836
 
 
2837
/** \file
 
2838
 *  Double-linked list implementation. */
 
2839
 
2564
2840
 
2565
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2841
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ListElement.h"
2566
2842
// This file is part of PUMA.
2567
2843
// Copyright (C) 1999-2003  The PUMA developer team.
2568
2844
//                                                                
2584
2860
#ifndef __list_element_h__
2585
2861
#define __list_element_h__
2586
2862
 
2587
 
// Base class for objects that may be inserted into a List. Lists
2588
 
// autonomously delete or copy list element. So it's necessary to
2589
 
// define a destructor and a duplicate method in the derived
2590
 
// classes.
 
2863
/** \file
 
2864
 *  Double-linked list element. */
2591
2865
 
2592
2866
#include <assert.h>
2593
2867
 
2597
2871
class List;
2598
2872
 
2599
2873
 
2600
 
#line 2601 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2874
/** \class ListElement ListElement.h Puma/ListElement.h
 
2875
 *  Double-linked list element type to be used as elements
 
2876
 *  for Puma::List. To be derived for concrete list elements. */
 
2877
 
 
2878
#line 2879 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2601
2879
} // closed Puma
2602
2880
class CCExprResolve;
2603
2881
class CExprResolve;
2620
2898
class CMatchSyntax;
2621
2899
namespace Puma {
2622
2900
 
2623
 
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2901
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ListElement.h"
2624
2902
class ListElement {
2625
 
#line 2626 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2903
#line 2904 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2626
2904
  friend class ::CCExprResolve;
2627
2905
  friend class ::CExprResolve;
2628
2906
  friend class ::WinIfExists;
2643
2921
  friend class ::PragmaOnce;
2644
2922
  friend class ::CMatchSyntax;
2645
2923
 
2646
 
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
2924
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ListElement.h"
2647
2925
 
2648
2926
  friend class List;
2649
2927
 
2652
2930
  ListElement *_prev;
2653
2931
 
2654
2932
public:
 
2933
  /** Constructor. */
2655
2934
  ListElement () : _belonging_to ((List*)0) {}
 
2935
  /** Destructor. */
2656
2936
  virtual ~ListElement () { assert (! _belonging_to); };
2657
2937
 
 
2938
  /** Duplicate this element. */
2658
2939
  virtual ListElement *duplicate () = 0;
 
2940
  /** Get the list this element belongs to. 
 
2941
   *  \return The list of NULL if not in a list. */
2659
2942
  List *belonging_to () const { return _belonging_to; }
 
2943
public:
 
2944
  typedef AC::TL<Puma::List *,AC::TL<Puma::ListElement *,AC::TL<Puma::ListElement *,AC::TLE > > > __AttrTypes;
 
2945
  const char *__attr_name (unsigned i) const {
 
2946
    static const char *names[] = { "_belonging_to", "_next", "_prev" }; return names[i];
 
2947
  }
 
2948
  const void *__attr (unsigned __i) const {
 
2949
    switch (__i) { case 0: return &_belonging_to; case 1: return &_next; case 2: return &_prev; default: return 0; }
 
2950
  }
 
2951
#line 54 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ListElement.h"
2660
2952
};
2661
2953
 
2662
2954
 
2664
2956
 
2665
2957
#endif /* __list_element_h__ */
2666
2958
 
2667
 
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
2959
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/List.h"
2668
2960
namespace Puma {
2669
2961
 
2670
2962
 
 
2963
/** \class List List.h Puma/List.h
 
2964
 *  Double-linked list implementation. */
2671
2965
 
2672
 
#line 2673 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2966
#line 2967 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2673
2967
} // closed Puma
2674
2968
class CCExprResolve;
2675
2969
class CExprResolve;
2692
2986
class CMatchSyntax;
2693
2987
namespace Puma {
2694
2988
 
2695
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
2989
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/List.h"
2696
2990
class List {
2697
 
#line 2698 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
2991
#line 2992 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2698
2992
  friend class ::CCExprResolve;
2699
2993
  friend class ::CExprResolve;
2700
2994
  friend class ::WinIfExists;
2715
3009
  friend class ::PragmaOnce;
2716
3010
  friend class ::CMatchSyntax;
2717
3011
 
2718
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
 
3012
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/List.h"
2719
3013
 
2720
3014
  ListElement *_first;
2721
3015
  ListElement *_last;
2722
3016
 
2723
3017
public:
 
3018
  /** Constructor. */
2724
3019
  List () : _first ((ListElement*)0), _last ((ListElement*)0) {}
2725
 
  List (const List &);
 
3020
  /** Copy-constructor.
 
3021
   *  \param copy The list to copy. */
 
3022
  List (const List &copy);
 
3023
  /** Destructor. Destroys the list elements. */
2726
3024
  ~List();
2727
3025
 
2728
 
  List &operator = (const List &);
2729
 
  List &operator += (const List &);
2730
 
  List operator + (const List &);
 
3026
  /** Assignment operator.
 
3027
   *  \param copy The list to copy. */
 
3028
  List &operator = (const List &copy);
 
3029
  /** Append the given list.
 
3030
   *  \param list The list to append. */
 
3031
  List &operator += (const List &list);
 
3032
  /** Create a new list containing the elements of this
 
3033
   *  list followed by the elements of the given list. 
 
3034
   *  \param list The other list. */
 
3035
  List operator + (const List &list);
2731
3036
 
 
3037
  /** Destroy the list elements. */
2732
3038
  void clear ();
2733
3039
 
2734
 
  void append (ListElement &);
2735
 
  void prepend (ListElement &);
 
3040
  /** Append an element to the list. 
 
3041
   *  \param element The element. */
 
3042
  void append (ListElement &element);
 
3043
  /** Prepend an element to the list. 
 
3044
   *  \param element The element. */
 
3045
  void prepend (ListElement &element);
 
3046
  /** Insert an element at the given list position. 
 
3047
   *  \param at A list element where to insert the element. 
 
3048
   *  \param element The element. */
2736
3049
  void insert (ListElement *at, ListElement &element);
 
3050
  /** Remove the given element from the list.
 
3051
   *  \param element The list element. */
2737
3052
  void remove (ListElement *element);
 
3053
  /** Remove and destroy all elements between the
 
3054
   *  given list elements.
 
3055
   *  \param from The first list element to kill.
 
3056
   *  \param to The last list element to kill. */
2738
3057
  void kill (ListElement *from, ListElement *to = (ListElement*)0)
2739
3058
   { List discard; cut (discard, from, to); }
2740
3059
 
 
3060
  /** Cut all elements between the given list elements.
 
3061
   *  \param out The container for the cutted elements (are appended).
 
3062
   *  \param from The first list element to cut.
 
3063
   *  \param to The last list element to cut. */
2741
3064
  void cut (List &out, ListElement *from, ListElement *to = (ListElement*)0);
2742
 
  //List *cut (ListElement *from, ListElement *to = (ListElement*)0);
2743
 
  List *copy (ListElement *from = (ListElement*)0, 
2744
 
              ListElement *to = (ListElement*)0);
 
3065
  /** Copy all elements between the given list elements.
 
3066
   *  \param from The first list element to cut.
 
3067
   *  \param to The last list element to cut. 
 
3068
   *  \return A new list containing the copied elements. */
 
3069
  List *copy (ListElement *from = (ListElement*)0, ListElement *to = (ListElement*)0);
 
3070
  /** Insert copies of the elements of the given list at
 
3071
   *  the given list position.
 
3072
   *  \param at The list element at which to paste the list elements.
 
3073
   *  \param l The list containing the elements to paste. */
2745
3074
  void paste (ListElement *at, const List &l);
 
3075
  /** Insert copies of the elements of the given list before
 
3076
   *  the given list position.
 
3077
   *  \param at The list element before which to paste the list elements.
 
3078
   *  \param l The list containing the elements to paste. */
2746
3079
  void paste_before (ListElement *at, const List &l);
 
3080
  /** Insert the elements of the given list at the given 
 
3081
   *  list position. The elements are removed from the source
 
3082
   *  list.
 
3083
   *  \param at The list element at which to insert the list elements.
 
3084
   *  \param l The list containing the elements to insert. */
2747
3085
  void move (ListElement *at, List &l);
 
3086
  /** Insert the elements of the given list before the given 
 
3087
   *  list position. The elements are removed from the source
 
3088
   *  list.
 
3089
   *  \param at The list element before which to insert the list elements.
 
3090
   *  \param l The list containing the elements to insert. */
2748
3091
  void move_before (ListElement *at, List &l);
2749
3092
 
 
3093
  /** Check if the list is empty. */
2750
3094
  bool empty () const { return _first == (ListElement*)0; }
 
3095
  
 
3096
  /** Get the first element in the list. 
 
3097
   *  \return The element or NULL if list is empty. */
2751
3098
  const ListElement *first () const { return _first; }
 
3099
  /** Get the last element in the list. 
 
3100
   *  \return The element or NULL if list is empty. */
2752
3101
  const ListElement *last () const { return _last; }
 
3102
  /** Get the next element of the given element. 
 
3103
   *  \return The element or NULL if the given element is NULL. */
2753
3104
  const ListElement *next (const ListElement *element) const
2754
3105
   { return element ? element->_next : 0; }
 
3106
  /** Get the previous element of the given element. 
 
3107
   *  \return The element or NULL if the given element is NULL. */
2755
3108
  const ListElement *prev (const ListElement *element) const 
2756
3109
   { return element ? element->_prev : 0; }
 
3110
public:
 
3111
  typedef AC::TL<Puma::ListElement *,AC::TL<Puma::ListElement *,AC::TLE > > __AttrTypes;
 
3112
  const char *__attr_name (unsigned i) const {
 
3113
    static const char *names[] = { "_first", "_last" }; return names[i];
 
3114
  }
 
3115
  const void *__attr (unsigned __i) const {
 
3116
    switch (__i) { case 0: return &_first; case 1: return &_last; default: return 0; }
 
3117
  }
 
3118
#line 129 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/List.h"
2757
3119
};
2758
3120
 
2759
3121
 
2761
3123
 
2762
3124
#endif /* __list_h__ */
2763
3125
 
2764
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3126
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
2765
3127
 
2766
 
#line 2767 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3128
#line 3129 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2767
3129
 
2768
3130
#ifndef __ac_fwd_PragmaOnceUnitState__
2769
3131
#define __ac_fwd_PragmaOnceUnitState__
2776
3138
}
2777
3139
#endif
2778
3140
 
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__
 
3141
#ifndef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
3142
#define __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2781
3143
#endif
2782
3144
 
2783
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3145
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
2784
3146
// This file is part of PUMA.
2785
3147
// Copyright (C) 1999-2003  The PUMA developer team.
2786
3148
//                                                                
2812
3174
 
2813
3175
 
2814
3176
 
2815
 
#line 2816 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3177
#line 3178 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2816
3178
} // closed Puma
2817
3179
class CCExprResolve;
2818
3180
class CExprResolve;
2835
3197
class CMatchSyntax;
2836
3198
namespace Puma {
2837
3199
 
2838
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3200
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
2839
3201
 
2840
 
#line 2841 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3202
#line 3203 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2841
3203
} // closed Puma
2842
3204
 
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__
 
3205
#ifndef __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
3206
#define __ac_guard__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2845
3207
 
2846
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3208
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2847
3209
// This file is part of PUMA.
2848
3210
// Copyright (C) 1999-2003  The PUMA developer team.
2849
3211
//                                                                
2866
3228
#define __PragmaOnceUnitState__
2867
3229
 
2868
3230
 
2869
 
#line 2870 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3231
#line 3232 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2870
3232
class CCExprResolve;
2871
3233
class CExprResolve;
2872
3234
class WinIfExists;
2886
3248
class PragmaOnce;
2887
3249
class CMatchSyntax;
2888
3250
 
2889
 
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3251
#line 22 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2890
3252
class PragmaOnceUnitState {
2891
 
#line 2892 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3253
#line 3254 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2892
3254
 
2893
3255
public:
2894
3256
  static PragmaOnceUnitState *aspectof () {
2900
3262
  }
2901
3263
private:
2902
3264
 
2903
 
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3265
#line 22 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2904
3266
 
2905
 
#line 2906 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3267
#line 3268 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2906
3268
  friend class ::CCExprResolve;
2907
3269
  friend class ::CExprResolve;
2908
3270
  friend class ::WinIfExists;
2922
3284
  friend class ::PragmaOnce;
2923
3285
  friend class ::CMatchSyntax;
2924
3286
 
2925
 
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3287
#line 22 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2926
3288
 
2927
3289
  /******************************************************/
2928
3290
  /* specific #pragma once unit state                   */
2930
3292
 
2931
3293
  // pointcut definitions
2932
3294
  
2933
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3295
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2934
3296
 
2935
3297
 
2936
3298
  
2937
 
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3299
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2938
3300
 
2939
3301
  
2940
3302
  // initialize new state flag
2941
3303
  
2942
 
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3304
#line 3 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2943
3305
 
2944
3306
public: template<class JoinPoint> void __a0_after 
2945
 
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3307
#line 40 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2946
3308
 
2947
 
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3309
#line 40 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2948
3310
(JoinPoint *tjp)
2949
 
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3311
#line 40 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2950
3312
 {
2951
 
#line 2952 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3313
#line 3314 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2952
3314
 
2953
3315
  JoinPoint *&thisJoinPoint = tjp;
2954
3316
 
2955
 
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3317
#line 40 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2956
3318
 
2957
 
#line 2958 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3319
#line 3320 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2958
3320
 
2959
3321
  typedef typename JoinPoint::That __JP_That;
2960
3322
  typedef typename JoinPoint::Target __JP_Target;
2961
3323
  typedef typename JoinPoint::Result __JP_Result;
2962
3324
 
2963
 
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3325
#line 40 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2964
3326
 
2965
3327
    thisJoinPoint->that ()->_once = false;
2966
3328
  }
2967
 
#line 2968 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3329
#line 3330 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2968
3330
 
2969
3331
private:
2970
3332
 
2971
 
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3333
#line 42 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2972
3334
 
2973
3335
  
2974
3336
  // initialize new flag for all managed units 
2975
3337
  
2976
 
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3338
#line 3 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2977
3339
 
2978
3340
public: template<class JoinPoint> void __a1_after 
2979
 
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3341
#line 45 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2980
3342
 
2981
 
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3343
#line 45 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2982
3344
(JoinPoint *tjp)
2983
 
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3345
#line 45 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2984
3346
 {
2985
 
#line 2986 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3347
#line 3348 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
2986
3348
 
2987
3349
  typedef typename JoinPoint::That __JP_That;
2988
3350
  typedef typename JoinPoint::Target __JP_Target;
2989
3351
  typedef typename JoinPoint::Result __JP_Result;
2990
3352
 
2991
 
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3353
#line 45 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2992
3354
 
2993
3355
    // go through the whole unit hash table and reset the 
2994
3356
    // `#pragma once' state of the units
2995
3357
    typename __JP_That
2996
 
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3358
#line 48 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2997
3359
::UMapIter iter;
2998
3360
    for (iter = tjp->that()->_umap.begin (); iter != tjp->that()->_umap.end (); ++iter)
2999
3361
      (*iter).second->state ().onlyOnce (false);
3000
3362
  }
3001
 
#line 3002 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3363
#line 3364 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3002
3364
 
3003
3365
private:
3004
3366
 
3005
 
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3367
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3006
3368
 
3007
3369
 
3008
3370
protected:
3009
3371
  // this aspect should never be instantiated directly
3010
3372
  PragmaOnceUnitState () {}
 
3373
public:
 
3374
  typedef AC::TLE __AttrTypes;
 
3375
  const char *__attr_name (unsigned i) const { return 0; }
 
3376
  const void *__attr (unsigned __i) const { return 0; }
 
3377
#line 56 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3011
3378
};
3012
 
#line 3013 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3379
#line 3380 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3013
3380
 
3014
3381
namespace AC {
3015
3382
  template <class JoinPoint>
3022
3389
  }
3023
3390
3024
3391
 
3025
 
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3392
#line 56 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3026
3393
 
3027
3394
 
3028
3395
 
3029
3396
#endif /* __PragmaOnceUnitState__ */
3030
3397
 
3031
 
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3398
#line 8 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3032
3399
#endif
3033
3400
namespace Puma {
3034
3401
 
3035
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3402
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3036
3403
class UnitState {
3037
 
#line 3038 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3404
#line 3405 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3038
3405
  friend class ::CCExprResolve;
3039
3406
  friend class ::CExprResolve;
3040
3407
  friend class ::WinIfExists;
3055
3422
  friend class ::PragmaOnce;
3056
3423
  friend class ::CMatchSyntax;
3057
3424
 
3058
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3425
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3059
3426
 
3060
3427
  bool _modified;
3061
3428
  bool _updated;
3063
3430
      
3064
3431
public:
3065
3432
  
3066
 
#line 3067 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3433
#line 3434 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3067
3434
public: __attribute__((always_inline)) inline void __exec_old_C1();
3068
3435
 
3069
 
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3436
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3070
3437
UnitState ();
3071
3438
      
3072
3439
  bool isModified () const;
3080
3447
  void updated ();
3081
3448
   private:
3082
3449
 
3083
 
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
3450
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
3084
3451
 bool _once ;
3085
3452
public :
3086
3453
 
3087
3454
bool onlyOnce ( ) const { return _once ; }
3088
 
void onlyOnce ( bool v ) { _once = v ; }
3089
 
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3455
void onlyOnce ( bool v ) { _once = v ; }public:
 
3456
  typedef AC::TL<bool,AC::TL<bool,AC::TL<long int,AC::TL<bool,AC::TLE > > > > __AttrTypes;
 
3457
  const char *__attr_name (unsigned i) const {
 
3458
    static const char *names[] = { "_modified", "_updated", "_lastModified", "_once" }; return names[i];
 
3459
  }
 
3460
  const void *__attr (unsigned __i) const {
 
3461
    switch (__i) { case 0: return &_modified; case 1: return &_updated; case 2: return &_lastModified; case 3: return &_once; default: return 0; }
 
3462
  }
 
3463
#line 48 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3090
3464
 
3091
 
#line 3092 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3465
#line 3466 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3092
3466
 
3093
3467
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
3094
3468
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 __TJP;
3097
3471
  typedef TTarget Target;
3098
3472
  enum { ARGS = TArgs::ARGS };
3099
3473
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
3100
 
  static const int JPID = 3512;
 
3474
  static const int JPID = 3522;
3101
3475
  static const AC::JPType JPTYPE = (AC::JPType)16;
3102
3476
  struct Res {
3103
3477
    typedef void Type;
3111
3485
};
3112
3486
 
3113
3487
 
3114
 
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3488
#line 48 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3115
3489
 
3116
 
#line 3117 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3490
#line 3491 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3117
3491
 
3118
3492
public:
3119
3493
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
3124
3498
 
3125
3499
}
3126
3500
 
3127
 
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3501
#line 48 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3128
3502
};
3129
3503
 
3130
3504
 
3131
 
#line 3132 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3505
#line 3506 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3132
3506
 
3133
3507
 
3134
3508
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1Ev_0 {
3138
3512
  typedef TTarget Target;
3139
3513
  enum { ARGS = TArgs::ARGS };
3140
3514
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
3141
 
  static const int JPID = 3488;
 
3515
  static const int JPID = 3498;
3142
3516
  static const AC::JPType JPTYPE = (AC::JPType)16;
3143
3517
  struct Res {
3144
3518
    typedef void Type;
3152
3526
};
3153
3527
 
3154
3528
 
3155
 
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
3529
#line 50 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3156
3530
inline UnitState::UnitState ()
3157
3531
 
3158
 
#line 3159 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3532
#line 3533 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3159
3533
{
3160
3534
  typedef TJP__ZN4Puma9UnitStateC1Ev_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TLE > __TJP;
3161
3535
    __TJP tjp;
3165
3539
  
3166
3540
}
3167
3541
__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"
 
3542
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitState.h"
3169
3543
{ _modified = false; _updated = false; _lastModified = 0; }
3170
3544
 
3171
3545
inline bool UnitState::isModified () const 
3189
3563
 
3190
3564
#endif /* __UnitState__ */
3191
3565
 
3192
 
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
3566
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Unit.h"
3193
3567
namespace Puma {
3194
3568
 
3195
3569
 
3196
 
 
3197
 
#line 3198 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3570
class Token;
 
3571
 
 
3572
 
 
3573
/** \class Unit Unit.h Puma/Unit.h
 
3574
 *  Token chain abstraction of a source file or string. 
 
3575
 *  
 
3576
 *  A token unit is the result of scanning a file or string
 
3577
 *  containing recognizable source code. The unit consists
 
3578
 *  of a list of tokens that directly map to the characters
 
3579
 *  and words of the source code.
 
3580
 *
 
3581
 *  A unit can have different states, such as being modified
 
3582
 *  or not. After changing something on a unit, its state
 
3583
 *  should be set to being modified.
 
3584
 *
 
3585
 *  All source code manipulations resp. transformations provided
 
3586
 *  by Puma are based on manipulating the token chain. Tokens
 
3587
 *  can be added, moved, removed, and so on. 
 
3588
 *
 
3589
 *  Translating the token chain back to the source code text is 
 
3590
 *  done by printing the unit using method Puma::Unit::print()
 
3591
 *  or as shown in the following example.
 
3592
 *  \code 
 
3593
 * ...
 
3594
 * std::ofstream file("code.cc");
 
3595
 * file << unit;
 
3596
 * file.close();
 
3597
 *  \endcode */
 
3598
 
 
3599
#line 3600 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3198
3600
} // closed Puma
3199
3601
class CCExprResolve;
3200
3602
class CExprResolve;
3217
3619
class CMatchSyntax;
3218
3620
namespace Puma {
3219
3621
 
3220
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
3622
#line 60 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Unit.h"
3221
3623
class Unit : public List, public Printable {
3222
 
#line 3223 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3624
#line 3625 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3223
3625
  friend class ::CCExprResolve;
3224
3626
  friend class ::CExprResolve;
3225
3627
  friend class ::WinIfExists;
3240
3642
  friend class ::PragmaOnce;
3241
3643
  friend class ::CMatchSyntax;
3242
3644
 
3243
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
 
3645
#line 60 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Unit.h"
3244
3646
 
3245
3647
  char *_name;
3246
3648
  UnitState _state;
3247
3649
 
3248
3650
public:
 
3651
  /** Constructor. */
3249
3652
  Unit () : List (), _name ((char*)0) {}
 
3653
  /** Copy-constructor.
 
3654
   *  \param list The token chain to copy. */
3250
3655
  Unit (const List &list) : List (list), _name ((char*)0) {}
 
3656
  /** Destructor. Destroys the tokens. */
3251
3657
  virtual ~Unit ();
3252
 
  virtual void name (const char *);
 
3658
  /** Set the name of the unit (usually the file name).
 
3659
   *  \param name The name. */
 
3660
  virtual void name (const char *name);
 
3661
  /** Get the name of the unit (usually the file name). */
3253
3662
  char *name () const { return _name; }
 
3663
  /** Print the tokens of the unit on the given stream.
 
3664
   *  \param os The output stream. */
3254
3665
  virtual void print (ostream &os) const;
 
3666
  /** Check if this is a unit for a file. */
3255
3667
  virtual bool isFile () const { return false; }
 
3668
  /** Check if this is a unit for a macro expansion. */
3256
3669
  virtual bool isMacroExp () const { return false; }
 
3670
  /** Get the state of the unit. */
3257
3671
  UnitState &state () { return _state; }
 
3672
 
 
3673
public:
 
3674
  /** Get the first token in the unit. 
 
3675
   *  \return The token or NULL if unit is empty. */
 
3676
  Token *first () const { return (Token*)List::first(); }
 
3677
  /** Get the last token in the unit. 
 
3678
   *  \return The token or NULL if unit is empty. */
 
3679
  Token *last () const { return (Token*)List::last(); }
 
3680
  /** Get the next token of the given token. 
 
3681
   *  \return The token or NULL if the given token is NULL. */
 
3682
  Token *next (const Token *token) const { return (Token*)List::next((const ListElement*)token); }
 
3683
  /** Get the previous token of the given token. 
 
3684
   *  \return The token or NULL if the given token is NULL. */
 
3685
  Token *prev (const Token *token) const { return (Token*)List::prev((const ListElement*)token); }
 
3686
public:
 
3687
  typedef AC::TL<char *,AC::TL<Puma::UnitState,AC::TLE > > __AttrTypes;
 
3688
  const char *__attr_name (unsigned i) const {
 
3689
    static const char *names[] = { "_name", "_state" }; return names[i];
 
3690
  }
 
3691
  const void *__attr (unsigned __i) const {
 
3692
    switch (__i) { case 0: return &_name; case 1: return &_state; default: return 0; }
 
3693
  }
 
3694
#line 100 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Unit.h"
3258
3695
};
3259
3696
 
3260
3697
 
3262
3699
 
3263
3700
#endif /* __unit_h__ */
3264
3701
 
3265
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3702
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3266
3703
namespace Puma {
3267
3704
 
3268
3705
 
3269
3706
 
3270
 
#line 3271 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3707
#line 3708 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3271
3708
} // closed Puma
3272
3709
class CCExprResolve;
3273
3710
class CExprResolve;
3290
3727
class CMatchSyntax;
3291
3728
namespace Puma {
3292
3729
 
3293
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3730
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3294
3731
class Tokenizer {
3295
 
#line 3296 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3732
#line 3733 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3296
3733
  friend class ::CCExprResolve;
3297
3734
  friend class ::CExprResolve;
3298
3735
  friend class ::WinIfExists;
3313
3750
  friend class ::PragmaOnce;
3314
3751
  friend class ::CMatchSyntax;
3315
3752
 
3316
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3753
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3317
3754
 
3318
3755
public:
3319
3756
  virtual ~Tokenizer () {}
3320
3757
  virtual void fill_unit (Source &in, Unit &unit) = 0;
 
3758
public:
 
3759
  typedef AC::TLE __AttrTypes;
 
3760
  const char *__attr_name (unsigned i) const { return 0; }
 
3761
  const void *__attr (unsigned __i) const { return 0; }
 
3762
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
3321
3763
};
3322
3764
 
3323
3765
 
3325
3767
 
3326
3768
#endif /* __Tokenizer_h__ */
3327
3769
 
3328
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3770
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3329
3771
// This file is part of PUMA.
3330
3772
// Copyright (C) 1999-2003  The PUMA developer team.
3331
3773
//                                                                
3360
3802
// messages or collect them for a later processing.
3361
3803
 
3362
3804
 
3363
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3805
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3364
3806
// This file is part of PUMA.
3365
3807
// Copyright (C) 1999-2003  The PUMA developer team.
3366
3808
//                                                                
3388
3830
 
3389
3831
 
3390
3832
 
3391
 
#line 3392 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3833
#line 3834 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3392
3834
} // closed Puma
3393
3835
class CCExprResolve;
3394
3836
class CExprResolve;
3411
3853
class CMatchSyntax;
3412
3854
namespace Puma {
3413
3855
 
3414
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3856
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3415
3857
class ErrorSeverity {
3416
 
#line 3417 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3858
#line 3859 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3417
3859
  friend class ::CCExprResolve;
3418
3860
  friend class ::CExprResolve;
3419
3861
  friend class ::WinIfExists;
3434
3876
  friend class ::PragmaOnce;
3435
3877
  friend class ::CMatchSyntax;
3436
3878
 
3437
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
3879
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3438
3880
 
3439
3881
  unsigned short _severity;
3440
3882
  const char *_text;
3461
3903
   { return _severity != s._severity; }
3462
3904
  const char *text () const
3463
3905
   { return _text; }
 
3906
public:
 
3907
  typedef AC::TL<unsigned short int,AC::TL<const char *,AC::TLE > > __AttrTypes;
 
3908
  const char *__attr_name (unsigned i) const {
 
3909
    static const char *names[] = { "_severity", "_text" }; return names[i];
 
3910
  }
 
3911
  const void *__attr (unsigned __i) const {
 
3912
    switch (__i) { case 0: return &_severity; case 1: return &_text; default: return 0; }
 
3913
  }
 
3914
#line 53 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
3464
3915
};
3465
3916
 
3466
3917
extern const ErrorSeverity sev_none;
3474
3925
 
3475
3926
#endif /* __error_severity_h__ */
3476
3927
 
3477
 
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3928
#line 38 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3478
3929
namespace Puma {
3479
3930
 
3480
3931
 
3481
3932
 
3482
 
#line 3483 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3933
#line 3934 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3483
3934
} // closed Puma
3484
3935
class CCExprResolve;
3485
3936
class CExprResolve;
3502
3953
class CMatchSyntax;
3503
3954
namespace Puma {
3504
3955
 
3505
 
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3956
#line 41 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3506
3957
class ErrorSink {
3507
 
#line 3508 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
3958
#line 3959 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3508
3959
  friend class ::CCExprResolve;
3509
3960
  friend class ::CExprResolve;
3510
3961
  friend class ::WinIfExists;
3525
3976
  friend class ::PragmaOnce;
3526
3977
  friend class ::CMatchSyntax;
3527
3978
 
3528
 
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
3979
#line 41 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3529
3980
 
3530
3981
public:
3531
3982
  virtual ~ErrorSink () {}
3541
3992
  virtual ErrorSink &operator << (const Printable &) = 0;
3542
3993
  virtual ErrorSink &operator << (void (*f)(ErrorSink &)) = 0;
3543
3994
  virtual void endMessage () = 0;
 
3995
public:
 
3996
  typedef AC::TLE __AttrTypes;
 
3997
  const char *__attr_name (unsigned i) const { return 0; }
 
3998
  const void *__attr (unsigned __i) const { return 0; }
 
3999
#line 56 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
3544
4000
};
3545
4001
 
3546
4002
void endMessage (ErrorSink &);
3550
4006
 
3551
4007
#endif /* __error_sink_h__ */
3552
4008
 
3553
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
 
4009
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Config.h"
3554
4010
// This file is part of PUMA.
3555
4011
// Copyright (C) 1999-2003  The PUMA developer team.
3556
4012
//                                                                
3572
4028
#ifndef __Config_h__
3573
4029
#define __Config_h__
3574
4030
 
3575
 
// Class Config provides evaluation of configuration 
3576
 
// information from file or command line.
3577
 
 
3578
 
 
3579
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
 
4031
/** \file
 
4032
 *  Configuration information from file or command line. */
 
4033
 
 
4034
 
 
4035
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Flags.h"
3580
4036
// This file is part of PUMA.
3581
4037
// Copyright (C) 1999-2003  The PUMA developer team.
3582
4038
//                                                                
3602
4058
 
3603
4059
 
3604
4060
 
3605
 
#line 3606 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4061
#line 4062 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3606
4062
} // closed Puma
3607
4063
class CCExprResolve;
3608
4064
class CExprResolve;
3625
4081
class CMatchSyntax;
3626
4082
namespace Puma {
3627
4083
 
3628
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
 
4084
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Flags.h"
3629
4085
class Flags {
3630
 
#line 3631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4086
#line 4087 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3631
4087
  friend class ::CCExprResolve;
3632
4088
  friend class ::CExprResolve;
3633
4089
  friend class ::WinIfExists;
3648
4104
  friend class ::PragmaOnce;
3649
4105
  friend class ::CMatchSyntax;
3650
4106
 
3651
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
 
4107
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Flags.h"
3652
4108
 
3653
4109
public:
3654
4110
  enum Flag {
3688
4144
  // test for flag
3689
4145
  bool operator ==(Flag) const;
3690
4146
  bool operator !=(Flag) const;
 
4147
public:
 
4148
  typedef AC::TL<Puma::Flags::Flag,AC::TLE > __AttrTypes;
 
4149
  const char *__attr_name (unsigned i) const {
 
4150
    static const char *names[] = { "_Flags" }; return names[i];
 
4151
  }
 
4152
  const void *__attr (unsigned __i) const {
 
4153
    switch (__i) { case 16: return &_Flags; default: return 0; }
 
4154
  }
 
4155
#line 64 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Flags.h"
3691
4156
};
3692
4157
 
3693
4158
inline Flags::Flags () : _Flags (NONE) 
3712
4177
 
3713
4178
#endif /* __Flags_h__ */
3714
4179
 
3715
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4180
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3716
4181
// This file is part of PUMA.
3717
4182
// Copyright (C) 1999-2003  The PUMA developer team.
3718
4183
//                                                                
3735
4200
#define __ConfOption_h__
3736
4201
 
3737
4202
 
3738
 
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4203
#line 24 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3739
4204
#include <stdlib.h>
3740
4205
 
3741
4206
namespace Puma {
3742
4207
 
3743
4208
 
3744
4209
 
3745
 
#line 3746 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4210
#line 4211 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3746
4211
} // closed Puma
3747
4212
class CCExprResolve;
3748
4213
class CExprResolve;
3765
4230
class CMatchSyntax;
3766
4231
namespace Puma {
3767
4232
 
3768
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4233
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3769
4234
class ConfOption {
3770
 
#line 3771 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4235
#line 4236 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3771
4236
  friend class ::CCExprResolve;
3772
4237
  friend class ::CExprResolve;
3773
4238
  friend class ::WinIfExists;
3788
4253
  friend class ::PragmaOnce;
3789
4254
  friend class ::CMatchSyntax;
3790
4255
 
3791
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4256
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3792
4257
 
3793
4258
  const char *_name;
3794
4259
  Array<const char *> _args;
3804
4269
  const char *Argument (unsigned) const;
3805
4270
  
3806
4271
  void addArgument (const char *);
 
4272
public:
 
4273
  typedef AC::TL<const char *,AC::TL<Puma::Array< const char * >,AC::TLE > > __AttrTypes;
 
4274
  const char *__attr_name (unsigned i) const {
 
4275
    static const char *names[] = { "_name", "_args" }; return names[i];
 
4276
  }
 
4277
  const void *__attr (unsigned __i) const {
 
4278
    switch (__i) { case 0: return &_name; case 2: return &_args; default: return 0; }
 
4279
  }
 
4280
#line 44 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ConfOption.h"
3807
4281
};
3808
4282
 
3809
4283
inline ConfOption::ConfOption (const char *n) : _args (1, 1) 
3834
4308
 
3835
4309
#endif /* __ConfOption_h__ */
3836
4310
 
3837
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4311
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3838
4312
// This file is part of PUMA.
3839
4313
// Copyright (C) 1999-2003  The PUMA developer team.
3840
4314
//                                                                
3862
4336
 
3863
4337
#include <sstream>
3864
4338
 
3865
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4339
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3866
4340
using namespace std;
3867
4341
 
3868
4342
namespace Puma {
3869
4343
 
3870
4344
 
3871
4345
 
3872
 
#line 3873 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4346
#line 4347 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3873
4347
} // closed Puma
3874
4348
class CCExprResolve;
3875
4349
class CExprResolve;
3892
4366
class CMatchSyntax;
3893
4367
namespace Puma {
3894
4368
 
3895
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4369
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3896
4370
class ErrorStream : public ErrorSink {
3897
 
#line 3898 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4371
#line 4372 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
3898
4372
  friend class ::CCExprResolve;
3899
4373
  friend class ::CExprResolve;
3900
4374
  friend class ::WinIfExists;
3915
4389
  friend class ::PragmaOnce;
3916
4390
  friend class ::CMatchSyntax;
3917
4391
 
3918
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4392
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3919
4393
 
3920
4394
  ostream *_ostream;
3921
4395
  ErrorSeverity _max_severity;
3951
4425
  void loud ();
3952
4426
 
3953
4427
  ErrorSeverity severity () const { return _max_severity; }
 
4428
public:
 
4429
  typedef AC::TL<std::basic_ostream< char > *,AC::TL<Puma::ErrorSeverity,AC::TL<Puma::ErrorSeverity,AC::TL<Puma::Location,AC::TL<bool,AC::TL<std::basic_ostringstream< char > *,AC::TL<bool,AC::TLE > > > > > > > __AttrTypes;
 
4430
  const char *__attr_name (unsigned i) const {
 
4431
    static const char *names[] = { "_ostream", "_max_severity", "_curr_severity", "_location", "_have_location", "_msg", "_silently" }; return names[i];
 
4432
  }
 
4433
  const void *__attr (unsigned __i) const {
 
4434
    switch (__i) { case 0: return &_ostream; case 1: return &_max_severity; case 2: return &_curr_severity; case 3: return &_location; case 4: return &_have_location; case 5: return &_msg; case 6: return &_silently; default: return 0; }
 
4435
  }
 
4436
#line 70 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
3954
4437
};
3955
4438
 
3956
4439
 
3958
4441
 
3959
4442
#endif /* __error_stream_h__ */
3960
4443
 
3961
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4444
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
3962
4445
// This file is part of PUMA.
3963
4446
// Copyright (C) 1999-2003  The PUMA developer team.
3964
4447
//                                                                
3981
4464
#define __OptsParser_h__
3982
4465
 
3983
4466
 
3984
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4467
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
3985
4468
// This file is part of PUMA.
3986
4469
// Copyright (C) 1999-2003  The PUMA developer team.
3987
4470
//                                                                
4004
4487
#define __SimpleParser_h__
4005
4488
 
4006
4489
 
4007
 
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4490
#line 23 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4008
4491
#include <vector>
4009
4492
using namespace std;
4010
4493
 
4016
4499
 * \class SimpleParser SimpleParser.h Puma/common/SimpleParser.h
4017
4500
 */
4018
4501
 
4019
 
#line 4020 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4502
#line 4503 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4020
4503
} // closed Puma
4021
4504
class CCExprResolve;
4022
4505
class CExprResolve;
4039
4522
class CMatchSyntax;
4040
4523
namespace Puma {
4041
4524
 
4042
 
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4525
#line 33 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4043
4526
class SimpleParser {
4044
 
#line 4045 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4527
#line 4528 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4045
4528
  friend class ::CCExprResolve;
4046
4529
  friend class ::CExprResolve;
4047
4530
  friend class ::WinIfExists;
4062
4545
  friend class ::PragmaOnce;
4063
4546
  friend class ::CMatchSyntax;
4064
4547
 
4065
 
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4548
#line 33 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4066
4549
 
4067
4550
public:
4068
4551
  /**
4106
4589
   * \return The end of the next token.
4107
4590
   */
4108
4591
  static string::size_type findEndOfNextToken (const string& line, const string& delimiters, string::size_type lastPos);
 
4592
public:
 
4593
  typedef AC::TLE __AttrTypes;
 
4594
  const char *__attr_name (unsigned i) const { return 0; }
 
4595
  const void *__attr (unsigned __i) const { return 0; }
 
4596
#line 76 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4109
4597
};
4110
4598
 
4111
4599
 
4113
4601
 
4114
4602
#endif /* __SimpleParser_h__ */
4115
4603
 
4116
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4604
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4117
4605
using namespace std;
4118
4606
 
4119
4607
namespace Puma {
4123
4611
 *  handles their option arguments, if applicable.
4124
4612
 */
4125
4613
 
4126
 
#line 4127 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4614
#line 4615 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4127
4615
} // closed Puma
4128
4616
class CCExprResolve;
4129
4617
class CExprResolve;
4146
4634
class CMatchSyntax;
4147
4635
namespace Puma {
4148
4636
 
4149
 
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4637
#line 33 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4150
4638
class OptsParser : public SimpleParser {
4151
 
#line 4152 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4639
#line 4640 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4152
4640
  friend class ::CCExprResolve;
4153
4641
  friend class ::CExprResolve;
4154
4642
  friend class ::WinIfExists;
4169
4657
  friend class ::PragmaOnce;
4170
4658
  friend class ::CMatchSyntax;
4171
4659
 
4172
 
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4660
#line 33 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4173
4661
 
4174
4662
  
4175
4663
  
4229
4717
   *  An array of this type has to be passed to the constructor OptsParser::OptsParser()
4230
4718
   */
4231
4719
  struct Option {
4232
 
#line 4233 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4720
#line 4721 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4233
4721
  friend class ::CCExprResolve;
4234
4722
  friend class ::CExprResolve;
4235
4723
  friend class ::WinIfExists;
4250
4738
  friend class ::PragmaOnce;
4251
4739
  friend class ::CMatchSyntax;
4252
4740
 
4253
 
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4741
#line 91 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4254
4742
 
4255
4743
    int number; /**< Number associated with this option */
4256
4744
    const char *shortName; /**< Short name of this option. Should ideally not contain more than one character */
4257
4745
    const char *longName; /**< Long namen of this option */
4258
4746
    const char *desc; /**< Description of this option **/ 
4259
4747
    ArgType argType; /**< Type of argument for this option */
4260
 
  };
 
4748
  public:
 
4749
  typedef AC::TL<int,AC::TL<const char *,AC::TL<const char *,AC::TL<const char *,AC::TL<Puma::OptsParser::ArgType,AC::TLE > > > > > __AttrTypes;
 
4750
  const char *__attr_name (unsigned i) const {
 
4751
    static const char *names[] = { "number", "shortName", "longName", "desc", "argType" }; return names[i];
 
4752
  }
 
4753
  const void *__attr (unsigned __i) const {
 
4754
    switch (__i) { case 0: return &number; case 1: return &shortName; case 2: return &longName; case 3: return &desc; case 4: return &argType; default: return 0; }
 
4755
  }
 
4756
#line 97 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4757
};
4261
4758
 
4262
4759
private:
4263
4760
  /** Pointer to array of available options. This value is set to the value of the 
4288
4785
   *  \param opts Pointer to array of options which shall be 
4289
4786
   *              recognized by the options parser
4290
4787
   */
4291
 
  OptsParser (const string &line, const Option *);
 
4788
  OptsParser (const string &line, const Option *opts);
4292
4789
 
4293
4790
  
4294
4791
  /** Get next parameter without modification. 
4372
4869
  /** Process an option found by OptsParser::findOption(). 
4373
4870
   */
4374
4871
  bool processOption  (const string &arg, const Option* curOpt, bool isLong);
 
4872
public:
 
4873
  typedef AC::TL<std::vector< std::basic_string< char > >,AC::TL<unsigned int,AC::TL<unsigned int,AC::TL<int,AC::TL<std::basic_string< char >,AC::TL<std::basic_string< char >,AC::TL<const Puma::OptsParser::Option *,AC::TLE > > > > > > > __AttrTypes;
 
4874
  const char *__attr_name (unsigned i) const {
 
4875
    static const char *names[] = { "m_argv", "m_curarg", "m_tonext", "m_number", "m_opt", "m_arg", "m_opts" }; return names[i];
 
4876
  }
 
4877
  const void *__attr (unsigned __i) const {
 
4878
    switch (__i) { case 1: return &m_argv; case 2: return &m_curarg; case 3: return &m_tonext; case 4: return &m_number; case 5: return &m_opt; case 6: return &m_arg; case 15: return &m_opts; default: return 0; }
 
4879
  }
 
4880
#line 212 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4375
4881
};
4376
4882
 
4377
4883
 
4379
4885
 
4380
4886
#endif /* __OptsParser_h__ */
4381
4887
 
4382
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
 
4888
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Config.h"
4383
4889
using namespace std;
4384
4890
 
4385
4891
namespace Puma {
4386
4892
 
4387
4893
 
 
4894
/** \class Config Config.h Puma/Config.h
 
4895
 *  %Puma configuration information. Can read the 
 
4896
 *  configuration from file or command line. */
4388
4897
 
4389
 
#line 4390 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4898
#line 4899 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4390
4899
} // closed Puma
4391
4900
class CCExprResolve;
4392
4901
class CExprResolve;
4409
4918
class CMatchSyntax;
4410
4919
namespace Puma {
4411
4920
 
4412
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
 
4921
#line 38 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Config.h"
4413
4922
class Config {
4414
 
#line 4415 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
4923
#line 4924 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4415
4924
  friend class ::CCExprResolve;
4416
4925
  friend class ::CExprResolve;
4417
4926
  friend class ::WinIfExists;
4432
4941
  friend class ::PragmaOnce;
4433
4942
  friend class ::CMatchSyntax;
4434
4943
 
4435
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
 
4944
#line 38 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Config.h"
4436
4945
 
4437
4946
  Flags _flags;
4438
4947
  ErrorStream &_err;
4502
5011
  bool ProcessPathArgument (const string&,const string&);
4503
5012
 
4504
5013
  string Unescape(const string&);
 
5014
public:
 
5015
  typedef AC::TL<Puma::Flags,AC::TL<Puma::ErrorStream &,AC::TL<Puma::Array< const Puma::ConfOption * >,AC::TLE > > > __AttrTypes;
 
5016
  const char *__attr_name (unsigned i) const {
 
5017
    static const char *names[] = { "_flags", "_err", "_options" }; return names[i];
 
5018
  }
 
5019
  const void *__attr (unsigned __i) const {
 
5020
    switch (__i) { case 0: return &_flags; case 1: return &_err; case 3: return &_options; default: return 0; }
 
5021
  }
 
5022
#line 107 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Config.h"
4505
5023
};
4506
5024
 
4507
5025
inline Config::Config (ErrorStream &e) : _err (e)
4543
5061
 
4544
5062
#endif /* __Config_h__ */
4545
5063
 
4546
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5064
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
4547
5065
namespace Puma {
4548
5066
 
4549
5067
 
4550
5068
class Token;
4551
5069
 
4552
5070
 
4553
 
#line 4554 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5071
#line 5072 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4554
5072
} // closed Puma
4555
5073
class CCExprResolve;
4556
5074
class CExprResolve;
4573
5091
class CMatchSyntax;
4574
5092
namespace Puma {
4575
5093
 
4576
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5094
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
4577
5095
class CScanner : public CRecognizer, public Tokenizer {
4578
 
#line 4579 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5096
#line 5097 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4579
5097
  friend class ::CCExprResolve;
4580
5098
  friend class ::CExprResolve;
4581
5099
  friend class ::WinIfExists;
4596
5114
  friend class ::PragmaOnce;
4597
5115
  friend class ::CMatchSyntax;
4598
5116
 
4599
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5117
#line 36 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
4600
5118
 
4601
5119
  Location loc;
4602
5120
  ErrorSink &err;
4611
5129
  virtual ~CScanner () {}
4612
5130
  void configure (const Config &);
4613
5131
  
4614
 
#line 4615 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5132
#line 5133 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4615
5133
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
4616
5134
 
4617
 
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5135
#line 49 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
4618
5136
void fill_unit (Source &in, Unit &unit);
4619
5137
  
4620
 
#line 4621 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5138
#line 5139 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4621
5139
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
4622
5140
 
4623
 
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5141
#line 50 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
4624
5142
void fill_unit (const char *in, Unit &unit);
 
5143
public:
 
5144
  typedef AC::TL<Puma::Location,AC::TL<Puma::ErrorSink &,AC::TLE > > __AttrTypes;
 
5145
  const char *__attr_name (unsigned i) const {
 
5146
    static const char *names[] = { "loc", "err" }; return names[i];
 
5147
  }
 
5148
  const void *__attr (unsigned __i) const {
 
5149
    switch (__i) { case 0: return &loc; case 1: return &err; default: return 0; }
 
5150
  }
 
5151
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CScanner.h"
4625
5152
};
4626
5153
 
4627
5154
 
4629
5156
 
4630
5157
#endif /* __c_scanner_h__ */
4631
5158
 
4632
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
5159
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Token.h"
4633
5160
// This file is part of PUMA.
4634
5161
// Copyright (C) 1999-2003  The PUMA developer team.
4635
5162
//                                                                
4651
5178
#ifndef __Token_h__
4652
5179
#define __Token_h__
4653
5180
 
4654
 
// Abstract interface of a language token. A token is created by an
4655
 
// invocation of a scanner's 'scan' method. The token encapsulates a
4656
 
// lexical unit of the scanned text.
 
5181
/** \file
 
5182
 *  Token abstraction. */
4657
5183
 
4658
5184
#include <stdlib.h>
4659
5185
 
4660
 
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
5186
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Token.h"
4661
5187
#include <assert.h>
4662
5188
 
4663
 
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
5189
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Token.h"
4664
5190
namespace Puma {
4665
5191
 
4666
5192
 
4667
 
 
4668
 
#line 4669 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5193
class Unit;
 
5194
 
 
5195
 
 
5196
/** \class Token Token.h Puma/Token.h
 
5197
 *  Abstraction of a language token. A token is created by a
 
5198
 *  scanner (see Puma::CScanner) as part a token chain (Puma::Unit). 
 
5199
 *  It encapsulates a lexical unit of the scanned text. 
 
5200
 *  
 
5201
 *  The information provided about a lexical unit is 
 
5202
 *  \li the token type
 
5203
 *  \li the location in the scanned text
 
5204
 *  \li the portion of the scanned text represented by this token
 
5205
 *  \li the language of the token */
 
5206
 
 
5207
#line 5208 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4669
5208
} // closed Puma
4670
5209
class CCExprResolve;
4671
5210
class CExprResolve;
4688
5227
class CMatchSyntax;
4689
5228
namespace Puma {
4690
5229
 
4691
 
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
5230
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Token.h"
4692
5231
class Token : public ListElement {
4693
 
#line 4694 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
5232
#line 5233 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
4694
5233
  friend class ::CCExprResolve;
4695
5234
  friend class ::CExprResolve;
4696
5235
  friend class ::WinIfExists;
4711
5250
  friend class ::PragmaOnce;
4712
5251
  friend class ::CMatchSyntax;
4713
5252
 
4714
 
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
 
5253
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Token.h"
4715
5254
 
4716
5255
  int _type, _real_type;
4717
5256
 
4731
5270
  unsigned short _flags;
4732
5271
 
4733
5272
public:
 
5273
  /** Special token types. */
4734
5274
  enum {
 
5275
    /** End-of-file token. */
4735
5276
    ID_END_OF_FILE = -1,
 
5277
    /** Unknown token type. */
4736
5278
    ID_UNKNOWN = -2,
 
5279
    /** Error token type. */
4737
5280
    ID_ERROR = -3,
 
5281
    /** Warning token type. */
4738
5282
    ID_WARNING = -4
4739
5283
  };
4740
5284
 
4741
 
  static LanguageID comment_id, pre_id, dir_id, cpp_id, white_id, 
4742
 
                    wildcard_id, keyword_id, open_id, macro_op_id,
4743
 
                    identifier_id, comma_id, close_id;
 
5285
  /** Comment tokens. */ 
 
5286
  static LanguageID comment_id;
 
5287
  /** Preprocessor tokens. */
 
5288
  static LanguageID pre_id;
 
5289
  /** Compiler directives. */
 
5290
  static LanguageID dir_id;
 
5291
  /** C/C++ core language tokens. */
 
5292
  static LanguageID cpp_id;
 
5293
  /** White-spaces. */
 
5294
  static LanguageID white_id;
 
5295
  /** Wildcards. */
 
5296
  static LanguageID wildcard_id;
 
5297
  /** Keywords. */
 
5298
  static LanguageID keyword_id;
 
5299
  /** Left parenthesis. */
 
5300
  static LanguageID open_id;
 
5301
  /** Function-like macro operands. */
 
5302
  static LanguageID macro_op_id;
 
5303
  /** Identifiers. */
 
5304
  static LanguageID identifier_id;
 
5305
  /** Comma. */
 
5306
  static LanguageID comma_id;
 
5307
  /** Right parenthesis. */
 
5308
  static LanguageID close_id;
4744
5309
 
4745
5310
public:
4746
 
  Token (int = 0, LanguageID lang = LanguageID(0), const char * = "");
4747
 
  Token (const Token &);
 
5311
  /** Constructor.
 
5312
   *  \param type The token type.
 
5313
   *  \param lang The language of the token.
 
5314
   *  \param text The optional token text (defaults to the empty string). */
 
5315
  Token (int type = 0, LanguageID lang = LanguageID(0), const char *text = "");
 
5316
  /** Copy-constructor. 
 
5317
   *  \param copy The token to copy. */
 
5318
  Token (const Token &copy);
 
5319
  /** Destructor. Destroys the token text. */
4748
5320
  virtual ~Token ();
4749
5321
 
4750
 
//  virtual void print (ostream &) const;
4751
 
  void print (ostream &) const;
 
5322
  /** Print the token text on the given stream. 
 
5323
   *  \param os The output stream. */
 
5324
  void print (ostream &os) const;
 
5325
  /** Duplicate this token.
 
5326
   *  \return The copy of this token. Has to be destroyed by the caller. */
4752
5327
  virtual ListElement *duplicate () { return new Token (*this); }
4753
5328
 
4754
 
  void reset (int = 0, const char * = 0, LanguageID = LanguageID(0));
 
5329
  /** Get the unit this token belongs to. */
 
5330
  Unit* unit () const { return (Unit*)belonging_to(); }
 
5331
 
 
5332
  /** Reset the token object.
 
5333
   *  \param type The new token type.
 
5334
   *  \param text The new token text.
 
5335
   *  \param lang The new token language. */
 
5336
  void reset (int type = 0, const char *text = 0, LanguageID lang = LanguageID(0));
4755
5337
  
 
5338
  /** Set the location of the token (usually the line and column in a file). 
 
5339
   *  \param loc The location. */
4756
5340
  void location (const Location &loc)      { _location = loc; }
 
5341
  /** Set the continues lines appeared in this token. 
 
5342
   *  \param cl The continues line array. */
4757
5343
  void cont_lines (Array<int> *cl)  { _cont_lines = cl; }
 
5344
  /** Count the number of line breaks in the text of this token. */
4758
5345
  int line_breaks () const;
 
5346
  /** Set the token as being macro generated. */
4759
5347
  void macro_generated ()           { _flags |= TK_MACRO_GENERATED; }
 
5348
  /** Set the token as being a macro call. */
4760
5349
  void macro_call ()                { _flags |= TK_MACRO_CALL; }
4761
5350
  
 
5351
  /** Get the token text. */
4762
5352
  const char *text () const;
 
5353
  /** Get the token text. */
4763
5354
  DString &dtext () const;
 
5355
  /** Get the static token text. Only for keywords, operators, and so on
 
5356
   *  with a constant token text. 
 
5357
   *  \return The static text or NULL for tokens with dynamic text (like identifiers). */
4764
5358
  char *get_static_text () const;
 
5359
  /** Get the type of the token (see Puma::CTokens). */
4765
5360
  int type () const                 { return _type; }
 
5361
  /** Get the location of the token (usually the line and column in a file). */
4766
5362
  const Location &location () const { return _location; }
4767
5363
   
4768
 
  // functions to query token flags
 
5364
  /** Check if the token is macro generated. */
4769
5365
  bool is_macro_generated () const  { return (_flags & TK_MACRO_GENERATED) != 0; }
 
5366
  /** Check if the token is a macro call. */
4770
5367
  bool is_macro_call () const       { return (_flags & TK_MACRO_CALL) != 0; }
 
5368
  /** Check if this is a core language token. */
4771
5369
  bool is_core () const;
 
5370
  /** Check if the token is an identifier. */
4772
5371
  bool is_identifier () const;    // subset of core
 
5372
  /** Check if the token is a keyword. */
4773
5373
  bool is_keyword () const;       // subset of identifier
 
5374
  /** Check if this is a wildcard token. */
4774
5375
  bool is_wildcard () const;      // subset of core
 
5376
  /** Check if this is a preprocessor token. */
4775
5377
  bool is_preprocessor () const;  // a preprocessor directive (include, etc.)
 
5378
  /** Check if this is a compiler directive. */
4776
5379
  bool is_directive () const;     // a compiler directive (pragma, line, etc.)
 
5380
  /** Check if this is a white-space token. */
4777
5381
  bool is_whitespace () const;
 
5382
  /** Check if this is a comment. */
4778
5383
  bool is_comment () const;
 
5384
  /** Check if this is function-like macro operand. */
4779
5385
  bool is_macro_op () const;
 
5386
  /** Check if this is a left parenthesis. */
4780
5387
  bool is_open () const;          // subset of core
 
5388
  /** Check if this is a comma. */
4781
5389
  bool is_comma () const;         // subset of core
 
5390
  /** Check if this is a right parenthesis. */
4782
5391
  bool is_close () const;         // subset of core
4783
5392
 
 
5393
  /** Own operator new reusing memory. */
4784
5394
  void *operator new (size_t);
 
5395
  /** Own delete operator. */
4785
5396
  void  operator delete (void *);
4786
5397
 
4787
5398
private:
4789
5400
  LanguageID language () const { return _language; }
4790
5401
  void is_comment_internal ();
4791
5402
  void is_core_internal ();
 
5403
public:
 
5404
  typedef AC::TL<int,AC::TL<int,AC::TL<Puma::Location,AC::TL<Puma::LanguageID,AC::TL<const char *,AC::TL<Puma::DString,AC::TL<Puma::Array< int > *,AC::TL<unsigned short int,AC::TLE > > > > > > > > __AttrTypes;
 
5405
  const char *__attr_name (unsigned i) const {
 
5406
    static const char *names[] = { "_type", "_real_type", "_location", "_language", "_text", "_dtext", "_cont_lines", "_flags" }; return names[i];
 
5407
  }
 
5408
  const void *__attr (unsigned __i) const {
 
5409
    switch (__i) { case 0: return &_type; case 1: return &_real_type; case 2: return &_location; case 3: return &_language; case 4: return &_text; case 5: return &_dtext; case 7: return &_cont_lines; case 12: return &_flags; default: return 0; }
 
5410
  }
 
5411
#line 200 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Token.h"
4792
5412
};
4793
5413
 
4794
5414
 
4837
5457
 
4838
5458
#endif /* __Token_h__ */
4839
5459
 
4840
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTokens.h"
 
5460
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CTokens.h"
4841
5461
// This file is part of PUMA.
4842
5462
// Copyright (C) 1999-2003  The PUMA developer team.
4843
5463
//                                                                
4859
5479
#ifndef __C_TOKENS__
4860
5480
#define __C_TOKENS__
4861
5481
 
 
5482
/** \file
 
5483
 *  C/C++ token types. */
 
5484
 
4862
5485
namespace Puma {
4863
5486
 
 
5487
 
 
5488
/** Types of tokens for language C and C++. These types
 
5489
 *  can be compared to Puma::Token::type(). */
4864
5490
enum CTokens {
4865
 
 
4866
5491
  // core tokens, i.e. numbers, operator symbols, brackets, etc.
 
5492
 
 
5493
  /** @ */
4867
5494
  TOK_AT = 100,
 
5495
  /** 0 */
4868
5496
  TOK_ZERO_VAL,
 
5497
  /** Integer constant. */
4869
5498
  TOK_INT_VAL,
 
5499
  /** Floating point constant. */
4870
5500
  TOK_FLT_VAL,
 
5501
  /** String constant. */
4871
5502
  TOK_STRING_VAL,
 
5503
  /** Character constant. */
4872
5504
  TOK_CHAR_VAL,
 
5505
  /** , */
4873
5506
  TOK_COMMA,
 
5507
  /** = */
4874
5508
  TOK_ASSIGN,
 
5509
  /** ? */
4875
5510
  TOK_QUESTION,
 
5511
  /** | */
4876
5512
  TOK_OR,
 
5513
  /** ^ */
4877
5514
  TOK_ROOF,
 
5515
  /** & */
4878
5516
  TOK_AND,
 
5517
  /** + */
4879
5518
  TOK_PLUS,
 
5519
  /** %- */
4880
5520
  TOK_MINUS,
 
5521
  /** * */
4881
5522
  TOK_MUL,
 
5523
  /** / */
4882
5524
  TOK_DIV,
 
5525
  /** % */
4883
5526
  TOK_MODULO,
 
5527
  /** < */
4884
5528
  TOK_LESS,
 
5529
  /** > */
4885
5530
  TOK_GREATER,
 
5531
  /** ( */
4886
5532
  TOK_OPEN_ROUND,
 
5533
  /** ) */
4887
5534
  TOK_CLOSE_ROUND,
 
5535
  /** [ */
4888
5536
  TOK_OPEN_SQUARE,
 
5537
  /** ] */
4889
5538
  TOK_CLOSE_SQUARE,
 
5539
  /** { */
4890
5540
  TOK_OPEN_CURLY,
 
5541
  /** } */
4891
5542
  TOK_CLOSE_CURLY,
 
5543
  /** ; */
4892
5544
  TOK_SEMI_COLON,
 
5545
  /** : */
4893
5546
  TOK_COLON,
 
5547
  /** ! */
4894
5548
  TOK_NOT,
 
5549
  /** ~ */
4895
5550
  TOK_TILDE,
 
5551
  /** "." */
4896
5552
  TOK_DOT,
 
5553
  /** *= */
4897
5554
  TOK_MUL_EQ,
 
5555
  /** /= */
4898
5556
  TOK_DIV_EQ,
 
5557
  /** %= */
4899
5558
  TOK_MOD_EQ,
 
5559
  /** += */
4900
5560
  TOK_ADD_EQ,
 
5561
  /** -= */
4901
5562
  TOK_SUB_EQ,
 
5563
  /** <<= */
4902
5564
  TOK_LSH_EQ,
 
5565
  /** >>= */
4903
5566
  TOK_RSH_EQ,
 
5567
  /** &= */
4904
5568
  TOK_AND_EQ,
 
5569
  /** ^= */
4905
5570
  TOK_XOR_EQ,
 
5571
  /** |= */
4906
5572
  TOK_IOR_EQ,
 
5573
  /** || */
4907
5574
  TOK_OR_OR,
 
5575
  /** && */
4908
5576
  TOK_AND_AND,
 
5577
  /** == */
4909
5578
  TOK_EQL,
 
5579
  /** != */
4910
5580
  TOK_NEQ,
 
5581
  /** <= */
4911
5582
  TOK_LEQ,
 
5583
  /** >= */
4912
5584
  TOK_GEQ,
 
5585
  /** << */
4913
5586
  TOK_LSH,
 
5587
  /** >> */
4914
5588
  TOK_RSH,
 
5589
  /** ".*" */
4915
5590
  TOK_DOT_STAR,
 
5591
  /** ->* */
4916
5592
  TOK_PTS_STAR,
 
5593
  /** ++ */
4917
5594
  TOK_INCR,
 
5595
  /** -- */
4918
5596
  TOK_DECR,
 
5597
  /** -> */
4919
5598
  TOK_PTS,
 
5599
  /** :: */
4920
5600
  TOK_COLON_COLON,
 
5601
  /** "..." */
4921
5602
  TOK_ELLIPSIS,
4922
 
  TOK_LAST_CORE = TOK_ELLIPSIS, // this is a group separator for the scanner!
 
5603
 
 
5604
  /** Core token group separator for the scanner! */
 
5605
  TOK_LAST_CORE = TOK_ELLIPSIS,
4923
5606
  
4924
5607
  // C keywords:
 
5608
 
 
5609
  /** asm */
4925
5610
  TOK_ASM,
 
5611
  /** auto */
4926
5612
  TOK_AUTO,
 
5613
  /** break */
4927
5614
  TOK_BREAK,
 
5615
  /** case */
4928
5616
  TOK_CASE,
 
5617
  /** char */
4929
5618
  TOK_CHAR,
 
5619
  /** const */
4930
5620
  TOK_CONST,
 
5621
  /** continue */
4931
5622
  TOK_CONTINUE,
 
5623
  /** default */
4932
5624
  TOK_DEFAULT,
 
5625
  /** do */
4933
5626
  TOK_DO,
 
5627
  /** double */
4934
5628
  TOK_DOUBLE,
 
5629
  /** else */
4935
5630
  TOK_ELSE,
 
5631
  /** enum */
4936
5632
  TOK_ENUM,
 
5633
  /** extern */
4937
5634
  TOK_EXTERN,
 
5635
  /** float */
4938
5636
  TOK_FLOAT,
 
5637
  /** for */
4939
5638
  TOK_FOR,
 
5639
  /** goto */
4940
5640
  TOK_GOTO,
 
5641
  /** if */
4941
5642
  TOK_IF,
 
5643
  /** inline */
4942
5644
  TOK_INLINE,
 
5645
  /** int */
4943
5646
  TOK_INT,
 
5647
  /** long */
4944
5648
  TOK_LONG,
 
5649
  /** register */
4945
5650
  TOK_REGISTER,
 
5651
  /** restrict */
4946
5652
  TOK_RESTRICT,
 
5653
  /** return */
4947
5654
  TOK_RETURN,
 
5655
  /** short */
4948
5656
  TOK_SHORT,
 
5657
  /** signed */
4949
5658
  TOK_SIGNED,
 
5659
  /** sizeof */
4950
5660
  TOK_SIZEOF,
 
5661
  /** static */
4951
5662
  TOK_STATIC,
 
5663
  /** struct */
4952
5664
  TOK_STRUCT,
 
5665
  /** switch */
4953
5666
  TOK_SWITCH,
 
5667
  /** typedef */
4954
5668
  TOK_TYPEDEF,
 
5669
  /** union */
4955
5670
  TOK_UNION,
 
5671
  /** unsigned */
4956
5672
  TOK_UNSIGNED,
 
5673
  /** void */
4957
5674
  TOK_VOID,
 
5675
  /** volatile */
4958
5676
  TOK_VOLATILE,
 
5677
  /** wchar_t */
4959
5678
  TOK_WCHAR_T,
 
5679
  /** while */
4960
5680
  TOK_WHILE,
4961
5681
 
4962
5682
  // C compatibility keywords
4963
5683
 
 
5684
  /** __asm */
4964
5685
  TOK_ASM_2,
 
5686
  /** __asm__ */
4965
5687
  TOK_ASM_3,
4966
 
  TOK_BOOL_2,
 
5688
  /** _Bool */
 
5689
  TOK_C_BOOL,
 
5690
  /** __const */
4967
5691
  TOK_CONST_2,
 
5692
  /** __const__ */
4968
5693
  TOK_CONST_3,
 
5694
  /** __inline */
4969
5695
  TOK_INLINE_2,
 
5696
  /** __inline__ */
4970
5697
  TOK_INLINE_3,
 
5698
  /** __restrict */
4971
5699
  TOK_RESTRICT_2,
 
5700
  /** __restrict__ */
4972
5701
  TOK_RESTRICT_3,
 
5702
  /** __signed */
4973
5703
  TOK_SIGNED_2,
 
5704
  /** __signed__ */
4974
5705
  TOK_SIGNED_3,
 
5706
  /** __volatile */
4975
5707
  TOK_VOLATILE_2,
 
5708
  /** __volatile__ */
4976
5709
  TOK_VOLATILE_3,
 
5710
  /** __wchar_t */
4977
5711
  TOK_WCHAR_T_2,
 
5712
  /** typeof */
4978
5713
  TOK_TYPEOF,
 
5714
  /** __typeof */
4979
5715
  TOK_TYPEOF_2,
 
5716
  /** __typeof__ */
4980
5717
  TOK_TYPEOF_3,
4981
5718
 
4982
5719
  // C win specific keywords
4983
5720
 
 
5721
  /** __int64 */
4984
5722
  TOK_INT64,
 
5723
  /** _cdecl */
4985
5724
  TOK_CDECL,
 
5725
  /** __cdecl */
4986
5726
  TOK_CDECL_2,
 
5727
  /** _stdcall */
4987
5728
  TOK_STDCALL,
 
5729
  /** __stdcall */
4988
5730
  TOK_STDCALL_2,
 
5731
  /** _fastcall */
4989
5732
  TOK_FASTCALL,
 
5733
  /** __fastcall */
4990
5734
  TOK_FASTCALL_2,
 
5735
  /** __if_exists */
4991
5736
  TOK_IF_EXISTS,
 
5737
  /** __if_not_exists */
4992
5738
  TOK_IF_NOT_EXISTS,
4993
5739
 
 
5740
  /** C token group separator for the scanner! */
4994
5741
  TOK_LAST_C = TOK_IF_NOT_EXISTS,
4995
5742
  
4996
 
  // a boolean constant:
 
5743
  /** Boolean constant. */
4997
5744
  TOK_BOOL_VAL,
4998
5745
 
4999
5746
  // C++ keywords:
5000
5747
 
 
5748
  /** bool */
5001
5749
  TOK_BOOL,
 
5750
  /** catch */
5002
5751
  TOK_CATCH,
 
5752
  /** class */
5003
5753
  TOK_CLASS,
 
5754
  /** const_cast */
5004
5755
  TOK_CONST_CAST,
 
5756
  /** delete */
5005
5757
  TOK_DELETE,
 
5758
  /** dynamic_cast */
5006
5759
  TOK_DYN_CAST,
 
5760
  /** explicit */
5007
5761
  TOK_EXPLICIT,
 
5762
  /** export */
5008
5763
  TOK_EXPORT,
 
5764
  /** friend */
5009
5765
  TOK_FRIEND,
 
5766
  /** mutable */
5010
5767
  TOK_MUTABLE,
 
5768
  /** namespace */
5011
5769
  TOK_NAMESPACE,
 
5770
  /** new */
5012
5771
  TOK_NEW,
 
5772
  /** operator */
5013
5773
  TOK_OPERATOR,
 
5774
  /** private */
5014
5775
  TOK_PRIVATE,
 
5776
  /** protected */
5015
5777
  TOK_PROTECTED,
 
5778
  /** public */
5016
5779
  TOK_PUBLIC,
 
5780
  /** reinterpret_cast */
5017
5781
  TOK_REINT_CAST,
 
5782
  /** static_cast */
5018
5783
  TOK_STAT_CAST,
 
5784
  /** template */
5019
5785
  TOK_TEMPLATE,
 
5786
  /** this */
5020
5787
  TOK_THIS,
 
5788
  /** throw */
5021
5789
  TOK_THROW,
 
5790
  /** try */
5022
5791
  TOK_TRY,
 
5792
  /** typeid */
5023
5793
  TOK_TYPEID,
 
5794
  /** typename */
5024
5795
  TOK_TYPENAME,
 
5796
  /** using */
5025
5797
  TOK_USING,
 
5798
  /** virtual */
5026
5799
  TOK_VIRTUAL,
5027
5800
 
5028
5801
  // C++ alternative representation of operators (ISO 646):
5029
5802
 
 
5803
  /** and */
5030
5804
  TOK_AND_AND_ISO_646,
 
5805
  /** and_eq */
5031
5806
  TOK_AND_EQ_ISO_646,
 
5807
  /** bitand */
5032
5808
  TOK_AND_ISO_646,
 
5809
  /** bitor */
5033
5810
  TOK_OR_ISO_646,
 
5811
  /** compl */
5034
5812
  TOK_TILDE_ISO_646,
 
5813
  /** not */
5035
5814
  TOK_NOT_ISO_646,
 
5815
  /** not_eq */
5036
5816
  TOK_NEQ_ISO_646,
 
5817
  /** or */
5037
5818
  TOK_OR_OR_ISO_646,
 
5819
  /** or_eq */
5038
5820
  TOK_IOR_EQ_ISO_646,
 
5821
  /** xor */
5039
5822
  TOK_ROOF_ISO_646,
 
5823
  /** xor_eq */
5040
5824
  TOK_XOR_EQ_ISO_646,
5041
5825
 
 
5826
  /** C++ token group separator for the scanner! */
5042
5827
  TOK_LAST_CC = TOK_XOR_EQ_ISO_646,
5043
5828
  
5044
5829
  // AspectC++ keywords:
5045
5830
 
 
5831
  /** pointcut */
5046
5832
  TOK_POINTCUT,
 
5833
  /** aspect */
5047
5834
  TOK_ASPECT,
 
5835
  /** advice */
5048
5836
  TOK_ADVICE,
 
5837
  /** slice */
5049
5838
  TOK_SLICE,
 
5839
  /** unknown_t */
5050
5840
  TOK_UNKNOWN_T,
5051
5841
 
 
5842
  /** AspectC++ token group separator for the scanner! */
5052
5843
  TOK_LAST_AC = TOK_UNKNOWN_T,
5053
5844
  
5054
 
  // further [A](C|C++) token
 
5845
  /** Any identifier that is not a keyword. */
5055
5846
  TOK_ID,
5056
5847
 
5057
5848
  // These two always have to be the ** last ** token listed here!!!
 
5849
  
 
5850
  /** Epsilon. */
5058
5851
  TOK_EPSILON,
 
5852
  /** Number of known token types. */
5059
5853
  TOK_NO
5060
 
  
5061
5854
};
5062
5855
 
5063
5856
} // namespace Puma
5064
5857
 
5065
5858
#endif /* __C_TOKENS__ */
5066
5859
 
5067
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
5860
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
5068
5861
#include <string.h>
5069
5862
 
5070
5863
namespace Puma {
5246
6039
 
5247
6040
 
5248
6041
 
5249
 
#line 5250 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6042
#line 6043 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5250
6043
 
5251
6044
 
5252
6045
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0 {
5256
6049
  typedef TTarget Target;
5257
6050
  enum { ARGS = TArgs::ARGS };
5258
6051
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
5259
 
  static const int JPID = 3730;
 
6052
  static const int JPID = 3748;
5260
6053
  static const AC::JPType JPTYPE = (AC::JPType)8;
5261
6054
  struct Res {
5262
6055
    typedef TResult Type;
5284
6077
};
5285
6078
 
5286
6079
 
5287
 
#line 208 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
6080
#line 208 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
5288
6081
void CScanner::fill_unit (Source & arg0, Unit & arg1) 
5289
 
#line 5290 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6082
#line 6083 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5290
6083
{
5291
6084
  typedef TJP__ZN4Puma8CScanner9fill_unitERN4PumaE6SourceRN4PumaE4Unit_0< void, ::Puma::CScanner , ::Puma::CScanner ,  AC::TL< ::Puma::Source & , AC::TL< ::Puma::Unit & , AC::TLE > > > __TJP;
5292
6085
    __TJP tjp;
5300
6093
  
5301
6094
}
5302
6095
__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"
 
6096
#line 208 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
5304
6097
{
5305
6098
 
5306
6099
  int size = in.size ();
5323
6116
 
5324
6117
 
5325
6118
 
5326
 
#line 5327 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6119
#line 6120 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5327
6120
 
5328
6121
 
5329
6122
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0 {
5333
6126
  typedef TTarget Target;
5334
6127
  enum { ARGS = TArgs::ARGS };
5335
6128
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
5336
 
  static const int JPID = 3732;
 
6129
  static const int JPID = 3750;
5337
6130
  static const AC::JPType JPTYPE = (AC::JPType)8;
5338
6131
  struct Res {
5339
6132
    typedef TResult Type;
5361
6154
};
5362
6155
 
5363
6156
 
5364
 
#line 229 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
6157
#line 229 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
5365
6158
void CScanner::fill_unit (const char * arg0, Unit & arg1) 
5366
 
#line 5367 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6159
#line 6160 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5367
6160
{
5368
6161
  typedef TJP__ZN4Puma8CScanner9fill_unitEPKcRN4PumaE4Unit_0< void, ::Puma::CScanner , ::Puma::CScanner ,  AC::TL< const char * , AC::TL< ::Puma::Unit & , AC::TLE > > > __TJP;
5369
6162
    __TJP tjp;
5377
6170
  
5378
6171
}
5379
6172
__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"
 
6173
#line 229 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
5381
6174
{
5382
6175
  setup ();
5383
6176
  buffer ().init (in);
5387
6180
   
5388
6181
} // namespace Puma
5389
6182
 
5390
 
#line 5391 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6183
#line 6184 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5391
6184
 
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__
 
6185
#ifdef __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_src_CScanner_cc__
 
6186
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
6187
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
6188
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
5396
6189
#include "CCExprResolveCC.ah"
5397
6190
#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__
 
6191
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6192
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
5400
6193
#include "ExtACTree.ah"
5401
6194
#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__
 
6195
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
6196
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
5404
6197
#include "ExtGnu.ah"
5405
6198
#endif
5406
6199
#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__
 
6200
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6201
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
6202
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
5410
6203
#include "CCExprResolveH.ah"
5411
6204
#endif
5412
6205
#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__
 
6206
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
6207
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
6208
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
5416
6209
#include "CExprResolveCC.ah"
5417
6210
#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__
 
6211
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6212
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
5420
6213
#include "ExtACTree.ah"
5421
6214
#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__
 
6215
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
6216
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
5424
6217
#include "ExtGnu.ah"
5425
6218
#endif
5426
6219
#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__
 
6220
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6221
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
6222
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CExprResolveH_ah__
5430
6223
#include "CExprResolveH.ah"
5431
6224
#endif
5432
6225
#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__
 
6226
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
6227
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
6228
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinIfExists_ah__
5436
6229
#include "WinIfExists.ah"
5437
6230
#endif
5438
6231
#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__
 
6232
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
6233
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
6234
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinImportHandler_ah__
5442
6235
#include "WinImportHandler.ah"
5443
6236
#endif
5444
6237
#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__
 
6238
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMacros_ah__
 
6239
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMacros_ah__
 
6240
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMacros_ah__
5448
6241
#include "WinMacros.ah"
5449
6242
#endif
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__
 
6243
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6244
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
5452
6245
#include "PragmaOnceUnitState.ah"
5453
6246
#endif
5454
6247
#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__
 
6248
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinAsm_ah__
 
6249
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinAsm_ah__
 
6250
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinAsm_ah__
5458
6251
#include "WinAsm.ah"
5459
6252
#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__
 
6253
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6254
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
5462
6255
#include "ExtACTree.ah"
5463
6256
#endif
5464
6257
#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__
 
6258
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
6259
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
6260
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
5468
6261
#include "WinDeclSpecs.ah"
5469
6262
#endif
5470
6263
#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__
 
6264
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
6265
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
6266
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
5474
6267
#include "WinMemberExplSpec.ah"
5475
6268
#endif
5476
6269
#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__
 
6270
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
6271
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
6272
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
5480
6273
#include "WinTypeKeywords.ah"
5481
6274
#endif
5482
6275
#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__
 
6276
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinFriend_ah__
 
6277
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinFriend_ah__
 
6278
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_WinFriend_ah__
5486
6279
#include "WinFriend.ah"
5487
6280
#endif
5488
6281
#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__
 
6282
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtAC_ah__
 
6283
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtAC_ah__
 
6284
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtAC_ah__
5492
6285
#include "ExtAC.ah"
5493
6286
#endif
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__
 
6287
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6288
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
5496
6289
#include "ExtACTree.ah"
5497
6290
#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__
 
6291
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6292
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
5500
6293
#include "ExtACKeywords.ah"
5501
6294
#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__
 
6295
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
6296
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
5504
6297
#include "ExtGnu.ah"
5505
6298
#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__
 
6299
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6300
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
5508
6301
#include "PragmaOnceUnitState.ah"
5509
6302
#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__
 
6303
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
6304
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
5512
6305
#include "CMatchSyntax.ah"
5513
6306
#endif
5514
6307
#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__
 
6308
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
6309
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
6310
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
5518
6311
#include "ExtACBuilderH.ah"
5519
6312
#endif
5520
6313
#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__
 
6314
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
6315
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
6316
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
5524
6317
#include "ExtACBuilderCC.ah"
5525
6318
#endif
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__
 
6319
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6320
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
5528
6321
#include "ExtACTree.ah"
5529
6322
#endif
5530
6323
#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__
 
6324
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
6325
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
6326
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
5534
6327
#include "ExtACSyntaxH.ah"
5535
6328
#endif
5536
6329
#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__
 
6330
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
6331
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
6332
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
5540
6333
#include "ExtACSyntaxCC.ah"
5541
6334
#endif
5542
6335
#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__
 
6336
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6337
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
6338
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
5546
6339
#include "ExtACTree.ah"
5547
6340
#endif
5548
6341
#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__
 
6342
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6343
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6344
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
5552
6345
 
5553
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
6346
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
5554
6347
// This file is part of PUMA.
5555
6348
// Copyright (C) 1999-2003  The PUMA developer team.
5556
6349
//                                                                
5573
6366
#define __ext_ac_keywords_ah__
5574
6367
 
5575
6368
 
5576
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
 
6369
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
5577
6370
 
5578
 
#line 5579 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6371
#line 6372 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5579
6372
 
5580
6373
#ifndef __ac_fwd_ExtACKeywords__
5581
6374
#define __ac_fwd_ExtACKeywords__
5590
6383
}
5591
6384
#endif
5592
6385
 
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__
 
6386
#ifndef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6387
#define __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
5595
6388
#endif
5596
6389
 
5597
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
 
6390
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
5598
6391
// This file is part of PUMA.
5599
6392
// Copyright (C) 1999-2003  The PUMA developer team.
5600
6393
//                                                                
5619
6412
// Special project derivation for C++ sources.
5620
6413
 
5621
6414
 
5622
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
 
6415
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Project.h"
5623
6416
// This file is part of PUMA.
5624
6417
// Copyright (C) 1999-2003  The PUMA developer team.
5625
6418
//                                                                
5645
6438
// methods for searching and writing files. 
5646
6439
 
5647
6440
 
5648
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
6441
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathManager.h"
5649
6442
// This file is part of PUMA.
5650
6443
// Copyright (C) 1999-2003  The PUMA developer team.
5651
6444
//                                                                
5670
6463
// Manages directories and methods to access the files in it.
5671
6464
 
5672
6465
 
5673
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
6466
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5674
6467
// This file is part of PUMA.
5675
6468
// Copyright (C) 1999-2003  The PUMA developer team.
5676
6469
//                                                                
5699
6492
 
5700
6493
 
5701
6494
 
5702
 
#line 5703 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6495
#line 6496 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5703
6496
} // closed Puma
5704
6497
class CCExprResolve;
5705
6498
class CExprResolve;
5722
6515
class CMatchSyntax;
5723
6516
namespace Puma {
5724
6517
 
5725
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
6518
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5726
6519
class PathInfo {
5727
 
#line 5728 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6520
#line 6521 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5728
6521
  friend class ::CCExprResolve;
5729
6522
  friend class ::CExprResolve;
5730
6523
  friend class ::WinIfExists;
5745
6538
  friend class ::PragmaOnce;
5746
6539
  friend class ::CMatchSyntax;
5747
6540
 
5748
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
6541
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5749
6542
 
5750
6543
  const char *_src;        // Source path.
5751
6544
  const char *_dest;        // Destination path.
5765
6558
  // Set or get the destination path.
5766
6559
  void dest (const char *);
5767
6560
  const char *dest () const { return _dest; }
 
6561
public:
 
6562
  typedef AC::TL<const char *,AC::TL<const char *,AC::TLE > > __AttrTypes;
 
6563
  const char *__attr_name (unsigned i) const {
 
6564
    static const char *names[] = { "_src", "_dest" }; return names[i];
 
6565
  }
 
6566
  const void *__attr (unsigned __i) const {
 
6567
    switch (__i) { case 0: return &_src; case 1: return &_dest; default: return 0; }
 
6568
  }
 
6569
#line 47 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathInfo.h"
5768
6570
};
5769
6571
 
5770
6572
 
5772
6574
 
5773
6575
#endif /* __path_info__ */
5774
6576
 
5775
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
6577
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathIterator.h"
5776
6578
// This file is part of PUMA.
5777
6579
// Copyright (C) 1999-2003  The PUMA developer team.
5778
6580
//                                                                
5799
6601
// are iterated. 
5800
6602
 
5801
6603
 
5802
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
6604
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5803
6605
// This file is part of PUMA.
5804
6606
// Copyright (C) 1999-2003  The PUMA developer team.
5805
6607
//                                                                
5824
6626
#include <map>
5825
6627
using std::map;
5826
6628
 
5827
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
6629
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5828
6630
using std::string;
5829
6631
 
5830
6632
 
5831
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
6633
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5832
6634
namespace Puma {
5833
6635
 
5834
6636
// the project file abstraction is used to store all filenames relevant
5835
6637
// for a specific file that is managed by Puma.
5836
6638
 
5837
6639
 
5838
 
#line 5839 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6640
#line 6641 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5839
6641
} // closed Puma
5840
6642
class CCExprResolve;
5841
6643
class CExprResolve;
5858
6660
class CMatchSyntax;
5859
6661
namespace Puma {
5860
6662
 
5861
 
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
6663
#line 34 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5862
6664
class ProjectFile {
5863
 
#line 5864 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6665
#line 6666 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5864
6666
  friend class ::CCExprResolve;
5865
6667
  friend class ::CExprResolve;
5866
6668
  friend class ::WinIfExists;
5881
6683
  friend class ::PragmaOnce;
5882
6684
  friend class ::CMatchSyntax;
5883
6685
 
5884
 
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
6686
#line 34 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5885
6687
 
5886
6688
  Filename _nick_name;
5887
6689
  Filename _dest_path;
5895
6697
    assert (_dest_path.is_defined ());
5896
6698
    return _dest_path;
5897
6699
  }
 
6700
public:
 
6701
  typedef AC::TL<Puma::Filename,AC::TL<Puma::Filename,AC::TLE > > __AttrTypes;
 
6702
  const char *__attr_name (unsigned i) const {
 
6703
    static const char *names[] = { "_nick_name", "_dest_path" }; return names[i];
 
6704
  }
 
6705
  const void *__attr (unsigned __i) const {
 
6706
    switch (__i) { case 0: return &_nick_name; case 1: return &_dest_path; default: return 0; }
 
6707
  }
 
6708
#line 47 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
5898
6709
};
5899
6710
 
5900
6711
typedef map<string, ProjectFile> PFMap;
5905
6716
 
5906
6717
#endif // __project_file__
5907
6718
 
5908
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
6719
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathIterator.h"
5909
6720
namespace Puma {
5910
6721
 
5911
6722
class PathManager;
5912
6723
class RegComp;
5913
6724
 
5914
6725
 
5915
 
#line 5916 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6726
#line 6727 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5916
6727
} // closed Puma
5917
6728
class CCExprResolve;
5918
6729
class CExprResolve;
5935
6746
class CMatchSyntax;
5936
6747
namespace Puma {
5937
6748
 
5938
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
6749
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathIterator.h"
5939
6750
class PathIterator : public PFMConstIter {
5940
 
#line 5941 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6751
#line 6752 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5941
6752
  friend class ::CCExprResolve;
5942
6753
  friend class ::CExprResolve;
5943
6754
  friend class ::WinIfExists;
5958
6769
  friend class ::PragmaOnce;
5959
6770
  friend class ::CMatchSyntax;
5960
6771
 
5961
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
6772
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathIterator.h"
5962
6773
 
5963
6774
  friend class PathManager;
5964
6775
 
5977
6788
  // retrieve information about the currently referenced ProjectFile
5978
6789
  const char *file () const;
5979
6790
  const char *dest () const;
 
6791
public:
 
6792
  typedef AC::TL<Puma::RegComp *,AC::TL<bool,AC::TLE > > __AttrTypes;
 
6793
  const char *__attr_name (unsigned i) const {
 
6794
    static const char *names[] = { "_regexp", "_in_use" }; return names[i];
 
6795
  }
 
6796
  const void *__attr (unsigned __i) const {
 
6797
    switch (__i) { case 0: return &_regexp; case 1: return &_in_use; default: return 0; }
 
6798
  }
 
6799
#line 53 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathIterator.h"
5980
6800
};
5981
6801
 
5982
6802
} // namespace Puma
5983
6803
 
5984
6804
#endif /* __path_iterator__ */
5985
6805
 
5986
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
6806
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathManager.h"
5987
6807
namespace Puma {
5988
6808
 
5989
6809
class RegComp;
5991
6811
class Unit;
5992
6812
 
5993
6813
 
5994
 
#line 5995 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6814
#line 6815 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
5995
6815
} // closed Puma
5996
6816
class CCExprResolve;
5997
6817
class CExprResolve;
6014
6834
class CMatchSyntax;
6015
6835
namespace Puma {
6016
6836
 
6017
 
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
6837
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathManager.h"
6018
6838
class PathManager {
6019
 
#line 6020 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6839
#line 6840 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6020
6840
  friend class ::CCExprResolve;
6021
6841
  friend class ::CExprResolve;
6022
6842
  friend class ::WinIfExists;
6037
6857
  friend class ::PragmaOnce;
6038
6858
  friend class ::CMatchSyntax;
6039
6859
 
6040
 
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
6041
 
 
 
6860
#line 37 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathManager.h"
6042
6861
 
6043
6862
  ErrorStream     *_err;
6044
6863
  Array<PathInfo>  _paths;     // List of directories path.
6127
6946
  // Get the path of a file in the destination directory.
6128
6947
  bool getDestinationPath (const char *filename, ostream &out) const;
6129
6948
        
 
6949
public:
 
6950
  typedef AC::TL<Puma::ErrorStream *,AC::TL<Puma::Array< Puma::PathInfo >,AC::TL<Puma::Array< Puma::RegComp * >,AC::TL<std::map< std::basic_string< char >,Puma::ProjectFile >,AC::TLE > > > > __AttrTypes;
 
6951
  const char *__attr_name (unsigned i) const {
 
6952
    static const char *names[] = { "_err", "_paths", "_protected", "_files" }; return names[i];
 
6953
  }
 
6954
  const void *__attr (unsigned __i) const {
 
6955
    switch (__i) { case 0: return &_err; case 2: return &_paths; case 4: return &_protected; case 5: return &_files; default: return 0; }
 
6956
  }
 
6957
#line 125 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/PathManager.h"
6130
6958
};
6131
6959
 
6132
6960
inline bool PathManager::isBelow (const char *file) const { 
6139
6967
 
6140
6968
#endif /* __path_manager__ */
6141
6969
 
6142
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6970
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6143
6971
 
6144
 
#line 6145 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
6972
#line 6973 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6145
6973
 
6146
6974
#ifndef __ac_fwd_PragmaOnceUnitState__
6147
6975
#define __ac_fwd_PragmaOnceUnitState__
6154
6982
}
6155
6983
#endif
6156
6984
 
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__
 
6985
#ifndef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
6986
#define __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
6159
6987
#endif
6160
6988
 
6161
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
6989
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6162
6990
// This file is part of PUMA.
6163
6991
// Copyright (C) 1999-2003  The PUMA developer team.
6164
6992
//                                                                
6183
7011
// Class UnitManager helps you to have control of all units built.
6184
7012
 
6185
7013
 
6186
 
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
7014
#line 25 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6187
7015
#include <list>
6188
7016
 
6189
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
7017
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6190
7018
using namespace std;
6191
7019
 
6192
 
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
7020
#line 31 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6193
7021
namespace Puma {
6194
7022
 
6195
7023
 
6198
7026
class Tokenizer;
6199
7027
 
6200
7028
 
6201
 
#line 6202 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7029
#line 7030 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6202
7030
} // closed Puma
6203
7031
class CCExprResolve;
6204
7032
class CExprResolve;
6221
7049
class CMatchSyntax;
6222
7050
namespace Puma {
6223
7051
 
6224
 
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
7052
#line 38 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6225
7053
class UnitManager {
6226
 
#line 6227 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7054
#line 7055 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6227
7055
  friend class ::CCExprResolve;
6228
7056
  friend class ::CExprResolve;
6229
7057
  friend class ::WinIfExists;
6244
7072
  friend class ::PragmaOnce;
6245
7073
  friend class ::CMatchSyntax;
6246
7074
 
6247
 
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
7075
#line 38 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6248
7076
 
6249
7077
public:
6250
7078
  typedef map<string, Unit*> UMap;
6298
7126
  // Initialize the unit manager and the managed 
6299
7127
  // units for the next parse process.
6300
7128
  
6301
 
#line 6302 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7129
#line 7130 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6302
7130
public: __attribute__((always_inline)) inline void __exec_old_init();
6303
7131
 
6304
 
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
7132
#line 90 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6305
7133
void init ();
 
7134
public:
 
7135
  typedef AC::TL<Puma::ErrorStream *,AC::TL<std::list< Puma::Unit * >,AC::TL<std::map< std::basic_string< char >,Puma::Unit * >,AC::TL<Puma::Tokenizer *,AC::TLE > > > > __AttrTypes;
 
7136
  const char *__attr_name (unsigned i) const {
 
7137
    static const char *names[] = { "_err", "_nonames", "_umap", "_tokenizer" }; return names[i];
 
7138
  }
 
7139
  const void *__attr (unsigned __i) const {
 
7140
    switch (__i) { case 2: return &_err; case 4: return &_nonames; case 5: return &_umap; case 6: return &_tokenizer; default: return 0; }
 
7141
  }
 
7142
#line 91 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/UnitManager.h"
6306
7143
};
6307
7144
 
6308
7145
 
6310
7147
 
6311
7148
#endif /* __UnitManager__ */
6312
7149
 
6313
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
7150
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6314
7151
// This file is part of PUMA.
6315
7152
// Copyright (C) 1999-2003  The PUMA developer team.
6316
7153
//                                                                
6337
7174
 
6338
7175
// Project file save mode.
6339
7176
 
6340
 
#line 6341 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7177
#line 7178 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6341
7178
} // closed Puma
6342
7179
class CCExprResolve;
6343
7180
class CExprResolve;
6360
7197
class CMatchSyntax;
6361
7198
namespace Puma {
6362
7199
 
6363
 
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
7200
#line 26 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6364
7201
struct SaveMode {
6365
 
#line 6366 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7202
#line 7203 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6366
7203
  friend class ::CCExprResolve;
6367
7204
  friend class ::CExprResolve;
6368
7205
  friend class ::WinIfExists;
6383
7220
  friend class ::PragmaOnce;
6384
7221
  friend class ::CMatchSyntax;
6385
7222
 
6386
 
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
7223
#line 26 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6387
7224
 
6388
7225
  enum Mode { 
6389
7226
    OVERWRITE = 1, 
6390
7227
    RENAME_OLD, 
6391
7228
    NEW_SUFFIX 
6392
7229
  };
 
7230
public:
 
7231
  typedef AC::TLE __AttrTypes;
 
7232
  const char *__attr_name (unsigned i) const {
 
7233
    static const char *names[] = {  }; return names[i];
 
7234
  }
 
7235
  const void *__attr (unsigned __i) const {
 
7236
    switch (__i) { default: return 0; }
 
7237
  }
 
7238
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/SaveMode.h"
6393
7239
};
6394
7240
    
6395
7241
 
6397
7243
 
6398
7244
#endif /* __SaveMode__ */
6399
7245
 
6400
 
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
 
7246
#line 28 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Project.h"
6401
7247
#include <fstream>
6402
7248
 
6403
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
 
7249
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Project.h"
6404
7250
using namespace std;
6405
7251
 
6406
7252
namespace Puma {
6407
7253
 
6408
7254
 
6409
7255
 
6410
 
#line 6411 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7256
#line 7257 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6411
7257
} // closed Puma
6412
7258
class CCExprResolve;
6413
7259
class CExprResolve;
6430
7276
class CMatchSyntax;
6431
7277
namespace Puma {
6432
7278
 
6433
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
 
7279
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Project.h"
6434
7280
class Project : public PathManager, public SaveMode {
6435
 
#line 6436 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7281
#line 7282 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6436
7282
  friend class ::CCExprResolve;
6437
7283
  friend class ::CExprResolve;
6438
7284
  friend class ::WinIfExists;
6453
7299
  friend class ::PragmaOnce;
6454
7300
  friend class ::CMatchSyntax;
6455
7301
 
6456
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
 
7302
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Project.h"
6457
7303
 
6458
7304
  UnitManager  _unitManager; 
6459
7305
  const char  *_suffix;           // Current file name suffix.
6527
7373
  // Returns true if the given file is in or below the project dirs
6528
7374
  virtual bool isBelow (const char *) const;
6529
7375
  virtual bool isBelow (Unit *) const;
 
7376
public:
 
7377
  typedef AC::TL<Puma::UnitManager,AC::TL<const char *,AC::TL<Puma::SaveMode::Mode,AC::TLE > > > __AttrTypes;
 
7378
  const char *__attr_name (unsigned i) const {
 
7379
    static const char *names[] = { "_unitManager", "_suffix", "_mode" }; return names[i];
 
7380
  }
 
7381
  const void *__attr (unsigned __i) const {
 
7382
    switch (__i) { case 0: return &_unitManager; case 1: return &_suffix; case 2: return &_mode; default: return 0; }
 
7383
  }
 
7384
#line 108 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/Project.h"
6530
7385
};
6531
7386
 
6532
7387
inline UnitManager &Project::unitManager () 
6540
7395
 
6541
7396
#endif /* __project__ */
6542
7397
 
6543
 
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
 
7398
#line 29 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
6544
7399
namespace Puma {
6545
7400
 
6546
7401
 
6548
7403
class CTypeInfo;
6549
7404
 
6550
7405
 
6551
 
#line 6552 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7406
#line 7407 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6552
7407
} // closed Puma
6553
7408
class CCExprResolve;
6554
7409
class CExprResolve;
6571
7426
class CMatchSyntax;
6572
7427
namespace Puma {
6573
7428
 
6574
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
 
7429
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
6575
7430
class CProject : public Project {
6576
 
#line 6577 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7431
#line 7432 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6577
7432
  friend class ::CCExprResolve;
6578
7433
  friend class ::CExprResolve;
6579
7434
  friend class ::WinIfExists;
6594
7449
  friend class ::PragmaOnce;
6595
7450
  friend class ::CMatchSyntax;
6596
7451
 
6597
 
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
 
7452
#line 35 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
6598
7453
 
6599
7454
  Config _config;
6600
7455
  CScanner _scanner;
6630
7485
  // Scan the file `file' or the source if given. When
6631
7486
  // scanning a source the resulting unit gets the name `file'.
6632
7487
  
6633
 
#line 6634 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7488
#line 7489 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6634
7489
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
6635
7490
 
6636
 
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
 
7491
#line 69 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
6637
7492
virtual Unit *scanFile (const char *file, Source * = (Source*)0, 
6638
7493
                          bool isFile = true);
6639
7494
        
6651
7506
  // Map the type string from --size-type and --ptrdiff-type
6652
7507
  // to real Puma type.
6653
7508
  CTypeInfo *mapType (const char *) const;
 
7509
public:
 
7510
  typedef AC::TL<Puma::Config,AC::TL<Puma::CScanner,AC::TLE > > __AttrTypes;
 
7511
  const char *__attr_name (unsigned i) const {
 
7512
    static const char *names[] = { "_config", "_scanner" }; return names[i];
 
7513
  }
 
7514
  const void *__attr (unsigned __i) const {
 
7515
    switch (__i) { case 0: return &_config; case 1: return &_scanner; default: return 0; }
 
7516
  }
 
7517
#line 86 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/CProject.h"
6654
7518
};
6655
7519
 
6656
7520
inline Config &CProject::config () 
6663
7527
 
6664
7528
#endif /* __CProject_h__ */
6665
7529
 
6666
 
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
7530
#line 1 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6667
7531
// This file is part of PUMA.
6668
7532
// Copyright (C) 1999-2003  The PUMA developer team.
6669
7533
//                                                                
6689
7553
// absolute path of the corresponding file.
6690
7554
 
6691
7555
 
6692
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
7556
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6693
7557
namespace Puma {
6694
7558
 
6695
7559
 
6696
7560
class Project;
6697
7561
 
6698
7562
 
6699
 
#line 6700 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7563
#line 7564 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6700
7564
} // closed Puma
6701
7565
class CCExprResolve;
6702
7566
class CExprResolve;
6719
7583
class CMatchSyntax;
6720
7584
namespace Puma {
6721
7585
 
6722
 
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
7586
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6723
7587
class FileUnit : public Unit {
6724
 
#line 6725 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7588
#line 7589 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6725
7589
  friend class ::CCExprResolve;
6726
7590
  friend class ::CExprResolve;
6727
7591
  friend class ::WinIfExists;
6742
7606
  friend class ::PragmaOnce;
6743
7607
  friend class ::CMatchSyntax;
6744
7608
 
6745
 
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
7609
#line 32 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6746
7610
 
6747
7611
  char *_lastLocation; 
6748
7612
  char *_absolutePath;
6769
7633
  
6770
7634
  // File belongs to given project?
6771
7635
  bool belongsTo (Project &);
 
7636
public:
 
7637
  typedef AC::TL<char *,AC::TL<char *,AC::TL<Puma::Project *,AC::TL<bool,AC::TLE > > > > __AttrTypes;
 
7638
  const char *__attr_name (unsigned i) const {
 
7639
    static const char *names[] = { "_lastLocation", "_absolutePath", "_project", "_isBelow" }; return names[i];
 
7640
  }
 
7641
  const void *__attr (unsigned __i) const {
 
7642
    switch (__i) { case 0: return &_lastLocation; case 1: return &_absolutePath; case 2: return &_project; case 3: return &_isBelow; default: return 0; }
 
7643
  }
 
7644
#line 58 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/inc/Puma/FileUnit.h"
6772
7645
};
6773
7646
 
6774
7647
inline FileUnit::FileUnit () : 
6808
7681
 
6809
7682
#endif /* __FileUnit__ */
6810
7683
 
6811
 
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7684
#line 27 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6812
7685
// *****************************************
6813
7686
// AspectC++ keyword handling in the scanner
6814
7687
// *****************************************
6815
7688
 
6816
 
#line 6817 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7689
#line 7690 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6817
7690
class CCExprResolve;
6818
7691
class CExprResolve;
6819
7692
class WinIfExists;
6833
7706
class PragmaOnce;
6834
7707
class CMatchSyntax;
6835
7708
 
6836
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7709
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6837
7710
class ExtACKeywords {
6838
 
#line 6839 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7711
#line 7712 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6839
7712
 
6840
7713
public:
6841
7714
  static ExtACKeywords *aspectof () {
6847
7720
  }
6848
7721
private:
6849
7722
 
6850
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7723
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6851
7724
 
6852
 
#line 6853 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7725
#line 7726 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6853
7726
  friend class ::CCExprResolve;
6854
7727
  friend class ::CExprResolve;
6855
7728
  friend class ::WinIfExists;
6869
7742
  friend class ::PragmaOnce;
6870
7743
  friend class ::CMatchSyntax;
6871
7744
 
6872
 
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7745
#line 30 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6873
7746
 
6874
7747
 
6875
7748
  bool _prj_keywords;
6883
7756
  void prj_keywords (bool kw) { _prj_keywords = kw; }
6884
7757
  
6885
7758
  
6886
 
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7759
#line 3 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6887
7760
 
6888
7761
public: void __a0_before 
6889
 
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7762
#line 43 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6890
7763
 
6891
 
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7764
#line 43 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6892
7765
(Puma::CProject &project)
6893
 
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7766
#line 43 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6894
7767
 {
6895
7768
    _project = &project;
6896
7769
  }
6897
7770
  
6898
7771
  
6899
 
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7772
#line 3 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6900
7773
 
6901
7774
public: template<class JoinPoint> void __a1_before 
6902
 
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7775
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6903
7776
 
6904
 
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7777
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6905
7778
(JoinPoint *tjp, Puma::Unit &unit)
6906
 
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7779
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6907
7780
 {
6908
 
#line 6909 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7781
#line 7782 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6909
7782
 
6910
7783
  typedef typename JoinPoint::That __JP_That;
6911
7784
  typedef typename JoinPoint::Target __JP_Target;
6912
7785
  typedef typename JoinPoint::Result __JP_Result;
6913
7786
 
6914
 
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7787
#line 51 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6915
7788
 
6916
7789
    if (!unit.isFile ())
6917
7790
      return;
6931
7804
  }
6932
7805
  
6933
7806
  
6934
 
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7807
#line 3 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6935
7808
 
6936
7809
public: template<class JoinPoint> void __a2_before 
6937
 
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7810
#line 69 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6938
7811
 
6939
 
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7812
#line 69 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6940
7813
(JoinPoint *tjp)
6941
 
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7814
#line 69 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6942
7815
 {
6943
 
#line 6944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7816
#line 7817 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6944
7817
 
6945
7818
  typedef typename JoinPoint::That __JP_That;
6946
7819
  typedef typename JoinPoint::Target __JP_Target;
6947
7820
  typedef typename JoinPoint::Result __JP_Result;
6948
7821
 
6949
 
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7822
#line 69 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6950
7823
 
6951
7824
    _project = tjp->that ();
6952
7825
  }
 
7826
public:
 
7827
  typedef AC::TL<bool,AC::TL<Puma::CProject *,AC::TLE > > __AttrTypes;
 
7828
  const char *__attr_name (unsigned i) const {
 
7829
    static const char *names[] = { "_prj_keywords", "_project" }; return names[i];
 
7830
  }
 
7831
  const void *__attr (unsigned __i) const {
 
7832
    switch (__i) { case 0: return &_prj_keywords; case 1: return &_project; default: return 0; }
 
7833
  }
 
7834
#line 72 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6953
7835
};
6954
 
#line 6955 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/CScanner.cc"
 
7836
#line 7837 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step2/src/CScanner.cc"
6955
7837
 
6956
7838
namespace AC {
6957
7839
  template <class JoinPoint>
6970
7852
  }
6971
7853
6972
7854
 
6973
 
#line 72 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
7855
#line 72 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
6974
7856
  
6975
7857
 
6976
7858
#endif /* __ext_ac_keywords_ah__ */
6977
7859
 
6978
 
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/CScanner.cc"
 
7860
#line 163 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
6979
7861
#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__
 
7862
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7863
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
6982
7864
 
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__
 
7865
#line 167 "/home/inf4/tartler/src/aspectc++/upstream/Puma/gen-release/step1/src/CScanner.cc"
 
7866
#endif
 
7867
#endif
 
7868
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
7869
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
7870
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
6989
7871
#include "ExtACTree.ah"
6990
7872
#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__
 
7873
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
7874
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnu_ah__
6993
7875
#include "ExtGnu.ah"
6994
7876
#endif
6995
7877
#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__
 
7878
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
7879
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
7880
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtACTree_ah__
6999
7881
#include "ExtACTree.ah"
7000
7882
#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__
 
7883
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
7884
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
7003
7885
#include "ExtGnuCSemDeclSpecs.ah"
7004
7886
#endif
7005
7887
#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__
 
7888
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7889
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7890
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7891
#include "PragmaOnceUnitState.ah"
 
7892
#endif
 
7893
#endif
 
7894
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7895
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7896
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
7897
#include "PragmaOnceUnitState.ah"
 
7898
#endif
 
7899
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7900
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7019
7901
#include "PragmaOnce.ah"
7020
7902
#endif
7021
7903
#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__
 
7904
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
7905
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
7906
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_TraceSyntax_ah__
7025
7907
#include "TraceSyntax.ah"
7026
7908
#endif
7027
7909
#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__
 
7910
#ifdef __ac_need__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
7911
#ifndef __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
7912
#define __ac_have__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
7031
7913
#include "CMatchSyntax.ah"
7032
7914
#endif
7033
7915
#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__
 
7916
#undef __ac_FIRST__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1__
 
7917
#undef __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_src_CScanner_cc__
 
7918
#endif // __ac_FIRST_FILE__home_inf4_tartler_src_aspectc4343_upstream_Puma_gen45release_step1_src_CScanner_cc__