aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/parsing.dep.ps
blob: 9a6de42734e409587aecf4e752b93e84c089fd35 (plain)
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
%!PS-Adobe-2.0
%%Creator: dot version gviz 1.7.3b (Mon Feb 26 14:10:22 EST 2001)
%%For: (clrenard) Clement Renard
%%Title: G
%%Pages: (atend)
%%BoundingBox: 36 36 576 232
%%EndComments
%%BeginProlog
save
/DotDict 200 dict def
DotDict begin

%%BeginResource: procset
/coord-font-family /Times-Roman def
/default-font-family /Times-Roman def
/coordfont coord-font-family findfont 8 scalefont def

/InvScaleFactor 1.0 def
/set_scale {
	dup 1 exch div /InvScaleFactor exch def
	dup scale
} bind def

% styles
/solid { } bind def
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
/bold { 2 setlinewidth } bind def
/filled { } bind def
/unfilled { } bind def
/rounded { } bind def
/diagonals { } bind def

% hooks for setting color 
/nodecolor { sethsbcolor } bind def
/edgecolor { sethsbcolor } bind def
/graphcolor { sethsbcolor } bind def
/nopcolor {pop pop pop} bind def

/beginpage {	% i j npages
	/npages exch def
	/j exch def
	/i exch def
	/str 10 string def
	npages 1 gt {
		gsave
			coordfont setfont
			0 0 moveto
			(\() show i str cvs show (,) show j str cvs show (\)) show
		grestore
	} if
} bind def

/set_font {
	findfont exch
	scalefont setfont
} def

% draw aligned label in bounding box aligned to current point
% alignfactor tells what fraction to place on the left.
% -.5 is centered.
/alignedtext {			% text labelwidth fontsz alignfactor
	/alignfactor exch def
	/fontsz exch def
	/width exch def
	/text exch def
	gsave
		% even if node or edge is dashed, don't paint text with dashes
		[] 0 setdash
		currentpoint newpath moveto
		text stringwidth pop
		alignfactor mul fontsz -.3 mul rmoveto
		text show
	grestore
} def

/boxprim {				% xcorner ycorner xsize ysize
		4 2 roll
		moveto
		2 copy
		exch 0 rlineto
		0 exch rlineto
		pop neg 0 rlineto
		closepath
} bind def

/ellipse_path {
	/ry exch def
	/rx exch def
	/y exch def
	/x exch def
	matrix currentmatrix
	newpath
	x y translate
	rx ry scale
	0 0 1 0 360 arc
	setmatrix
} bind def

/endpage { showpage } bind def

/layercolorseq
	[	% layer color sequence - darkest to lightest
		[0 0 0]
		[.2 .8 .8]
		[.4 .8 .8]
		[.6 .8 .8]
		[.8 .8 .8]
	]
def

/setlayer {/maxlayer exch def /curlayer exch def
	layercolorseq curlayer get
	aload pop sethsbcolor
	/nodecolor {nopcolor} def
	/edgecolor {nopcolor} def
	/graphcolor {nopcolor} def
} bind def

/onlayer { curlayer ne {invis} if } def

/onlayers {
	/myupper exch def
	/mylower exch def
	curlayer mylower lt
	curlayer myupper gt
	or
	{invis} if
} def

/curlayer 0 def

%%EndProlog
%%BeginSetup
14 default-font-family set_font
1 setmiterlimit
% /arrowlength 10 def
% /arrowwidth 5 def

