Delete mmgeneric.el.
[elisp/flim.git] / ew-parse.el
1 ; *** Header ***
2 (provide 'ew-parse)
3 (require 'ew-data)
4 (require 'lr-driver)
5
6 ; *** Token Definitions ***
7 (defconst ew:*eoi*      0)
8 (defconst ew:*anchor*   1)
9 (defconst ew:*err*      2)
10 (defconst ew:tag-mailbox        3)
11 (defconst ew:tag-mailbox*       4)
12 (defconst ew:tag-mailbox+       5)
13 (defconst ew:tag-address*       6)
14 (defconst ew:tag-address+       7)
15 (defconst ew:tag-phrase*        8)
16 (defconst ew:tag-phrase-msg-id* 9)
17 (defconst ew:lt 10)
18 (defconst ew:gt 11)
19 (defconst ew:at 12)
20 (defconst ew:comma      13)
21 (defconst ew:semicolon  14)
22 (defconst ew:colon      15)
23 (defconst ew:dot        16)
24 (defconst ew:atom       17)
25 (defconst ew:slash      18)
26 (defconst ew:question   19)
27 (defconst ew:equal      20)
28 (defconst ew:token      21)
29 (defconst ew:qs-begin   22)
30 (defconst ew:qs-end     23)
31 (defconst ew:qs-texts   24)
32 (defconst ew:qs-wsp     25)
33 (defconst ew:qs-fold    26)
34 (defconst ew:qs-qfold   27)
35 (defconst ew:qs-qpair   28)
36 (defconst ew:dl-begin   29)
37 (defconst ew:dl-end     30)
38 (defconst ew:dl-texts   31)
39 (defconst ew:dl-wsp     32)
40 (defconst ew:dl-fold    33)
41 (defconst ew:dl-qfold   34)
42 (defconst ew:dl-qpair   35)
43 (defconst ew:cm-begin   36)
44 (defconst ew:cm-end     37)
45 (defconst ew:cm-nested-begin    38)
46 (defconst ew:cm-nested-end      39)
47 (defconst ew:cm-texts   40)
48 (defconst ew:cm-wsp     41)
49 (defconst ew:cm-fold    42)
50 (defconst ew:cm-qfold   43)
51 (defconst ew:cm-qpair   44)
52 (defconst ew:wsp        45)
53 (defconst ew:fold       46)
54 (defconst ew:us-texts   47)
55 (defconst ew:us-wsp     48)
56 (defconst ew:us-fold    49)
57 (defconst ew:n-body     50)
58
59 (defconst ew:token-defs
60   (list 
61    (cons 0 "*eoi*")
62    (cons 1 "*anchor*")
63    (cons 2 "*err*")
64    (cons 3 "tag-mailbox")
65    (cons 4 "tag-mailbox*")
66    (cons 5 "tag-mailbox+")
67    (cons 6 "tag-address*")
68    (cons 7 "tag-address+")
69    (cons 8 "tag-phrase*")
70    (cons 9 "tag-phrase-msg-id*")
71    (cons 10 "lt")
72    (cons 11 "gt")
73    (cons 12 "at")
74    (cons 13 "comma")
75    (cons 14 "semicolon")
76    (cons 15 "colon")
77    (cons 16 "dot")
78    (cons 17 "atom")
79    (cons 18 "slash")
80    (cons 19 "question")
81    (cons 20 "equal")
82    (cons 21 "token")
83    (cons 22 "qs-begin")
84    (cons 23 "qs-end")
85    (cons 24 "qs-texts")
86    (cons 25 "qs-wsp")
87    (cons 26 "qs-fold")
88    (cons 27 "qs-qfold")
89    (cons 28 "qs-qpair")
90    (cons 29 "dl-begin")
91    (cons 30 "dl-end")
92    (cons 31 "dl-texts")
93    (cons 32 "dl-wsp")
94    (cons 33 "dl-fold")
95    (cons 34 "dl-qfold")
96    (cons 35 "dl-qpair")
97    (cons 36 "cm-begin")
98    (cons 37 "cm-end")
99    (cons 38 "cm-nested-begin")
100    (cons 39 "cm-nested-end")
101    (cons 40 "cm-texts")
102    (cons 41 "cm-wsp")
103    (cons 42 "cm-fold")
104    (cons 43 "cm-qfold")
105    (cons 44 "cm-qpair")
106    (cons 45 "wsp")
107    (cons 46 "fold")
108    (cons 47 "us-texts")
109    (cons 48 "us-wsp")
110    (cons 49 "us-fold")
111    (cons 50 "n-body")
112   ))
113
114 ; *** Action Table ***
115 (defconst ew:action-table
116   [
117      ((default . *error*) (3 . 7) (4 . 6) (5 . 5) (6 . 4) (7 . 3) (8 . 2) (9 . 1))
118      ((default . -61))
119      ((default . -61))
120      ((default . -61))
121      ((default . -61))
122      ((default . -61))
123      ((default . -61))
124      ((default . -61))
125      ((default . *error*) (0 . 16))
126      ((default . -51) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
127      ((default . -53) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
128      ((default . *error*) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
129      ((default . -9) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
130      ((default . *error*) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
131      ((default . -30) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
132      ((default . *error*) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
133      ((default . -1) (0 . accept))
134      ((default . -63))
135      ((default . -62))
136      ((default . -90))
137      ((default . -76))
138      ((default . -61))
139      ((default . -64))
140      ((default . -61))
141      ((default . -48))
142      ((default . -49))
143      ((default . -8) (10 . 34))
144      ((default . -57))
145      ((default . -37))
146      ((default . -36) (17 . 21) (22 . 20))
147      ((default . -52))
148      ((default . -54) (13 . 60))
149      ((default . -7))
150      ((default . -55))
151      ((default . -61))
152      ((default . -43) (12 . 63))
153      ((default . -37) (16 . -25) (12 . -25))
154      ((default . -29))
155      ((default . *error*) (10 . 34) (15 . 68))
156      ((default . -13))
157      ((default . *error*) (12 . 63) (16 . 71))
158      ((default . -14))
159      ((default . -27))
160      ((default . -11))
161      ((default . -6) (13 . 60))
162      ((default . -10) (13 . 60))
163      ((default . -5))
164      ((default . *error*) (10 . 34))
165      ((default . -4) (13 . 60))
166      ((default . -32))
167      ((default . -31) (13 . 60))
168      ((default . -3))
169      ((default . -2))
170      ((default . *error*) (37 . 83) (38 . 82) (39 . 81) (40 . 80) (41 . 79) (42 . 78) (43 . 77) (44 . 76))
171      ((default . *error*) (23 . 89) (24 . 88) (25 . 87) (26 . 86) (27 . 85) (28 . 84))
172      ((default . -74) (36 . 19) (45 . 18) (46 . 17))
173      ((default . -72) (36 . 19) (45 . 18) (46 . 17))
174      ((default . *error*) (17 . 21) (22 . 20))
175      ((default . -51) (17 . 21) (22 . 20))
176      ((default . -38))
177      ((default . -61))
178      ((default . *error*) (17 . 21) (22 . 20))
179      ((default . -65) (36 . 19) (45 . 18) (46 . 17))
180      ((default . -61))
181      ((default . *error*) (17 . 21) (29 . 96))
182      ((default . *error*) (17 . 21) (22 . 20))
183      ((default . *error*) (13 . 60) (15 . 68))
184      ((default . -44))
185      ((default . -61))
186      ((default . -30) (10 . 34) (17 . 21) (22 . 20))
187      ((default . -28))
188      ((default . -61))
189      ((default . *error*) (17 . 21) (22 . 20))
190      ((default . *error*) (17 . 21) (29 . 96))
191      ((default . *error*) (10 . 34) (17 . 21) (22 . 20))
192      ((default . *error*) (10 . 34) (17 . 21) (22 . 20))
193      ((default . -97))
194      ((default . -96))
195      ((default . -95))
196      ((default . -94))
197      ((default . -93))
198      ((default . -92))
199      ((default . -91))
200      ((default . -89))
201      ((default . -81))
202      ((default . -80))
203      ((default . -79))
204      ((default . -78))
205      ((default . -77))
206      ((default . -75))
207      ((default . -25))
208      ((default . *error*) (11 . 113))
209      ((default . -58))
210      ((default . -68) (36 . 19) (45 . 18) (46 . 17))
211      ((default . -56))
212      ((default . -67) (36 . 19) (45 . 18) (46 . 17))
213      ((default . -83))
214      ((default . -61))
215      ((default . -21))
216      ((default . -46))
217      ((default . -19))
218      ((default . -45))
219      ((default . -40) (16 . 71))
220      ((default . *error*) (11 . 113))
221      ((default . -39))
222      ((default . *error*) (12 . 63))
223      ((default . -70) (36 . 19) (45 . 18) (46 . 17))
224      ((default . *error*) (14 . 120))
225      ((default . -71) (36 . 19) (45 . 18) (46 . 17))
226      ((default . -26))
227      ((default . -15) (16 . 71))
228      ((default . -12))
229      ((default . -33))
230      ((default . -61))
231      ((default . -35))
232      ((default . *error*) (30 . 128) (31 . 127) (32 . 126) (33 . 125) (34 . 124) (35 . 123))
233      ((default . -73) (36 . 19) (45 . 18) (46 . 17))
234      ((default . *error*) (17 . 21) (29 . 96))
235      ((default . -42))
236      ((default . *error*) (17 . 21) (29 . 96))
237      ((default . -61))
238      ((default . -22))
239      ((default . -66) (36 . 19) (45 . 18) (46 . 17))
240      ((default . -88))
241      ((default . -87))
242      ((default . -86))
243      ((default . -85))
244      ((default . -84))
245      ((default . -82))
246      ((default . -20))
247      ((default . -41) (16 . 71))
248      ((default . -69) (36 . 19) (45 . 18) (46 . 17))
249     ])
250
251 ; *** Goto Table ***
252 (defconst ew:goto-table
253   [
254      ((1 . 8))
255      ((33 . 9))
256      ((33 . 10))
257      ((33 . 11))
258      ((33 . 12))
259      ((33 . 13))
260      ((33 . 14))
261      ((33 . 15))
262      ()
263      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(31 . 26)(28 . 27)(26 . 28)(19 . 29)(18 . 30))
264      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(30 . 31)(29 . 32)(26 . 28)(19 . 29)(18 . 33))
265      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 38)(13 . 39)(12 . 40)(10 . 41)(5 . 42)(4 . 43)(3 . 44))
266      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 38)(13 . 39)(12 . 40)(10 . 41)(5 . 42)(4 . 43)(3 . 45)(2 . 46))
267      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(15 . 48)(13 . 49)(12 . 40)(5 . 42))
268      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(15 . 50)(14 . 51)(13 . 49)(12 . 40)(5 . 42))
269      ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(13 . 52)(12 . 40)(5 . 42))
270      ()
271      ()
272      ()
273      ((49 . 53))
274      ((45 . 54))
275      ((33 . 55))
276      ()
277      ((33 . 56))
278      ()
279      ()
280      ((34 . 57)(17 . 58))
281      ()
282      ()
283      ((44 . 23)(43 . 24)(41 . 25)(26 . 59))
284      ()
285      ((37 . 61))
286      ()
287      ()
288      ((33 . 62))
289      ((36 . 64)(23 . 65)(21 . 66)(20 . 67))
290      ()
291      ()
292      ((39 . 69)(34 . 35)(22 . 70))
293      ()
294      ((40 . 72)(36 . 73))
295      ()
296      ()
297      ()
298      ((37 . 74))
299      ((37 . 74))
300      ()
301      ((34 . 35)(22 . 70))
302      ((37 . 75))
303      ()
304      ((37 . 75))
305      ()
306      ()
307      ()
308      ()
309      ((48 . 22))
310      ((48 . 22))
311      ((44 . 23)(43 . 24)(41 . 25)(26 . 90)(12 . 40)(5 . 91))
312      ((44 . 23)(43 . 24)(41 . 25)(28 . 92)(26 . 28)(19 . 29)(18 . 30))
313      ()
314      ((33 . 93))
315      ((44 . 23)(43 . 24)(41 . 25)(26 . 28)(19 . 29)(18 . 94))
316      ((48 . 22))
317      ((33 . 95))
318      ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 102))
319      ((44 . 23)(43 . 24)(41 . 25)(26 . 90)(12 . 40)(5 . 103))
320      ((39 . 104)(37 . 105))
321      ()
322      ((33 . 106))
323      ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(15 . 50)(14 . 107)(13 . 49)(12 . 40)(5 . 42))
324      ()
325      ((33 . 108))
326      ((44 . 23)(43 . 24)(41 . 25)(26 . 109))
327      ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 110))
328      ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 38)(13 . 39)(12 . 40)(10 . 41)(5 . 42)(4 . 111))
329      ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(13 . 112)(12 . 40)(5 . 42))
330      ()
331      ()
332      ()
333      ()
334      ()
335      ()
336      ()
337      ()
338      ()
339      ()
340      ()
341      ()
342      ()
343      ()
344      ()
345      ((35 . 114))
346      ()
347      ((48 . 22))
348      ()
349      ((48 . 22))
350      ((47 . 115))
351      ((33 . 116))
352      ()
353      ()
354      ()
355      ()
356      ((40 . 117))
357      ((35 . 118))
358      ()
359      ((36 . 119))
360      ((48 . 22))
361      ((38 . 121))
362      ((48 . 22))
363      ()
364      ((40 . 117))
365      ()
366      ()
367      ((33 . 122))
368      ()
369      ()
370      ((48 . 22))
371      ((46 . 97)(43 . 98)(42 . 99)(24 . 129)(9 . 101))
372      ()
373      ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 130))
374      ((33 . 131))
375      ()
376      ((48 . 22))
377      ()
378      ()
379      ()
380      ()
381      ()
382      ()
383      ()
384      ((40 . 117))
385      ((48 . 22))
386     ])
387
388 ; *** Reduction Table ***
389 (defconst ew:reduction-table
390   (vector
391     '()
392     (lambda (stack sp goto-table $look)
393       (let* (($2 (aref stack (- sp 1)))
394              ($1 (aref stack (- sp 3))))
395           (accept $1)))
396     (lambda (stack sp goto-table $look)
397       (let* (($3 (aref stack (- sp 1)))
398              ($2 (aref stack (- sp 3)))
399              ($1 (aref stack (- sp 5))))
400           (lr-push stack (- sp 6) 1 goto-table ())))
401     (lambda (stack sp goto-table $look)
402       (let* (($3 (aref stack (- sp 1)))
403              ($2 (aref stack (- sp 3)))
404              ($1 (aref stack (- sp 5))))
405           (lr-push stack (- sp 6) 1 goto-table ())))
406     (lambda (stack sp goto-table $look)
407       (let* (($3 (aref stack (- sp 1)))
408              ($2 (aref stack (- sp 3)))
409              ($1 (aref stack (- sp 5))))
410           (lr-push stack (- sp 6) 1 goto-table ())))
411     (lambda (stack sp goto-table $look)
412       (let* (($3 (aref stack (- sp 1)))
413              ($2 (aref stack (- sp 3)))
414              ($1 (aref stack (- sp 5))))
415           (lr-push stack (- sp 6) 1 goto-table ())))
416     (lambda (stack sp goto-table $look)
417       (let* (($3 (aref stack (- sp 1)))
418              ($2 (aref stack (- sp 3)))
419              ($1 (aref stack (- sp 5))))
420           (lr-push stack (- sp 6) 1 goto-table ())))
421     (lambda (stack sp goto-table $look)
422       (let* (($3 (aref stack (- sp 1)))
423              ($2 (aref stack (- sp 3)))
424              ($1 (aref stack (- sp 5))))
425           (lr-push stack (- sp 6) 1 goto-table ())))
426     (lambda (stack sp goto-table $look)
427       (let* (($3 (aref stack (- sp 1)))
428              ($2 (aref stack (- sp 3)))
429              ($1 (aref stack (- sp 5))))
430           (lr-push stack (- sp 6) 1 goto-table ())))
431     (lambda (stack sp goto-table $look)
432       (let* ()
433           (lr-push stack (- sp 0) 2 goto-table ())))
434     (lambda (stack sp goto-table $look)
435       (let* (($1 (aref stack (- sp 1))))
436           (lr-push stack (- sp 2) 2 goto-table ())))
437     (lambda (stack sp goto-table $look)
438       (let* (($1 (aref stack (- sp 1))))
439           (lr-push stack (- sp 2) 3 goto-table ())))
440     (lambda (stack sp goto-table $look)
441       (let* (($3 (aref stack (- sp 1)))
442              ($2 (aref stack (- sp 3)))
443              ($1 (aref stack (- sp 5))))
444           (lr-push stack (- sp 6) 3 goto-table ())))
445     (lambda (stack sp goto-table $look)
446       (let* (($1 (aref stack (- sp 1))))
447           (lr-push stack (- sp 2) 4 goto-table ())))
448     (lambda (stack sp goto-table $look)
449       (let* (($1 (aref stack (- sp 1))))
450           (lr-push stack (- sp 2) 4 goto-table ())))
451     (lambda (stack sp goto-table $look)
452       (let* (($3 (aref stack (- sp 1)))
453              ($2 (aref stack (- sp 3)))
454              ($1 (aref stack (- sp 5))))
455           (lr-push stack (- sp 6) 5 goto-table ())))
456     (lambda (stack sp goto-table $look)
457       (let* (($3 (aref stack (- sp 1)))
458              ($2 (aref stack (- sp 3)))
459              ($1 (aref stack (- sp 5))))
460           (lr-push stack (- sp 6) 6 goto-table ())))
461     (lambda (stack sp goto-table $look)
462       (let* (($4 (aref stack (- sp 1)))
463              ($3 (aref stack (- sp 3)))
464              ($2 (aref stack (- sp 5)))
465              ($1 (aref stack (- sp 7))))
466           (lr-push stack (- sp 8) 7 goto-table ())))
467     (lambda (stack sp goto-table $look)
468       (let* (($2 (aref stack (- sp 1)))
469              ($1 (aref stack (- sp 3))))
470           (lr-push stack (- sp 4) 7 goto-table ())))
471     (lambda (stack sp goto-table $look)
472       (let* (($1 (aref stack (- sp 1))))
473           (lr-push stack (- sp 2) 8 goto-table ())))
474     (lambda (stack sp goto-table $look)
475       (let* (($3 (aref stack (- sp 1)))
476              ($2 (aref stack (- sp 3)))
477              ($1 (aref stack (- sp 5))))
478           (lr-push stack (- sp 6) 8 goto-table ())))
479     (lambda (stack sp goto-table $look)
480       (let* (($1 (aref stack (- sp 1))))
481           (lr-push stack (- sp 2) 9 goto-table ())))
482     (lambda (stack sp goto-table $look)
483       (let* (($4 (aref stack (- sp 1)))
484              ($3 (aref stack (- sp 3)))
485              ($2 (aref stack (- sp 5)))
486              ($1 (aref stack (- sp 7))))
487           (lr-push stack (- sp 8) 10 goto-table ())))
488     (lambda (stack sp goto-table $look)
489       (let* (($3 (aref stack (- sp 1)))
490              ($2 (aref stack (- sp 3)))
491              ($1 (aref stack (- sp 5))))
492           (lr-push stack (- sp 6) 11 goto-table ())))
493     (lambda (stack sp goto-table $look)
494       (let* (($5 (aref stack (- sp 1)))
495              ($4 (aref stack (- sp 3)))
496              ($3 (aref stack (- sp 5)))
497              ($2 (aref stack (- sp 7)))
498              ($1 (aref stack (- sp 9))))
499           (lr-push stack (- sp 10) 11 goto-table ())))
500     (lambda (stack sp goto-table $look)
501       (let* (($1 (aref stack (- sp 1))))
502           (lr-push stack (- sp 2) 12 goto-table ())))
503     (lambda (stack sp goto-table $look)
504       (let* (($3 (aref stack (- sp 1)))
505              ($2 (aref stack (- sp 3)))
506              ($1 (aref stack (- sp 5))))
507           (lr-push stack (- sp 6) 12 goto-table ())))
508     (lambda (stack sp goto-table $look)
509       (let* (($1 (aref stack (- sp 1))))
510           (lr-push stack (- sp 2) 13 goto-table ())))
511     (lambda (stack sp goto-table $look)
512       (let* (($2 (aref stack (- sp 1)))
513              ($1 (aref stack (- sp 3))))
514           (lr-push stack (- sp 4) 13 goto-table ())))
515     (lambda (stack sp goto-table $look)
516       (let* (($1 (aref stack (- sp 1))))
517           (lr-push stack (- sp 2) 13 goto-table ())))
518     (lambda (stack sp goto-table $look)
519       (let* ()
520           (lr-push stack (- sp 0) 14 goto-table ())))
521     (lambda (stack sp goto-table $look)
522       (let* (($1 (aref stack (- sp 1))))
523           (lr-push stack (- sp 2) 14 goto-table ())))
524     (lambda (stack sp goto-table $look)
525       (let* (($1 (aref stack (- sp 1))))
526           (lr-push stack (- sp 2) 15 goto-table ())))
527     (lambda (stack sp goto-table $look)
528       (let* (($3 (aref stack (- sp 1)))
529              ($2 (aref stack (- sp 3)))
530              ($1 (aref stack (- sp 5))))
531           (lr-push stack (- sp 6) 15 goto-table ())))
532     (lambda (stack sp goto-table $look)
533       (let* (($1 (aref stack (- sp 1))))
534           (lr-push stack (- sp 2) 16 goto-table ())))
535     (lambda (stack sp goto-table $look)
536       (let* (($3 (aref stack (- sp 1)))
537              ($2 (aref stack (- sp 3)))
538              ($1 (aref stack (- sp 5))))
539           (lr-push stack (- sp 6) 17 goto-table ())))
540     (lambda (stack sp goto-table $look)
541       (let* (($1 (aref stack (- sp 1))))
542           (lr-push stack (- sp 2) 18 goto-table (ew-mark-phrase $1 $look))))
543     (lambda (stack sp goto-table $look)
544       (let* (($1 (aref stack (- sp 1))))
545           (lr-push stack (- sp 2) 19 goto-table $1)))
546     (lambda (stack sp goto-table $look)
547       (let* (($2 (aref stack (- sp 1)))
548              ($1 (aref stack (- sp 3))))
549           (lr-push stack (- sp 4) 19 goto-table $1)))
550     (lambda (stack sp goto-table $look)
551       (let* (($2 (aref stack (- sp 1)))
552              ($1 (aref stack (- sp 3))))
553           (lr-push stack (- sp 4) 20 goto-table ())))
554     (lambda (stack sp goto-table $look)
555       (let* (($2 (aref stack (- sp 1)))
556              ($1 (aref stack (- sp 3))))
557           (lr-push stack (- sp 4) 21 goto-table ())))
558     (lambda (stack sp goto-table $look)
559       (let* (($4 (aref stack (- sp 1)))
560              ($3 (aref stack (- sp 3)))
561              ($2 (aref stack (- sp 5)))
562              ($1 (aref stack (- sp 7))))
563           (lr-push stack (- sp 8) 21 goto-table ())))
564     (lambda (stack sp goto-table $look)
565       (let* (($4 (aref stack (- sp 1)))
566              ($3 (aref stack (- sp 3)))
567              ($2 (aref stack (- sp 5)))
568              ($1 (aref stack (- sp 7))))
569           (lr-push stack (- sp 8) 22 goto-table ())))
570     (lambda (stack sp goto-table $look)
571       (let* ()
572           (lr-push stack (- sp 0) 23 goto-table ())))
573     (lambda (stack sp goto-table $look)
574       (let* (($1 (aref stack (- sp 1))))
575           (lr-push stack (- sp 2) 23 goto-table ())))
576     (lambda (stack sp goto-table $look)
577       (let* (($1 (aref stack (- sp 1))))
578           (lr-push stack (- sp 2) 24 goto-table ())))
579     (lambda (stack sp goto-table $look)
580       (let* (($1 (aref stack (- sp 1))))
581           (lr-push stack (- sp 2) 24 goto-table ())))
582     (lambda (stack sp goto-table $look)
583       (let* (($2 (aref stack (- sp 1)))
584              ($1 (aref stack (- sp 3))))
585           (lr-push stack (- sp 4) 25 goto-table ())))
586     (lambda (stack sp goto-table $look)
587       (let* (($1 (aref stack (- sp 1))))
588           (lr-push stack (- sp 2) 26 goto-table $1)))
589     (lambda (stack sp goto-table $look)
590       (let* (($1 (aref stack (- sp 1))))
591           (lr-push stack (- sp 2) 26 goto-table $1)))
592     (lambda (stack sp goto-table $look)
593       (let* (($1 (aref stack (- sp 1))))
594           (lr-push stack (- sp 2) 27 goto-table ())))
595     (lambda (stack sp goto-table $look)
596       (let* ()
597           (lr-push stack (- sp 0) 28 goto-table ())))
598     (lambda (stack sp goto-table $look)
599       (let* (($1 (aref stack (- sp 1))))
600           (lr-push stack (- sp 2) 28 goto-table ())))
601     (lambda (stack sp goto-table $look)
602       (let* ()
603           (lr-push stack (- sp 0) 29 goto-table ())))
604     (lambda (stack sp goto-table $look)
605       (let* (($1 (aref stack (- sp 1))))
606           (lr-push stack (- sp 2) 29 goto-table ())))
607     (lambda (stack sp goto-table $look)
608       (let* (($1 (aref stack (- sp 1))))
609           (lr-push stack (- sp 2) 30 goto-table ())))
610     (lambda (stack sp goto-table $look)
611       (let* (($3 (aref stack (- sp 1)))
612              ($2 (aref stack (- sp 3)))
613              ($1 (aref stack (- sp 5))))
614           (lr-push stack (- sp 6) 30 goto-table ())))
615     (lambda (stack sp goto-table $look)
616       (let* (($1 (aref stack (- sp 1))))
617           (lr-push stack (- sp 2) 31 goto-table ())))
618     (lambda (stack sp goto-table $look)
619       (let* (($3 (aref stack (- sp 1)))
620              ($2 (aref stack (- sp 3)))
621              ($1 (aref stack (- sp 5))))
622           (lr-push stack (- sp 6) 31 goto-table ())))
623     (lambda (stack sp goto-table $look)
624       (let* (($1 (aref stack (- sp 1))))
625           (lr-push stack (- sp 2) 32 goto-table ())))
626     (lambda (stack sp goto-table $look)
627       (let* (($3 (aref stack (- sp 1)))
628              ($2 (aref stack (- sp 3)))
629              ($1 (aref stack (- sp 5))))
630           (lr-push stack (- sp 6) 32 goto-table ())))
631     (lambda (stack sp goto-table $look)
632       (let* ()
633           (lr-push stack (- sp 0) 33 goto-table ())))
634     (lambda (stack sp goto-table $look)
635       (let* (($2 (aref stack (- sp 1)))
636              ($1 (aref stack (- sp 3))))
637           (lr-push stack (- sp 4) 33 goto-table ())))
638     (lambda (stack sp goto-table $look)
639       (let* (($2 (aref stack (- sp 1)))
640              ($1 (aref stack (- sp 3))))
641           (lr-push stack (- sp 4) 33 goto-table ())))
642     (lambda (stack sp goto-table $look)
643       (let* (($2 (aref stack (- sp 1)))
644              ($1 (aref stack (- sp 3))))
645           (lr-push stack (- sp 4) 33 goto-table ())))
646     (lambda (stack sp goto-table $look)
647       (let* (($2 (aref stack (- sp 1)))
648              ($1 (aref stack (- sp 3))))
649           (lr-push stack (- sp 4) 34 goto-table ())))
650     (lambda (stack sp goto-table $look)
651       (let* (($2 (aref stack (- sp 1)))
652              ($1 (aref stack (- sp 3))))
653           (lr-push stack (- sp 4) 35 goto-table ())))
654     (lambda (stack sp goto-table $look)
655       (let* (($2 (aref stack (- sp 1)))
656              ($1 (aref stack (- sp 3))))
657           (lr-push stack (- sp 4) 36 goto-table ())))
658     (lambda (stack sp goto-table $look)
659       (let* (($2 (aref stack (- sp 1)))
660              ($1 (aref stack (- sp 3))))
661           (lr-push stack (- sp 4) 37 goto-table ())))
662     (lambda (stack sp goto-table $look)
663       (let* (($2 (aref stack (- sp 1)))
664              ($1 (aref stack (- sp 3))))
665           (lr-push stack (- sp 4) 38 goto-table ())))
666     (lambda (stack sp goto-table $look)
667       (let* (($2 (aref stack (- sp 1)))
668              ($1 (aref stack (- sp 3))))
669           (lr-push stack (- sp 4) 39 goto-table ())))
670     (lambda (stack sp goto-table $look)
671       (let* (($2 (aref stack (- sp 1)))
672              ($1 (aref stack (- sp 3))))
673           (lr-push stack (- sp 4) 40 goto-table ())))
674     (lambda (stack sp goto-table $look)
675       (let* (($2 (aref stack (- sp 1)))
676              ($1 (aref stack (- sp 3))))
677           (lr-push stack (- sp 4) 41 goto-table $1)))
678     (lambda (stack sp goto-table $look)
679       (let* (($2 (aref stack (- sp 1)))
680              ($1 (aref stack (- sp 3))))
681           (lr-push stack (- sp 4) 42 goto-table ())))
682     (lambda (stack sp goto-table $look)
683       (let* (($2 (aref stack (- sp 1)))
684              ($1 (aref stack (- sp 3))))
685           (lr-push stack (- sp 4) 43 goto-table $1)))
686     (lambda (stack sp goto-table $look)
687       (let* (($3 (aref stack (- sp 1)))
688              ($2 (aref stack (- sp 3)))
689              ($1 (aref stack (- sp 5))))
690           (lr-push stack (- sp 6) 44 goto-table $1)))
691     (lambda (stack sp goto-table $look)
692       (let* ()
693           (lr-push stack (- sp 0) 45 goto-table ())))
694     (lambda (stack sp goto-table $look)
695       (let* (($2 (aref stack (- sp 1)))
696              ($1 (aref stack (- sp 3))))
697           (lr-push stack (- sp 4) 45 goto-table ())))
698     (lambda (stack sp goto-table $look)
699       (let* (($2 (aref stack (- sp 1)))
700              ($1 (aref stack (- sp 3))))
701           (lr-push stack (- sp 4) 45 goto-table ())))
702     (lambda (stack sp goto-table $look)
703       (let* (($2 (aref stack (- sp 1)))
704              ($1 (aref stack (- sp 3))))
705           (lr-push stack (- sp 4) 45 goto-table ())))
706     (lambda (stack sp goto-table $look)
707       (let* (($2 (aref stack (- sp 1)))
708              ($1 (aref stack (- sp 3))))
709           (lr-push stack (- sp 4) 45 goto-table ())))
710     (lambda (stack sp goto-table $look)
711       (let* (($2 (aref stack (- sp 1)))
712              ($1 (aref stack (- sp 3))))
713           (lr-push stack (- sp 4) 45 goto-table ())))
714     (lambda (stack sp goto-table $look)
715       (let* (($3 (aref stack (- sp 1)))
716              ($2 (aref stack (- sp 3)))
717              ($1 (aref stack (- sp 5))))
718           (lr-push stack (- sp 6) 46 goto-table ())))
719     (lambda (stack sp goto-table $look)
720       (let* ()
721           (lr-push stack (- sp 0) 47 goto-table ())))
722     (lambda (stack sp goto-table $look)
723       (let* (($2 (aref stack (- sp 1)))
724              ($1 (aref stack (- sp 3))))
725           (lr-push stack (- sp 4) 47 goto-table ())))
726     (lambda (stack sp goto-table $look)
727       (let* (($2 (aref stack (- sp 1)))
728              ($1 (aref stack (- sp 3))))
729           (lr-push stack (- sp 4) 47 goto-table ())))
730     (lambda (stack sp goto-table $look)
731       (let* (($2 (aref stack (- sp 1)))
732              ($1 (aref stack (- sp 3))))
733           (lr-push stack (- sp 4) 47 goto-table ())))
734     (lambda (stack sp goto-table $look)
735       (let* (($2 (aref stack (- sp 1)))
736              ($1 (aref stack (- sp 3))))
737           (lr-push stack (- sp 4) 47 goto-table ())))
738     (lambda (stack sp goto-table $look)
739       (let* (($2 (aref stack (- sp 1)))
740              ($1 (aref stack (- sp 3))))
741           (lr-push stack (- sp 4) 47 goto-table ())))
742     (lambda (stack sp goto-table $look)
743       (let* (($3 (aref stack (- sp 1)))
744              ($2 (aref stack (- sp 3)))
745              ($1 (aref stack (- sp 5))))
746           (lr-push stack (- sp 6) 48 goto-table ())))
747     (lambda (stack sp goto-table $look)
748       (let* ()
749           (lr-push stack (- sp 0) 49 goto-table ())))
750     (lambda (stack sp goto-table $look)
751       (let* (($2 (aref stack (- sp 1)))
752              ($1 (aref stack (- sp 3))))
753           (lr-push stack (- sp 4) 49 goto-table ())))
754     (lambda (stack sp goto-table $look)
755       (let* (($2 (aref stack (- sp 1)))
756              ($1 (aref stack (- sp 3))))
757           (lr-push stack (- sp 4) 49 goto-table ())))
758     (lambda (stack sp goto-table $look)
759       (let* (($2 (aref stack (- sp 1)))
760              ($1 (aref stack (- sp 3))))
761           (lr-push stack (- sp 4) 49 goto-table ())))
762     (lambda (stack sp goto-table $look)
763       (let* (($2 (aref stack (- sp 1)))
764              ($1 (aref stack (- sp 3))))
765           (lr-push stack (- sp 4) 49 goto-table ())))
766     (lambda (stack sp goto-table $look)
767       (let* (($2 (aref stack (- sp 1)))
768              ($1 (aref stack (- sp 3))))
769           (lr-push stack (- sp 4) 49 goto-table ())))
770     (lambda (stack sp goto-table $look)
771       (let* (($2 (aref stack (- sp 1)))
772              ($1 (aref stack (- sp 3))))
773           (lr-push stack (- sp 4) 49 goto-table ())))
774     (lambda (stack sp goto-table $look)
775       (let* (($2 (aref stack (- sp 1)))
776              ($1 (aref stack (- sp 3))))
777           (lr-push stack (- sp 4) 49 goto-table ())))
778   ))
779
780 ; *** Parser Definition ***
781 (defun ew-parse(scanner errorhandler)
782   (lr-parse scanner errorhandler 
783     ew:action-table
784     ew:goto-table
785     ew:reduction-table
786     ew:token-defs))
787
788 ; *** Footer ***
789 (put 'ew:cm-texts 'decode 'ew-decode-comment)
790 (put 'ew:cm-wsp 'decode 'ew-decode-comment)
791 (put 'ew:cm-fold 'decode 'ew-decode-comment)
792 (put 'ew:cm-qfold 'decode 'ew-decode-comment)
793 (put 'ew:cm-qpair 'decode 'ew-decode-comment)
794 (put 'ew:us-texts 'decode 'ew-decode-unstructured)
795 (put 'ew:us-wsp 'decode 'ew-decode-unstructured)
796 (put 'ew:us-fold 'decode 'ew-decode-unstructured)
797
798