~ubuntu-branches/ubuntu/wily/aspectc++/wily

« back to all changes in this revision

Viewing changes to Puma/include/Puma/PreTreeNodes.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2005-12-23 10:49:40 UTC
  • Revision ID: james.westby@ubuntu.com-20051223104940-ig4klhoi991zs7km
Tags: upstream-0.99+1.0pre2
ImportĀ upstreamĀ versionĀ 0.99+1.0pre2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
 
2
#define __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
 
3
#define __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_inc_Puma_PreTreeNodes_h__
 
4
 
 
5
#ifndef __ac_h_
 
6
#define __ac_h_
 
7
namespace AC {
 
8
  typedef const char* Type;
 
9
  enum JPType { CALL = 0x0004, EXECUTION = 0x0008, CONSTRUCTION = 0x0010, DESTRUCTION = 0x0020 };
 
10
  struct Action {
 
11
    void **_args; void *_result; void *_target; void *_that; void *_fptr;
 
12
    void (*_wrapper)(Action &);
 
13
    inline void trigger () { _wrapper (*this); }
 
14
  };
 
15
  struct AnyResultBuffer {};
 
16
  template <typename T> struct ResultBuffer : public AnyResultBuffer {
 
17
    char _data[sizeof (T)];
 
18
    ~ResultBuffer () { ((T*)_data)->T::~T(); }
 
19
    operator T& () const { return *(T*)_data; }
 
20
  };
 
21
  template <class Aspect, int Index>
 
22
  struct CFlow {
 
23
    static int &instance () {
 
24
      static int counter = 0;
 
25
      return counter;
 
26
    }
 
27
    CFlow () { instance ()++; }
 
28
    ~CFlow () { instance ()--; }
 
29
    static bool active () { return instance () > 0; }
 
30
  };
 
31
}
 
32
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
 
33
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
 
34
#endif // __ac_h_
 
35
#endif // __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
 
36
 
 
37
#line 1 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
38
// This file is part of PUMA.
 
39
// Copyright (C) 1999-2003  The PUMA developer team.
 
40
//                                                                
 
41
// This program is free software;  you can redistribute it and/or 
 
42
// modify it under the terms of the GNU General Public License as 
 
43
// published by the Free Software Foundation; either version 2 of 
 
44
// the License, or (at your option) any later version.            
 
45
//                                                                
 
46
// This program is distributed in the hope that it will be useful,
 
47
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
48
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
49
// GNU General Public License for more details.                   
 
50
//                                                                
 
51
// You should have received a copy of the GNU General Public      
 
52
// License along with this program; if not, write to the Free     
 
53
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
54
// MA  02111-1307  USA                                            
 
55
 
 
56
#ifndef __pre_syntax_tree_nodes__
 
57
#define __pre_syntax_tree_nodes__
 
58
 
 
59
// Contains all node classes for the preprocessor syntax tree.
 
60
 
 
61
#include "Puma/Unit.h"
 
62
#include "Puma/PreVisitor.h"
 
63
#include "Puma/PreTreeToken.h"
 
64
#include "Puma/PreTreeComposite.h"
 
65
 
 
66
namespace Puma {
 
67
 
 
68
 
 
69
// The root node of the preprocessor syntax tree.
 
70
 
 
71
#line 72 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
72
} // closed Puma
 
73
class WinIfExists;
 
74
class WinImportHandler;
 
75
class WinMacros;
 
76
class CMatchSyntax;
 
77
class ExtGnu;
 
78
class ExtAC;
 
79
class ExtACTree;
 
80
class WinAsm;
 
81
class WinDeclSpecs;
 
82
class WinMemberExplSpec;
 
83
class WinTypeKeywords;
 
84
class PragmaOnceUnitState;
 
85
class PragmaOnce;
 
86
class CCExprResolve;
 
87
class CExprResolve;
 
88
namespace Puma {
 
89
 
 
90
#line 33 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
91
class PreProgram : public PreTreeComposite {
 
92
#line 93 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
93
  friend class ::WinIfExists;
 
94
  friend class ::WinImportHandler;
 
95
  friend class ::WinMacros;
 
96
  friend class ::CMatchSyntax;
 
97
  friend class ::ExtGnu;
 
98
  friend class ::ExtAC;
 
99
  friend class ::ExtACTree;
 
100
  friend class ::WinAsm;
 
101
  friend class ::WinDeclSpecs;
 
102
  friend class ::WinMemberExplSpec;
 
103
  friend class ::WinTypeKeywords;
 
104
  friend class ::PragmaOnceUnitState;
 
105
  friend class ::PragmaOnce;
 
106
  friend class ::CCExprResolve;
 
107
  friend class ::CExprResolve;
 
108
 
 
109
#line 33 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
110
 
 
111
public:
 
112
  PreProgram (PreTree* a) : PreTreeComposite (1, 0) 
 
113
    { add_son (a); };
 
114
 
 
115
  void accept (PreVisitor &v) {
 
116
    v.visitPreProgram_Pre (this);
 
117
    v.iterateNodes (this);
 
118
    v.visitPreProgram_Post (this);
 
119
  }            
 
120
};      
 
121
 
 
122
 
 
123
// Assemble groups of directive groups to a `super' group => the program.
 
124
 
 
125
#line 126 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
126
} // closed Puma
 
127
class WinIfExists;
 
128
class WinImportHandler;
 
129
class WinMacros;
 
130
class CMatchSyntax;
 
131
class ExtGnu;
 
132
class ExtAC;
 
133
class ExtACTree;
 
134
class WinAsm;
 
135
class WinDeclSpecs;
 
136
class WinMemberExplSpec;
 
137
class WinTypeKeywords;
 
138
class PragmaOnceUnitState;
 
139
class PragmaOnce;
 
140
class CCExprResolve;
 
141
class CExprResolve;
 
142
namespace Puma {
 
143
 
 
144
#line 47 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
145
class PreDirectiveGroups : public PreTreeComposite {
 
146
#line 147 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
147
  friend class ::WinIfExists;
 
148
  friend class ::WinImportHandler;
 
149
  friend class ::WinMacros;
 
150
  friend class ::CMatchSyntax;
 
151
  friend class ::ExtGnu;
 
152
  friend class ::ExtAC;
 
153
  friend class ::ExtACTree;
 
154
  friend class ::WinAsm;
 
155
  friend class ::WinDeclSpecs;
 
156
  friend class ::WinMemberExplSpec;
 
157
  friend class ::WinTypeKeywords;
 
158
  friend class ::PragmaOnceUnitState;
 
159
  friend class ::PragmaOnce;
 
160
  friend class ::CCExprResolve;
 
161
  friend class ::CExprResolve;
 
162
 
 
163
#line 47 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
164
 
 
165
public:
 
166
  PreDirectiveGroups () : PreTreeComposite (-1, 0) {};
 
167
 
 
168
  void accept (PreVisitor& v) {
 
169
    v.visitPreDirectiveGroups_Pre (this);
 
170
    v.iterateNodes (this);
 
171
    v.visitPreDirectiveGroups_Post (this);
 
172
  }            
 
173
};      
 
174
 
 
175
 
 
176
// Assemble conditional directives to a logical group.
 
177
// Like: #if ... #elif ... #else ... #endif.
 
178
 
 
179
#line 180 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
180
} // closed Puma
 
181
class WinIfExists;
 
182
class WinImportHandler;
 
183
class WinMacros;
 
184
class CMatchSyntax;
 
185
class ExtGnu;
 
186
class ExtAC;
 
187
class ExtACTree;
 
188
class WinAsm;
 
189
class WinDeclSpecs;
 
190
class WinMemberExplSpec;
 
191
class WinTypeKeywords;
 
192
class PragmaOnceUnitState;
 
193
class PragmaOnce;
 
194
class CCExprResolve;
 
195
class CExprResolve;
 
