-
Notifications
You must be signed in to change notification settings - Fork 8
/
tree.dot
187 lines (186 loc) · 15.5 KB
/
tree.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
digraph g {
nodesep = .5;
rankdir = LR; //指定绘图的方向 (LR从左到右绘制)
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_167_168[label="{<Ident> Ident |<count> 1 |<POS_167_168> POS_167_168 |<_ast_Ident> _ast_Ident |<b> b }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_97_99[label="{<FieldList> FieldList |<count> 1 |<POS_97_99> POS_97_99 |<_ast_FieldList> _ast_FieldList }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_110_114[label="{<AssignStmt> AssignStmt |<count> 1 |<POS_110_114> POS_110_114 |<_ast_AssignStmt> _ast_AssignStmt }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_128_129[label="{<Ident> Ident |<count> 1 |<POS_128_129> POS_128_129 |<_ast_Ident> _ast_Ident |<a> a }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_155_156[label="{<Ident> Ident |<count> 1 |<POS_155_156> POS_155_156 |<_ast_Ident> _ast_Ident |<b> b }"];
node[shape=record, width=.1, height=.1,color=green,style=dashed];
POS_158_169[label="{<CallExpr> CallExpr |<count> 1 |<POS_158_169> POS_158_169 |<_ast_CallExpr> _ast_CallExpr }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_132_135[label="{<Ident> Ident |<count> 1 |<POS_132_135> POS_132_135 |<_ast_Ident> _ast_Ident |<add> add }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_212_213[label="{<Ident> Ident |<count> 1 |<POS_212_213> POS_212_213 |<_ast_Ident> _ast_Ident |<j> j }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_104_108[label="{<AssignStmt> AssignStmt |<count> 1 |<POS_104_108> POS_104_108 |<_ast_AssignStmt> _ast_AssignStmt }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_120_127[label="{<Ident> Ident |<count> 1 |<POS_120_127> POS_120_127 |<_ast_Ident> _ast_Ident |<Println> Println }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_180_186[label="{<Ident> Ident |<count> 1 |<POS_180_186> POS_180_186 |<_ast_Ident> _ast_Ident |<devide> devide }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_187_188[label="{<Ident> Ident |<count> 1 |<POS_187_188> POS_187_188 |<_ast_Ident> _ast_Ident |<i> i }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_130_131[label="{<Ident> Ident |<count> 1 |<POS_130_131> POS_130_131 |<_ast_Ident> _ast_Ident |<b> b }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_88_99[label="{<FuncType> FuncType |<count> 1 |<POS_88_99> POS_88_99 |<_ast_FuncType> _ast_FuncType }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_104_105[label="{<Ident> Ident |<count> 1 |<POS_104_105> POS_104_105 |<_ast_Ident> _ast_Ident |<a> a }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_110_111[label="{<Ident> Ident |<count> 1 |<POS_110_111> POS_110_111 |<_ast_Ident> _ast_Ident |<b> b }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_195_198[label="{<Field> Field |<count> 3 |<POS_195_198> POS_195_198 |<_ast_Field> _ast_Field }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_203_213[label="{<ReturnStmt> ReturnStmt |<count> 1 |<POS_203_213> POS_203_213 |<_ast_ReturnStmt> _ast_ReturnStmt }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_116_119[label="{<Ident> Ident |<count> 1 |<POS_116_119> POS_116_119 |<_ast_Ident> _ast_Ident |<fmt> fmt }"];
node[shape=record, width=.1, height=.1,color=green,style=dashed];
POS_132_140[label="{<CallExpr> CallExpr |<count> 1 |<POS_132_140> POS_132_140 |<_ast_CallExpr> _ast_CallExpr }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_136_137[label="{<Ident> Ident |<count> 1 |<POS_136_137> POS_136_137 |<_ast_Ident> _ast_Ident |<a> a }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_200_215[label="{<BlockStmt> BlockStmt |<count> 1 |<POS_200_215> POS_200_215 |<_ast_BlockStmt> _ast_BlockStmt }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_141_152[label="{<SelectorExpr> SelectorExpr |<count> 1 |<POS_141_152> POS_141_152 |<_ast_SelectorExpr> _ast_SelectorExpr }"];
node[shape=record, width=.1, height=.1,color=blue,style=filled];
POS_1_215[label="{<File> File |<count> 1 |<POS_1_215> POS_1_215 |<_ast_File> _ast_File }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_116_170[label="{<ExprStmt> ExprStmt |<count> 2 |<POS_116_170> POS_116_170 |<_ast_ExprStmt> _ast_ExprStmt }"];
node[shape=record, width=.1, height=.1,color=green,style=dashed];
POS_141_157[label="{<CallExpr> CallExpr |<count> 1 |<POS_141_157> POS_141_157 |<_ast_CallExpr> _ast_CallExpr }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=red];
POS_9_13[label="{<Ident> Ident |<count> 1 |<POS_9_13> POS_9_13 |<_ast_Ident> _ast_Ident |<main> main }"];
node[shape=record, width=.1, height=.1,color=yellow,style=dashed];
POS_32_84[label="{<BasicLit> BasicLit |<count> 2 |<POS_32_84> POS_32_84 |<_ast_BasicLit> _ast_BasicLit |<_github_com_xiazemin_golang_ast_ast_graph_exp_multi_> _github_com_xiazemin_golang_ast_ast_graph_exp_multi_ }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_210_211[label="{<Ident> Ident |<count> 1 |<POS_210_211> POS_210_211 |<_ast_Ident> _ast_Ident |<i> i }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_187_194[label="{<Field> Field |<count> 1 |<POS_187_194> POS_187_194 |<_ast_Field> _ast_Field }"];
node[shape=record, width=.1, height=.1,color=red,style=filled,fontcolor=black];
POS_25_30[label="{<ImportSpec> ImportSpec |<count> 2 |<POS_25_30> POS_25_30 |<_ast_ImportSpec> _ast_ImportSpec |<nil> nil |<_fmt_> _fmt_ }"];
node[shape=record, width=.1, height=.1,color=red,style=filled,fontcolor=black];
POS_32_84[label="{<ImportSpec> ImportSpec |<count> 2 |<POS_32_84> POS_32_84 |<_ast_ImportSpec> _ast_ImportSpec |<nil> nil |<_github_com_xiazemin_golang_ast_ast_graph_exp_multi_> _github_com_xiazemin_golang_ast_ast_graph_exp_multi_ }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=red];
POS_93_97[label="{<Ident> Ident |<count> 1 |<POS_93_97> POS_93_97 |<_ast_Ident> _ast_Ident |<main> main }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_153_154[label="{<Ident> Ident |<count> 1 |<POS_153_154> POS_153_154 |<_ast_Ident> _ast_Ident |<a> a }"];
node[shape=record, width=.1, height=.1,color=yellow,style=dashed];
POS_25_30[label="{<BasicLit> BasicLit |<count> 2 |<POS_25_30> POS_25_30 |<_ast_BasicLit> _ast_BasicLit |<_fmt_> _fmt_ }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_147_152[label="{<Ident> Ident |<count> 1 |<POS_147_152> POS_147_152 |<_ast_Ident> _ast_Ident |<Multi> Multi }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_210_213[label="{<BinaryExpr> BinaryExpr |<count> 1 |<POS_210_213> POS_210_213 |<_ast_BinaryExpr> _ast_BinaryExpr }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_195_198[label="{<FieldList> FieldList |<count> 3 |<POS_195_198> POS_195_198 |<_ast_FieldList> _ast_FieldList }"];
node[shape=record, width=.1, height=.1,color=yellow,style=dashed];
POS_113_114[label="{<BasicLit> BasicLit |<count> 1 |<POS_113_114> POS_113_114 |<_ast_BasicLit> _ast_BasicLit |<2> 2 }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_128_131[label="{<BinaryExpr> BinaryExpr |<count> 1 |<POS_128_131> POS_128_131 |<_ast_BinaryExpr> _ast_BinaryExpr }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_138_139[label="{<Ident> Ident |<count> 1 |<POS_138_139> POS_138_139 |<_ast_Ident> _ast_Ident |<b> b }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_175_198[label="{<FuncType> FuncType |<count> 1 |<POS_175_198> POS_175_198 |<_ast_FuncType> _ast_FuncType }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_158_164[label="{<Ident> Ident |<count> 1 |<POS_158_164> POS_158_164 |<_ast_Ident> _ast_Ident |<devide> devide }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_165_166[label="{<Ident> Ident |<count> 1 |<POS_165_166> POS_165_166 |<_ast_Ident> _ast_Ident |<a> a }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_186_195[label="{<FieldList> FieldList |<count> 1 |<POS_186_195> POS_186_195 |<_ast_FieldList> _ast_FieldList }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_191_194[label="{<Ident> Ident |<count> 1 |<POS_191_194> POS_191_194 |<_ast_Ident> _ast_Ident |<int> int }"];
node[shape=record, width=.1, height=.1,color=green,style=filled,fontcolor=red];
POS_88_173[label="{<FuncDecl> FuncDecl |<count> 1 |<POS_88_173> POS_88_173 |<_ast_FuncDecl> _ast_FuncDecl |<main> main }"];
node[shape=record, width=.1, height=.1,color=yellow,style=dashed];
POS_107_108[label="{<BasicLit> BasicLit |<count> 1 |<POS_107_108> POS_107_108 |<_ast_BasicLit> _ast_BasicLit |<1> 1 }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_116_127[label="{<SelectorExpr> SelectorExpr |<count> 1 |<POS_116_127> POS_116_127 |<_ast_SelectorExpr> _ast_SelectorExpr }"];
node[shape=record, width=.1, height=.1,color=green,style=filled];
POS_175_215[label="{<FuncDecl> FuncDecl |<count> 1 |<POS_175_215> POS_175_215 |<_ast_FuncDecl> _ast_FuncDecl |<devide> devide }"];
node[shape=record, width=.1, height=.1,color=pink,style=dashed];
POS_15_86[label="{<GenDecl> GenDecl |<count> 1 |<POS_15_86> POS_15_86 |<_ast_GenDecl> _ast_GenDecl |<import> import }"];
node[shape=record, width=.1, height=.1,color=green,style=dashed];
POS_116_170[label="{<CallExpr> CallExpr |<count> 2 |<POS_116_170> POS_116_170 |<_ast_CallExpr> _ast_CallExpr }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_189_190[label="{<Ident> Ident |<count> 1 |<POS_189_190> POS_189_190 |<_ast_Ident> _ast_Ident |<j> j }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_141_146[label="{<Ident> Ident |<count> 1 |<POS_141_146> POS_141_146 |<_ast_Ident> _ast_Ident |<multi> multi }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_195_198[label="{<Ident> Ident |<count> 3 |<POS_195_198> POS_195_198 |<_ast_Ident> _ast_Ident |<int> int }"];
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
POS_101_173[label="{<BlockStmt> BlockStmt |<count> 1 |<POS_101_173> POS_101_173 |<_ast_BlockStmt> _ast_BlockStmt }"];
POS_104_108:_ast_AssignStmt -> POS_104_105: POS_104_105 [label= 1 ];
POS_203_213:_ast_ReturnStmt -> POS_210_213: POS_210_213 [label= 1 ];
POS_116_170:_ast_CallExpr -> POS_158_169: POS_158_169 [label= 1 ];
POS_101_173:_ast_BlockStmt -> POS_116_170: POS_116_170 [label= 1 ];
POS_1_215:_ast_File -> POS_9_13: POS_9_13 [label= 1 ];
POS_32_84:_ast_ImportSpec -> POS_32_84: POS_32_84 [label= 1 ];
POS_101_173:_ast_BlockStmt -> POS_110_114: POS_110_114 [label= 1 ];
POS_141_157:_ast_CallExpr -> POS_141_152: POS_141_152 [label= 1 ];
POS_210_213:_ast_BinaryExpr -> POS_212_213: POS_212_213 [label= 1 ];
POS_175_215:_ast_FuncDecl -> POS_175_198: POS_175_198 [label= 1 ];
POS_88_173:_ast_FuncDecl -> POS_93_97: POS_93_97 [label= 1 ];
POS_88_99:_ast_FuncType -> POS_97_99: POS_97_99 [label= 1 ];
POS_200_215:_ast_BlockStmt -> POS_203_213: POS_203_213 [label= 1 ];
POS_88_173:_ast_FuncDecl -> POS_88_99: POS_88_99 [label= 1 ];
POS_110_114:_ast_AssignStmt -> POS_113_114: POS_113_114 [label= 1 ];
POS_141_157:_ast_CallExpr -> POS_153_154: POS_153_154 [label= 1 ];
POS_187_194:_ast_Field -> POS_189_190: POS_189_190 [label= 1 ];
POS_116_170:_ast_CallExpr -> POS_141_157: POS_141_157 [label= 1 ];
POS_110_114:_ast_AssignStmt -> POS_110_111: POS_110_111 [label= 1 ];
POS_132_140:_ast_CallExpr -> POS_136_137: POS_136_137 [label= 1 ];
POS_187_194:_ast_Field -> POS_191_194: POS_191_194 [label= 1 ];
POS_175_215:_ast_FuncDecl -> POS_200_215: POS_200_215 [label= 1 ];
POS_101_173:_ast_BlockStmt -> POS_104_108: POS_104_108 [label= 1 ];
POS_116_127:_ast_SelectorExpr -> POS_120_127: POS_120_127 [label= 1 ];
POS_132_140:_ast_CallExpr -> POS_138_139: POS_138_139 [label= 1 ];
POS_88_173:_ast_FuncDecl -> POS_101_173: POS_101_173 [label= 1 ];
POS_25_30:_ast_ImportSpec -> POS_25_30: POS_25_30 [label= 1 ];
POS_116_170:_ast_CallExpr -> POS_128_131: POS_128_131 [label= 1 ];
POS_141_152:_ast_SelectorExpr -> POS_141_146: POS_141_146 [label= 1 ];
POS_158_169:_ast_CallExpr -> POS_165_166: POS_165_166 [label= 1 ];
POS_116_170:_ast_CallExpr -> POS_116_127: POS_116_127 [label= 1 ];
POS_128_131:_ast_BinaryExpr -> POS_130_131: POS_130_131 [label= 1 ];
POS_195_198:_ast_FieldList -> POS_195_198: POS_195_198 [label= 2 ];
POS_1_215:_ast_File -> POS_175_215: POS_175_215 [label= 1 ];
POS_116_170:_ast_ExprStmt -> POS_116_170: POS_116_170 [label= 1 ];
POS_175_198:_ast_FuncType -> POS_195_198: POS_195_198 [label= 1 ];
POS_210_213:_ast_BinaryExpr -> POS_210_211: POS_210_211 [label= 1 ];
POS_15_86:_ast_GenDecl -> POS_25_30: POS_25_30 [label= 1 ];
POS_158_169:_ast_CallExpr -> POS_158_164: POS_158_164 [label= 1 ];
POS_187_194:_ast_Field -> POS_187_188: POS_187_188 [label= 1 ];
POS_15_86:_ast_GenDecl -> POS_32_84: POS_32_84 [label= 1 ];
POS_104_108:_ast_AssignStmt -> POS_107_108: POS_107_108 [label= 1 ];
POS_128_131:_ast_BinaryExpr -> POS_128_129: POS_128_129 [label= 1 ];
POS_132_140:_ast_CallExpr -> POS_132_135: POS_132_135 [label= 1 ];
POS_175_215:_ast_FuncDecl -> POS_180_186: POS_180_186 [label= 1 ];
POS_195_198:_ast_Field -> POS_195_198: POS_195_198 [label= 2 ];
POS_116_127:_ast_SelectorExpr -> POS_116_119: POS_116_119 [label= 1 ];
POS_116_170:_ast_CallExpr -> POS_132_140: POS_132_140 [label= 1 ];
POS_158_169:_ast_CallExpr -> POS_167_168: POS_167_168 [label= 1 ];
POS_1_215:_ast_File -> POS_88_173: POS_88_173 [label= 1 ];
POS_1_215:_ast_File -> POS_15_86: POS_15_86 [label= 1 ];
POS_141_157:_ast_CallExpr -> POS_155_156: POS_155_156 [label= 1 ];
POS_186_195:_ast_FieldList -> POS_187_194: POS_187_194 [label= 1 ];
POS_141_152:_ast_SelectorExpr -> POS_147_152: POS_147_152 [label= 1 ];
POS_175_198:_ast_FuncType -> POS_186_195: POS_186_195 [label= 1 ];
subgraph clustera {
style=invis;
rank=same;
rankdir=LR;
node[shape=record, width=.1, height=.1,color=black,style=solid,fontcolor=black];
default[label="{<default>default}",color=black,style=solid,fontcolor=black ];
main[label="{<main>mian}", color=green,style=filled,fontcolor=red ];
FuncDecl[label="{<FuncDecl>FuncDecl}", color=green,style=filled ];
File[label="{<File>File}", color=blue,style=filled ];
ImportSpec[label="{<ImportSpec>ImportSpec}", color=red,style=filled,fontcolor=black ];
CallExpr[label="{<CallExpr>CallExpr}", color=green,style=dashed ];
Package[label="{<Package>Package}", color=red,style=dashed ];
GenDecl[label="{<GenDecl>GenDecl}", color=pink,style=dashed];
default -> main -> FuncDecl -> File -> GenDecl -> ImportSpec -> CallExpr -> Package;
}
}