9#ifndef FORTRAN_PARSER_DUMP_PARSE_TREE_H_
10#define FORTRAN_PARSER_DUMP_PARSE_TREE_H_
12#include "format-specification.h"
13#include "parse-tree-visitor.h"
14#include "parse-tree.h"
17#include "flang/Common/enum-set.h"
18#include "flang/Common/idioms.h"
19#include "flang/Common/indirection.h"
20#include "flang/Support/Fortran.h"
21#include "llvm/ADT/StringExtras.h"
22#include "llvm/Frontend/OpenMP/OMP.h"
23#include "llvm/Support/raw_ostream.h"
33class ParseTreeDumper {
35 explicit ParseTreeDumper(llvm::raw_ostream &out,
37 : out_(out), asFortran_{asFortran} {}
39 static constexpr const char *GetNodeName(
const char *) {
return "char *"; }
41 template <
typename T,
typename E,
size_t B>
43 llvm::ListSeparator sep;
45 llvm::raw_string_ostream stream(s);
46 x.IterateOverMembers([&](E e) { stream << sep << T::EnumToString(e); });
49#define NODE_ENUMSET(T, S) \
50 static std::string GetNodeName(const T::S &x) { \
51 return #S " = {"s + GetMemberNames<T>(x) + "}"s; \
53#define NODE_NAME(T, N) \
54 static constexpr const char *GetNodeName(const T &) { return N; }
55#define NODE_ENUM(T, E) \
56 static std::string GetNodeName(const T::E &x) { \
57 return #E " = "s + std::string{T::EnumToString(x)}; \
59#define NODE(T1, T2) NODE_NAME(T1::T2, #T2)
60 NODE_NAME(
bool,
"bool")
65 NODE_ENUM(
common, CUDADataAttr)
66 NODE_ENUM(
common, CUDASubprogramAttrs)
67 NODE_ENUM(
common, ImportKind)
68 NODE_ENUM(
common, OmpDependenceKind)
69 NODE_ENUM(
common, OmpDeviceType)
70 NODE_ENUM(
common, OmpMemoryOrderType)
71 NODE_ENUM(
common, OpenACCDeviceType)
72 NODE(format, ControlEditDesc)
74 NODE(format, DerivedTypeDataEditDesc)
75 NODE(format, FormatItem)
76 NODE(format, FormatSpecification)
77 NODE(format, IntrinsicTypeDataEditDesc)
91#define GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
92#include "llvm/Frontend/OpenACC/ACC.inc"
95 static std::string GetNodeName(
const llvm::acc::DefaultValue &x) {
97 "llvm::acc::DefaultValue = ", llvm::acc::getOpenACCDefaultValueName(x))
105 NODE(
parser, AccEndAtomic)
115 NODE(
parser, AccObjectList)
130 static std::string GetNodeName(
const llvm::acc::Directive &x) {
132 "llvm::acc::Directive = ", llvm::acc::getOpenACCDirectiveName(x))
155 NODE(
parser, AllocatableStmt)
161 NODE(
parser, AltReturnSpec)
163 NODE(
parser, ArrayConstructor)
172 NODE(
parser, AssumedImpliedSpec)
173 NODE(
parser, AssumedRankSpec)
174 NODE(
parser, AssumedShapeSpec)
176 NODE(
parser, Asynchronous)
177 NODE(
parser, AsynchronousStmt)
179 NODE(
parser, BOZLiteralConstant)
180 NODE(
parser, BackspaceStmt)
182 NODE(
parser, BasedPointerStmt)
192 NODE(
parser, BlockDataStmt)
193 NODE(
parser, BlockSpecificationPart)
219 NODE(
parser, CodimensionStmt)
249 NODE(
parser, ComponentDataSource)
262 NODE(
parser, ConditionalArgNil)
268 NODE(
parser, ContainsStmt)
270 NODE(
parser, ContiguousStmt)
271 NODE(
parser, ContinueStmt)
302 NODE(
parser, DeferredCoshapeSpecList)
303 NODE(
parser, DeferredShapeSpecList)
304 NODE(
parser, DefinedOpName)
317 NODE(
parser, ElsewhereStmt)
318 NODE(
parser, EndAssociateStmt)
319 NODE(
parser, EndBlockDataStmt)
320 NODE(
parser, EndBlockStmt)
322 NODE(
parser, EndCriticalStmt)
324 NODE(
parser, EndEnumerationTypeStmt)
326 NODE(
parser, EndForallStmt)
327 NODE(
parser, EndFunctionStmt)
329 NODE(
parser, EndInterfaceStmt)
331 NODE(
parser, EndModuleStmt)
332 NODE(
parser, EndMpSubprogramStmt)
333 NODE(
parser, EndProgramStmt)
334 NODE(
parser, EndSelectStmt)
335 NODE(
parser, EndSubmoduleStmt)
336 NODE(
parser, EndSubroutineStmt)
338 NODE(
parser, EndWhereStmt)
345 NODE(
parser, EnumeratorDefStmt)
346 NODE(
parser, EnumerationEnumeratorStmt)
350 NODE(
parser, EquivalenceObject)
351 NODE(
parser, EquivalenceStmt)
353 NODE(
parser, ErrorRecovery)
358 NODE(
parser, ExecutionPart)
365 NODE(
Expr, Parentheses)
366 NODE(
Expr, UnaryPlus)
369 NODE(
Expr, PercentLoc)
370 NODE(
Expr, DefinedUnary)
387 NODE(
Expr, DefinedBinary)
388 NODE(
Expr, ComplexConstructor)
390 NODE(
parser, ExternalStmt)
391 NODE(
parser, FailImageStmt)
392 NODE(
parser, FileUnitNumber)
393 NODE(
parser, FinalProcedureStmt)
429 NODE(
parser, ImplicitPart)
434 NODE(
parser, ImpliedShapeSpec)
448 NODE(
parser, IntegerTypeSpec)
461 NODE(
parser, IntrinsicStmt)
498 NODE_NAME(LoopControl::Bounds,
"LoopBounds")
499 NODE_NAME(AcImpliedDoControl::Bounds,
"LoopBounds")
500 NODE_NAME(DataImpliedDo::Bounds,
"LoopBounds")
505 NODE(
Map, EndMapStmt)
512 NODE(
parser, MpSubprogramStmt)
515 NODE(
parser, NamedConstant)
525 NODE(
parser, OldParameterStmt)
527 static std::string GetNodeName(
const llvm::omp::Directive &x) {
528 return llvm::Twine(
"llvm::omp::Directive = ",
529 llvm::omp::getOpenMPDirectiveName(x, llvm::omp::FallbackVersion))
532 static std::string GetNodeName(
const llvm::omp::Clause &x) {
534 "llvm::omp::Clause = ", llvm::omp::getOpenMPClauseName(x))
561 static std::string GetNodeName(
const llvm::omp::LoopModifier &x) {
563 "llvm::omp::LoopModifier = ", llvm::omp::getLoopModifierName(x))
692 NODE(
parser, OmpNoOpenMPClause)
693 NODE(
parser, OmpNoOpenMPRoutinesClause)
694 NODE(
parser, OmpNoParallelismClause)
786#define GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
787#include "llvm/Frontend/OpenMP/OMP.inc"
823 NODE(
parser, OptionalStmt)
828 NODE(
parser, ParameterStmt)
868 NODE(
parser, ProtectedStmt)
894 NODE(
parser, SequenceStmt)
900 NODE(
parser, SpecificationExpr)
904 NODE(
parser, StatVariable)
928 NODE(
parser, SyncMemoryStmt)
947 NODE(
common, TypeParamAttr)
953 NODE(
Union, EndUnionStmt)
954 NODE(
Union, UnionStmt)
957 NODE(
parser, UnsignedTypeSpec)
959 NODE_ENUM(
UseStmt, ModuleNature)
966 NODE(
parser, IntrinsicVectorTypeSpec)
970 NODE(
parser, VolatileStmt)
983 template <
typename T>
bool Pre(
const T &x) {
984 std::string fortran{AsFortran<T>(x)};
985 if (fortran.empty() && (UnionTrait<T> || WrapperTrait<T>)) {
986 Prefix(GetNodeName(x));
989 out_ << GetNodeName(x);
990 if (!fortran.empty()) {
991 out_ <<
" = '" << fortran <<
'\'';
999 template <
typename T>
void Post(
const T &x) {
1000 if (AsFortran<T>(x).empty() && (UnionTrait<T> || WrapperTrait<T>)) {
1001 EndLineIfNonempty();
1009 bool Pre(
const CharBlock &) {
return true; }
1012 template <
typename T>
bool Pre(
const Statement<T> &) {
return true; }
1013 template <
typename T>
void Post(
const Statement<T> &) {}
1022 template <
typename A>
bool Pre(
const Scalar<A> &) {
1026 template <
typename A>
void Post(
const Scalar<A> &) { EndLineIfNonempty(); }
1028 template <
typename A>
bool Pre(
const Constant<A> &) {
1032 template <
typename A>
void Post(
const Constant<A> &) { EndLineIfNonempty(); }
1034 template <
typename A>
bool Pre(
const Integer<A> &) {
1038 template <
typename A>
void Post(
const Integer<A> &) { EndLineIfNonempty(); }
1040 template <
typename A>
bool Pre(
const Logical<A> &) {
1044 template <
typename A>
void Post(
const Logical<A> &) { EndLineIfNonempty(); }
1047 Prefix(
"DefaultChar");
1051 EndLineIfNonempty();
1054 template <
typename... A>
bool Pre(
const std::tuple<A...> &) {
return true; }
1055 template <
typename... A>
void Post(
const std::tuple<A...> &) {}
1057 template <
typename... A>
bool Pre(
const std::variant<A...> &) {
return true; }
1058 template <
typename... A>
void Post(
const std::variant<A...> &) {}
1062 template <
typename T> std::string AsFortran(
const T &x) {
1064 llvm::raw_string_ostream ss{buf};
1066 if (asFortran_ && x.typedExpr) {
1067 asFortran_->expr(ss, *x.typedExpr);
1069 }
else if constexpr (std::is_same_v<T, AssignmentStmt> ||
1070 std::is_same_v<T, PointerAssignmentStmt>) {
1071 if (asFortran_ && x.typedAssignment) {
1072 asFortran_->assignment(ss, *x.typedAssignment);
1074 }
else if constexpr (std::is_same_v<T, CallStmt>) {
1075 if (asFortran_ && x.typedCall) {
1076 asFortran_->call(ss, *x.typedCall);
1078 }
else if constexpr (std::is_same_v<T, IntLiteralConstant> ||
1079 std::is_same_v<T, SignedIntLiteralConstant> ||
1080 std::is_same_v<T, UnsignedLiteralConstant>) {
1081 ss << std::get<CharBlock>(x.t);
1082 }
else if constexpr (std::is_same_v<T, RealLiteralConstant::Real>) {
1084 }
else if constexpr (std::is_same_v<T, std::string> ||
1085 std::is_same_v<T, std::int64_t> || std::is_same_v<T, std::uint64_t>) {
1091 if constexpr (std::is_same_v<T, Name>) {
1092 return x.source.ToString();
1093#ifdef SHOW_ALL_SOURCE_MEMBERS
1095 return x.source.ToString();
1097 }
else if constexpr (std::is_same_v<T, int>) {
1098 return std::to_string(x);
1099 }
else if constexpr (std::is_same_v<T, bool>) {
1100 return x ?
"true" :
"false";
1106 void IndentEmptyLine() {
1107 if (emptyline_ && indent_ > 0) {
1108 for (
int i{0}; i < indent_; ++i) {
1115 void Prefix(
const char *str) {
1117 out_ << str <<
" -> ";
1121 void Prefix(
const std::string &str) {
1123 out_ << str <<
" -> ";
1132 void EndLineIfNonempty() {
1140 llvm::raw_ostream &out_;
1142 bool emptyline_{
false};
1145template <
typename T>
1146llvm::raw_ostream &DumpTree(llvm::raw_ostream &out,
const T &x,
Definition indirection.h:31
Definition char-block.h:26
Definition dump-parse-tree.h:33
Definition bit-population-count.h:20
Definition check-expression.h:19
Definition parse-tree.h:1309
Definition parse-tree.h:1316
Definition parse-tree.h:1280
Definition parse-tree.h:1268
Definition parse-tree.h:5778
Definition parse-tree.h:5754
Definition parse-tree.h:5770
Definition parse-tree.h:5762
Definition parse-tree.h:5739
Definition parse-tree.h:5803
Definition parse-tree.h:5733
Definition parse-tree.h:5609
Definition parse-tree.h:5582
Definition parse-tree.h:5710
Definition parse-tree.h:5695
Definition parse-tree.h:5690
Definition parse-tree.h:5598
Definition parse-tree.h:5620
Definition parse-tree.h:5603
Definition parse-tree.h:5615
Definition parse-tree.h:5647
Definition parse-tree.h:5641
Definition parse-tree.h:5745
Definition parse-tree.h:5809
Definition parse-tree.h:5686
Definition parse-tree.h:5677
Definition parse-tree.h:5587
Definition parse-tree.h:5626
Definition parse-tree.h:5631
Definition parse-tree.h:5574
Definition parse-tree.h:5670
Definition parse-tree.h:5666
Definition parse-tree.h:5662
Definition parse-tree.h:5592
Definition parse-tree.h:5658
Definition parse-tree.h:5652
Definition parse-tree.h:5636
Definition parse-tree.h:902
Definition parse-tree.h:1446
Definition parse-tree.h:500
Definition parse-tree.h:3319
Definition parse-tree.h:3308
Definition parse-tree.h:2008
Definition parse-tree.h:1973
Definition parse-tree.h:1952
Definition parse-tree.h:1964
Definition parse-tree.h:2019
Definition parse-tree.h:1981
Definition parse-tree.h:3541
Definition parse-tree.h:1938
Definition parse-tree.h:1371
Definition parse-tree.h:3546
Definition parse-tree.h:3551
Definition parse-tree.h:2045
Definition parse-tree.h:2200
Definition parse-tree.h:2191
Definition parse-tree.h:2184
Definition parse-tree.h:1346
Definition parse-tree.h:1407
Definition parse-tree.h:3491
Definition parse-tree.h:1120
Definition parse-tree.h:1468
Definition parse-tree.h:1475
Definition parse-tree.h:2222
Definition parse-tree.h:3061
Definition parse-tree.h:2055
Definition parse-tree.h:3485
Definition parse-tree.h:5879
Definition parse-tree.h:5873
Definition parse-tree.h:3343
Definition parse-tree.h:3326
Definition parse-tree.h:2463
Definition parse-tree.h:2445
Definition parse-tree.h:2451
Definition parse-tree.h:2432
Definition parse-tree.h:2253
Definition parse-tree.h:2238
Definition parse-tree.h:674
Definition parse-tree.h:1870
Definition parse-tree.h:861
Definition parse-tree.h:690
Definition parse-tree.h:2722
Definition parse-tree.h:2230
Definition parse-tree.h:977
Definition parse-tree.h:1481
Definition parse-tree.h:1932
Definition parse-tree.h:1648
Definition parse-tree.h:1656
Definition parse-tree.h:3444
Definition parse-tree.h:3430
Definition parse-tree.h:847
Definition parse-tree.h:839
Definition parse-tree.h:988
Definition parse-tree.h:1001
Definition parse-tree.h:1032
Definition parse-tree.h:1109
Definition parse-tree.h:1054
Definition parse-tree.h:1204
Definition parse-tree.h:2550
Definition parse-tree.h:2278
Definition parse-tree.h:3300
Definition parse-tree.h:3287
Definition parse-tree.h:1727
Definition parse-tree.h:2700
Definition parse-tree.h:2698
Definition parse-tree.h:305
Definition parse-tree.h:2269
Definition parse-tree.h:2260
Definition parse-tree.h:1062
Definition parse-tree.h:1538
Definition parse-tree.h:1550
Definition parse-tree.h:1848
Definition parse-tree.h:1509
Definition parse-tree.h:1558
Definition parse-tree.h:1524
Definition parse-tree.h:1564
Definition parse-tree.h:1530
Definition parse-tree.h:2039
Definition parse-tree.h:441
Definition parse-tree.h:769
Definition parse-tree.h:329
Definition parse-tree.h:616
Definition parse-tree.h:1189
Definition parse-tree.h:750
Definition parse-tree.h:919
Definition parse-tree.h:1887
Definition parse-tree.h:1575
Definition parse-tree.h:2365
Definition parse-tree.h:3192
Definition parse-tree.h:2385
Definition parse-tree.h:2247
Definition parse-tree.h:1422
Definition parse-tree.h:3397
Definition parse-tree.h:1233
Definition parse-tree.h:1259
Definition parse-tree.h:1242
Definition parse-tree.h:1219
Definition parse-tree.h:2604
Definition parse-tree.h:2610
Definition parse-tree.h:2618
Definition parse-tree.h:533
Definition parse-tree.h:558
Definition parse-tree.h:971
Definition parse-tree.h:1366
Definition parse-tree.h:958
Definition parse-tree.h:1735
Definition parse-tree.h:1048
Definition parse-tree.h:2141
Definition parse-tree.h:2157
Definition parse-tree.h:2135
Definition parse-tree.h:2170
Definition parse-tree.h:2147
Definition parse-tree.h:3331
Definition parse-tree.h:3181
Definition parse-tree.h:3363
Definition parse-tree.h:3074
Definition parse-tree.h:3089
Definition parse-tree.h:868
Definition parse-tree.h:2399
Definition parse-tree.h:2415
Definition parse-tree.h:2378
Definition parse-tree.h:1708
Definition parse-tree.h:1718
Definition parse-tree.h:423
Definition parse-tree.h:1632
Definition parse-tree.h:1641
Definition parse-tree.h:629
Definition parse-tree.h:1019
Definition parse-tree.h:2921
Definition parse-tree.h:2930
Definition parse-tree.h:2935
Definition parse-tree.h:2919
Definition parse-tree.h:2948
Definition parse-tree.h:797
Definition parse-tree.h:313
Definition parse-tree.h:1380
Definition parse-tree.h:1584
Definition parse-tree.h:3255
Definition parse-tree.h:3213
Definition parse-tree.h:3242
Definition parse-tree.h:3095
Definition parse-tree.h:479
Definition parse-tree.h:467
Definition parse-tree.h:708
Definition parse-tree.h:2760
Definition parse-tree.h:2758
Definition parse-tree.h:2669
Definition parse-tree.h:784
Definition parse-tree.h:662
Definition parse-tree.h:2342
Definition parse-tree.h:1325
Definition parse-tree.h:680
Definition parse-tree.h:1626
Definition parse-tree.h:893
Definition parse-tree.h:2310
Definition parse-tree.h:2644
Definition parse-tree.h:875
Definition parse-tree.h:321
Definition parse-tree.h:2330
Definition parse-tree.h:2969
Definition parse-tree.h:3507
Definition parse-tree.h:2102
Definition parse-tree.h:2994
Definition parse-tree.h:2983
Definition parse-tree.h:3005
Definition parse-tree.h:591
Definition parse-tree.h:1331
Definition parse-tree.h:642
Definition parse-tree.h:2348
Definition parse-tree.h:2572
Definition parse-tree.h:1455
Definition parse-tree.h:4391
Definition parse-tree.h:4397
Definition parse-tree.h:4395
Definition parse-tree.h:4410
Definition parse-tree.h:4417
Definition parse-tree.h:4425
Definition parse-tree.h:4440
Definition parse-tree.h:5397
Definition parse-tree.h:4447
Definition parse-tree.h:4510
Definition parse-tree.h:5255
Definition parse-tree.h:5244
Definition parse-tree.h:4456
Definition parse-tree.h:4468
Definition parse-tree.h:5186
Definition parse-tree.h:5261
Definition parse-tree.h:4479
Definition parse-tree.h:5196
Definition parse-tree.h:4485
Definition parse-tree.h:5155
Definition parse-tree.h:5139
Definition parse-tree.h:4494
Definition parse-tree.h:3686
Definition parse-tree.h:4502
Definition parse-tree.h:5324
Definition parse-tree.h:5333
Definition parse-tree.h:5341
Definition parse-tree.h:5316
Definition parse-tree.h:5304
Definition parse-tree.h:4529
Definition parse-tree.h:4547
Definition parse-tree.h:4606
Definition parse-tree.h:4604
Definition parse-tree.h:4628
Definition parse-tree.h:4636
Definition parse-tree.h:4646
Definition parse-tree.h:4656
Definition parse-tree.h:4664
Definition parse-tree.h:3577
Definition parse-tree.h:5162
Definition parse-tree.h:4619
Definition parse-tree.h:4586
Definition parse-tree.h:4679
Definition parse-tree.h:4674
Definition parse-tree.h:5191
Definition parse-tree.h:5266
Definition parse-tree.h:4690
Definition parse-tree.h:5229
Definition parse-tree.h:4698
Definition parse-tree.h:4711
Definition parse-tree.h:4722
Definition parse-tree.h:4732
Definition parse-tree.h:4740
Definition parse-tree.h:5350
Definition parse-tree.h:4745
Definition parse-tree.h:4753
Definition parse-tree.h:4769
Definition parse-tree.h:4792
Definition parse-tree.h:4758
Definition parse-tree.h:4782
Definition parse-tree.h:4799
Definition parse-tree.h:3698
Definition parse-tree.h:4559
Definition parse-tree.h:4577
Definition parse-tree.h:4568
Definition parse-tree.h:4808
Definition parse-tree.h:4823
Definition parse-tree.h:3611
Definition parse-tree.h:4834
Definition parse-tree.h:4859
Definition parse-tree.h:4871
Definition parse-tree.h:4880
Definition parse-tree.h:5223
Definition parse-tree.h:4904
Definition parse-tree.h:4916
Definition parse-tree.h:4928
Definition parse-tree.h:3632
Definition parse-tree.h:3623
Definition parse-tree.h:3620
Definition parse-tree.h:4939
Definition parse-tree.h:4952
Definition parse-tree.h:4964
Definition parse-tree.h:4975
Definition parse-tree.h:3676
Definition parse-tree.h:4985
Definition parse-tree.h:5357
Definition parse-tree.h:3606
Definition parse-tree.h:4994
Definition parse-tree.h:5006
Definition parse-tree.h:5275
Definition parse-tree.h:5017
Definition parse-tree.h:5024
Definition parse-tree.h:3636
Definition parse-tree.h:3658
Definition parse-tree.h:3645
Definition parse-tree.h:5033
Definition parse-tree.h:5044
Definition parse-tree.h:5363
Definition parse-tree.h:5053
Definition parse-tree.h:5068
Definition parse-tree.h:5078
Definition parse-tree.h:3602
Definition parse-tree.h:3595
Definition parse-tree.h:5087
Definition parse-tree.h:5096
Definition parse-tree.h:5112
Definition parse-tree.h:5134
Definition parse-tree.h:5233
Definition parse-tree.h:5123
Definition parse-tree.h:3105
Definition parse-tree.h:5785
Definition parse-tree.h:5792
Definition parse-tree.h:5721
Definition parse-tree.h:5814
Definition parse-tree.h:5853
Definition parse-tree.h:5824
Definition parse-tree.h:5842
Definition parse-tree.h:5833
Definition parse-tree.h:5715
Definition parse-tree.h:5847
Definition parse-tree.h:5797
Definition parse-tree.h:5727
Definition parse-tree.h:5423
Definition parse-tree.h:5428
Definition parse-tree.h:5465
Definition parse-tree.h:5458
Definition parse-tree.h:5549
Definition parse-tree.h:5413
Definition parse-tree.h:5401
Definition parse-tree.h:5476
Definition parse-tree.h:5490
Definition parse-tree.h:5506
Definition parse-tree.h:5514
Definition parse-tree.h:5567
Definition parse-tree.h:5535
Definition parse-tree.h:5561
Definition parse-tree.h:5281
Definition parse-tree.h:5519
Definition parse-tree.h:5525
Definition parse-tree.h:378
Definition parse-tree.h:2838
Definition parse-tree.h:2801
Definition parse-tree.h:3030
Definition parse-tree.h:2067
Definition parse-tree.h:1594
Definition parse-tree.h:2028
Definition parse-tree.h:2864
Definition parse-tree.h:3150
Definition parse-tree.h:2822
Definition parse-tree.h:932
Definition parse-tree.h:3128
Definition parse-tree.h:1073
Definition parse-tree.h:1101
Definition parse-tree.h:1927
Definition parse-tree.h:1093
Definition parse-tree.h:1087
Definition parse-tree.h:1080
Definition parse-tree.h:3138
Definition parse-tree.h:3270
Definition parse-tree.h:3231
Definition parse-tree.h:575
Definition parse-tree.h:2785
Definition parse-tree.h:816
Definition parse-tree.h:2299
Definition parse-tree.h:3016
Definition parse-tree.h:1607
Definition parse-tree.h:297
Definition parse-tree.h:1693
Definition parse-tree.h:2422
Definition parse-tree.h:2486
Definition parse-tree.h:2498
Definition parse-tree.h:2477
Definition parse-tree.h:2532
Definition parse-tree.h:2512
Definition parse-tree.h:2178
Definition parse-tree.h:3389
Definition parse-tree.h:853
Definition parse-tree.h:790
Definition parse-tree.h:828
Definition parse-tree.h:401
Definition parse-tree.h:455
Definition parse-tree.h:1997
Definition parse-tree.h:361
Definition parse-tree.h:3407
Definition parse-tree.h:2564
Definition parse-tree.h:1917
Definition parse-tree.h:1210
Definition parse-tree.h:3528
Definition parse-tree.h:3500
Definition parse-tree.h:3523
Definition parse-tree.h:3036
Definition parse-tree.h:3047
Definition parse-tree.h:3200
Definition parse-tree.h:3373
Definition parse-tree.h:1684
Definition parse-tree.h:1879
Definition parse-tree.h:1675
Definition parse-tree.h:1865
Definition parse-tree.h:3170
Definition parse-tree.h:2582
Definition parse-tree.h:2595
Definition parse-tree.h:910
Definition parse-tree.h:1153
Definition parse-tree.h:1166
Definition parse-tree.h:1128
Definition parse-tree.h:1175
Definition parse-tree.h:1138
Definition parse-tree.h:1436
Definition parse-tree.h:2521
Definition parse-tree.h:938
Definition parse-tree.h:946
Definition parse-tree.h:744
Definition parse-tree.h:653
Definition parse-tree.h:757
Definition parse-tree.h:3516
Definition parse-tree.h:356
Definition parse-tree.h:2654
Definition parse-tree.h:803
Definition parse-tree.h:3114
Definition parse-tree.h:1895
Definition parse-tree.h:730
Definition parse-tree.h:735
Definition parse-tree.h:284
Definition parse-tree.h:2848
Definition parse-tree.h:2093
Definition parse-tree.h:2086
Definition parse-tree.h:2117
Definition parse-tree.h:2080
Definition parse-tree.h:2807
Definition parse-tree.h:3751
Definition parse-tree.h:3742
Definition parse-tree.h:3712
Definition parse-tree.h:3722
Definition parse-tree.h:3735
Definition parse-tree.h:3906
Definition parse-tree.h:3923
Definition parse-tree.h:3915
Definition parse-tree.h:3939
Definition parse-tree.h:3931
Definition parse-tree.h:3951
Definition parse-tree.h:3963
Definition parse-tree.h:3973
Definition parse-tree.h:3984
Definition parse-tree.h:3997
Definition parse-tree.h:4009
Definition parse-tree.h:4030
Definition parse-tree.h:4041
Definition parse-tree.h:4051
Definition parse-tree.h:4060
Definition parse-tree.h:4092
Definition parse-tree.h:4103
Definition parse-tree.h:4114
Definition parse-tree.h:4126
Definition parse-tree.h:4136
Definition parse-tree.h:4144
Definition parse-tree.h:4153
Definition parse-tree.h:4168
Definition parse-tree.h:4180
Definition parse-tree.h:4214
Definition parse-tree.h:4201
Definition parse-tree.h:4188
Definition parse-tree.h:4238
Definition parse-tree.h:4229
Definition parse-tree.h:4272
Definition parse-tree.h:4248
Definition parse-tree.h:4261
Definition parse-tree.h:4281
Definition parse-tree.h:4294
Definition parse-tree.h:4303
Definition parse-tree.h:4313
Definition parse-tree.h:4323
Definition parse-tree.h:4332
Definition parse-tree.h:4340
Definition parse-tree.h:4350
Definition parse-tree.h:4361
Definition parse-tree.h:4374
Definition parse-tree.h:3882
Definition parse-tree.h:3789
Definition parse-tree.h:3772
Definition parse-tree.h:3813
Definition parse-tree.h:3779
Definition parse-tree.h:3840
Definition parse-tree.h:3852
Definition parse-tree.h:3865
Definition parse-tree.h:3874