196
namespace Puma {
 
197
 
 
198
#line 61 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
199
class PreConditionalGroup : public PreTreeComposite {
 
200
#line 201 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
201
  friend class ::WinIfExists;
 
202
  friend class ::WinImportHandler;
 
203
  friend class ::WinMacros;
 
204
  friend class ::CMatchSyntax;
 
205
  friend class ::ExtGnu;
 
206
  friend class ::ExtAC;
 
207
  friend class ::ExtACTree;
 
208
  friend class ::WinAsm;
 
209
  friend class ::WinDeclSpecs;
 
210
  friend class ::WinMemberExplSpec;
 
211
  friend class ::WinTypeKeywords;
 
212
  friend class ::PragmaOnceUnitState;
 
213
  friend class ::PragmaOnce;
 
214
  friend class ::CCExprResolve;
 
215
  friend class ::CExprResolve;
 
216
 
 
217
#line 61 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
218
 
 
219
public:
 
220
  PreConditionalGroup (PreTree* a, PreTree* b, PreTree* c) : 
 
221
    PreTreeComposite (3, 0) // 3 sons, no daughters.
 
222
    { add_son (a); add_son (b); add_son (c); };
 
223
        
 
224
  PreConditionalGroup (PreTree* a, PreTree* b, PreTree* c, PreTree* d) : 
 
225
    PreTreeComposite (4, 0) // 4 sons, no daughters.
 
226
    { add_son (a); add_son (b); add_son (c); add_son (d); };
 
227
 
 
228
  void accept (PreVisitor& v) {
 
229
    v.visitPreConditionalGroup_Pre (this);
 
230
    v.iterateNodes (this);
 
231
    v.visitPreConditionalGroup_Post (this);
 
232
  }
 
233
};      
 
234
 
 
235
 
 
236
// Assemble conditional directives within the else part of a 
 
237
// conditional group to a logical group.
 
238
// Like: ... #elif ... #elif ... #elif ... #else.
 
239
 
 
240
#line 241 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
241
} // closed Puma
 
242
class WinIfExists;
 
243
class WinImportHandler;
 
244
class WinMacros;
 
245
class CMatchSyntax;
 
246
class ExtGnu;
 
247
class ExtAC;
 
248
class ExtACTree;
 
249
class WinAsm;
 
250
class WinDeclSpecs;
 
251
class WinMemberExplSpec;
 
252
class WinTypeKeywords;
 
253
class PragmaOnceUnitState;
 
254
class PragmaOnce;
 
255
class CCExprResolve;
 
256
class CExprResolve;
 
257
namespace Puma {
 
258
 
 
259
#line 82 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
260
class PreElsePart : public PreTreeComposite {
 
261
#line 262 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
262
  friend class ::WinIfExists;
 
263
  friend class ::WinImportHandler;
 
264
  friend class ::WinMacros;
 
265
  friend class ::CMatchSyntax;
 
266
  friend class ::ExtGnu;
 
267
  friend class ::ExtAC;
 
268
  friend class ::ExtACTree;
 
269
  friend class ::WinAsm;
 
270
  friend class ::WinDeclSpecs;
 
271
  friend class ::WinMemberExplSpec;
 
272
  friend class ::WinTypeKeywords;
 
273
  friend class ::PragmaOnceUnitState;
 
274
  friend class ::PragmaOnce;
 
275
  friend class ::CCExprResolve;
 
276
  friend class ::CExprResolve;
 
277
 
 
278
#line 82 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
279
 
 
280
public:
 
281
  PreElsePart (PreTree* a, PreTree* b) : 
 
282
    PreTreeComposite (2, 0) // 2 sons, no daughters.
 
283
    { add_son (a); add_son (b); };
 
284
                                        
 
285
  PreElsePart (PreTree* a, PreTree* b, PreTree* c) : 
 
286
    PreTreeComposite (3, 0) // 3 sons, no daughters.
 
287
    { add_son (a); add_son (b); add_son (c); };
 
288
 
 
289
  void accept (PreVisitor& v) {
 
290
    v.visitPreElsePart_Pre (this);
 
291
    v.iterateNodes (this);
 
292
    v.visitPreElsePart_Post (this);
 
293
  }
 
294
};      
 
295
 
 
296
 
 
297
// Assemble conditional directives in the elif part of a conditional 
 
298
// group to a logical group.
 
299
// Like: ... #elif ... #elif ... #elif.
 
300
 
 
301
#line 302 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
302
} // closed Puma
 
303
class WinIfExists;
 
304
class WinImportHandler;
 
305
class WinMacros;
 
306
class CMatchSyntax;
 
307
class ExtGnu;
 
308
class ExtAC;
 
309
class ExtACTree;
 
310
class WinAsm;
 
311
class WinDeclSpecs;
 
312
class WinMemberExplSpec;
 
313
class WinTypeKeywords;
 
314
class PragmaOnceUnitState;
 
315
class PragmaOnce;
 
316
class CCExprResolve;
 
317
class CExprResolve;
 
318
namespace Puma {
 
319
 
 
320
#line 103 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
321
class PreElifPart : public PreTreeComposite
 
322
 {
 
323
#line 324 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
324
  friend class ::WinIfExists;
 
325
  friend class ::WinImportHandler;
 
326
  friend class ::WinMacros;
 
327
  friend class ::CMatchSyntax;
 
328
  friend class ::ExtGnu;
 
329
  friend class ::ExtAC;
 
330
  friend class ::ExtACTree;
 
331
  friend class ::WinAsm;
 
332
  friend class ::WinDeclSpecs;
 
333
  friend class ::WinMemberExplSpec;
 
334
  friend class ::WinTypeKeywords;
 
335
  friend class ::PragmaOnceUnitState;
 
336
  friend class ::PragmaOnce;
 
337
  friend class ::CCExprResolve;
 
338
  friend class ::CExprResolve;
 
339
 
 
340
#line 104 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
341
 
 
342
    public:
 
343
                                // Dynamic sons, no daughters.
 
344
        PreElifPart () : PreTreeComposite (-1, 0) {};
 
345
        
 
346
        // Add two sons.
 
347
        void addSons (PreTree* a, PreTree* b)
 
348
            { add_son (a); add_son (b); };
 
349
 
 
350
        void accept (PreVisitor& v)
 
351
        {
 
352
            v.visitPreElifPart_Pre (this);
 
353
            v.iterateNodes (this);
 
354
            v.visitPreElifPart_Post (this);
 
355
        }
 
356
 };      
 
357
 
 
358
 
 
359
// The #if directive.
 
360
 
 
361
#line 362 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
362
} // closed Puma
 
363
class WinIfExists;
 
364
class WinImportHandler;
 
365
class WinMacros;
 
366
class CMatchSyntax;
 
367
class ExtGnu;
 
368
class ExtAC;
 
369
class ExtACTree;
 
370
class WinAsm;
 
371
class WinDeclSpecs;
 
372
class WinMemberExplSpec;
 
373
class WinTypeKeywords;
 
374
class PragmaOnceUnitState;
 
375
class PragmaOnce;
 
376
class CCExprResolve;
 
377
class CExprResolve;
 
378
namespace Puma {
 
379
 
 
380
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
381
class PreIfDirective : public PreTreeComposite
 
382
 {
 
383
#line 384 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
384
  friend class ::WinIfExists;
 
385
  friend class ::WinImportHandler;
 
386
  friend class ::WinMacros;
 
387
  friend class ::CMatchSyntax;
 
388
  friend class ::ExtGnu;
 
389
  friend class ::ExtAC;
 
390
  friend class ::ExtACTree;
 
391
  friend class ::WinAsm;
 
392
  friend class ::WinDeclSpecs;
 
393
  friend class ::WinMemberExplSpec;
 
394
  friend class ::WinTypeKeywords;
 
395
  friend class ::PragmaOnceUnitState;
 
396
  friend class ::PragmaOnce;
 
397
  friend class ::CCExprResolve;
 
398
  friend class ::CExprResolve;
 
399
 
 
400
#line 124 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
401
 
 
402
    public:
 
403
                                        
 
404
        PreIfDirective (PreTree* a, PreTree* b) 
 
405
                        : PreTreeComposite (2, 1) // 2 sons, 1 daughter.
 
406
            { add_son (a); add_son (b); };
 
407
 
 
408
        void accept (PreVisitor& v)
 
409
        {
 
410
            v.visitPreIfDirective_Pre (this);
 
411
            v.iterateNodes (this);
 
412
            v.visitPreIfDirective_Post (this);
 
413
        }
 
414
 };      
 
415
 
 
416
 
 
417
// The #ifdef directive.
 
418
 
 
419
#line 420 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
420
} // closed Puma
 
