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__
8
typedef const char* Type;
9
enum JPType { CALL = 0x0004, EXECUTION = 0x0008, CONSTRUCTION = 0x0010, DESTRUCTION = 0x0020 };
11
void **_args; void *_result; void *_target; void *_that; void *_fptr;
12
void (*_wrapper)(Action &);
13
inline void trigger () { _wrapper (*this); }
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; }
21
template <class Aspect, int Index>
23
static int &instance () {
24
static int counter = 0;
27
CFlow () { instance ()++; }
28
~CFlow () { instance ()--; }
29
static bool active () { return instance () > 0; }
32
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
33
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
35
#endif // __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
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.
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.
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.
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,
56
#ifndef __pre_syntax_tree_nodes__
57
#define __pre_syntax_tree_nodes__
59
// Contains all node classes for the preprocessor syntax tree.
61
#include "Puma/Unit.h"
62
#include "Puma/PreVisitor.h"
63
#include "Puma/PreTreeToken.h"
64
#include "Puma/PreTreeComposite.h"
69
// The root node of the preprocessor syntax tree.
71
#line 72 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
74
class WinImportHandler;
82
class WinMemberExplSpec;
83
class WinTypeKeywords;
84
class PragmaOnceUnitState;
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;
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;
109
#line 33 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
112
PreProgram (PreTree* a) : PreTreeComposite (1, 0)
115
void accept (PreVisitor &v) {
116
v.visitPreProgram_Pre (this);
117
v.iterateNodes (this);
118
v.visitPreProgram_Post (this);
123
// Assemble groups of directive groups to a `super' group => the program.
125
#line 126 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
128
class WinImportHandler;
136
class WinMemberExplSpec;
137
class WinTypeKeywords;
138
class PragmaOnceUnitState;
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;
163
#line 47 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
166
PreDirectiveGroups () : PreTreeComposite (-1, 0) {};
168
void accept (PreVisitor& v) {
169
v.visitPreDirectiveGroups_Pre (this);
170
v.iterateNodes (this);
171
v.visitPreDirectiveGroups_Post (this);
176
// Assemble conditional directives to a logical group.
177
// Like: #if ... #elif ... #else ... #endif.
179
#line 180 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
182
class WinImportHandler;
190
class WinMemberExplSpec;
191
class WinTypeKeywords;
192
class PragmaOnceUnitState;
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;
217
#line 61 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
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); };
228
void accept (PreVisitor& v) {
229
v.visitPreConditionalGroup_Pre (this);
230
v.iterateNodes (this);
231
v.visitPreConditionalGroup_Post (this);
236
// Assemble conditional directives within the else part of a
237
// conditional group to a logical group.
238
// Like: ... #elif ... #elif ... #elif ... #else.
240
#line 241 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
243
class WinImportHandler;
251
class WinMemberExplSpec;
252
class WinTypeKeywords;
253
class PragmaOnceUnitState;
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;
278
#line 82 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
281
PreElsePart (PreTree* a, PreTree* b) :
282
PreTreeComposite (2, 0) // 2 sons, no daughters.
283
{ add_son (a); add_son (b); };
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); };
289
void accept (PreVisitor& v) {
290
v.visitPreElsePart_Pre (this);
291
v.iterateNodes (this);
292
v.visitPreElsePart_Post (this);
297
// Assemble conditional directives in the elif part of a conditional
298
// group to a logical group.
299
// Like: ... #elif ... #elif ... #elif.
301
#line 302 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
304
class WinImportHandler;
312
class WinMemberExplSpec;
313
class WinTypeKeywords;
314
class PragmaOnceUnitState;
320
#line 103 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
321
class PreElifPart : public PreTreeComposite
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;
340
#line 104 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
343
// Dynamic sons, no daughters.
344
PreElifPart () : PreTreeComposite (-1, 0) {};
347
void addSons (PreTree* a, PreTree* b)
348
{ add_son (a); add_son (b); };
350
void accept (PreVisitor& v)
352
v.visitPreElifPart_Pre (this);
353
v.iterateNodes (this);
354
v.visitPreElifPart_Post (this);
359
// The #if directive.
361
#line 362 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
364
class WinImportHandler;
372
class WinMemberExplSpec;
373
class WinTypeKeywords;
374
class PragmaOnceUnitState;
380
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
381
class PreIfDirective : public PreTreeComposite
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;
400
#line 124 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
404
PreIfDirective (PreTree* a, PreTree* b)
405
: PreTreeComposite (2, 1) // 2 sons, 1 daughter.
406
{ add_son (a); add_son (b); };
408
void accept (PreVisitor& v)
410
v.visitPreIfDirective_Pre (this);
411
v.iterateNodes (this);
412
v.visitPreIfDirective_Post (this);
417
// The #ifdef directive.
419
#line 420 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
422
class WinImportHandler;
430
class WinMemberExplSpec;
431
class WinTypeKeywords;
432
class PragmaOnceUnitState;
438
#line 141 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
439
class PreIfdefDirective : public PreTreeComposite
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;
458
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
469
void accept (PreVisitor& v)
471
v.visitPreIfdefDirective_Pre (this);
472
v.iterateNodes (this);
473
v.visitPreIfdefDirective_Post (this);
478
// The #ifndef directive.
480
#line 481 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
483
class WinImportHandler;
491
class WinMemberExplSpec;
492
class WinTypeKeywords;
493
class PragmaOnceUnitState;
499
#line 162 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
500
class PreIfndefDirective : public PreTreeComposite
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;
519
#line 163 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
530
void accept (PreVisitor& v)
532
v.visitPreIfndefDirective_Pre (this);
533
v.iterateNodes (this);
534
v.visitPreIfndefDirective_Post (this);
539
// The #elif directive.
541
#line 542 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
544
class WinImportHandler;
552
class WinMemberExplSpec;
553
class WinTypeKeywords;
554
class PragmaOnceUnitState;
560
#line 183 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
561
class PreElifDirective : public PreTreeComposite
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;
580
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
584
PreElifDirective (PreTree* a, PreTree* b)
585
: PreTreeComposite (2, 1) // 2 sons, 1 daughter.
586
{ add_son (a); add_son (b); };
588
void accept (PreVisitor& v)
590
v.visitPreElifDirective_Pre (this);
591
v.iterateNodes (this);
592
v.visitPreElifDirective_Post (this);
597
// The #else directive.
599
#line 600 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
602
class WinImportHandler;
610
class WinMemberExplSpec;
611
class WinTypeKeywords;
612
class PragmaOnceUnitState;
618
#line 201 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
619
class PreElseDirective : public PreTreeComposite
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;
638
#line 202 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
642
PreElseDirective (PreTree* a, PreTree* b)
643
: PreTreeComposite (2, 0) // 2 sons, no daughters.
644
{ add_son (a); add_son (b); };
646
void accept (PreVisitor& v)
648
v.visitPreElseDirective_Pre (this);
649
v.iterateNodes (this);
650
v.visitPreElseDirective_Post (this);
655
// The #endif directive.
657
#line 658 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
660
class WinImportHandler;
668
class WinMemberExplSpec;
669
class WinTypeKeywords;
670
class PragmaOnceUnitState;
676
#line 219 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
677
class PreEndifDirective : public PreTreeComposite
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;
696
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
700
PreEndifDirective (PreTree* a, PreTree* b)
701
: PreTreeComposite (2, 0) // 2 sons, no daughters.
702
{ add_son (a); add_son (b); };
704
void accept (PreVisitor& v)
706
v.visitPreEndifDirective_Pre (this);
707
v.iterateNodes (this);
708
v.visitPreEndifDirective_Post (this);
713
// The #include and #include_next directive.
715
#line 716 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
718
class WinImportHandler;
726
class WinMemberExplSpec;
727
class WinTypeKeywords;
728
class PragmaOnceUnitState;
734
#line 237 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
735
class PreIncludeDirective : public PreTreeComposite
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;
754
#line 238 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
760
PreIncludeDirective (PreTree* a, PreTree* b)
761
: PreTreeComposite (2, 1) // 2 sons, 1 daughter.
762
{ add_son (a); add_son (b); _depth = -1; };
764
void accept (PreVisitor& v)
766
v.visitPreIncludeDirective_Pre (this);
767
v.iterateNodes (this);
768
v.visitPreIncludeDirective_Post (this);
781
bool is_forced () const {
782
return !((Unit*)startToken ()->belonging_to ())->isFile ();
787
// The #assert directive.
789
#line 790 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
792
class WinImportHandler;
800
class WinMemberExplSpec;
801
class WinTypeKeywords;
802
class PragmaOnceUnitState;
808
#line 271 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
809
class PreAssertDirective : public PreTreeComposite
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;
828
#line 272 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
839
void accept (PreVisitor& v)
841
v.visitPreAssertDirective_Pre (this);
842
v.iterateNodes (this);
843
v.visitPreAssertDirective_Post (this);
848
// The #unassert directive.
850
#line 851 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
853
class WinImportHandler;
861
class WinMemberExplSpec;
862
class WinTypeKeywords;
863
class PragmaOnceUnitState;
869
#line 292 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
870
class PreUnassertDirective : public PreTreeComposite
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;
889
#line 293 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
900
void accept (PreVisitor& v)
902
v.visitPreUnassertDirective_Pre (this);
903
v.iterateNodes (this);
904
v.visitPreUnassertDirective_Post (this);
909
// The #define directive that defines function-like macros.
910
// Like: #define FUNCTION (id,...,id) ... ... ...
912
#line 913 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
915
class WinImportHandler;
923
class WinMemberExplSpec;
924
class WinTypeKeywords;
925
class PragmaOnceUnitState;
931
#line 314 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
932
class PreDefineFunctionDirective : public PreTreeComposite
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;
951
#line 315 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); }
963
PreDefineFunctionDirective (PreTree* a, PreTree* b,
964
PreTree* c, PreTree* d,
965
PreTree* e, PreTree* f,
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); }
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); }
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); }
983
void accept (PreVisitor& v)
985
v.visitPreDefineFunctionDirective_Pre (this);
986
v.iterateNodes (this);
987
v.visitPreDefineFunctionDirective_Post (this);
992
// The #define directive that defines symbolic constants macros.
993
// Like: #define CONSTANT ... ... ...
995
#line 996 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
998
class WinImportHandler;
1006
class WinMemberExplSpec;
1007
class WinTypeKeywords;
1008
class PragmaOnceUnitState;
1010
class CCExprResolve;
1014
#line 357 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1015
class PreDefineConstantDirective : public PreTreeComposite
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;
1034
#line 358 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
1045
void accept (PreVisitor& v)
1047
v.visitPreDefineConstantDirective_Pre (this);
1048
v.iterateNodes (this);
1049
v.visitPreDefineConstantDirective_Post (this);
1054
// The #undef directive.
1056
#line 1057 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1059
class WinImportHandler;
1067
class WinMemberExplSpec;
1068
class WinTypeKeywords;
1069
class PragmaOnceUnitState;
1071
class CCExprResolve;
1075
#line 378 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1076
class PreUndefDirective : public PreTreeComposite
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;
1095
#line 379 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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); };
1106
void accept (PreVisitor& v)
1108
v.visitPreUndefDirective_Pre (this);
1109
v.iterateNodes (this);
1110
v.visitPreUndefDirective_Post (this);
1115
// The #warning directive.
1117
#line 1118 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1120
class WinImportHandler;
1128
class WinMemberExplSpec;
1129
class WinTypeKeywords;
1130
class PragmaOnceUnitState;
1132
class CCExprResolve;
1136
#line 399 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1137
class PreWarningDirective : public PreTreeComposite
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;
1156
#line 400 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1160
PreWarningDirective (PreTree* a, PreTree* b)
1161
: PreTreeComposite (2, 0) // 2 sons, no daughters.
1162
{ add_son (a); add_son (b); };
1164
void accept (PreVisitor& v)
1166
v.visitPreWarningDirective_Pre (this);
1167
v.iterateNodes (this);
1168
v.visitPreWarningDirective_Post (this);
1173
// The #error directive.
1175
#line 1176 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1178
class WinImportHandler;
1186
class WinMemberExplSpec;
1187
class WinTypeKeywords;
1188
class PragmaOnceUnitState;
1190
class CCExprResolve;
1194
#line 417 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1195
class PreErrorDirective : public PreTreeComposite
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;
1214
#line 418 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1218
PreErrorDirective (PreTree* a, PreTree* b)
1219
: PreTreeComposite (2, 0) // 2 sons, no daughters.
1220
{ add_son (a); add_son (b); };
1222
void accept (PreVisitor& v)
1224
v.visitPreErrorDirective_Pre (this);
1225
v.iterateNodes (this);
1226
v.visitPreErrorDirective_Post (this);
1231
// Collects comma separated argument identifiers for a function-like macro.
1232
// Like: id, id, ..., id.
1234
#line 1235 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1237
class WinImportHandler;
1245
class WinMemberExplSpec;
1246
class WinTypeKeywords;
1247
class PragmaOnceUnitState;
1249
class CCExprResolve;
1253
#line 436 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1254
class PreIdentifierList : public PreTreeComposite
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;
1273
#line 437 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1276
// Dynamic sons, no daughters.
1277
PreIdentifierList (PreTree* a) : PreTreeComposite (-1, 0)
1281
void addSons (PreTree* a, PreTree* b)
1282
{ add_son (a); add_son (b); };
1284
void accept (PreVisitor& v)
1286
v.visitPreIdentifierList_Pre (this);
1287
v.iterateNodes (this);
1288
v.visitPreIdentifierList_Post (this);
1293
// Collects every kind of token (except comments) for the macro body.
1295
#line 1296 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1298
class WinImportHandler;
1306
class WinMemberExplSpec;
1307
class WinTypeKeywords;
1308
class PragmaOnceUnitState;
1310
class CCExprResolve;
1314
#line 457 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1315
class PreTokenList : public PreTreeComposite
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;
1334
#line 458 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
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.
1344
PreTokenList () : PreTreeComposite (0, 0) // no sons, no daughters.
1347
void accept (PreVisitor& v)
1349
v.visitPreTokenList_Pre (this);
1350
v.iterateNodes (this);
1351
v.visitPreTokenList_Post (this);
1356
// Contains every kind of token (except comments) for the macro body.
1358
#line 1359 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1361
class WinImportHandler;
1369
class WinMemberExplSpec;
1370
class WinTypeKeywords;
1371
class PragmaOnceUnitState;
1373
class CCExprResolve;
1377
#line 480 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1378
class PreTokenListPart : public PreTreeComposite
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;
1397
#line 481 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1400
// Dynamic sons, no daughters.
1401
PreTokenListPart (PreTree* a) : PreTreeComposite (-1, 0)
1404
void accept (PreVisitor& v)
1406
v.visitPreTokenListPart_Pre (this);
1407
v.iterateNodes (this);
1408
v.visitPreTokenListPart_Post (this);
1413
// Semantic node for conditionals.
1415
#line 1416 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1418
class WinImportHandler;
1426
class WinMemberExplSpec;
1427
class WinTypeKeywords;
1428
class PragmaOnceUnitState;
1430
class CCExprResolve;
1434
#line 497 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1435
class PreCondSemNode : public PreTree
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;
1454
#line 498 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1456
// Boolean value of the condition of a conditional.
1461
PreCondSemNode (bool value) : _value (value) {};
1463
void accept (PreVisitor& v)
1465
v.visitPreCondSemNode (this);
1468
// Get the value of the conditional.
1469
bool value () const { return _value; }
1473
// Semantic node for the #include directive.
1475
#line 1476 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1478
class WinImportHandler;
1486
class WinMemberExplSpec;
1487
class WinTypeKeywords;
1488
class PragmaOnceUnitState;
1490
class CCExprResolve;
1494
#line 517 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1495
class PreInclSemNode : public PreTree
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;
1514
#line 518 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1516
// Pointer of the included file unit.
1519
// true if the inclusion was not done, because of an active include
1525
PreInclSemNode (Unit* unit, bool guarded) :
1526
_unit (unit), _guarded (guarded) {};
1528
void accept (PreVisitor& v)
1530
v.visitPreInclSemNode (this);
1533
// Get the included file unit.
1534
Unit* unit () const { return _unit; }
1536
// Check if the inclusion was not done, because of an include guard
1537
bool guarded () const { return _guarded; }
1541
// Special parse error node to show the location of an error in the
1542
// preprocessor syntax tree.
1544
#line 1545 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
1547
class WinImportHandler;
1555
class WinMemberExplSpec;
1556
class WinTypeKeywords;
1557
class PragmaOnceUnitState;
1559
class CCExprResolve;
1563
#line 546 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1564
class PreError : public PreTree
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;
1583
#line 547 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/inc/Puma/PreTreeNodes.h"
1589
void accept (PreVisitor& v)
1591
v.visitPreError (this);
1598
#endif /* __pre_syntax_tree_nodes__ */
1600
#line 1601 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/inc/Puma/PreTreeNodes.h"
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"
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"
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"
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"
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"
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__
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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__