@@ -0,0 +1,1154 @@
1+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+<!-- Created with Inkscape (http://www.inkscape.org/) -->
3+
4+<svg
5+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6+ xmlns:cc="http://creativecommons.org/ns#"
7+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8+ xmlns:svg="http://www.w3.org/2000/svg"
9+ xmlns="http://www.w3.org/2000/svg"
10+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12+ width="210mm"
13+ height="297mm"
14+ viewBox="0 0 210 297"
15+ version="1.1"
16+ id="svg8"
17+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
18+ sodipodi:docname="modules.svg">
19+ <defs
20+ id="defs2">
21+ <marker
22+ inkscape:isstock="true"
23+ style="overflow:visible;"
24+ id="marker1000"
25+ refX="0.0"
26+ refY="0.0"
27+ orient="auto"
28+ inkscape:stockid="Arrow1Mend">
29+ <path
30+ transform="scale(0.4) rotate(180) translate(10,0)"
31+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
32+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
33+ id="path998" />
34+ </marker>
35+ <marker
36+ inkscape:isstock="true"
37+ style="overflow:visible;"
38+ id="marker1127"
39+ refX="0.0"
40+ refY="0.0"
41+ orient="auto"
42+ inkscape:stockid="Arrow1Mend">
43+ <path
44+ transform="scale(0.4) rotate(180) translate(10,0)"
45+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
46+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
47+ id="path1125" />
48+ </marker>
49+ <marker
50+ inkscape:isstock="true"
51+ style="overflow:visible;"
52+ id="marker1123"
53+ refX="0.0"
54+ refY="0.0"
55+ orient="auto"
56+ inkscape:stockid="Arrow1Mend">
57+ <path
58+ transform="scale(0.4) rotate(180) translate(10,0)"
59+ style="fill-rule:evenodd;stroke:#00aa3f;stroke-width:1pt;stroke-opacity:1;fill:#00aa3f;fill-opacity:1"
60+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
61+ id="path1121" />
62+ </marker>
63+ <marker
64+ inkscape:isstock="true"
65+ style="overflow:visible;"
66+ id="marker1117"
67+ refX="0.0"
68+ refY="0.0"
69+ orient="auto"
70+ inkscape:stockid="Arrow1Mend">
71+ <path
72+ transform="scale(0.4) rotate(180) translate(10,0)"
73+ style="fill-rule:evenodd;stroke:#00aa3f;stroke-width:1pt;stroke-opacity:1;fill:#00aa3f;fill-opacity:1"
74+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
75+ id="path1115" />
76+ </marker>
77+ <marker
78+ inkscape:stockid="Arrow1Mend"
79+ orient="auto"
80+ refY="0.0"
81+ refX="0.0"
82+ id="marker1111"
83+ style="overflow:visible;"
84+ inkscape:isstock="true"
85+ inkscape:collect="always">
86+ <path
87+ id="path1109"
88+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
89+ style="fill-rule:evenodd;stroke:#00aa3f;stroke-width:1pt;stroke-opacity:1;fill:#00aa3f;fill-opacity:1"
90+ transform="scale(0.4) rotate(180) translate(10,0)" />
91+ </marker>
92+ <marker
93+ inkscape:isstock="true"
94+ style="overflow:visible;"
95+ id="marker1105"
96+ refX="0.0"
97+ refY="0.0"
98+ orient="auto"
99+ inkscape:stockid="Arrow1Mend"
100+ inkscape:collect="always">
101+ <path
102+ transform="scale(0.4) rotate(180) translate(10,0)"
103+ style="fill-rule:evenodd;stroke:#00aa3f;stroke-width:1pt;stroke-opacity:1;fill:#00aa3f;fill-opacity:1"
104+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
105+ id="path1103" />
106+ </marker>
107+ <marker
108+ inkscape:isstock="true"
109+ style="overflow:visible;"
110+ id="marker1057"
111+ refX="0.0"
112+ refY="0.0"
113+ orient="auto"
114+ inkscape:stockid="Arrow1Mend">
115+ <path
116+ transform="scale(0.4) rotate(180) translate(10,0)"
117+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
118+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
119+ id="path1055" />
120+ </marker>
121+ <marker
122+ inkscape:stockid="Arrow1Mend"
123+ orient="auto"
124+ refY="0.0"
125+ refX="0.0"
126+ id="marker1045"
127+ style="overflow:visible;"
128+ inkscape:isstock="true"
129+ inkscape:collect="always">
130+ <path
131+ id="path1043"
132+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
133+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
134+ transform="scale(0.4) rotate(180) translate(10,0)" />
135+ </marker>
136+ <marker
137+ inkscape:stockid="Arrow1Mend"
138+ orient="auto"
139+ refY="0.0"
140+ refX="0.0"
141+ id="marker1033"
142+ style="overflow:visible;"
143+ inkscape:isstock="true">
144+ <path
145+ id="path1031"
146+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
147+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
148+ transform="scale(0.4) rotate(180) translate(10,0)" />
149+ </marker>
150+ <marker
151+ inkscape:stockid="Arrow1Mend"
152+ orient="auto"
153+ refY="0.0"
154+ refX="0.0"
155+ id="marker1027"
156+ style="overflow:visible;"
157+ inkscape:isstock="true">
158+ <path
159+ id="path1025"
160+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
161+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
162+ transform="scale(0.4) rotate(180) translate(10,0)" />
163+ </marker>
164+ <marker
165+ inkscape:isstock="true"
166+ style="overflow:visible;"
167+ id="marker1015"
168+ refX="0.0"
169+ refY="0.0"
170+ orient="auto"
171+ inkscape:stockid="Arrow1Mend"
172+ inkscape:collect="always">
173+ <path
174+ transform="scale(0.4) rotate(180) translate(10,0)"
175+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
176+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
177+ id="path1013" />
178+ </marker>
179+ <marker
180+ inkscape:isstock="true"
181+ style="overflow:visible;"
182+ id="marker1009"
183+ refX="0.0"
184+ refY="0.0"
185+ orient="auto"
186+ inkscape:stockid="Arrow1Mend">
187+ <path
188+ transform="scale(0.4) rotate(180) translate(10,0)"
189+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
190+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
191+ id="path1007" />
192+ </marker>
193+ <marker
194+ inkscape:isstock="true"
195+ style="overflow:visible;"
196+ id="marker1003"
197+ refX="0.0"
198+ refY="0.0"
199+ orient="auto"
200+ inkscape:stockid="Arrow1Mend">
201+ <path
202+ transform="scale(0.4) rotate(180) translate(10,0)"
203+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
204+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
205+ id="path1001" />
206+ </marker>
207+ <marker
208+ inkscape:stockid="Arrow1Mend"
209+ orient="auto"
210+ refY="0.0"
211+ refX="0.0"
212+ id="marker997"
213+ style="overflow:visible;"
214+ inkscape:isstock="true"
215+ inkscape:collect="always">
216+ <path
217+ id="path995"
218+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
219+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
220+ transform="scale(0.4) rotate(180) translate(10,0)" />
221+ </marker>
222+ <marker
223+ inkscape:isstock="true"
224+ style="overflow:visible;"
225+ id="marker991"
226+ refX="0.0"
227+ refY="0.0"
228+ orient="auto"
229+ inkscape:stockid="Arrow1Mend"
230+ inkscape:collect="always">
231+ <path
232+ transform="scale(0.4) rotate(180) translate(10,0)"
233+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
234+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
235+ id="path989" />
236+ </marker>
237+ <marker
238+ inkscape:stockid="Arrow1Mend"
239+ orient="auto"
240+ refY="0.0"
241+ refX="0.0"
242+ id="marker967"
243+ style="overflow:visible;"
244+ inkscape:isstock="true"
245+ inkscape:collect="always">
246+ <path
247+ id="path965"
248+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
249+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
250+ transform="scale(0.4) rotate(180) translate(10,0)" />
251+ </marker>
252+ <marker
253+ inkscape:isstock="true"
254+ style="overflow:visible;"
255+ id="marker961"
256+ refX="0.0"
257+ refY="0.0"
258+ orient="auto"
259+ inkscape:stockid="Arrow1Mend"
260+ inkscape:collect="always">
261+ <path
262+ transform="scale(0.4) rotate(180) translate(10,0)"
263+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
264+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
265+ id="path959" />
266+ </marker>
267+ <marker
268+ inkscape:isstock="true"
269+ style="overflow:visible;"
270+ id="marker3617"
271+ refX="0.0"
272+ refY="0.0"
273+ orient="auto"
274+ inkscape:stockid="Arrow1Mend">
275+ <path
276+ transform="scale(0.4) rotate(180) translate(10,0)"
277+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
278+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
279+ id="path3615" />
280+ </marker>
281+ <marker
282+ inkscape:stockid="Arrow1Mend"
283+ orient="auto"
284+ refY="0.0"
285+ refX="0.0"
286+ id="marker2891"
287+ style="overflow:visible;"
288+ inkscape:isstock="true"
289+ inkscape:collect="always">
290+ <path
291+ id="path2889"
292+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
293+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
294+ transform="scale(0.4) rotate(180) translate(10,0)" />
295+ </marker>
296+ <marker
297+ inkscape:stockid="Arrow1Mend"
298+ orient="auto"
299+ refY="0.0"
300+ refX="0.0"
301+ id="marker2049"
302+ style="overflow:visible;"
303+ inkscape:isstock="true"
304+ inkscape:collect="always">
305+ <path
306+ id="path2047"
307+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
308+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
309+ transform="scale(0.4) rotate(180) translate(10,0)" />
310+ </marker>
311+ <marker
312+ inkscape:isstock="true"
313+ style="overflow:visible;"
314+ id="marker1539"
315+ refX="0.0"
316+ refY="0.0"
317+ orient="auto"
318+ inkscape:stockid="Arrow1Mend"
319+ inkscape:collect="always">
320+ <path
321+ transform="scale(0.4) rotate(180) translate(10,0)"
322+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
323+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
324+ id="path1537" />
325+ </marker>
326+ <marker
327+ inkscape:stockid="Arrow1Mend"
328+ orient="auto"
329+ refY="0.0"
330+ refX="0.0"
331+ id="Arrow1Mend"
332+ style="overflow:visible;"
333+ inkscape:isstock="true"
334+ inkscape:collect="always">
335+ <path
336+ id="path830"
337+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
338+ style="fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt;stroke-opacity:1;fill:#0000ff;fill-opacity:1"
339+ transform="scale(0.4) rotate(180) translate(10,0)" />
340+ </marker>
341+ </defs>
342+ <sodipodi:namedview
343+ id="base"
344+ pagecolor="#ffffff"
345+ bordercolor="#666666"
346+ borderopacity="1.0"
347+ inkscape:pageopacity="0.0"
348+ inkscape:pageshadow="2"
349+ inkscape:zoom="1"
350+ inkscape:cx="368.33949"
351+ inkscape:cy="554.8721"
352+ inkscape:document-units="mm"
353+ inkscape:current-layer="layer1"
354+ showgrid="false"
355+ inkscape:window-width="1359"
356+ inkscape:window-height="1011"
357+ inkscape:window-x="-4"
358+ inkscape:window-y="0"
359+ inkscape:window-maximized="0" />
360+ <metadata
361+ id="metadata5">
362+ <rdf:RDF>
363+ <cc:Work
364+ rdf:about="">
365+ <dc:format>image/svg+xml</dc:format>
366+ <dc:type
367+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
368+ <dc:title />
369+ </cc:Work>
370+ </rdf:RDF>
371+ </metadata>
372+ <g
373+ inkscape:label="Layer 1"
374+ inkscape:groupmode="layer"
375+ id="layer1">
376+ <rect
377+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
378+ id="rect815"
379+ width="35.983334"
380+ height="18.25625"
381+ x="37.835415"
382+ y="52.260437"
383+ inkscape:export-xdpi="61.120499"
384+ inkscape:export-ydpi="61.120499" />
385+ <rect
386+ y="52.260437"
387+ x="92.868744"
388+ height="18.25625"
389+ width="35.983334"
390+ id="rect817"
391+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
392+ inkscape:export-xdpi="61.120499"
393+ inkscape:export-ydpi="61.120499" />
394+ <path
395+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
396+ d="m 74.083333,61.25627 16.66875,-0.26459"
397+ id="path819"
398+ inkscape:connector-curvature="0"
399+ inkscape:export-xdpi="61.120499"
400+ inkscape:export-ydpi="61.120499" />
401+ <path
402+ inkscape:connector-curvature="0"
403+ id="path1535"
404+ d="m 19.314583,61.520853 16.66875,-0.26459"
405+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1539)"
406+ inkscape:export-xdpi="61.120499"
407+ inkscape:export-ydpi="61.120499" />
408+ <path
409+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2049)"
410+ d="m 128.85208,60.991686 16.66875,-0.26459"
411+ id="path2045"
412+ inkscape:connector-curvature="0"
413+ inkscape:export-xdpi="61.120499"
414+ inkscape:export-ydpi="61.120499" />
415+ <text
416+ xml:space="preserve"
417+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
418+ x="20.902082"
419+ y="58.345871"
420+ id="text2857"
421+ inkscape:export-xdpi="61.120499"
422+ inkscape:export-ydpi="61.120499"><tspan
423+ sodipodi:role="line"
424+ id="tspan2855"
425+ x="20.902082"
426+ y="58.345871"
427+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">String</tspan></text>
428+ <text
429+ id="text2861"
430+ y="53.583374"
431+ x="76.729164"
432+ style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
433+ xml:space="preserve"
434+ inkscape:export-xdpi="61.120499"
435+ inkscape:export-ydpi="61.120499"><tspan
436+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
437+ y="53.583374"
438+ x="76.729164"
439+ sodipodi:role="line"
440+ id="tspan2867">List</tspan><tspan
441+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
442+ y="58.875042"
443+ x="76.729164"
444+ sodipodi:role="line"
445+ id="tspan2871">Token</tspan></text>
446+ <text
447+ xml:space="preserve"
448+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
449+ x="131.49791"
450+ y="57.816704"
451+ id="text2865"
452+ inkscape:export-xdpi="61.120499"
453+ inkscape:export-ydpi="61.120499"><tspan
454+ sodipodi:role="line"
455+ id="tspan2863"
456+ x="131.49791"
457+ y="57.816704"
458+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">PTerm</tspan></text>
459+ <text
460+ id="text2875"
461+ y="62.050041"
462+ x="47.889584"
463+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
464+ xml:space="preserve"
465+ inkscape:export-xdpi="61.120499"
466+ inkscape:export-ydpi="61.120499"><tspan
467+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
468+ y="62.050041"
469+ x="47.889584"
470+ id="tspan2873"
471+ sodipodi:role="line">Lexer</tspan></text>
472+ <text
473+ xml:space="preserve"
474+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
475+ x="100.80624"
476+ y="61.785461"
477+ id="text2879"
478+ inkscape:export-xdpi="61.120499"
479+ inkscape:export-ydpi="61.120499"><tspan
480+ sodipodi:role="line"
481+ id="tspan2877"
482+ x="100.80624"
483+ y="61.785461"
484+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">Parser</tspan></text>
485+ <path
486+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2891)"
487+ d="m 53.445833,44.322936 v 7.67291"
488+ id="path2887"
489+ inkscape:connector-curvature="0"
490+ sodipodi:nodetypes="cc"
491+ inkscape:export-xdpi="61.120499"
492+ inkscape:export-ydpi="61.120499" />
493+ <path
494+ sodipodi:nodetypes="cc"
495+ inkscape:connector-curvature="0"
496+ id="path3613"
497+ d="m 109.27292,44.322936 v 7.67291"
498+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3617)"
499+ inkscape:export-xdpi="61.120499"
500+ inkscape:export-ydpi="61.120499" />
501+ <text
502+ id="text4173"
503+ y="42.735458"
504+ x="43.920834"
505+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
506+ xml:space="preserve"
507+ inkscape:export-xdpi="61.120499"
508+ inkscape:export-ydpi="61.120499"><tspan
509+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
510+ y="42.735458"
511+ x="43.920834"
512+ id="tspan4171"
513+ sodipodi:role="line">Recogniser</tspan></text>
514+ <text
515+ xml:space="preserve"
516+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
517+ x="97.631248"
518+ y="42.470879"
519+ id="text4177"
520+ inkscape:export-xdpi="61.120499"
521+ inkscape:export-ydpi="61.120499"><tspan
522+ sodipodi:role="line"
523+ id="tspan4175"
524+ x="97.631248"
525+ y="42.470879"
526+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">Grammar</tspan></text>
527+ <text
528+ inkscape:export-ydpi="61.120499"
529+ inkscape:export-xdpi="61.120499"
530+ id="text854"
531+ y="119.72919"
532+ x="131.23334"
533+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
534+ xml:space="preserve"><tspan
535+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
536+ y="129.46077"
537+ x="131.23334"
538+ id="tspan852"
539+ sodipodi:role="line" /></text>
540+ <rect
541+ inkscape:export-ydpi="61.120499"
542+ inkscape:export-xdpi="61.120499"
543+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
544+ id="rect875"
545+ width="43.656246"
546+ height="18.520832"
547+ x="92.339577"
548+ y="110.20418" />
549+ <path
550+ inkscape:export-ydpi="61.120499"
551+ inkscape:export-xdpi="61.120499"
552+ inkscape:connector-curvature="0"
553+ id="path881"
554+ d="m 135.73129,118.93554 16.66875,-0.26459"
555+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2049)" />
556+ <text
557+ inkscape:export-ydpi="61.120499"
558+ inkscape:export-xdpi="61.120499"
559+ id="text895"
560+ y="115.76046"
561+ x="138.37698"
562+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
563+ xml:space="preserve"><tspan
564+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
565+ y="115.76046"
566+ x="138.37698"
567+ id="tspan893"
568+ sodipodi:role="line">PTerm</tspan></text>
569+ <text
570+ inkscape:export-ydpi="61.120499"
571+ inkscape:export-xdpi="61.120499"
572+ id="text903"
573+ y="115.23129"
574+ x="93.927078"
575+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
576+ xml:space="preserve"><tspan
577+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
578+ y="115.23129"
579+ x="93.927078"
580+ id="tspan901"
581+ sodipodi:role="line">module Idris.Parser</tspan><tspan
582+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
583+ y="128.46045"
584+ x="93.927078"
585+ sodipodi:role="line"
586+ id="tspan1021" /></text>
587+ <rect
588+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
589+ id="rect905"
590+ width="44.185421"
591+ height="18.785423"
592+ x="40.463421"
593+ y="141.50723"
594+ inkscape:export-xdpi="61.120499"
595+ inkscape:export-ydpi="61.120499" />
596+ <rect
597+ y="155.183"
598+ x="95.51458"
599+ height="18.256256"
600+ width="49.212498"
601+ id="rect907"
602+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
603+ inkscape:export-xdpi="61.120499"
604+ inkscape:export-ydpi="61.120499" />
605+ <path
606+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker961)"
607+ d="m 84.648837,152.88468 9.013662,7.32603"
608+ id="path909"
609+ inkscape:connector-curvature="0"
610+ inkscape:export-xdpi="61.120499"
611+ inkscape:export-ydpi="61.120499"
612+ sodipodi:nodetypes="cc" />
613+ <path
614+ inkscape:connector-curvature="0"
615+ id="path911"
616+ d="m 22.471756,152.09108 16.66875,-0.26459"
617+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1539)"
618+ inkscape:export-xdpi="61.120499"
619+ inkscape:export-ydpi="61.120499" />
620+ <text
621+ xml:space="preserve"
622+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
623+ x="24.059256"
624+ y="148.91547"
625+ id="text917"
626+ inkscape:export-xdpi="61.120499"
627+ inkscape:export-ydpi="61.120499"><tspan
628+ sodipodi:role="line"
629+ id="tspan915"
630+ x="24.059256"
631+ y="148.91547"
632+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">String</tspan></text>
633+ <text
634+ id="text923"
635+ y="137.72075"
636+ x="65.087494"
637+ style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
638+ xml:space="preserve"
639+ inkscape:export-xdpi="61.120499"
640+ inkscape:export-ydpi="61.120499"><tspan
641+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332"
642+ y="137.72075"
643+ x="65.087494"
644+ sodipodi:role="line"
645+ id="tspan921">List (TokenData Token)</tspan></text>
646+ <text
647+ id="text931"
648+ y="184.2872"
649+ x="37.041664"
650+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
651+ xml:space="preserve"
652+ inkscape:export-xdpi="61.120499"
653+ inkscape:export-ydpi="61.120499"><tspan
654+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
655+ y="184.2872"
656+ x="37.041664"
657+ id="tspan929"
658+ sodipodi:role="line">module Text.Lexer</tspan></text>
659+ <text
660+ xml:space="preserve"
661+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
662+ x="98.160408"
663+ y="161.00386"
664+ id="text935"
665+ inkscape:export-xdpi="61.120499"
666+ inkscape:export-ydpi="61.120499"><tspan
667+ sodipodi:role="line"
668+ id="tspan933"
669+ x="98.160408"
670+ y="161.00386"
671+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module Parser.Support</tspan></text>
672+ <rect
673+ inkscape:export-ydpi="61.120499"
674+ inkscape:export-xdpi="61.120499"
675+ y="180.05362"
676+ x="32.543747"
677+ height="6.3500061"
678+ width="43.656254"
679+ id="rect937"
680+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
681+ <rect
682+ inkscape:export-ydpi="61.120499"
683+ inkscape:export-xdpi="61.120499"
684+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
685+ id="rect939"
686+ width="42.862495"
687+ height="6.8791728"
688+ x="95.51458"
689+ y="180.05362" />
690+ <text
691+ inkscape:export-ydpi="61.120499"
692+ inkscape:export-xdpi="61.120499"
693+ xml:space="preserve"
694+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
695+ x="42.31551"
696+ y="147.59224"
697+ id="text951"><tspan
698+ sodipodi:role="line"
699+ id="tspan949"
700+ x="42.31551"
701+ y="147.59224"
702+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module Parser.Lexer</tspan></text>
703+ <path
704+ sodipodi:nodetypes="cc"
705+ inkscape:export-ydpi="61.120499"
706+ inkscape:export-xdpi="61.120499"
707+ inkscape:connector-curvature="0"
708+ id="path963"
709+ d="m 53.828728,179.89081 1.006873,-18.52084"
710+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker967)" />
711+ <text
712+ inkscape:export-ydpi="61.120499"
713+ inkscape:export-xdpi="61.120499"
714+ xml:space="preserve"
715+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
716+ x="23.749693"
717+ y="216.88524"
718+ id="text971"><tspan
719+ sodipodi:role="line"
720+ id="tspan969"
721+ x="23.749693"
722+ y="216.88524"
723+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module Text.Lexer.Core</tspan></text>
724+ <rect
725+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
726+ id="rect973"
727+ width="47.889587"
728+ height="6.3500061"
729+ x="22.162193"
730+ y="212.38707"
731+ inkscape:export-xdpi="61.120499"
732+ inkscape:export-ydpi="61.120499" />
733+ <path
734+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker991)"
735+ d="m 48.898483,194.70748 0.04943,-6.71548"
736+ id="path975"
737+ inkscape:connector-curvature="0"
738+ inkscape:export-xdpi="61.120499"
739+ inkscape:export-ydpi="61.120499"
740+ sodipodi:nodetypes="cc" />
741+ <text
742+ id="text979"
743+ y="207.83517"
744+ x="23.812496"
745+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
746+ xml:space="preserve"
747+ inkscape:export-xdpi="61.120499"
748+ inkscape:export-ydpi="61.120499"><tspan
749+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
750+ y="207.83517"
751+ x="23.812496"
752+ id="tspan977"
753+ sodipodi:role="line">module Text.Quantity</tspan></text>
754+ <rect
755+ inkscape:export-ydpi="61.120499"
756+ inkscape:export-xdpi="61.120499"
757+ y="203.33701"
758+ x="22.224997"
759+ height="6.2469702"
760+ width="43.853985"
761+ id="rect981"
762+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
763+ <text
764+ inkscape:export-ydpi="61.120499"
765+ inkscape:export-xdpi="61.120499"
766+ xml:space="preserve"
767+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
768+ x="23.711607"
769+ y="199.55397"
770+ id="text985"><tspan
771+ sodipodi:role="line"
772+ id="tspan983"
773+ x="23.711607"
774+ y="199.55397"
775+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module Text.Token</tspan></text>
776+ <rect
777+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
778+ id="rect987"
779+ width="39.011257"
780+ height="5.9464455"
781+ x="22.124107"
782+ y="195.0558"
783+ inkscape:export-xdpi="61.120499"
784+ inkscape:export-ydpi="61.120499" />
785+ <path
786+ sodipodi:nodetypes="cc"
787+ inkscape:export-ydpi="61.120499"
788+ inkscape:export-xdpi="61.120499"
789+ inkscape:connector-curvature="0"
790+ id="path993"
791+ d="M 63.527551,202.87958 63.375204,187.79022"
792+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker997)" />
793+ <path
794+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1003)"
795+ d="M 67.865826,212.16147 67.612589,187.58844"
796+ id="path999"
797+ inkscape:connector-curvature="0"
798+ inkscape:export-xdpi="61.120499"
799+ inkscape:export-ydpi="61.120499"
800+ sodipodi:nodetypes="cc" />
801+ <path
802+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1009)"
803+ d="M 74.466241,179.89081 95.51458,173.43977"
804+ id="path1005"
805+ inkscape:connector-curvature="0"
806+ inkscape:export-xdpi="61.120499"
807+ inkscape:export-ydpi="61.120499"
808+ sodipodi:nodetypes="cc" />
809+ <path
810+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1015)"
811+ d="m 113.36007,180.68456 -0.0515,-6.61459"
812+ id="path1011"
813+ inkscape:connector-curvature="0"
814+ inkscape:export-xdpi="61.120499"
815+ inkscape:export-ydpi="61.120499"
816+ sodipodi:nodetypes="cc" />
817+ <text
818+ inkscape:export-ydpi="61.120499"
819+ inkscape:export-xdpi="61.120499"
820+ id="text1019"
821+ y="184.81636"
822+ x="97.366661"
823+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
824+ xml:space="preserve"><tspan
825+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
826+ y="184.81636"
827+ x="97.366661"
828+ id="tspan1017"
829+ sodipodi:role="line">module Text.Parser</tspan></text>
830+ <path
831+ sodipodi:nodetypes="cc"
832+ inkscape:export-ydpi="61.120499"
833+ inkscape:export-xdpi="61.120499"
834+ inkscape:connector-curvature="0"
835+ id="path1023"
836+ d="m 113.62466,154.75539 0.0397,-25.06978"
837+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1027)" />
838+ <path
839+ sodipodi:nodetypes="cc"
840+ inkscape:export-ydpi="61.120499"
841+ inkscape:export-xdpi="61.120499"
842+ inkscape:connector-curvature="0"
843+ id="path1029"
844+ d="M 83.757032,147.15485 97.991855,129.77582"
845+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1033)" />
846+ <rect
847+ y="142.91107"
848+ x="118.15033"
849+ height="6.6968417"
850+ width="45.2328"
851+ id="rect1035"
852+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
853+ inkscape:export-xdpi="61.120499"
854+ inkscape:export-ydpi="61.120499" />
855+ <path
856+ sodipodi:nodetypes="cc"
857+ inkscape:export-ydpi="61.120499"
858+ inkscape:export-xdpi="61.120499"
859+ inkscape:connector-curvature="0"
860+ id="path1037"
861+ d="m 121.83513,142.5835 -0.0515,-12.72267"
862+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1057)" />
863+ <text
864+ xml:space="preserve"
865+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
866+ x="120.00241"
867+ y="147.67372"
868+ id="text1041"
869+ inkscape:export-xdpi="61.120499"
870+ inkscape:export-ydpi="61.120499"><tspan
871+ sodipodi:role="line"
872+ id="tspan1039"
873+ x="120.00241"
874+ y="147.67372"
875+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module TTImp.TTImp</tspan></text>
876+ <rect
877+ inkscape:export-ydpi="61.120499"
878+ inkscape:export-xdpi="61.120499"
879+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
880+ id="rect1047"
881+ width="42.862495"
882+ height="6.8791728"
883+ x="125.28364"
884+ y="133.0603" />
885+ <path
886+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1045)"
887+ d="m 145.18016,132.82376 -9.18434,-4.09859"
888+ id="path1049"
889+ inkscape:connector-curvature="0"
890+ inkscape:export-xdpi="61.120499"
891+ inkscape:export-ydpi="61.120499"
892+ sodipodi:nodetypes="cc" />
893+ <text
894+ inkscape:export-ydpi="61.120499"
895+ inkscape:export-xdpi="61.120499"
896+ id="text1053"
897+ y="137.82295"
898+ x="127.13572"
899+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
900+ xml:space="preserve"><tspan
901+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
902+ y="137.82295"
903+ x="127.13572"
904+ id="tspan1051"
905+ sodipodi:role="line">module Idris.Syntax</tspan></text>
906+ <rect
907+ inkscape:export-ydpi="61.120499"
908+ inkscape:export-xdpi="61.120499"
909+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#00871c;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
910+ id="rect1061"
911+ width="59.266659"
912+ height="16.13958"
913+ x="92.339577"
914+ y="230.5896" />
915+ <path
916+ inkscape:export-ydpi="61.120499"
917+ inkscape:export-xdpi="61.120499"
918+ inkscape:connector-curvature="0"
919+ id="path1063"
920+ d="m 76.993749,160.21044 21.695834,69.32083"
921+ style="fill:none;stroke:#00aa3f;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1105)"
922+ sodipodi:nodetypes="cc" />
923+ <text
924+ inkscape:export-ydpi="61.120499"
925+ inkscape:export-xdpi="61.120499"
926+ id="text1081"
927+ y="236.14587"
928+ x="153.19336"
929+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
930+ xml:space="preserve"><tspan
931+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#008000;stroke-width:0.26458332"
932+ y="236.14587"
933+ x="153.19336"
934+ id="tspan1079"
935+ sodipodi:role="line">Either ParseError SExp</tspan></text>
936+ <text
937+ inkscape:export-ydpi="61.120499"
938+ inkscape:export-xdpi="61.120499"
939+ id="text1089"
940+ y="236.41046"
941+ x="94.191658"
942+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
943+ xml:space="preserve"><tspan
944+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#008000;stroke-width:0.26458332;"
945+ y="236.41046"
946+ x="94.191658"
947+ id="tspan1087"
948+ sodipodi:role="line">module Idris.IDEMode.Parser</tspan></text>
949+ <rect
950+ inkscape:export-ydpi="61.120499"
951+ inkscape:export-xdpi="61.120499"
952+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
953+ id="rect1097"
954+ width="35.983334"
955+ height="18.25625"
956+ x="124.08953"
957+ y="18.393738" />
958+ <text
959+ inkscape:export-ydpi="61.120499"
960+ inkscape:export-xdpi="61.120499"
961+ id="text1101"
962+ y="24.479179"
963+ x="126.99989"
964+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
965+ xml:space="preserve"><tspan
966+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
967+ y="24.479179"
968+ x="126.99989"
969+ id="tspan1099"
970+ sodipodi:role="line">module Idris.REPL</tspan></text>
971+ <path
972+ sodipodi:nodetypes="cc"
973+ style="fill:none;stroke:#00aa3f;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1111)"
974+ d="m 112.97708,187.46252 0.52917,41.80417"
975+ id="path1107"
976+ inkscape:connector-curvature="0"
977+ inkscape:export-xdpi="61.120499"
978+ inkscape:export-ydpi="61.120499" />
979+ <path
980+ inkscape:export-ydpi="61.120499"
981+ inkscape:export-xdpi="61.120499"
982+ inkscape:connector-curvature="0"
983+ id="path1113"
984+ d="m 144.72708,173.43925 -0.26458,56.35661"
985+ style="fill:none;stroke:#00aa3f;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1117)"
986+ sodipodi:nodetypes="cc" />
987+ <path
988+ inkscape:export-ydpi="61.120499"
989+ inkscape:export-xdpi="61.120499"
990+ inkscape:connector-curvature="0"
991+ id="path1119"
992+ d="m 151.80639,239.22321 44.91435,-0.41532"
993+ style="fill:none;stroke:#00aa3f;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1123)"
994+ sodipodi:nodetypes="cc" />
995+ <text
996+ id="text950"
997+ y="236.19983"
998+ x="22.69136"
999+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1000+ xml:space="preserve"
1001+ inkscape:export-xdpi="61.120499"
1002+ inkscape:export-ydpi="61.120499"><tspan
1003+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
1004+ y="236.19983"
1005+ x="22.69136"
1006+ id="tspan948"
1007+ sodipodi:role="line">module Core.Core</tspan></text>
1008+ <rect
1009+ inkscape:export-ydpi="61.120499"
1010+ inkscape:export-xdpi="61.120499"
1011+ y="231.70166"
1012+ x="21.103861"
1013+ height="9.7895899"
1014+ width="47.889587"
1015+ id="rect952"
1016+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1017+ <text
1018+ inkscape:export-ydpi="61.120499"
1019+ inkscape:export-xdpi="61.120499"
1020+ xml:space="preserve"
1021+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1022+ x="23.220528"
1023+ y="239.90399"
1024+ id="text956"><tspan
1025+ sodipodi:role="line"
1026+ id="tspan954"
1027+ x="23.220528"
1028+ y="239.90399"
1029+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">error messages</tspan></text>
1030+ <text
1031+ inkscape:export-ydpi="61.120499"
1032+ inkscape:export-xdpi="61.120499"
1033+ xml:space="preserve"
1034+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1035+ x="22.69136"
1036+ y="252.33942"
1037+ id="text960"><tspan
1038+ sodipodi:role="line"
1039+ id="tspan958"
1040+ x="22.69136"
1041+ y="252.33942"
1042+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module Core.CompileExpr</tspan></text>
1043+ <rect
1044+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1045+ id="rect962"
1046+ width="61.912495"
1047+ height="18.785419"
1048+ x="21.103861"
1049+ y="247.84125"
1050+ inkscape:export-xdpi="61.120499"
1051+ inkscape:export-ydpi="61.120499" />
1052+ <text
1053+ id="text966"
1054+ y="256.04358"
1055+ x="23.220528"
1056+ style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1057+ xml:space="preserve"
1058+ inkscape:export-xdpi="61.120499"
1059+ inkscape:export-ydpi="61.120499"><tspan
1060+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332"
1061+ y="256.04358"
1062+ x="23.220528"
1063+ sodipodi:role="line"
1064+ id="tspan968">Representation of expressions ready</tspan><tspan
1065+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332"
1066+ y="260.45331"
1067+ x="23.220528"
1068+ sodipodi:role="line"
1069+ id="tspan974">for compiling: CExp</tspan><tspan
1070+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332"
1071+ y="264.86304"
1072+ x="23.220528"
1073+ sodipodi:role="line"
1074+ id="tspan972">Type erased, explicit case trees</tspan></text>
1075+ <text
1076+ inkscape:export-ydpi="61.120499"
1077+ inkscape:export-xdpi="61.120499"
1078+ xml:space="preserve"
1079+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1080+ x="22.69136"
1081+ y="90.151314"
1082+ id="text978"><tspan
1083+ sodipodi:role="line"
1084+ id="tspan976"
1085+ x="22.69136"
1086+ y="90.151314"
1087+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332">module Idris.CommandLine</tspan></text>
1088+ <rect
1089+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1090+ id="rect980"
1091+ width="55.827087"
1092+ height="10.054173"
1093+ x="21.103861"
1094+ y="85.653076"
1095+ inkscape:export-xdpi="61.120499"
1096+ inkscape:export-ydpi="61.120499" />
1097+ <text
1098+ id="text984"
1099+ y="93.855484"
1100+ x="23.220528"
1101+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1102+ xml:space="preserve"
1103+ inkscape:export-xdpi="61.120499"
1104+ inkscape:export-ydpi="61.120499"><tspan
1105+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332"
1106+ y="93.855484"
1107+ x="23.220528"
1108+ id="tspan982"
1109+ sodipodi:role="line">command line options</tspan></text>
1110+ <text
1111+ id="text988"
1112+ y="106.82006"
1113+ x="22.69136"
1114+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1115+ xml:space="preserve"
1116+ inkscape:export-xdpi="61.120499"
1117+ inkscape:export-ydpi="61.120499"><tspan
1118+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#0000ff;stroke-width:0.26458332"
1119+ y="106.82006"
1120+ x="22.69136"
1121+ id="tspan986"
1122+ sodipodi:role="line">module Idris.Error</tspan></text>
1123+ <rect
1124+ inkscape:export-ydpi="61.120499"
1125+ inkscape:export-xdpi="61.120499"
1126+ y="102.32182"
1127+ x="21.103861"
1128+ height="9.5250101"
1129+ width="37.835419"
1130+ id="rect990"
1131+ style="opacity:1;vector-effect:none;fill:none;fill-opacity:0.97596154;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1132+ <text
1133+ inkscape:export-ydpi="61.120499"
1134+ inkscape:export-xdpi="61.120499"
1135+ xml:space="preserve"
1136+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
1137+ x="23.220528"
1138+ y="110.52423"
1139+ id="text994"><tspan
1140+ sodipodi:role="line"
1141+ id="tspan992"
1142+ x="23.220528"
1143+ y="110.52423"
1144+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">perror</tspan></text>
1145+ <path
1146+ style="fill:none;stroke:#0000ff;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1000)"
1147+ d="m 21.103861,231.70166 c -7.32197,0.078 -4.584313,-108.27557 0,-119.85483"
1148+ id="path996"
1149+ inkscape:connector-curvature="0"
1150+ inkscape:export-xdpi="61.120499"
1151+ inkscape:export-ydpi="61.120499"
1152+ sodipodi:nodetypes="cc" />
1153+ </g>
1154+</svg>