421
class WinIfExists;
 
422
class WinImportHandler;
 
423
class WinMacros;
 
424
class CMatchSyntax;
 
425
class ExtGnu;
 
426
class ExtAC;
 
427
class ExtACTree;
 
428
class WinAsm;
 
429
class WinDeclSpecs;
 
430
class WinMemberExplSpec;
 
431
class WinTypeKeywords;
 
432
class PragmaOnceUnitState;
 
433
class PragmaOnce;
 
434
class CCExprResolve;
 
435
class CExprResolve;
 
436
namespace Puma {
 
437
 
 
438
#line 141 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
439
class PreIfdefDirective : public PreTreeComposite
 
440
 {
 
441
#line 442 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
442
  friend class ::WinIfExists;
 
443
  friend class ::WinImportHandler;
 
444
  friend class ::WinMacros;
 
445
  friend class ::CMatchSyntax;
 
446
  friend class ::ExtGnu;
 
447
  friend class ::ExtAC;
 
448
  friend class ::ExtACTree;
 
449
  friend class ::WinAsm;
 
450
  friend class ::WinDeclSpecs;
 
451
  friend class ::WinMemberExplSpec;
 
452
  friend class ::WinTypeKeywords;
 
453
  friend class ::PragmaOnceUnitState;
 
454
  friend class ::PragmaOnce;
 
455
  friend class ::CCExprResolve;
 
456
  friend class ::CExprResolve;
 
457
 
 
458
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
459
 
 
460
    public:
 
461
                                        
 
462
        PreIfdefDirective (PreTree* a, PreTree* b, PreTree* c) 
 
463
                        : PreTreeComposite (3, 1) // 3 sons, 1 daughter.
 
464
            { add_son (a); add_son (b); add_son (c); };
 
465
        PreIfdefDirective (PreTree* a, PreTree* b) 
 
466
                        : PreTreeComposite (2, 0) // 2 sons, no daughter.
 
467
            { add_son (a); add_son (b); };
 
468
 
 
469
        void accept (PreVisitor& v)
 
470
        {
 
471
            v.visitPreIfdefDirective_Pre (this);
 
472
            v.iterateNodes (this);
 
473
            v.visitPreIfdefDirective_Post (this);
 
474
        }
 
475
 };      
 
476
 
 
477
 
 
478
// The #ifndef directive.
 
479
 
 
480
#line 481 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
481
} // closed Puma
 
482
class WinIfExists;
 
483
class WinImportHandler;
 
484
class WinMacros;
 
485
class CMatchSyntax;
 
486
class ExtGnu;
 
487
class ExtAC;
 
488
class ExtACTree;
 
489
class WinAsm;
 
490
class WinDeclSpecs;
 
491
class WinMemberExplSpec;
 
492
class WinTypeKeywords;
 
493
class PragmaOnceUnitState;
 
494
class PragmaOnce;
 
495
class CCExprResolve;
 
496
class CExprResolve;
 
497
namespace Puma {
 
498
 
 
499
#line 162 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
500
class PreIfndefDirective : public PreTreeComposite
 
501
 {
 
502
#line 503 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
503
  friend class ::WinIfExists;
 
504
  friend class ::WinImportHandler;
 
505
  friend class ::WinMacros;
 
506
  friend class ::CMatchSyntax;
 
507
  friend class ::ExtGnu;
 
508
  friend class ::ExtAC;
 
509
  friend class ::ExtACTree;
 
510
  friend class ::WinAsm;
 
511
  friend class ::WinDeclSpecs;
 
512
  friend class ::WinMemberExplSpec;
 
513
  friend class ::WinTypeKeywords;
 
514
  friend class ::PragmaOnceUnitState;
 
515
  friend class ::PragmaOnce;
 
516
  friend class ::CCExprResolve;
 
517
  friend class ::CExprResolve;
 
518
 
 
519
#line 163 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
520
 
 
521
    public:
 
522
                                        
 
523
        PreIfndefDirective (PreTree* a, PreTree* b, PreTree* c) 
 
524
                        : PreTreeComposite (3, 1) // 3 sons, 1 daughter.
 
525
            { add_son (a); add_son (b); add_son (c); };
 
526
        PreIfndefDirective (PreTree* a, PreTree* b) 
 
527
                        : PreTreeComposite (2, 0) // 2 sons, no daughter.
 
528
            { add_son (a); add_son (b); };
 
529
 
 
530
        void accept (PreVisitor& v)
 
531
        {
 
532
            v.visitPreIfndefDirective_Pre (this);
 
533
            v.iterateNodes (this);
 
534
            v.visitPreIfndefDirective_Post (this);
 
535
        }
 
536
 };      
 
537
 
 
538
 
 
539
// The #elif directive.
 
540
 
 
541
#line 542 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
542
} // closed Puma
 
543
class WinIfExists;
 
544
class WinImportHandler;
 
545
class WinMacros;
 
546
class CMatchSyntax;
 
547
class ExtGnu;
 
548
class ExtAC;
 
549
class ExtACTree;
 
550
class WinAsm;
 
551
class WinDeclSpecs;
 
552
class WinMemberExplSpec;
 
553
class WinTypeKeywords;
 
554
class PragmaOnceUnitState;
 
555
class PragmaOnce;
 
556
class CCExprResolve;
 
557
class CExprResolve;
 
558
namespace Puma {
 
559
 
 
560
#line 183 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
561
class PreElifDirective : public PreTreeComposite
 
562
 {
 
563
#line 564 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
564
  friend class ::WinIfExists;
 
565
  friend class ::WinImportHandler;
 
566
  friend class ::WinMacros;
 
567
  friend class ::CMatchSyntax;
 
568
  friend class ::ExtGnu;
 
569
  friend class ::ExtAC;
 
570
  friend class ::ExtACTree;
 
571
  friend class ::WinAsm;
 
572
  friend class ::WinDeclSpecs;
 
573
  friend class ::WinMemberExplSpec;
 
574
  friend class ::WinTypeKeywords;
 
575
  friend class ::PragmaOnceUnitState;
 
576
  friend class ::PragmaOnce;
 
577
  friend class ::CCExprResolve;
 
578
  friend class ::CExprResolve;
 
579
 
 
580
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
581
 
 
582
    public:
 
583
                                        
 
584
        PreElifDirective (PreTree* a, PreTree* b) 
 
585
                        : PreTreeComposite (2, 1) // 2 sons, 1 daughter.
 
586
            { add_son (a); add_son (b); };
 
587
 
 
588
        void accept (PreVisitor& v)
 
589
        {
 
590
            v.visitPreElifDirective_Pre (this);
 
591
            v.iterateNodes (this);
 
592
            v.visitPreElifDirective_Post (this);
 
593
        }
 
594
 };      
 
595
 
 
596
 
 
597
// The #else directive.
 
598
 
 
599
#line 600 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
600
} // closed Puma
 
601
class WinIfExists;
 
602
class WinImportHandler;
 
603
class WinMacros;
 
604
class CMatchSyntax;
 
605
class ExtGnu;
 
606
class ExtAC;
 
607
class ExtACTree;
 
608
class WinAsm;
 
609
class WinDeclSpecs;
 
610
class WinMemberExplSpec;
 
611
class WinTypeKeywords;
 
612
class PragmaOnceUnitState;
 
613
class PragmaOnce;
 
614
class CCExprResolve;
 
615
class CExprResolve;
 
