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, OmpMemoryOrderType)
70 NODE_ENUM(
common, OpenACCDeviceType)
71 NODE(format, ControlEditDesc)
73 NODE(format, DerivedTypeDataEditDesc)
74 NODE(format, FormatItem)
75 NODE(format, FormatSpecification)
76 NODE(format, IntrinsicTypeDataEditDesc)
90#define GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
91#include "llvm/Frontend/OpenACC/ACC.inc"
94 static std::string GetNodeName(
const llvm::acc::DefaultValue &x) {
96 "llvm::acc::DefaultValue = ", llvm::acc::getOpenACCDefaultValueName(x))
104 NODE(
parser, AccEndAtomic)
114 NODE(
parser, AccObjectList)
129 static std::string GetNodeName(
const llvm::acc::Directive &x) {
131 "llvm::acc::Directive = ", llvm::acc::getOpenACCDirectiveName(x))
154 NODE(
parser, AllocatableStmt)
160 NODE(
parser, AltReturnSpec)
162 NODE(
parser, ArrayConstructor)
171 NODE(
parser, AssumedImpliedSpec)
172 NODE(
parser, AssumedRankSpec)
173 NODE(
parser, AssumedShapeSpec)
175 NODE(
parser, Asynchronous)
176 NODE(
parser, AsynchronousStmt)
178 NODE(
parser, BOZLiteralConstant)
179 NODE(
parser, BackspaceStmt)
181 NODE(
parser, BasedPointerStmt)
191 NODE(
parser, BlockDataStmt)
192 NODE(
parser, BlockSpecificationPart)
218 NODE(
parser, CodimensionStmt)
248 NODE(
parser, ComponentDataSource)
261 NODE(
parser, ConditionalArgNil)
267 NODE(
parser, ContainsStmt)
269 NODE(
parser, ContiguousStmt)
270 NODE(
parser, ContinueStmt)
299 NODE(
parser, DeferredCoshapeSpecList)
300 NODE(
parser, DeferredShapeSpecList)
301 NODE(
parser, DefinedOpName)
314 NODE(
parser, ElsewhereStmt)
315 NODE(
parser, EndAssociateStmt)
316 NODE(
parser, EndBlockDataStmt)
317 NODE(
parser, EndBlockStmt)
319 NODE(
parser, EndCriticalStmt)
322 NODE(
parser, EndForallStmt)
323 NODE(
parser, EndFunctionStmt)
325 NODE(
parser, EndInterfaceStmt)
327 NODE(
parser, EndModuleStmt)
328 NODE(
parser, EndMpSubprogramStmt)
329 NODE(
parser, EndProgramStmt)
330 NODE(
parser, EndSelectStmt)
331 NODE(
parser, EndSubmoduleStmt)
332 NODE(
parser, EndSubroutineStmt)
334 NODE(
parser, EndWhereStmt)
341 NODE(
parser, EnumeratorDefStmt)
343 NODE(
parser, EquivalenceObject)
344 NODE(
parser, EquivalenceStmt)
346 NODE(
parser, ErrorRecovery)
351 NODE(
parser, ExecutionPart)
357 NODE(
Expr, Parentheses)
358 NODE(
Expr, UnaryPlus)
361 NODE(
Expr, PercentLoc)
362 NODE(
Expr, DefinedUnary)
379 NODE(
Expr, DefinedBinary)
380 NODE(
Expr, ComplexConstructor)
382 NODE(
parser, ExternalStmt)
383 NODE(
parser, FailImageStmt)
384 NODE(
parser, FileUnitNumber)
385 NODE(
parser, FinalProcedureStmt)
421 NODE(
parser, ImplicitPart)
426 NODE(
parser, ImpliedShapeSpec)
440 NODE(
parser, IntegerTypeSpec)
453 NODE(
parser, IntrinsicStmt)
490 NODE_NAME(LoopControl::Bounds,
"LoopBounds")
491 NODE_NAME(AcImpliedDoControl::Bounds,
"LoopBounds")
492 NODE_NAME(DataImpliedDo::Bounds,
"LoopBounds")
497 NODE(
Map, EndMapStmt)
504 NODE(
parser, MpSubprogramStmt)
507 NODE(
parser, NamedConstant)
517 NODE(
parser, OldParameterStmt)
519 static std::string GetNodeName(
const llvm::omp::Directive &x) {
520 return llvm::Twine(
"llvm::omp::Directive = ",
521 llvm::omp::getOpenMPDirectiveName(x, llvm::omp::FallbackVersion))
524 static std::string GetNodeName(
const llvm::omp::Clause &x) {
526 "llvm::omp::Clause = ", llvm::omp::getOpenMPClauseName(x))
675 NODE(
parser, OmpNoOpenMPClause)
676 NODE(
parser, OmpNoOpenMPRoutinesClause)
677 NODE(
parser, OmpNoParallelismClause)
767#define GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
768#include "llvm/Frontend/OpenMP/OMP.inc"
807 NODE(
parser, OptionalStmt)
812 NODE(
parser, ParameterStmt)
852 NODE(
parser, ProtectedStmt)
878 NODE(
parser, SequenceStmt)
884 NODE(
parser, SpecificationExpr)
888 NODE(
parser, StatVariable)
912 NODE(
parser, SyncMemoryStmt)
931 NODE(
common, TypeParamAttr)
937 NODE(
Union, EndUnionStmt)
938 NODE(
Union, UnionStmt)
941 NODE(
parser, UnsignedTypeSpec)
943 NODE_ENUM(
UseStmt, ModuleNature)
950 NODE(
parser, IntrinsicVectorTypeSpec)
954 NODE(
parser, VolatileStmt)
967 template <
typename T>
bool Pre(
const T &x) {
968 std::string fortran{AsFortran<T>(x)};
969 if (fortran.empty() && (UnionTrait<T> || WrapperTrait<T>)) {
970 Prefix(GetNodeName(x));
973 out_ << GetNodeName(x);
974 if (!fortran.empty()) {
975 out_ <<
" = '" << fortran <<
'\'';
983 template <
typename T>
void Post(
const T &x) {
984 if (AsFortran<T>(x).empty() && (UnionTrait<T> || WrapperTrait<T>)) {
993 bool Pre(
const CharBlock &) {
return true; }
996 template <
typename T>
bool Pre(
const Statement<T> &) {
return true; }
997 template <
typename T>
void Post(
const Statement<T> &) {}
1006 template <
typename A>
bool Pre(
const Scalar<A> &) {
1010 template <
typename A>
void Post(
const Scalar<A> &) { EndLineIfNonempty(); }
1012 template <
typename A>
bool Pre(
const Constant<A> &) {
1016 template <
typename A>
void Post(
const Constant<A> &) { EndLineIfNonempty(); }
1018 template <
typename A>
bool Pre(
const Integer<A> &) {
1022 template <
typename A>
void Post(
const Integer<A> &) { EndLineIfNonempty(); }
1024 template <
typename A>
bool Pre(
const Logical<A> &) {
1028 template <
typename A>
void Post(
const Logical<A> &) { EndLineIfNonempty(); }
1031 Prefix(
"DefaultChar");
1035 EndLineIfNonempty();
1038 template <
typename... A>
bool Pre(
const std::tuple<A...> &) {
return true; }
1039 template <
typename... A>
void Post(
const std::tuple<A...> &) {}
1041 template <
typename... A>
bool Pre(
const std::variant<A...> &) {
return true; }
1042 template <
typename... A>
void Post(
const std::variant<A...> &) {}
1046 template <
typename T> std::string AsFortran(
const T &x) {
1048 llvm::raw_string_ostream ss{buf};
1050 if (asFortran_ && x.typedExpr) {
1051 asFortran_->expr(ss, *x.typedExpr);
1053 }
else if constexpr (std::is_same_v<T, AssignmentStmt> ||
1054 std::is_same_v<T, PointerAssignmentStmt>) {
1055 if (asFortran_ && x.typedAssignment) {
1056 asFortran_->assignment(ss, *x.typedAssignment);
1058 }
else if constexpr (std::is_same_v<T, CallStmt>) {
1059 if (asFortran_ && x.typedCall) {
1060 asFortran_->call(ss, *x.typedCall);
1062 }
else if constexpr (std::is_same_v<T, IntLiteralConstant> ||
1063 std::is_same_v<T, SignedIntLiteralConstant> ||
1064 std::is_same_v<T, UnsignedLiteralConstant>) {
1065 ss << std::get<CharBlock>(x.t);
1066 }
else if constexpr (std::is_same_v<T, RealLiteralConstant::Real>) {
1068 }
else if constexpr (std::is_same_v<T, std::string> ||
1069 std::is_same_v<T, std::int64_t> || std::is_same_v<T, std::uint64_t>) {
1075 if constexpr (std::is_same_v<T, Name>) {
1076 return x.source.ToString();
1077#ifdef SHOW_ALL_SOURCE_MEMBERS
1079 return x.source.ToString();
1081 }
else if constexpr (std::is_same_v<T, int>) {
1082 return std::to_string(x);
1083 }
else if constexpr (std::is_same_v<T, bool>) {
1084 return x ?
"true" :
"false";
1090 void IndentEmptyLine() {
1091 if (emptyline_ && indent_ > 0) {
1092 for (
int i{0}; i < indent_; ++i) {
1099 void Prefix(
const char *str) {
1101 out_ << str <<
" -> ";
1105 void Prefix(
const std::string &str) {
1107 out_ << str <<
" -> ";
1116 void EndLineIfNonempty() {
1124 llvm::raw_ostream &out_;
1126 bool emptyline_{
false};
1129template <
typename T>
1130llvm::raw_ostream &DumpTree(llvm::raw_ostream &out,
const T &x,
Definition indirection.h:31
Definition char-block.h:28
Definition dump-parse-tree.h:33
Definition bit-population-count.h:20
Definition check-expression.h:19
Definition parse-tree.h:1277
Definition parse-tree.h:1284
Definition parse-tree.h:1248
Definition parse-tree.h:1236
Definition parse-tree.h:5702
Definition parse-tree.h:5678
Definition parse-tree.h:5694
Definition parse-tree.h:5686
Definition parse-tree.h:5663
Definition parse-tree.h:5727
Definition parse-tree.h:5657
Definition parse-tree.h:5533
Definition parse-tree.h:5506
Definition parse-tree.h:5634
Definition parse-tree.h:5619
Definition parse-tree.h:5614
Definition parse-tree.h:5522
Definition parse-tree.h:5544
Definition parse-tree.h:5527
Definition parse-tree.h:5539
Definition parse-tree.h:5571
Definition parse-tree.h:5565
Definition parse-tree.h:5669
Definition parse-tree.h:5733
Definition parse-tree.h:5610
Definition parse-tree.h:5601
Definition parse-tree.h:5511
Definition parse-tree.h:5550
Definition parse-tree.h:5555
Definition parse-tree.h:5498
Definition parse-tree.h:5594
Definition parse-tree.h:5590
Definition parse-tree.h:5586
Definition parse-tree.h:5516
Definition parse-tree.h:5582
Definition parse-tree.h:5576
Definition parse-tree.h:5560
Definition parse-tree.h:897
Definition parse-tree.h:1406
Definition parse-tree.h:498
Definition parse-tree.h:3271
Definition parse-tree.h:3260
Definition parse-tree.h:1968
Definition parse-tree.h:1933
Definition parse-tree.h:1912
Definition parse-tree.h:1924
Definition parse-tree.h:1979
Definition parse-tree.h:1941
Definition parse-tree.h:3493
Definition parse-tree.h:1898
Definition parse-tree.h:1332
Definition parse-tree.h:3498
Definition parse-tree.h:3503
Definition parse-tree.h:2005
Definition parse-tree.h:2160
Definition parse-tree.h:2151
Definition parse-tree.h:2144
Definition parse-tree.h:1314
Definition parse-tree.h:1367
Definition parse-tree.h:3443
Definition parse-tree.h:1115
Definition parse-tree.h:1428
Definition parse-tree.h:1435
Definition parse-tree.h:2182
Definition parse-tree.h:3020
Definition parse-tree.h:2015
Definition parse-tree.h:3437
Definition parse-tree.h:5803
Definition parse-tree.h:5797
Definition parse-tree.h:3295
Definition parse-tree.h:3278
Definition parse-tree.h:2423
Definition parse-tree.h:2405
Definition parse-tree.h:2411
Definition parse-tree.h:2392
Definition parse-tree.h:2213
Definition parse-tree.h:2198
Definition parse-tree.h:672
Definition parse-tree.h:1830
Definition parse-tree.h:856
Definition parse-tree.h:688
Definition parse-tree.h:2682
Definition parse-tree.h:2190
Definition parse-tree.h:972
Definition parse-tree.h:1441
Definition parse-tree.h:1892
Definition parse-tree.h:1608
Definition parse-tree.h:1616
Definition parse-tree.h:3396
Definition parse-tree.h:3382
Definition parse-tree.h:842
Definition parse-tree.h:834
Definition parse-tree.h:983
Definition parse-tree.h:996
Definition parse-tree.h:1027
Definition parse-tree.h:1104
Definition parse-tree.h:1049
Definition parse-tree.h:1199
Definition parse-tree.h:2510
Definition parse-tree.h:2238
Definition parse-tree.h:3252
Definition parse-tree.h:3239
Definition parse-tree.h:1687
Definition parse-tree.h:2660
Definition parse-tree.h:2658
Definition parse-tree.h:305
Definition parse-tree.h:2229
Definition parse-tree.h:2220
Definition parse-tree.h:1057
Definition parse-tree.h:1498
Definition parse-tree.h:1510
Definition parse-tree.h:1808
Definition parse-tree.h:1469
Definition parse-tree.h:1518
Definition parse-tree.h:1484
Definition parse-tree.h:1524
Definition parse-tree.h:1490
Definition parse-tree.h:1999
Definition parse-tree.h:439
Definition parse-tree.h:766
Definition parse-tree.h:329
Definition parse-tree.h:614
Definition parse-tree.h:1184
Definition parse-tree.h:748
Definition parse-tree.h:914
Definition parse-tree.h:1847
Definition parse-tree.h:1535
Definition parse-tree.h:2325
Definition parse-tree.h:3151
Definition parse-tree.h:2345
Definition parse-tree.h:2207
Definition parse-tree.h:1382
Definition parse-tree.h:3349
Definition parse-tree.h:1228
Definition parse-tree.h:1214
Definition parse-tree.h:2564
Definition parse-tree.h:2570
Definition parse-tree.h:2578
Definition parse-tree.h:531
Definition parse-tree.h:556
Definition parse-tree.h:966
Definition parse-tree.h:953
Definition parse-tree.h:1695
Definition parse-tree.h:1043
Definition parse-tree.h:2101
Definition parse-tree.h:2117
Definition parse-tree.h:2095
Definition parse-tree.h:2130
Definition parse-tree.h:2107
Definition parse-tree.h:3283
Definition parse-tree.h:3140
Definition parse-tree.h:3315
Definition parse-tree.h:3033
Definition parse-tree.h:3048
Definition parse-tree.h:863
Definition parse-tree.h:2359
Definition parse-tree.h:2375
Definition parse-tree.h:2338
Definition parse-tree.h:1668
Definition parse-tree.h:1678
Definition parse-tree.h:421
Definition parse-tree.h:1592
Definition parse-tree.h:1601
Definition parse-tree.h:627
Definition parse-tree.h:1014
Definition parse-tree.h:2881
Definition parse-tree.h:2890
Definition parse-tree.h:2895
Definition parse-tree.h:2879
Definition parse-tree.h:2908
Definition parse-tree.h:792
Definition parse-tree.h:313
Definition parse-tree.h:1340
Definition parse-tree.h:1544
Definition parse-tree.h:3207
Definition parse-tree.h:3172
Definition parse-tree.h:3197
Definition parse-tree.h:3054
Definition parse-tree.h:477
Definition parse-tree.h:465
Definition parse-tree.h:706
Definition parse-tree.h:2720
Definition parse-tree.h:2718
Definition parse-tree.h:2629
Definition parse-tree.h:779
Definition parse-tree.h:660
Definition parse-tree.h:2302
Definition parse-tree.h:1293
Definition parse-tree.h:678
Definition parse-tree.h:1586
Definition parse-tree.h:888
Definition parse-tree.h:2270
Definition parse-tree.h:2604
Definition parse-tree.h:870
Definition parse-tree.h:321
Definition parse-tree.h:2290
Definition parse-tree.h:2929
Definition parse-tree.h:3459
Definition parse-tree.h:2062
Definition parse-tree.h:2953
Definition parse-tree.h:2943
Definition parse-tree.h:2964
Definition parse-tree.h:589
Definition parse-tree.h:1299
Definition parse-tree.h:640
Definition parse-tree.h:2308
Definition parse-tree.h:2532
Definition parse-tree.h:1415
Definition parse-tree.h:4324
Definition parse-tree.h:4330
Definition parse-tree.h:4328
Definition parse-tree.h:4343
Definition parse-tree.h:4350
Definition parse-tree.h:4358
Definition parse-tree.h:4373
Definition parse-tree.h:5321
Definition parse-tree.h:4380
Definition parse-tree.h:4389
Definition parse-tree.h:4401
Definition parse-tree.h:5109
Definition parse-tree.h:5185
Definition parse-tree.h:4412
Definition parse-tree.h:5119
Definition parse-tree.h:4418
Definition parse-tree.h:5078
Definition parse-tree.h:5062
Definition parse-tree.h:4427
Definition parse-tree.h:3628
Definition parse-tree.h:4435
Definition parse-tree.h:5248
Definition parse-tree.h:5257
Definition parse-tree.h:5265
Definition parse-tree.h:5240
Definition parse-tree.h:5228
Definition parse-tree.h:4452
Definition parse-tree.h:4470
Definition parse-tree.h:4529
Definition parse-tree.h:4527
Definition parse-tree.h:4551
Definition parse-tree.h:4559
Definition parse-tree.h:4569
Definition parse-tree.h:4579
Definition parse-tree.h:4587
Definition parse-tree.h:3529
Definition parse-tree.h:5085
Definition parse-tree.h:4542
Definition parse-tree.h:4509
Definition parse-tree.h:4602
Definition parse-tree.h:4597
Definition parse-tree.h:5114
Definition parse-tree.h:5190
Definition parse-tree.h:4613
Definition parse-tree.h:5152
Definition parse-tree.h:4621
Definition parse-tree.h:4634
Definition parse-tree.h:4645
Definition parse-tree.h:4655
Definition parse-tree.h:4663
Definition parse-tree.h:5274
Definition parse-tree.h:4668
Definition parse-tree.h:4676
Definition parse-tree.h:4692
Definition parse-tree.h:4715
Definition parse-tree.h:4681
Definition parse-tree.h:4705
Definition parse-tree.h:4722
Definition parse-tree.h:3640
Definition parse-tree.h:4482
Definition parse-tree.h:4500
Definition parse-tree.h:4491
Definition parse-tree.h:4731
Definition parse-tree.h:4746
Definition parse-tree.h:4757
Definition parse-tree.h:4782
Definition parse-tree.h:4794
Definition parse-tree.h:4803
Definition parse-tree.h:5146
Definition parse-tree.h:4827
Definition parse-tree.h:4839
Definition parse-tree.h:4851
Definition parse-tree.h:3574
Definition parse-tree.h:3565
Definition parse-tree.h:3562
Definition parse-tree.h:4862
Definition parse-tree.h:4875
Definition parse-tree.h:4887
Definition parse-tree.h:4898
Definition parse-tree.h:3618
Definition parse-tree.h:4908
Definition parse-tree.h:5281
Definition parse-tree.h:4917
Definition parse-tree.h:4929
Definition parse-tree.h:4940
Definition parse-tree.h:4947
Definition parse-tree.h:3578
Definition parse-tree.h:3600
Definition parse-tree.h:3587
Definition parse-tree.h:4956
Definition parse-tree.h:4967
Definition parse-tree.h:5287
Definition parse-tree.h:4976
Definition parse-tree.h:4991
Definition parse-tree.h:5001
Definition parse-tree.h:3554
Definition parse-tree.h:3547
Definition parse-tree.h:5010
Definition parse-tree.h:5019
Definition parse-tree.h:5035
Definition parse-tree.h:5057
Definition parse-tree.h:5156
Definition parse-tree.h:5046
Definition parse-tree.h:3064
Definition parse-tree.h:5709
Definition parse-tree.h:5716
Definition parse-tree.h:5645
Definition parse-tree.h:5738
Definition parse-tree.h:5777
Definition parse-tree.h:5748
Definition parse-tree.h:5766
Definition parse-tree.h:5757
Definition parse-tree.h:5639
Definition parse-tree.h:5771
Definition parse-tree.h:5721
Definition parse-tree.h:5651
Definition parse-tree.h:5347
Definition parse-tree.h:5179
Definition parse-tree.h:5352
Definition parse-tree.h:5389
Definition parse-tree.h:5382
Definition parse-tree.h:5473
Definition parse-tree.h:5337
Definition parse-tree.h:5167
Definition parse-tree.h:5325
Definition parse-tree.h:5400
Definition parse-tree.h:5414
Definition parse-tree.h:5430
Definition parse-tree.h:5438
Definition parse-tree.h:5491
Definition parse-tree.h:5459
Definition parse-tree.h:5485
Definition parse-tree.h:5199
Definition parse-tree.h:5205
Definition parse-tree.h:5443
Definition parse-tree.h:5449
Definition parse-tree.h:378
Definition parse-tree.h:2798
Definition parse-tree.h:2761
Definition parse-tree.h:2989
Definition parse-tree.h:2027
Definition parse-tree.h:1554
Definition parse-tree.h:1988
Definition parse-tree.h:2824
Definition parse-tree.h:3109
Definition parse-tree.h:2782
Definition parse-tree.h:927
Definition parse-tree.h:3087
Definition parse-tree.h:1068
Definition parse-tree.h:1096
Definition parse-tree.h:1887
Definition parse-tree.h:1088
Definition parse-tree.h:1082
Definition parse-tree.h:1075
Definition parse-tree.h:3097
Definition parse-tree.h:3222
Definition parse-tree.h:3190
Definition parse-tree.h:573
Definition parse-tree.h:2745
Definition parse-tree.h:811
Definition parse-tree.h:2259
Definition parse-tree.h:2975
Definition parse-tree.h:1567
Definition parse-tree.h:297
Definition parse-tree.h:1653
Definition parse-tree.h:2382
Definition parse-tree.h:2446
Definition parse-tree.h:2458
Definition parse-tree.h:2437
Definition parse-tree.h:2492
Definition parse-tree.h:2472
Definition parse-tree.h:2138
Definition parse-tree.h:3341
Definition parse-tree.h:848
Definition parse-tree.h:785
Definition parse-tree.h:823
Definition parse-tree.h:400
Definition parse-tree.h:453
Definition parse-tree.h:1957
Definition parse-tree.h:361
Definition parse-tree.h:3359
Definition parse-tree.h:2524
Definition parse-tree.h:1877
Definition parse-tree.h:1205
Definition parse-tree.h:3480
Definition parse-tree.h:3452
Definition parse-tree.h:3475
Definition parse-tree.h:2995
Definition parse-tree.h:3006
Definition parse-tree.h:3159
Definition parse-tree.h:3325
Definition parse-tree.h:1644
Definition parse-tree.h:1839
Definition parse-tree.h:1635
Definition parse-tree.h:1825
Definition parse-tree.h:3129
Definition parse-tree.h:2542
Definition parse-tree.h:2555
Definition parse-tree.h:905
Definition parse-tree.h:1148
Definition parse-tree.h:1161
Definition parse-tree.h:1123
Definition parse-tree.h:1170
Definition parse-tree.h:1133
Definition parse-tree.h:1396
Definition parse-tree.h:2481
Definition parse-tree.h:933
Definition parse-tree.h:941
Definition parse-tree.h:742
Definition parse-tree.h:651
Definition parse-tree.h:755
Definition parse-tree.h:3468
Definition parse-tree.h:356
Definition parse-tree.h:2614
Definition parse-tree.h:798
Definition parse-tree.h:3073
Definition parse-tree.h:1855
Definition parse-tree.h:728
Definition parse-tree.h:733
Definition parse-tree.h:284
Definition parse-tree.h:2808
Definition parse-tree.h:2053
Definition parse-tree.h:2046
Definition parse-tree.h:2077
Definition parse-tree.h:2040
Definition parse-tree.h:2767
Definition parse-tree.h:3702
Definition parse-tree.h:3693
Definition parse-tree.h:3663
Definition parse-tree.h:3652
Definition parse-tree.h:3647
Definition parse-tree.h:3673
Definition parse-tree.h:3686
Definition parse-tree.h:3857
Definition parse-tree.h:3874
Definition parse-tree.h:3866
Definition parse-tree.h:3890
Definition parse-tree.h:3882
Definition parse-tree.h:3902
Definition parse-tree.h:3914
Definition parse-tree.h:3924
Definition parse-tree.h:3935
Definition parse-tree.h:3948
Definition parse-tree.h:3960
Definition parse-tree.h:3981
Definition parse-tree.h:3992
Definition parse-tree.h:4002
Definition parse-tree.h:4011
Definition parse-tree.h:4043
Definition parse-tree.h:4054
Definition parse-tree.h:4065
Definition parse-tree.h:4077
Definition parse-tree.h:4087
Definition parse-tree.h:4095
Definition parse-tree.h:4104
Definition parse-tree.h:4113
Definition parse-tree.h:4147
Definition parse-tree.h:4134
Definition parse-tree.h:4121
Definition parse-tree.h:4171
Definition parse-tree.h:4162
Definition parse-tree.h:4205
Definition parse-tree.h:4181
Definition parse-tree.h:4194
Definition parse-tree.h:4214
Definition parse-tree.h:4227
Definition parse-tree.h:4236
Definition parse-tree.h:4246
Definition parse-tree.h:4256
Definition parse-tree.h:4265
Definition parse-tree.h:4273
Definition parse-tree.h:4283
Definition parse-tree.h:4294
Definition parse-tree.h:4307
Definition parse-tree.h:3833
Definition parse-tree.h:3740
Definition parse-tree.h:3723
Definition parse-tree.h:3764
Definition parse-tree.h:3730
Definition parse-tree.h:3791
Definition parse-tree.h:3803
Definition parse-tree.h:3816
Definition parse-tree.h:3825