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)
175 NODE(
parser, AssumedShapeBoundsSpec)
177 NODE(
parser, Asynchronous)
178 NODE(
parser, AsynchronousStmt)
180 NODE(
parser, BOZLiteralConstant)
181 NODE(
parser, BackspaceStmt)
183 NODE(
parser, BasedPointerStmt)
193 NODE(
parser, BlockDataStmt)
194 NODE(
parser, BlockSpecificationPart)
220 NODE(
parser, CodimensionStmt)
250 NODE(
parser, ComponentDataSource)
263 NODE(
parser, ConditionalArgNil)
269 NODE(
parser, ContainsStmt)
271 NODE(
parser, ContiguousStmt)
272 NODE(
parser, ContinueStmt)
303 NODE(
parser, DeferredCoshapeSpecList)
304 NODE(
parser, DeferredShapeSpecList)
305 NODE(
parser, DefinedOpName)
318 NODE(
parser, ElsewhereStmt)
319 NODE(
parser, EndAssociateStmt)
320 NODE(
parser, EndBlockDataStmt)
321 NODE(
parser, EndBlockStmt)
323 NODE(
parser, EndCriticalStmt)
325 NODE(
parser, EndEnumerationTypeStmt)
327 NODE(
parser, EndForallStmt)
328 NODE(
parser, EndFunctionStmt)
330 NODE(
parser, EndInterfaceStmt)
332 NODE(
parser, EndModuleStmt)
333 NODE(
parser, EndMpSubprogramStmt)
334 NODE(
parser, EndProgramStmt)
335 NODE(
parser, EndSelectStmt)
336 NODE(
parser, EndSubmoduleStmt)
337 NODE(
parser, EndSubroutineStmt)
339 NODE(
parser, EndWhereStmt)
346 NODE(
parser, EnumeratorDefStmt)
347 NODE(
parser, EnumerationEnumeratorStmt)
351 NODE(
parser, EquivalenceObject)
352 NODE(
parser, EquivalenceStmt)
354 NODE(
parser, ErrorRecovery)
359 NODE(
parser, ExecutionPart)
366 NODE(
Expr, Parentheses)
367 NODE(
Expr, UnaryPlus)
370 NODE(
Expr, PercentLoc)
371 NODE(
Expr, DefinedUnary)
388 NODE(
Expr, DefinedBinary)
389 NODE(
Expr, ComplexConstructor)
391 NODE(
parser, ExternalStmt)
392 NODE(
parser, FailImageStmt)
393 NODE(
parser, FileUnitNumber)
394 NODE(
parser, FinalProcedureStmt)
430 NODE(
parser, ImplicitPart)
435 NODE(
parser, ImpliedShapeSpec)
449 NODE(
parser, IntegerTypeSpec)
462 NODE(
parser, IntrinsicStmt)
499 NODE_NAME(LoopControl::Bounds,
"LoopBounds")
500 NODE_NAME(AcImpliedDoControl::Bounds,
"LoopBounds")
501 NODE_NAME(DataImpliedDo::Bounds,
"LoopBounds")
506 NODE(
Map, EndMapStmt)
513 NODE(
parser, MpSubprogramStmt)
516 NODE(
parser, NamedConstant)
526 NODE(
parser, OldParameterStmt)
528 static std::string GetNodeName(
const llvm::omp::Directive &x) {
529 return llvm::Twine(
"llvm::omp::Directive = ",
530 llvm::omp::getOpenMPDirectiveName(x, llvm::omp::FallbackVersion))
533 static std::string GetNodeName(
const llvm::omp::Clause &x) {
535 "llvm::omp::Clause = ", llvm::omp::getOpenMPClauseName(x))
562 static std::string GetNodeName(
const llvm::omp::LoopModifier &x) {
564 "llvm::omp::LoopModifier = ", llvm::omp::getLoopModifierName(x))
694 NODE(
parser, OmpNoOpenMPClause)
695 NODE(
parser, OmpNoOpenMPRoutinesClause)
696 NODE(
parser, OmpNoParallelismClause)
788#define GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
789#include "llvm/Frontend/OpenMP/OMP.inc"
825 NODE(
parser, OptionalStmt)
830 NODE(
parser, ParameterStmt)
870 NODE(
parser, ProtectedStmt)
896 NODE(
parser, SequenceStmt)
902 NODE(
parser, SpecificationExpr)
906 NODE(
parser, StatVariable)
930 NODE(
parser, SyncMemoryStmt)
949 NODE(
common, TypeParamAttr)
955 NODE(
Union, EndUnionStmt)
956 NODE(
Union, UnionStmt)
959 NODE(
parser, UnsignedTypeSpec)
961 NODE_ENUM(
UseStmt, ModuleNature)
968 NODE(
parser, IntrinsicVectorTypeSpec)
972 NODE(
parser, VolatileStmt)
985 template <
typename T>
bool Pre(
const T &x) {
986 std::string fortran{AsFortran<T>(x)};
987 if (fortran.empty() && (UnionTrait<T> || WrapperTrait<T>)) {
988 Prefix(GetNodeName(x));
991 out_ << GetNodeName(x);
992 if (!fortran.empty()) {
993 out_ <<
" = '" << fortran <<
'\'';
1001 template <
typename T>
void Post(
const T &x) {
1002 if (AsFortran<T>(x).empty() && (UnionTrait<T> || WrapperTrait<T>)) {
1003 EndLineIfNonempty();
1011 bool Pre(
const CharBlock &) {
return true; }
1014 template <
typename T>
bool Pre(
const Statement<T> &) {
return true; }
1015 template <
typename T>
void Post(
const Statement<T> &) {}
1024 template <
typename A>
bool Pre(
const Scalar<A> &) {
1028 template <
typename A>
void Post(
const Scalar<A> &) { EndLineIfNonempty(); }
1030 template <
typename A>
bool Pre(
const Constant<A> &) {
1034 template <
typename A>
void Post(
const Constant<A> &) { EndLineIfNonempty(); }
1036 template <
typename A>
bool Pre(
const Integer<A> &) {
1040 template <
typename A>
void Post(
const Integer<A> &) { EndLineIfNonempty(); }
1042 template <
typename A>
bool Pre(
const Logical<A> &) {
1046 template <
typename A>
void Post(
const Logical<A> &) { EndLineIfNonempty(); }
1049 Prefix(
"DefaultChar");
1053 EndLineIfNonempty();
1056 template <
typename... A>
bool Pre(
const std::tuple<A...> &) {
return true; }
1057 template <
typename... A>
void Post(
const std::tuple<A...> &) {}
1059 template <
typename... A>
bool Pre(
const std::variant<A...> &) {
return true; }
1060 template <
typename... A>
void Post(
const std::variant<A...> &) {}
1064 template <
typename T> std::string AsFortran(
const T &x) {
1066 llvm::raw_string_ostream ss{buf};
1068 if (asFortran_ && x.typedExpr) {
1069 asFortran_->expr(ss, *x.typedExpr);
1071 }
else if constexpr (std::is_same_v<T, AssignmentStmt> ||
1072 std::is_same_v<T, PointerAssignmentStmt>) {
1073 if (asFortran_ && x.typedAssignment) {
1074 asFortran_->assignment(ss, *x.typedAssignment);
1076 }
else if constexpr (std::is_same_v<T, CallStmt>) {
1077 if (asFortran_ && x.typedCall) {
1078 asFortran_->call(ss, *x.typedCall);
1080 }
else if constexpr (std::is_same_v<T, IntLiteralConstant> ||
1081 std::is_same_v<T, SignedIntLiteralConstant> ||
1082 std::is_same_v<T, UnsignedLiteralConstant>) {
1083 ss << std::get<CharBlock>(x.t);
1084 }
else if constexpr (std::is_same_v<T, RealLiteralConstant::Real>) {
1086 }
else if constexpr (std::is_same_v<T, std::string> ||
1087 std::is_same_v<T, std::int64_t> || std::is_same_v<T, std::uint64_t>) {
1093 if constexpr (std::is_same_v<T, Name>) {
1094 return x.source.ToString();
1095#ifdef SHOW_ALL_SOURCE_MEMBERS
1097 return x.source.ToString();
1099 }
else if constexpr (std::is_same_v<T, int>) {
1100 return std::to_string(x);
1101 }
else if constexpr (std::is_same_v<T, bool>) {
1102 return x ?
"true" :
"false";
1108 void IndentEmptyLine() {
1109 if (emptyline_ && indent_ > 0) {
1110 for (
int i{0}; i < indent_; ++i) {
1117 void Prefix(
const char *str) {
1119 out_ << str <<
" -> ";
1123 void Prefix(
const std::string &str) {
1125 out_ << str <<
" -> ";
1134 void EndLineIfNonempty() {
1142 llvm::raw_ostream &out_;
1144 bool emptyline_{
false};
1147template <
typename T>
1148llvm::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:5782
Definition parse-tree.h:5758
Definition parse-tree.h:5774
Definition parse-tree.h:5766
Definition parse-tree.h:5743
Definition parse-tree.h:5807
Definition parse-tree.h:5737
Definition parse-tree.h:5613
Definition parse-tree.h:5586
Definition parse-tree.h:5714
Definition parse-tree.h:5699
Definition parse-tree.h:5694
Definition parse-tree.h:5602
Definition parse-tree.h:5624
Definition parse-tree.h:5607
Definition parse-tree.h:5619
Definition parse-tree.h:5651
Definition parse-tree.h:5645
Definition parse-tree.h:5749
Definition parse-tree.h:5813
Definition parse-tree.h:5690
Definition parse-tree.h:5681
Definition parse-tree.h:5591
Definition parse-tree.h:5630
Definition parse-tree.h:5635
Definition parse-tree.h:5578
Definition parse-tree.h:5674
Definition parse-tree.h:5670
Definition parse-tree.h:5666
Definition parse-tree.h:5596
Definition parse-tree.h:5662
Definition parse-tree.h:5656
Definition parse-tree.h:5640
Definition parse-tree.h:902
Definition parse-tree.h:1448
Definition parse-tree.h:500
Definition parse-tree.h:3321
Definition parse-tree.h:3310
Definition parse-tree.h:2010
Definition parse-tree.h:1975
Definition parse-tree.h:1954
Definition parse-tree.h:1966
Definition parse-tree.h:2021
Definition parse-tree.h:1983
Definition parse-tree.h:3543
Definition parse-tree.h:1940
Definition parse-tree.h:1373
Definition parse-tree.h:3548
Definition parse-tree.h:3553
Definition parse-tree.h:2047
Definition parse-tree.h:2202
Definition parse-tree.h:2193
Definition parse-tree.h:2186
Definition parse-tree.h:1346
Definition parse-tree.h:1409
Definition parse-tree.h:3493
Definition parse-tree.h:1120
Definition parse-tree.h:1470
Definition parse-tree.h:1477
Definition parse-tree.h:2224
Definition parse-tree.h:3063
Definition parse-tree.h:2057
Definition parse-tree.h:3487
Definition parse-tree.h:5883
Definition parse-tree.h:5877
Definition parse-tree.h:3345
Definition parse-tree.h:3328
Definition parse-tree.h:2465
Definition parse-tree.h:2447
Definition parse-tree.h:2453
Definition parse-tree.h:2434
Definition parse-tree.h:2255
Definition parse-tree.h:2240
Definition parse-tree.h:674
Definition parse-tree.h:1872
Definition parse-tree.h:861
Definition parse-tree.h:690
Definition parse-tree.h:2724
Definition parse-tree.h:2232
Definition parse-tree.h:977
Definition parse-tree.h:1483
Definition parse-tree.h:1934
Definition parse-tree.h:1650
Definition parse-tree.h:1658
Definition parse-tree.h:3446
Definition parse-tree.h:3432
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:2552
Definition parse-tree.h:2280
Definition parse-tree.h:3302
Definition parse-tree.h:3289
Definition parse-tree.h:1729
Definition parse-tree.h:2702
Definition parse-tree.h:2700
Definition parse-tree.h:305
Definition parse-tree.h:2271
Definition parse-tree.h:2262
Definition parse-tree.h:1062
Definition parse-tree.h:1540
Definition parse-tree.h:1552
Definition parse-tree.h:1850
Definition parse-tree.h:1511
Definition parse-tree.h:1560
Definition parse-tree.h:1526
Definition parse-tree.h:1566
Definition parse-tree.h:1532
Definition parse-tree.h:2041
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:1889
Definition parse-tree.h:1577
Definition parse-tree.h:2367
Definition parse-tree.h:3194
Definition parse-tree.h:2387
Definition parse-tree.h:2249
Definition parse-tree.h:1424
Definition parse-tree.h:3399
Definition parse-tree.h:1233
Definition parse-tree.h:1259
Definition parse-tree.h:1242
Definition parse-tree.h:1219
Definition parse-tree.h:2606
Definition parse-tree.h:2612
Definition parse-tree.h:2620
Definition parse-tree.h:533
Definition parse-tree.h:558
Definition parse-tree.h:971
Definition parse-tree.h:1368
Definition parse-tree.h:958
Definition parse-tree.h:1737
Definition parse-tree.h:1048
Definition parse-tree.h:2143
Definition parse-tree.h:2159
Definition parse-tree.h:2137
Definition parse-tree.h:2172
Definition parse-tree.h:2149
Definition parse-tree.h:3333
Definition parse-tree.h:3183
Definition parse-tree.h:3365
Definition parse-tree.h:3076
Definition parse-tree.h:3091
Definition parse-tree.h:868
Definition parse-tree.h:2401
Definition parse-tree.h:2417
Definition parse-tree.h:2380
Definition parse-tree.h:1710
Definition parse-tree.h:1720
Definition parse-tree.h:423
Definition parse-tree.h:1634
Definition parse-tree.h:1643
Definition parse-tree.h:629
Definition parse-tree.h:1019
Definition parse-tree.h:2923
Definition parse-tree.h:2932
Definition parse-tree.h:2937
Definition parse-tree.h:2921
Definition parse-tree.h:2950
Definition parse-tree.h:797
Definition parse-tree.h:313
Definition parse-tree.h:1382
Definition parse-tree.h:1586
Definition parse-tree.h:3257
Definition parse-tree.h:3215
Definition parse-tree.h:3244
Definition parse-tree.h:3097
Definition parse-tree.h:479
Definition parse-tree.h:467
Definition parse-tree.h:708
Definition parse-tree.h:2762
Definition parse-tree.h:2760
Definition parse-tree.h:2671
Definition parse-tree.h:784
Definition parse-tree.h:662
Definition parse-tree.h:2344
Definition parse-tree.h:1325
Definition parse-tree.h:680
Definition parse-tree.h:1628
Definition parse-tree.h:893
Definition parse-tree.h:2312
Definition parse-tree.h:2646
Definition parse-tree.h:875
Definition parse-tree.h:321
Definition parse-tree.h:2332
Definition parse-tree.h:2971
Definition parse-tree.h:3509
Definition parse-tree.h:2104
Definition parse-tree.h:2996
Definition parse-tree.h:2985
Definition parse-tree.h:3007
Definition parse-tree.h:591
Definition parse-tree.h:1331
Definition parse-tree.h:642
Definition parse-tree.h:2350
Definition parse-tree.h:2574
Definition parse-tree.h:1457
Definition parse-tree.h:4393
Definition parse-tree.h:4399
Definition parse-tree.h:4397
Definition parse-tree.h:4412
Definition parse-tree.h:4419
Definition parse-tree.h:4427
Definition parse-tree.h:4442
Definition parse-tree.h:5401
Definition parse-tree.h:4449
Definition parse-tree.h:4512
Definition parse-tree.h:5259
Definition parse-tree.h:5248
Definition parse-tree.h:4458
Definition parse-tree.h:4470
Definition parse-tree.h:5190
Definition parse-tree.h:5265
Definition parse-tree.h:4481
Definition parse-tree.h:5200
Definition parse-tree.h:4487
Definition parse-tree.h:5159
Definition parse-tree.h:5143
Definition parse-tree.h:4496
Definition parse-tree.h:3688
Definition parse-tree.h:4504
Definition parse-tree.h:5328
Definition parse-tree.h:5337
Definition parse-tree.h:5345
Definition parse-tree.h:5320
Definition parse-tree.h:5308
Definition parse-tree.h:4526
Definition parse-tree.h:4554
Definition parse-tree.h:4541
Definition parse-tree.h:4610
Definition parse-tree.h:4608
Definition parse-tree.h:4632
Definition parse-tree.h:4640
Definition parse-tree.h:4650
Definition parse-tree.h:4660
Definition parse-tree.h:4668
Definition parse-tree.h:3579
Definition parse-tree.h:5166
Definition parse-tree.h:4623
Definition parse-tree.h:4590
Definition parse-tree.h:4683
Definition parse-tree.h:4678
Definition parse-tree.h:5195
Definition parse-tree.h:5270
Definition parse-tree.h:4694
Definition parse-tree.h:5233
Definition parse-tree.h:4702
Definition parse-tree.h:4715
Definition parse-tree.h:4726
Definition parse-tree.h:4736
Definition parse-tree.h:4744
Definition parse-tree.h:5354
Definition parse-tree.h:4749
Definition parse-tree.h:4757
Definition parse-tree.h:4773
Definition parse-tree.h:4796
Definition parse-tree.h:4762
Definition parse-tree.h:4786
Definition parse-tree.h:4803
Definition parse-tree.h:3700
Definition parse-tree.h:4563
Definition parse-tree.h:4581
Definition parse-tree.h:4572
Definition parse-tree.h:4812
Definition parse-tree.h:4827
Definition parse-tree.h:3613
Definition parse-tree.h:4838
Definition parse-tree.h:4863
Definition parse-tree.h:4875
Definition parse-tree.h:4884
Definition parse-tree.h:5227
Definition parse-tree.h:4908
Definition parse-tree.h:4920
Definition parse-tree.h:4932
Definition parse-tree.h:3634
Definition parse-tree.h:3625
Definition parse-tree.h:3622
Definition parse-tree.h:4943
Definition parse-tree.h:4956
Definition parse-tree.h:4968
Definition parse-tree.h:4979
Definition parse-tree.h:3678
Definition parse-tree.h:4989
Definition parse-tree.h:5361
Definition parse-tree.h:3608
Definition parse-tree.h:4998
Definition parse-tree.h:5010
Definition parse-tree.h:5279
Definition parse-tree.h:5021
Definition parse-tree.h:5028
Definition parse-tree.h:3638
Definition parse-tree.h:3660
Definition parse-tree.h:3647
Definition parse-tree.h:5037
Definition parse-tree.h:5048
Definition parse-tree.h:5367
Definition parse-tree.h:5057
Definition parse-tree.h:5072
Definition parse-tree.h:5082
Definition parse-tree.h:3604
Definition parse-tree.h:3597
Definition parse-tree.h:5091
Definition parse-tree.h:5100
Definition parse-tree.h:5116
Definition parse-tree.h:5138
Definition parse-tree.h:5237
Definition parse-tree.h:5127
Definition parse-tree.h:3107
Definition parse-tree.h:5789
Definition parse-tree.h:5796
Definition parse-tree.h:5725
Definition parse-tree.h:5818
Definition parse-tree.h:5857
Definition parse-tree.h:5828
Definition parse-tree.h:5846
Definition parse-tree.h:5837
Definition parse-tree.h:5719
Definition parse-tree.h:5851
Definition parse-tree.h:5801
Definition parse-tree.h:5731
Definition parse-tree.h:5427
Definition parse-tree.h:5432
Definition parse-tree.h:5469
Definition parse-tree.h:5462
Definition parse-tree.h:5553
Definition parse-tree.h:5417
Definition parse-tree.h:5405
Definition parse-tree.h:5480
Definition parse-tree.h:5494
Definition parse-tree.h:5510
Definition parse-tree.h:5518
Definition parse-tree.h:5571
Definition parse-tree.h:5539
Definition parse-tree.h:5565
Definition parse-tree.h:5285
Definition parse-tree.h:5523
Definition parse-tree.h:5529
Definition parse-tree.h:378
Definition parse-tree.h:2840
Definition parse-tree.h:2803
Definition parse-tree.h:3032
Definition parse-tree.h:2069
Definition parse-tree.h:1596
Definition parse-tree.h:2030
Definition parse-tree.h:2866
Definition parse-tree.h:3152
Definition parse-tree.h:2824
Definition parse-tree.h:932
Definition parse-tree.h:3130
Definition parse-tree.h:1073
Definition parse-tree.h:1101
Definition parse-tree.h:1929
Definition parse-tree.h:1093
Definition parse-tree.h:1087
Definition parse-tree.h:1080
Definition parse-tree.h:3140
Definition parse-tree.h:3272
Definition parse-tree.h:3233
Definition parse-tree.h:575
Definition parse-tree.h:2787
Definition parse-tree.h:816
Definition parse-tree.h:2301
Definition parse-tree.h:3018
Definition parse-tree.h:1609
Definition parse-tree.h:297
Definition parse-tree.h:1695
Definition parse-tree.h:2424
Definition parse-tree.h:2488
Definition parse-tree.h:2500
Definition parse-tree.h:2479
Definition parse-tree.h:2534
Definition parse-tree.h:2514
Definition parse-tree.h:2180
Definition parse-tree.h:3391
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:1999
Definition parse-tree.h:361
Definition parse-tree.h:3409
Definition parse-tree.h:2566
Definition parse-tree.h:1919
Definition parse-tree.h:1210
Definition parse-tree.h:3530
Definition parse-tree.h:3502
Definition parse-tree.h:3525
Definition parse-tree.h:3038
Definition parse-tree.h:3049
Definition parse-tree.h:3202
Definition parse-tree.h:3375
Definition parse-tree.h:1686
Definition parse-tree.h:1881
Definition parse-tree.h:1677
Definition parse-tree.h:1867
Definition parse-tree.h:3172
Definition parse-tree.h:2584
Definition parse-tree.h:2597
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:1438
Definition parse-tree.h:2523
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:3518
Definition parse-tree.h:356
Definition parse-tree.h:2656
Definition parse-tree.h:803
Definition parse-tree.h:3116
Definition parse-tree.h:1897
Definition parse-tree.h:730
Definition parse-tree.h:735
Definition parse-tree.h:284
Definition parse-tree.h:2850
Definition parse-tree.h:2095
Definition parse-tree.h:2088
Definition parse-tree.h:2119
Definition parse-tree.h:2082
Definition parse-tree.h:2809
Definition parse-tree.h:3753
Definition parse-tree.h:3744
Definition parse-tree.h:3714
Definition parse-tree.h:3724
Definition parse-tree.h:3737
Definition parse-tree.h:3908
Definition parse-tree.h:3925
Definition parse-tree.h:3917
Definition parse-tree.h:3941
Definition parse-tree.h:3933
Definition parse-tree.h:3953
Definition parse-tree.h:3965
Definition parse-tree.h:3975
Definition parse-tree.h:3986
Definition parse-tree.h:3999
Definition parse-tree.h:4011
Definition parse-tree.h:4032
Definition parse-tree.h:4043
Definition parse-tree.h:4053
Definition parse-tree.h:4062
Definition parse-tree.h:4094
Definition parse-tree.h:4105
Definition parse-tree.h:4116
Definition parse-tree.h:4128
Definition parse-tree.h:4138
Definition parse-tree.h:4146
Definition parse-tree.h:4155
Definition parse-tree.h:4170
Definition parse-tree.h:4182
Definition parse-tree.h:4216
Definition parse-tree.h:4203
Definition parse-tree.h:4190
Definition parse-tree.h:4240
Definition parse-tree.h:4231
Definition parse-tree.h:4274
Definition parse-tree.h:4250
Definition parse-tree.h:4263
Definition parse-tree.h:4283
Definition parse-tree.h:4296
Definition parse-tree.h:4305
Definition parse-tree.h:4315
Definition parse-tree.h:4325
Definition parse-tree.h:4334
Definition parse-tree.h:4342
Definition parse-tree.h:4352
Definition parse-tree.h:4363
Definition parse-tree.h:4376
Definition parse-tree.h:3884
Definition parse-tree.h:3791
Definition parse-tree.h:3774
Definition parse-tree.h:3815
Definition parse-tree.h:3781
Definition parse-tree.h:3842
Definition parse-tree.h:3854
Definition parse-tree.h:3867
Definition parse-tree.h:3876