616
namespace Puma {
 
617
 
 
618
#line 201 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
619
class PreElseDirective : public PreTreeComposite
 
620
 {
 
621
#line 622 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
622
  friend class ::WinIfExists;
 
623
  friend class ::WinImportHandler;
 
624
  friend class ::WinMacros;
 
625
  friend class ::CMatchSyntax;
 
626
  friend class ::ExtGnu;
 
627
  friend class ::ExtAC;
 
628
  friend class ::ExtACTree;
 
629
  friend class ::WinAsm;
 
630
  friend class ::WinDeclSpecs;
 
631
  friend class ::WinMemberExplSpec;
 
632
  friend class ::WinTypeKeywords;
 
633
  friend class ::PragmaOnceUnitState;
 
634
  friend class ::PragmaOnce;
 
635
  friend class ::CCExprResolve;
 
636
  friend class ::CExprResolve;
 
637
 
 
638
#line 202 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
639
 
 
640
    public:
 
641
                                        
 
642
        PreElseDirective (PreTree* a, PreTree* b) 
 
643
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
644
            { add_son (a); add_son (b); };
 
645
 
 
646
        void accept (PreVisitor& v)
 
647
        {
 
648
            v.visitPreElseDirective_Pre (this);
 
649
            v.iterateNodes (this);
 
650
            v.visitPreElseDirective_Post (this);
 
651
        }
 
652
 };      
 
653
 
 
654
 
 
655
// The #endif directive.
 
656
 
 
657
#line 658 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
658
} // closed Puma
 
659
class WinIfExists;
 
660
class WinImportHandler;
 
661
class WinMacros;
 
662
class CMatchSyntax;
 
663
class ExtGnu;
 
664
class ExtAC;
 
665
class ExtACTree;
 
666
class WinAsm;
 
667
class WinDeclSpecs;
 
668
class WinMemberExplSpec;
 
669
class WinTypeKeywords;
 
670
class PragmaOnceUnitState;
 
671
class PragmaOnce;
 
672
class CCExprResolve;
 
673
class CExprResolve;
 
674
namespace Puma {
 
675
 
 
676
#line 219 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
677
class PreEndifDirective : public PreTreeComposite
 
678
 {
 
679
#line 680 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
680
  friend class ::WinIfExists;
 
681
  friend class ::WinImportHandler;
 
682
  friend class ::WinMacros;
 
683
  friend class ::CMatchSyntax;
 
684
  friend class ::ExtGnu;
 
685
  friend class ::ExtAC;
 
686
  friend class ::ExtACTree;
 
687
  friend class ::WinAsm;
 
688
  friend class ::WinDeclSpecs;
 
689
  friend class ::WinMemberExplSpec;
 
690
  friend class ::WinTypeKeywords;
 
691
  friend class ::PragmaOnceUnitState;
 
692
  friend class ::PragmaOnce;
 
693
  friend class ::CCExprResolve;
 
694
  friend class ::CExprResolve;
 
695
 
 
696
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
697
 
 
698
    public:
 
699
                                        
 
700
        PreEndifDirective (PreTree* a, PreTree* b) 
 
701
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
702
            { add_son (a); add_son (b); };
 
703
 
 
704
        void accept (PreVisitor& v)
 
705
        {
 
706
            v.visitPreEndifDirective_Pre (this);
 
707
            v.iterateNodes (this);
 
708
            v.visitPreEndifDirective_Post (this);
 
709
        }
 
710
 };      
 
711
 
 
712
 
 
713
// The #include and #include_next directive.
 
714
 
 
715
#line 716 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
716
} // closed Puma
 
717
class WinIfExists;
 
718
class WinImportHandler;
 
719
class WinMacros;
 
720
class CMatchSyntax;
 
721
class ExtGnu;
 
722
class ExtAC;
 
723
class ExtACTree;
 
724
class WinAsm;
 
725
class WinDeclSpecs;
 
726
class WinMemberExplSpec;
 
727
class WinTypeKeywords;
 
728
class PragmaOnceUnitState;
 
729
class PragmaOnce;
 
730
class CCExprResolve;
 
731
class CExprResolve;
 
732
namespace Puma {
 
733
 
 
734
#line 237 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
735
class PreIncludeDirective : public PreTreeComposite
 
736
 {
 
737
#line 738 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
738
  friend class ::WinIfExists;
 
739
  friend class ::WinImportHandler;
 
740
  friend class ::WinMacros;
 
741
  friend class ::CMatchSyntax;
 
742
  friend class ::ExtGnu;
 
743
  friend class ::ExtAC;
 
744
  friend class ::ExtACTree;
 
745
  friend class ::WinAsm;
 
746
  friend class ::WinDeclSpecs;
 
747
  friend class ::WinMemberExplSpec;
 
748
  friend class ::WinTypeKeywords;
 
749
  friend class ::PragmaOnceUnitState;
 
750
  friend class ::PragmaOnce;
 
751
  friend class ::CCExprResolve;
 
752
  friend class ::CExprResolve;
 
753
 
 
754
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
755
 
 
756
        int _depth;
 
757
 
 
758
    public:
 
759
                                        
 
760
        PreIncludeDirective (PreTree* a, PreTree* b) 
 
761
                        : PreTreeComposite (2, 1) // 2 sons, 1 daughter.
 
762
            { add_son (a); add_son (b); _depth = -1; };
 
763
 
 
764
        void accept (PreVisitor& v)
 
765
        {
 
766
            v.visitPreIncludeDirective_Pre (this);
 
767
            v.iterateNodes (this);
 
768
            v.visitPreIncludeDirective_Post (this);
 
769
        }
 
770
        
 
771
        int depth () const 
 
772
        {
 
773
            return _depth;
 
774
        }
 
775
 
 
776
        void depth (int d)
 
777
        {
 
778
            _depth = d;
 
779
        }
 
780
        
 
781
        bool is_forced () const {
 
782
          return !((Unit*)startToken ()->belonging_to ())->isFile ();
 
783
        }
 
784
 };      
 
785
 
 
786
 
 
787
// The #assert directive.
 
788
 
 
789
#line 790 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
790
} // closed Puma
 
791
class WinIfExists;
 
792
class WinImportHandler;
 
793
class WinMacros;
 
794
class CMatchSyntax;
 
795
class ExtGnu;
 
796
class ExtAC;
 
797
class ExtACTree;
 
798
class WinAsm;
 
799
class WinDeclSpecs;
 
800
class WinMemberExplSpec;
 
801
class WinTypeKeywords;
 
802
class PragmaOnceUnitState;
 
803
class PragmaOnce;
 
804
class CCExprResolve;
 
805
class CExprResolve;
 
806
namespace Puma {
 
807
 
 
808
#line 271 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
809
class PreAssertDirective : public PreTreeComposite
 
810
 {
 
811
#line 812 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
812
  friend class ::WinIfExists;
 
813
  friend class ::WinImportHandler;
 
814
  friend class ::WinMacros;
 
815
  friend class ::CMatchSyntax;
 
816
  friend class ::ExtGnu;
 
817
  friend class ::ExtAC;
 
818
  friend class ::ExtACTree;
 
819
  friend class ::WinAsm;
 
820
  friend class ::WinDeclSpecs;
 
821
  friend class ::WinMemberExplSpec;
 
822
  friend class ::WinTypeKeywords;
 
823
  friend class ::PragmaOnceUnitState;
 
824
  friend class ::PragmaOnce;
 
825
  friend class ::CCExprResolve;
 
826
  friend class ::CExprResolve;
 
827
 
 
828
#line 272 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
829
 
 
830
    public:
 
831
                                        
 
832
        PreAssertDirective (PreTree* a, PreTree* b, PreTree* c) 
 
833
                        : PreTreeComposite (3, 0) // 3 sons, no daughters.
 
834
            { add_son (a); add_son (b); add_son (c); };
 
835
        PreAssertDirective (PreTree* a, PreTree* b) 
 
836
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
837
            { add_son (a); add_son (b); };
 
838
 
 
839
        void accept (PreVisitor& v)
 
840
        {
 
841
            v.visitPreAssertDirective_Pre (this);
 
842
            v.iterateNodes (this);
 
843
            v.visitPreAssertDirective_Post (this);
 
844
        }
 
845
 };      
 
846
 
 
847
 
 
848
// The #unassert directive.
 
849
 
 
850
#line 851 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
851
} // closed Puma
 