% make sure pdfmark is harmless for PS-interpreters other than Distiller
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
% make '<<' and '>>' safe on PS Level 1 devices
/languagelevel where {pop languagelevel}{1} ifelse
2 lt {
    userdict (<<) cvn ([) cvn load put
    userdict (>>) cvn ([) cvn load put
} if

%%EndResource
%%EndSetup
%%Page: 1 1
%%PageBoundingBox: 36 36 576 232
%%PageOrientation: Portrait
gsave
35 35 541 197 boxprim clip newpath
36 36 translate
0 0 1 beginpage
0.7584 set_scale
0 0 translate 0 rotate
[ /CropBox [36 36 576 232] /PAGES pdfmark
0.000 0.000 0.000 graphcolor
14.00 /Times-Roman set_font

%	Pcoq
gsave 10 dict begin
581 103 27 18 ellipse_path
stroke
gsave 10 dict begin
581 104 moveto (Pcoq) 28 14.00 -0.50 alignedtext
end grestore
end grestore

%	Coqast
gsave 10 dict begin
674 103 30 18 ellipse_path
stroke
gsave 10 dict begin
674 104 moveto (Coqast) 38 14.00 -0.50 alignedtext
end grestore
end grestore

%	Pcoq -> Coqast
newpath 608 103 moveto
616 103 625 103 634 103 curveto
stroke
newpath 634 101 moveto
644 103 lineto
634 106 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Extend
gsave 10 dict begin
398 52 30 18 ellipse_path
stroke
gsave 10 dict begin
398 53 moveto (Extend) 39 14.00 -0.50 alignedtext
end grestore
end grestore

%	Ast
gsave 10 dict begin
491 103 27 18 ellipse_path
stroke
gsave 10 dict begin
491 104 moveto (Ast) 19 14.00 -0.50 alignedtext
end grestore
end grestore

%	Extend -> Ast
newpath 421 64 moveto
433 71 448 79 462 86 curveto
stroke
newpath 463 84 moveto
470 91 lineto
460 88 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Ast -> Pcoq
newpath 518 103 moveto
526 103 535 103 544 103 curveto
stroke
newpath 544 101 moveto
554 103 lineto
544 106 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Termast
gsave 10 dict begin
292 156 33 18 ellipse_path
stroke
gsave 10 dict begin
292 157 moveto (Termast) 45 14.00 -0.50 alignedtext
end grestore
end grestore

%	Termast -> Ast
newpath 325 152 moveto
355 149 401 143 428 136 curveto
438 133 451 127 462 120 curveto
stroke
newpath 461 118 moveto
471 115 lineto
463 122 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Search
gsave 10 dict begin
48 198 29 18 ellipse_path
stroke
gsave 10 dict begin
48 199 moveto (Search) 37 14.00 -0.50 alignedtext
end grestore
end grestore

%	Astterm
gsave 10 dict begin
170 94 33 18 ellipse_path
stroke
gsave 10 dict begin
170 95 moveto (Astterm) 45 14.00 -0.50 alignedtext
end grestore
end grestore

%	Search -> Astterm
newpath 71 186 moveto
78 183 84 178 88 174 curveto
104 157 109 133 124 118 curveto
127 115 132 112 137 109 curveto
stroke
newpath 134 108 moveto
144 106 lineto
136 112 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Coqlib
gsave 10 dict begin
292 229 29 18 ellipse_path
stroke
gsave 10 dict begin
292 230 moveto (Coqlib) 38 14.00 -0.50 alignedtext
end grestore
end grestore

%	Search -> Coqlib
newpath 70 210 moveto
87 218 109 229 124 232 curveto
159 239 217 235 255 233 curveto
stroke
newpath 253 231 moveto
263 232 lineto
253 236 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Printer
gsave 10 dict begin
170 148 29 18 ellipse_path
stroke
gsave 10 dict begin
170 149 moveto (Printer) 38 14.00 -0.50 alignedtext
end grestore
end grestore

%	Search -> Printer
newpath 73 188 moveto
91 180 116 170 137 162 curveto
stroke
newpath 135 160 moveto
145 158 lineto
137 165 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Astterm -> Termast
newpath 194 106 moveto
213 116 239 129 260 139 curveto
stroke
newpath 260 136 moveto
268 143 lineto
258 141 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Printer -> Termast
newpath 200 150 moveto
215 151 233 152 249 153 curveto
stroke
newpath 249 151 moveto
259 154 lineto
249 155 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Esyntax
gsave 10 dict begin
292 48 33 18 ellipse_path
stroke
gsave 10 dict begin
292 49 moveto (Esyntax) 45 14.00 -0.50 alignedtext
end grestore
end grestore

%	Printer -> Esyntax
newpath 194 137 moveto
203 133 211 128 216 124 curveto
232 109 238 86 252 72 curveto
254 70 256 68 259 66 curveto
stroke
newpath 258 64 moveto
268 61 lineto
260 68 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Esyntax -> Extend
newpath 325 49 moveto
336 49 348 50 359 50 curveto
stroke
newpath 358 47 moveto
368 51 lineto
358 52 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Prettyp
gsave 10 dict begin
48 144 30 18 ellipse_path
stroke
gsave 10 dict begin
48 145 moveto (Prettyp) 40 14.00 -0.50 alignedtext
end grestore
end grestore

%	Prettyp -> Printer
newpath 78 145 moveto
94 146 114 146 131 147 curveto
stroke
newpath 130 145 moveto
140 147 lineto
130 150 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_zsyntax
gsave 10 dict begin
48 86 40 18 ellipse_path
stroke
gsave 10 dict begin
48 87 moveto (G_zsyntax) 59 14.00 -0.50 alignedtext
end grestore
end grestore

%	G_zsyntax -> Astterm
newpath 88 89 moveto
101 90 115 91 128 91 curveto
stroke
newpath 127 88 moveto
137 92 lineto
127 93 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_zsyntax -> Esyntax
newpath 80 75 moveto
95 71 112 66 124 64 curveto
159 58 214 54 251 51 curveto
stroke
newpath 249 49 moveto
259 50 lineto
249 54 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_rsyntax
gsave 10 dict begin
48 25 39 18 ellipse_path
stroke
gsave 10 dict begin
48 26 moveto (G_rsyntax) 58 14.00 -0.50 alignedtext
end grestore
end grestore

%	G_rsyntax -> Astterm
newpath 73 39 moveto
92 50 119 65 139 77 curveto
stroke
newpath 139 74 moveto
147 81 lineto
137 79 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_rsyntax -> Esyntax
newpath 88 26 moveto
126 26 182 28 216 31 curveto
226 32 242 35 255 38 curveto
stroke
newpath 253 35 moveto
262 40 lineto
252 40 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_natsyntax
gsave 10 dict begin
170 202 45 18 ellipse_path
stroke
gsave 10 dict begin
170 203 moveto (G_natsyntax) 70 14.00 -0.50 alignedtext
end grestore
end grestore

%	G_natsyntax -> Termast
newpath 203 190 moveto
219 184 239 176 256 169 curveto
stroke
newpath 255 167 moveto
265 166 lineto
256 172 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_natsyntax -> Coqlib
newpath 210 211 moveto
225 214 241 218 255 221 curveto
stroke
newpath 255 218 moveto
264 223 lineto
254 223 lineto
closepath
gsave 0 setgray stroke grestore fill

%	G_natsyntax -> Esyntax
newpath 201 189 moveto
207 186 213 183 216 178 curveto
236 146 234 104 252 72 curveto
252 72 256 70 261 66 curveto
stroke
newpath 260 64 moveto
270 61 lineto
262 68 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Egrammar
gsave 10 dict begin
292 102 40 18 ellipse_path
stroke
gsave 10 dict begin
292 103 moveto (Egrammar) 58 14.00 -0.50 alignedtext
end grestore
end grestore

%	Egrammar -> Extend
newpath 320 89 moveto
334 82 351 74 366 67 curveto
stroke
newpath 364 65 moveto
374 63 lineto
366 70 lineto
closepath
gsave 0 setgray stroke grestore fill

%	Lexer
gsave 10 dict begin
398 106 27 18 ellipse_path
stroke
gsave 10 dict begin
398 107 moveto (Lexer) 32 14.00 -0.50 alignedtext
end grestore
end grestore

%	Egrammar -> Lexer
newpath 332 104 moveto
342 104 352 105 361 105 curveto
stroke
newpath 361 103 moveto
371 105 lineto
361 108 lineto
closepath
gsave 0 setgray stroke grestore fill
endpage
grestore
%%PageTrailer
%%EndPage: 1
%%Trailer
%%Pages: 1
end
restore
%%EOF