852
class WinIfExists;
 
853
class WinImportHandler;
 
854
class WinMacros;
 
855
class CMatchSyntax;
 
856
class ExtGnu;
 
857
class ExtAC;
 
858
class ExtACTree;
 
859
class WinAsm;
 
860
class WinDeclSpecs;
 
861
class WinMemberExplSpec;
 
862
class WinTypeKeywords;
 
863
class PragmaOnceUnitState;
 
864
class PragmaOnce;
 
865
class CCExprResolve;
 
866
class CExprResolve;
 
867
namespace Puma {
 
868
 
 
869
#line 292 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
870
class PreUnassertDirective : public PreTreeComposite
 
871
 {
 
872
#line 873 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
873
  friend class ::WinIfExists;
 
874
  friend class ::WinImportHandler;
 
875
  friend class ::WinMacros;
 
876
  friend class ::CMatchSyntax;
 
877
  friend class ::ExtGnu;
 
878
  friend class ::ExtAC;
 
879
  friend class ::ExtACTree;
 
880
  friend class ::WinAsm;
 
881
  friend class ::WinDeclSpecs;
 
882
  friend class ::WinMemberExplSpec;
 
883
  friend class ::WinTypeKeywords;
 
884
  friend class ::PragmaOnceUnitState;
 
885
  friend class ::PragmaOnce;
 
886
  friend class ::CCExprResolve;
 
887
  friend class ::CExprResolve;
 
888
 
 
889
#line 293 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
890
 
 
891
    public:
 
892
                                        
 
893
        PreUnassertDirective (PreTree* a, PreTree* b, PreTree* c) 
 
894
                        : PreTreeComposite (3, 0) // 3 sons, no daughters.
 
895
            { add_son (a); add_son (b); add_son (c); };
 
896
        PreUnassertDirective (PreTree* a, PreTree* b) 
 
897
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
898
            { add_son (a); add_son (b); };
 
899
 
 
900
        void accept (PreVisitor& v)
 
901
        {
 
902
            v.visitPreUnassertDirective_Pre (this);
 
903
            v.iterateNodes (this);
 
904
            v.visitPreUnassertDirective_Post (this);
 
905
        }
 
906
 };      
 
907
 
 
908
 
 
909
// The #define directive that defines function-like macros.
 
910
// Like: #define FUNCTION (id,...,id) ... ... ...
 
911
 
 
912
#line 913 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
913
} // closed Puma
 
914
class WinIfExists;
 
915
class WinImportHandler;
 
916
class WinMacros;
 
917
class CMatchSyntax;
 
918
class ExtGnu;
 
919
class ExtAC;
 
920
class ExtACTree;
 
921
class WinAsm;
 
922
class WinDeclSpecs;
 
923
class WinMemberExplSpec;
 
924
class WinTypeKeywords;
 
925
class PragmaOnceUnitState;
 
926
class PragmaOnce;
 
927
class CCExprResolve;
 
928
class CExprResolve;
 
929
namespace Puma {
 
930
 
 
931
#line 314 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
932
class PreDefineFunctionDirective : public PreTreeComposite
 
933
 {
 
934
#line 935 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
935
  friend class ::WinIfExists;
 
936
  friend class ::WinImportHandler;
 
937
  friend class ::WinMacros;
 
938
  friend class ::CMatchSyntax;
 
939
  friend class ::ExtGnu;
 
940
  friend class ::ExtAC;
 
941
  friend class ::ExtACTree;
 
942
  friend class ::WinAsm;
 
943
  friend class ::WinDeclSpecs;
 
944
  friend class ::WinMemberExplSpec;
 
945
  friend class ::WinTypeKeywords;
 
946
  friend class ::PragmaOnceUnitState;
 
947
  friend class ::PragmaOnce;
 
948
  friend class ::CCExprResolve;
 
949
  friend class ::CExprResolve;
 
950
 
 
951
#line 315 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
952
 
 
953
    public:
 
954
                                        
 
955
        PreDefineFunctionDirective (PreTree* a, PreTree* b, 
 
956
                                    PreTree* c, PreTree* d, 
 
957
                                    PreTree* e, PreTree* f, 
 
958
                                    PreTree* g, PreTree* h) 
 
959
                        : PreTreeComposite (8, 0) // 8 sons, no daughters.
 
960
            { add_son (a); add_son (b); add_son (c); add_son (d);
 
961
              add_son (e); add_son (f); add_son (g); add_son (h); }
 
962
 
 
963
        PreDefineFunctionDirective (PreTree* a, PreTree* b, 
 
964
                                    PreTree* c, PreTree* d, 
 
965
                                    PreTree* e, PreTree* f, 
 
966
                                    PreTree* g) 
 
967
                        : PreTreeComposite (7, 0) // 7 sons, no daughters.
 
968
            { add_son (a); add_son (b); add_son (c); add_son (d);
 
969
              add_son (e); add_son (f); add_son (g); }
 
970
 
 
971
        PreDefineFunctionDirective (PreTree* a, PreTree* b, 
 
972
                                    PreTree* c, PreTree* d, 
 
973
                                    PreTree* e, PreTree* f) 
 
974
                        : PreTreeComposite (6, 0) // 6 sons, no daughters.
 
975
            { add_son (a); add_son (b); add_son (c); add_son (d);
 
976
              add_son (e); add_son (f); }
 
977
        
 
978
        PreDefineFunctionDirective (PreTree* a, PreTree* b, PreTree* c, 
 
979
                                   PreTree* d, PreTree* e) 
 
980
                        : PreTreeComposite (5, 0) // 5 sons, no daughters.
 
981
            { add_son (a); add_son (b); add_son (c); add_son (d); add_son (e); }
 
982
 
 
983
        void accept (PreVisitor& v)
 
984
        {
 
985
            v.visitPreDefineFunctionDirective_Pre (this);
 
986
            v.iterateNodes (this);
 
987
            v.visitPreDefineFunctionDirective_Post (this);
 
988
        }
 
989
 };              
 
990
 
 
991
 
 
992
// The #define directive that defines symbolic constants macros.
 
993
// Like: #define CONSTANT ... ... ...
 
994
 
 
995
#line 996 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
996
} // closed Puma
 
997
class WinIfExists;
 
998
class WinImportHandler;
 
999
class WinMacros;
 
1000
class CMatchSyntax;
 
1001
class ExtGnu;
 
1002
class ExtAC;
 
1003
class ExtACTree;
 
1004
class WinAsm;
 
1005
class WinDeclSpecs;
 
1006
class WinMemberExplSpec;
 
1007
class WinTypeKeywords;
 
1008
class PragmaOnceUnitState;
 
1009
class PragmaOnce;
 
1010
class CCExprResolve;
 
1011
class CExprResolve;
 
1012
namespace Puma {
 
1013
 
 
1014
#line 357 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1015
class PreDefineConstantDirective : public PreTreeComposite
 
1016
 {
 
1017
#line 1018 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1018
  friend class ::WinIfExists;
 
1019
  friend class ::WinImportHandler;
 
1020
  friend class ::WinMacros;
 
1021
  friend class ::CMatchSyntax;
 
1022
  friend class ::ExtGnu;
 
1023
  friend class ::ExtAC;
 
1024
  friend class ::ExtACTree;
 
1025
  friend class ::WinAsm;
 
1026
  friend class ::WinDeclSpecs;
 
1027
  friend class ::WinMemberExplSpec;
 
1028
  friend class ::WinTypeKeywords;
 
1029
  friend class ::PragmaOnceUnitState;
 
1030
  friend class ::PragmaOnce;
 
1031
  friend class ::CCExprResolve;
 
1032
  friend class ::CExprResolve;
 
1033
 
 
1034
#line 358 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1035
 
 
1036
    public:
 
1037
                                        
 
1038
        PreDefineConstantDirective (PreTree* a, PreTree* b, PreTree* c) 
 
1039
                        : PreTreeComposite (3, 0) // 3 sons, no daughters.
 
1040
            { add_son (a); add_son (b); add_son (c); };
 
1041
        PreDefineConstantDirective (PreTree* a, PreTree* b) 
 
1042
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
1043
            { add_son (a); add_son (b); };
 
1044
 
 
1045
        void accept (PreVisitor& v)
 
1046
        {
 
1047
            v.visitPreDefineConstantDirective_Pre (this);
 
1048
            v.iterateNodes (this);
 
1049
            v.visitPreDefineConstantDirective_Post (this);
 
1050
        }
 
1051
 };      
 
1052
 
 
1053
 
 
1054
// The #undef directive.
 
1055
 
 
1056
#line 1057 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1057
} // closed Puma
 
1058
class WinIfExists;
 
1059
class WinImportHandler;
 
1060
class WinMacros;
 
1061
class CMatchSyntax;
 
1062
class ExtGnu;
 
1063
class ExtAC;
 
1064
class ExtACTree;
 
1065
class WinAsm;
 
1066
class WinDeclSpecs;
 
1067
class WinMemberExplSpec;
 
1068
class WinTypeKeywords;
 
1069
class PragmaOnceUnitState;
 
1070
class PragmaOnce;
 
1071
class CCExprResolve;
 
1072
class CExprResolve;
 
1073
namespace Puma {
 
1074
 
 
1075
#line 378 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1076
class PreUndefDirective : public PreTreeComposite
 
1077
 {
 
1078
#line 1079 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1079
  friend class ::WinIfExists;
 
1080
  friend class ::WinImportHandler;
 
1081
  friend class ::WinMacros;
 
1082
  friend class ::CMatchSyntax;
 
1083
  friend class ::ExtGnu;
 
1084
  friend class ::ExtAC;
 
1085
  friend class ::ExtACTree;
 
1086
  friend class ::WinAsm;
 
1087
  friend class ::WinDeclSpecs;
 
1088
  friend class ::WinMemberExplSpec;
 
1089
  friend class ::WinTypeKeywords;
 
1090
  friend class ::PragmaOnceUnitState;
 
1091
  friend class ::PragmaOnce;
 
1092
  friend class ::CCExprResolve;
 
1093
  friend class ::CExprResolve;
 
1094
 
 
1095
#line 379 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1096
 
 
1097
    public:
 
1098
                                        
 
1099
        PreUndefDirective (PreTree* a, PreTree* b, PreTree* c) 
 
1100
                        : PreTreeComposite (3, 0) // 3 sons, no daughters.
 
1101
            { add_son (a); add_son (b); add_son (c); };
 
1102
        PreUndefDirective (PreTree* a, PreTree* b) 
 
1103
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
1104
            { add_son (a); add_son (b); };
 
1105
 
 
1106
        void accept (PreVisitor& v)
 
1107
        {
 
1108
            v.visitPreUndefDirective_Pre (this);
 
1109
            v.iterateNodes (this);
 
1110
            v.visitPreUndefDirective_Post (this);
 
1111
        }
 
1112
 };      
 
1113
 
 
1114
 
 
1115
// The #warning directive.
 
1116
 
 
1117
#line 1118 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1118
} // closed Puma
 
1119
class WinIfExists;
 
1120
class WinImportHandler;
 
1121
class WinMacros;
 
1122
class CMatchSyntax;
 
1123
class ExtGnu;
 
1124
class ExtAC;
 
1125
class ExtACTree;
 
1126
class WinAsm;
 
1127
class WinDeclSpecs;
 
1128
class WinMemberExplSpec;
 
1129
class WinTypeKeywords;
 
1130
class PragmaOnceUnitState;
 
1131
class PragmaOnce;
 
1132
class CCExprResolve;
 
1133
class CExprResolve;
 
1134
namespace Puma {
 
1135
 
 
1136
#line 399 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1137
class PreWarningDirective : public PreTreeComposite
 
1138
 {
 
1139
#line 1140 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1140
  friend class ::WinIfExists;
 
1141
  friend class ::WinImportHandler;
 
1142
  friend class ::WinMacros;
 
1143
  friend class ::CMatchSyntax;
 
1144
  friend class ::ExtGnu;
 
1145
  friend class ::ExtAC;
 
1146
  friend class ::ExtACTree;
 
1147
  friend class ::WinAsm;
 
1148
  friend class ::WinDeclSpecs;
 
1149
  friend class ::WinMemberExplSpec;
 
1150
  friend class ::WinTypeKeywords;
 
1151
  friend class ::PragmaOnceUnitState;
 
1152
  friend class ::PragmaOnce;
 
1153
  friend class ::CCExprResolve;
 
1154
  friend class ::CExprResolve;
 
1155
 
 
1156
#line 400 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1157
 
 
1158
    public:
 
1159
                                        
 
1160
        PreWarningDirective (PreTree* a, PreTree* b) 
 
1161
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
1162
            { add_son (a); add_son (b); };
 
1163
 
 
1164
        void accept (PreVisitor& v)
 
1165
        {
 
1166
            v.visitPreWarningDirective_Pre (this);
 
1167
            v.iterateNodes (this);
 
1168
            v.visitPreWarningDirective_Post (this);
 
1169
        }
 
1170
 };      
 
1171
 
 
1172
 
 
1173
// The #error directive.
 
1174
 
 
1175
#line 1176 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1176
} // closed Puma
 
1177
class WinIfExists;
 
1178
class WinImportHandler;
 
1179
class WinMacros;
 
1180
class CMatchSyntax;
 
1181
class ExtGnu;
 
1182
class ExtAC;
 
1183
class ExtACTree;
 
1184
class WinAsm;
 
1185
class WinDeclSpecs;
 
1186
class WinMemberExplSpec;
 
1187
class WinTypeKeywords;
 
1188
class PragmaOnceUnitState;
 
1189
class PragmaOnce;
 
1190
class CCExprResolve;
 
1191
class CExprResolve;
 
1192
namespace Puma {
 
1193
 
 
1194
#line 417 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1195
class PreErrorDirective : public PreTreeComposite
 
1196
 {
 
1197
#line 1198 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1198
  friend class ::WinIfExists;
 
1199
  friend class ::WinImportHandler;
 
1200
  friend class ::WinMacros;
 
1201
  friend class ::CMatchSyntax;
 
1202
  friend class ::ExtGnu;
 
1203
  friend class ::ExtAC;
 
1204
  friend class ::ExtACTree;
 
1205
  friend class ::WinAsm;
 
1206
  friend class ::WinDeclSpecs;
 
1207
  friend class ::WinMemberExplSpec;
 
1208
  friend class ::WinTypeKeywords;
 
1209
  friend class ::PragmaOnceUnitState;
 
1210
  friend class ::PragmaOnce;
 
1211
  friend class ::CCExprResolve;
 
1212
  friend class ::CExprResolve;
 
1213
 
 
1214
#line 418 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1215
 
 
1216
    public:
 
1217
                                        
 
1218
        PreErrorDirective (PreTree* a, PreTree* b) 
 
1219
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
1220
            { add_son (a); add_son (b); };
 
1221
 
 
1222
        void accept (PreVisitor& v)
 
1223
        {
 
1224
            v.visitPreErrorDirective_Pre (this);
 
1225
            v.iterateNodes (this);
 
1226
            v.visitPreErrorDirective_Post (this);
 
1227
        }
 
1228
 };      
 
1229
 
 
1230
 
 
1231
// Collects comma separated argument identifiers for a function-like macro.
 
1232
// Like: id, id, ..., id.
 
1233
 
 
1234
#line 1235 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1235
} // closed Puma
 
1236
class WinIfExists;
 
1237
class WinImportHandler;
 
1238
class WinMacros;
 
1239
class CMatchSyntax;
 
1240
class ExtGnu;
 
1241
class ExtAC;
 
1242
class ExtACTree;
 
1243
class WinAsm;
 
1244
class WinDeclSpecs;
 
1245
class WinMemberExplSpec;
 
1246
class WinTypeKeywords;
 
1247
class PragmaOnceUnitState;
 
1248
class PragmaOnce;
 
1249
class CCExprResolve;
 
1250
class CExprResolve;
 
1251
namespace Puma {
 
1252
 
 
1253
#line 436 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1254
class PreIdentifierList : public PreTreeComposite
 
1255
 {
 
1256
#line 1257 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1257
  friend class ::WinIfExists;
 
1258
  friend class ::WinImportHandler;
 
1259
  friend class ::WinMacros;
 
1260
  friend class ::CMatchSyntax;
 
1261
  friend class ::ExtGnu;
 
1262
  friend class ::ExtAC;
 
1263
  friend class ::ExtACTree;
 
1264
  friend class ::WinAsm;
 
1265
  friend class ::WinDeclSpecs;
 
1266
  friend class ::WinMemberExplSpec;
 
1267
  friend class ::WinTypeKeywords;
 
1268
  friend class ::PragmaOnceUnitState;
 
1269
  friend class ::PragmaOnce;
 
1270
  friend class ::CCExprResolve;
 
1271
  friend class ::CExprResolve;
 
1272
 
 
1273
#line 437 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1274
 
 
1275
    public:
 
1276
                                        // Dynamic sons, no daughters. 
 
1277
        PreIdentifierList (PreTree* a) : PreTreeComposite (-1, 0)
 
1278
            { add_son (a); };
 
1279
        
 
1280
        // Add two sons.
 
1281
        void addSons (PreTree* a, PreTree* b)
 
1282
            { add_son (a); add_son (b); };
 
1283
 
 
1284
        void accept (PreVisitor& v)
 
1285
        {
 
1286
            v.visitPreIdentifierList_Pre (this);
 
1287
            v.iterateNodes (this);
 
1288
            v.visitPreIdentifierList_Post (this);
 
1289
        }
 
1290
 };      
 
1291
 
 
1292
 
 
1293
// Collects every kind of token  (except comments) for the macro body.
 
1294
 
 
1295
#line 1296 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1296
} // closed Puma
 
1297
class WinIfExists;
 
1298
class WinImportHandler;
 
1299
class WinMacros;
 
1300
class CMatchSyntax;
 
1301
class ExtGnu;
 
1302
class ExtAC;
 
1303
class ExtACTree;
 
1304
class WinAsm;
 
1305
class WinDeclSpecs;
 
1306
class WinMemberExplSpec;
 
1307
class WinTypeKeywords;
 
1308
class PragmaOnceUnitState;
 
1309
class PragmaOnce;
 
1310
class CCExprResolve;
 
1311
class CExprResolve;
 
1312
namespace Puma {
 
1313
 
 
1314
#line 457 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1315
class PreTokenList : public PreTreeComposite
 
1316
 {
 
1317
#line 1318 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1318
  friend class ::WinIfExists;
 
1319
  friend class ::WinImportHandler;
 
1320
  friend class ::WinMacros;
 
1321
  friend class ::CMatchSyntax;
 
1322
  friend class ::ExtGnu;
 
1323
  friend class ::ExtAC;
 
1324
  friend class ::ExtACTree;
 
1325
  friend class ::WinAsm;
 
1326
  friend class ::WinDeclSpecs;
 
1327
  friend class ::WinMemberExplSpec;
 
1328
  friend class ::WinTypeKeywords;
 
1329
  friend class ::PragmaOnceUnitState;
 
1330
  friend class ::PragmaOnce;
 
1331
  friend class ::CCExprResolve;
 
1332
  friend class ::CExprResolve;
 
1333
 
 
1334
#line 458 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1335
 
 
1336
    public:
 
1337
                                        
 
1338
        PreTokenList (PreTree* a, PreTree* b) 
 
1339
                        : PreTreeComposite (2, 0) // 2 sons, no daughters.
 
1340
            { add_son (a); add_son (b); };
 
1341
        PreTokenList (PreTree* a) 
 
1342
                        : PreTreeComposite (1, 0) // 1 son, no daughters.
 
1343
            { add_son (a); };
 
1344
        PreTokenList () : PreTreeComposite (0, 0) // no sons, no daughters.
 
1345
            { };
 
1346
        
 
1347
        void accept (PreVisitor& v)
 
1348
        {
 
1349
            v.visitPreTokenList_Pre (this);
 
1350
            v.iterateNodes (this);
 
1351
            v.visitPreTokenList_Post (this);
 
1352
        }
 
1353
 };      
 
1354
 
 
1355
 
 
1356
// Contains every kind of token  (except comments) for the macro body.
 
1357
 
 
1358
#line 1359 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1359
} // closed Puma
 
1360
class WinIfExists;
 
1361
class WinImportHandler;
 
1362
class WinMacros;
 
1363
class CMatchSyntax;
 
1364
class ExtGnu;
 
1365
class ExtAC;
 
1366
class ExtACTree;
 
1367
class WinAsm;
 
1368
class WinDeclSpecs;
 
1369
class WinMemberExplSpec;
 
1370
class WinTypeKeywords;
 
1371
class PragmaOnceUnitState;
 
1372
class PragmaOnce;
 
1373
class CCExprResolve;
 
1374
class CExprResolve;
 
1375
namespace Puma {
 
1376
 
 
1377
#line 480 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1378
class PreTokenListPart : public PreTreeComposite
 
1379
 {
 
1380
#line 1381 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1381
  friend class ::WinIfExists;
 
1382
  friend class ::WinImportHandler;
 
1383
  friend class ::WinMacros;
 
1384
  friend class ::CMatchSyntax;
 
1385
  friend class ::ExtGnu;
 
1386
  friend class ::ExtAC;
 
1387
  friend class ::ExtACTree;
 
1388
  friend class ::WinAsm;
 
1389
  friend class ::WinDeclSpecs;
 
1390
  friend class ::WinMemberExplSpec;
 
1391
  friend class ::WinTypeKeywords;
 
1392
  friend class ::PragmaOnceUnitState;
 
1393
  friend class ::PragmaOnce;
 
1394
  friend class ::CCExprResolve;
 
1395
  friend class ::CExprResolve;
 
1396
 
 
1397
#line 481 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1398
 
 
1399
    public:
 
1400
                                        // Dynamic sons, no daughters.
 
1401
        PreTokenListPart (PreTree* a) : PreTreeComposite (-1, 0)
 
1402
            { add_son (a); };
 
1403
        
 
1404
        void accept (PreVisitor& v)
 
1405
        {
 
1406
            v.visitPreTokenListPart_Pre (this);
 
1407
            v.iterateNodes (this);
 
1408
            v.visitPreTokenListPart_Post (this);
 
1409
        }
 
1410
 };      
 
1411
 
 
1412
 
 
1413
// Semantic node for conditionals.
 
1414
 
 
1415
#line 1416 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1416
} // closed Puma
 
1417
class WinIfExists;
 
1418
class WinImportHandler;
 
1419
class WinMacros;
 
1420
class CMatchSyntax;
 
1421
class ExtGnu;
 
1422
class ExtAC;
 
1423
class ExtACTree;
 
1424
class WinAsm;
 
1425
class WinDeclSpecs;
 
1426
class WinMemberExplSpec;
 
1427
class WinTypeKeywords;
 
1428
class PragmaOnceUnitState;
 
1429
class PragmaOnce;
 
1430
class CCExprResolve;
 
1431
class CExprResolve;
 
1432
namespace Puma {
 
1433
 
 
1434
#line 497 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1435
class PreCondSemNode : public PreTree
 
1436
 {
 
1437
#line 1438 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1438
  friend class ::WinIfExists;
 
1439
  friend class ::WinImportHandler;
 
1440
  friend class ::WinMacros;
 
1441
  friend class ::CMatchSyntax;
 
1442
  friend class ::ExtGnu;
 
1443
  friend class ::ExtAC;
 
1444
  friend class ::ExtACTree;
 
1445
  friend class ::WinAsm;
 
1446
  friend class ::WinDeclSpecs;
 
1447
  friend class ::WinMemberExplSpec;
 
1448
  friend class ::WinTypeKeywords;
 
1449
  friend class ::PragmaOnceUnitState;
 
1450
  friend class ::PragmaOnce;
 
1451
  friend class ::CCExprResolve;
 
1452
  friend class ::CExprResolve;
 
1453
 
 
1454
#line 498 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1455
 
 
1456
        // Boolean value of the condition of a conditional.
 
1457
        bool _value;
 
1458
 
 
1459
    public:
 
1460
 
 
1461
        PreCondSemNode (bool value) : _value (value) {};
 
1462
        
 
1463
        void accept (PreVisitor& v)
 
1464
        {
 
1465
            v.visitPreCondSemNode (this);
 
1466
        }
 
1467
        
 
1468
        // Get the value of the conditional.
 
1469
        bool value () const { return _value; }
 
1470
 };      
 
1471
 
 
1472
 
 
1473
// Semantic node for the #include directive.
 
1474
 
 
1475
#line 1476 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1476
} // closed Puma
 
1477
class WinIfExists;
 
1478
class WinImportHandler;
 
1479
class WinMacros;
 
1480
class CMatchSyntax;
 
1481
class ExtGnu;
 
1482
class ExtAC;
 
1483
class ExtACTree;
 
1484
class WinAsm;
 
1485
class WinDeclSpecs;
 
1486
class WinMemberExplSpec;
 
1487
class WinTypeKeywords;
 
1488
class PragmaOnceUnitState;
 
1489
class PragmaOnce;
 
1490
class CCExprResolve;
 
1491
class CExprResolve;
 
1492
namespace Puma {
 
1493
 
 
1494
#line 517 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1495
class PreInclSemNode : public PreTree
 
1496
 {
 
1497
#line 1498 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1498
  friend class ::WinIfExists;
 
1499
  friend class ::WinImportHandler;
 
1500
  friend class ::WinMacros;
 
1501
  friend class ::CMatchSyntax;
 
1502
  friend class ::ExtGnu;
 
1503
  friend class ::ExtAC;
 
1504
  friend class ::ExtACTree;
 
1505
  friend class ::WinAsm;
 
1506
  friend class ::WinDeclSpecs;
 
1507
  friend class ::WinMemberExplSpec;
 
1508
  friend class ::WinTypeKeywords;
 
1509
  friend class ::PragmaOnceUnitState;
 
1510
  friend class ::PragmaOnce;
 
1511
  friend class ::CCExprResolve;
 
1512
  friend class ::CExprResolve;
 
1513
 
 
1514
#line 518 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1515
 
 
1516
        // Pointer of the included file unit.
 
1517
        Unit* _unit;
 
1518
        
 
1519
        // true if the inclusion was not done, because of an active include
 
1520
        // guard
 
1521
        bool _guarded;
 
1522
 
 
1523
    public:
 
1524
 
 
1525
        PreInclSemNode (Unit* unit, bool guarded) :
 
1526
          _unit (unit), _guarded (guarded) {};
 
1527
        
 
1528
        void accept (PreVisitor& v)
 
1529
        {
 
1530
            v.visitPreInclSemNode (this);
 
1531
        }
 
1532
        
 
1533
        // Get the included file unit.
 
1534
        Unit* unit () const { return _unit; }
 
1535
        
 
1536
        // Check if the inclusion was not done, because of an include guard
 
1537
        bool guarded () const { return _guarded; }
 
1538
 };      
 
1539
 
 
1540
 
 
1541
// Special parse error node to show the location of an error in the
 
1542
// preprocessor syntax tree.
 
1543
 
 
1544
#line 1545 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1545
} // closed Puma
 
1546
class WinIfExists;
 
1547
class WinImportHandler;
 
1548
class WinMacros;
 
1549
class CMatchSyntax;
 
1550
class ExtGnu;
 
1551
class ExtAC;
 
1552
class ExtACTree;
 
1553
class WinAsm;
 
1554
class WinDeclSpecs;
 
1555
class WinMemberExplSpec;
 
1556
class WinTypeKeywords;
 
1557
class PragmaOnceUnitState;
 
1558
class PragmaOnce;
 
1559
class CCExprResolve;
 
1560
class CExprResolve;
 
1561
namespace Puma {
 
1562
 
 
1563
#line 546 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1564
class PreError : public PreTree
 
1565
 {
 
1566
#line 1567 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1567
  friend class ::WinIfExists;
 
1568
  friend class ::WinImportHandler;
 
1569
  friend class ::WinMacros;
 
1570
  friend class ::CMatchSyntax;
 
1571
  friend class ::ExtGnu;
 
1572
  friend class ::ExtAC;
 
1573
  friend class ::ExtACTree;
 
1574
  friend class ::WinAsm;
 
1575
  friend class ::WinDeclSpecs;
 
1576
  friend class ::WinMemberExplSpec;
 
1577
  friend class ::WinTypeKeywords;
 
1578
  friend class ::PragmaOnceUnitState;
 
1579
  friend class ::PragmaOnce;
 
1580
  friend class ::CCExprResolve;
 
1581
  friend class ::CExprResolve;
 
1582
 
 
1583
#line 547 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
 
1584
 
 
1585
    public:
 
1586
 
 
1587
        PreError () {};
 
1588
        
 
1589
        void accept (PreVisitor& v)
 
1590
        {
 
1591
            v.visitPreError (this);
 
1592
        }
 
1593
 };      
 
1594
 
 
1595
 
 
1596
} // namespace Puma
 
1597
 
 
1598
#endif /* __pre_syntax_tree_nodes__ */
 
1599
 
 
1600
#line 1601 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
 
1601
 
 
1602
#ifdef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_inc_Puma_PreTreeNodes_h__
 
1603
/*** begin of aspect includes ***/
 
1604
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__)
 
1605
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
1606
#include "WinIfExists.ah"
 
1607
#endif
 
1608
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__)
 
1609
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
1610
#include "WinImportHandler.ah"
 
1611
#endif
 
1612
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__)
 
1613
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__
 
1614
#include "WinMacros.ah"
 
1615
#endif
 
1616
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__)
 
1617
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
1618
#include "CMatchSyntax.ah"
 
1619
#endif
 
1620
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__)
 
1621
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
1622
#include "ExtGnu.ah"
 
1623
#endif
 
1624
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__)
 
1625
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__
 
1626
#include "ExtAC.ah"
 
1627
#endif
 
1628
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__)
 
1629
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
1630
#include "ExtACTree.ah"
 
1631
#endif
 
1632
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
 
1633
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
1634
#include "TraceSyntax.ah"
 
1635
#endif
 
1636
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__)
 
1637
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__
 
1638
#include "WinAsm.ah"
 
1639
#endif
 
1640
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
 
1641
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
1642
#include "WinDeclSpecs.ah"
 
1643
#endif
 
1644
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
 
1645
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
1646
#include "WinMemberExplSpec.ah"
 
1647
#endif
 
1648
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
 
1649
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
1650
#include "WinTypeKeywords.ah"
 
1651
#endif
 
1652
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
 
1653
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
1654
#include "PragmaOnceUnitState.ah"
 
1655
#endif
 
1656
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
 
1657
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
1658
#include "PragmaOnce.ah"
 
1659
#endif
 
1660
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__)
 
1661
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
 
1662
#include "CCExprResolve.ah"
 
1663
#endif
 
1664
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__)
 
1665
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__
 
1666
#include "CExprResolve.ah"
 
1667
#endif
 
1668
/*** end of aspect includes ***/
 
1669
#undef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
 
1670
#undef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_inc_Puma_PreTreeNodes_h__
 
1671
#endif // __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_inc_Puma_PreTreeNodes_h__