From: akr Date: Sun, 16 Aug 1998 11:47:30 +0000 (+0000) Subject: * ChangeLog: Fix typo. X-Git-Tag: doodle-1_9_0~6 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=5aad1166a5731dc848a68cbb380bbcba6a23d063;p=elisp%2Fflim.git * ChangeLog: Fix typo. * ew-parse.el: New file. --- diff --git a/ChangeLog b/ChangeLog index cc51175..b399265 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,21 +1,27 @@ 1998-08-16 Tanaka Akira + * ChangeLog: Fix typo. + + * ew-parse.el: New file. + +1998-08-16 Tanaka Akira + * FLIM-ELS (flim-modules): Add `closure', `natset', `digraph', `automata', `rx', `lex', `lr-driver', `ew-util', `ew-line', `ew-quote', `ew-unit', `ew-data', `ew-parse', `ew-scan-s', `ew-scan-m', `ew-scan-u' and `ew-dec'. + * automata.el, closure.el, digraph.el, ew-data.el, ew-dec.el, + ew-line.el, ew-quote.el, ew-scan-m.el, ew-scan-s.el, + ew-scan-u.el, ew-unit.el, ew-util.el, lex.el, lr-driver.el, + natset.el, rx.el: New files. + * eword-decode.el: Require 'ew-dec. (eword-decode-header): Use `ew-decode-field'. (eword-decode-and-unfold-structure): Ditto. (eword-decode-structured-field-body): Ditto. (eword-decode-unstructured-field-body): Ditto. - * automata.el, closure.el, digraph.el, ew-data.el, ew-dec.el, - ew-line.el, parser, ew-quote.el, ew-scan-m.el, ew-scan-s.el, - ew-scan-u.el, ew-unit.el, ew-util.el, lex.el, lr-driver.el, - natset.el, rx.el: New files - 1998-08-16 Tanaka Akira * DOODLE: branched from flam-1_9_1 diff --git a/ew-parse.el b/ew-parse.el new file mode 100644 index 0000000..265a52e --- /dev/null +++ b/ew-parse.el @@ -0,0 +1,794 @@ +; *** Header *** +(provide 'ew-parse) +(require 'ew-data) +(require 'lr-driver) + +; *** Token Definitions *** +(defconst ew:*eoi*-tok 0) +(defconst ew:tag-mailbox-tok 1) +(defconst ew:tag-mailbox*-tok 2) +(defconst ew:tag-mailbox+-tok 3) +(defconst ew:tag-address*-tok 4) +(defconst ew:tag-address+-tok 5) +(defconst ew:tag-phrase*-tok 6) +(defconst ew:tag-phrase-msg-id*-tok 7) +(defconst ew:raw-lt-tok 8) +(defconst ew:raw-gt-tok 9) +(defconst ew:raw-at-tok 10) +(defconst ew:raw-comma-tok 11) +(defconst ew:raw-semicolon-tok 12) +(defconst ew:raw-colon-tok 13) +(defconst ew:raw-dot-tok 14) +(defconst ew:raw-atom-tok 15) +(defconst ew:raw-slash-tok 16) +(defconst ew:raw-question-tok 17) +(defconst ew:raw-equal-tok 18) +(defconst ew:raw-token-tok 19) +(defconst ew:raw-us-texts-tok 20) +(defconst ew:raw-us-wsp-tok 21) +(defconst ew:raw-us-fold-tok 22) +(defconst ew:raw-wsp-tok 23) +(defconst ew:raw-fold-tok 24) +(defconst ew:raw-qs-begin-tok 25) +(defconst ew:raw-qs-end-tok 26) +(defconst ew:raw-qs-texts-tok 27) +(defconst ew:raw-qs-wsp-tok 28) +(defconst ew:raw-qs-fold-tok 29) +(defconst ew:raw-qs-qfold-tok 30) +(defconst ew:raw-qs-qpair-tok 31) +(defconst ew:raw-dl-begin-tok 32) +(defconst ew:raw-dl-end-tok 33) +(defconst ew:raw-dl-texts-tok 34) +(defconst ew:raw-dl-wsp-tok 35) +(defconst ew:raw-dl-fold-tok 36) +(defconst ew:raw-dl-qfold-tok 37) +(defconst ew:raw-dl-qpair-tok 38) +(defconst ew:raw-cm-begin-tok 39) +(defconst ew:raw-cm-end-tok 40) +(defconst ew:raw-cm-nested-begin-tok 41) +(defconst ew:raw-cm-nested-end-tok 42) +(defconst ew:raw-cm-texts-tok 43) +(defconst ew:raw-cm-wsp-tok 44) +(defconst ew:raw-cm-fold-tok 45) +(defconst ew:raw-cm-qfold-tok 46) +(defconst ew:raw-cm-qpair-tok 47) +(defconst ew:raw-err-tok 48) + +(defconst ew:token-defs + (list + (cons 0 "*eoi*") + (cons 1 "tag-mailbox") + (cons 2 "tag-mailbox*") + (cons 3 "tag-mailbox+") + (cons 4 "tag-address*") + (cons 5 "tag-address+") + (cons 6 "tag-phrase*") + (cons 7 "tag-phrase-msg-id*") + (cons 8 "raw-lt") + (cons 9 "raw-gt") + (cons 10 "raw-at") + (cons 11 "raw-comma") + (cons 12 "raw-semicolon") + (cons 13 "raw-colon") + (cons 14 "raw-dot") + (cons 15 "raw-atom") + (cons 16 "raw-slash") + (cons 17 "raw-question") + (cons 18 "raw-equal") + (cons 19 "raw-token") + (cons 20 "raw-us-texts") + (cons 21 "raw-us-wsp") + (cons 22 "raw-us-fold") + (cons 23 "raw-wsp") + (cons 24 "raw-fold") + (cons 25 "raw-qs-begin") + (cons 26 "raw-qs-end") + (cons 27 "raw-qs-texts") + (cons 28 "raw-qs-wsp") + (cons 29 "raw-qs-fold") + (cons 30 "raw-qs-qfold") + (cons 31 "raw-qs-qpair") + (cons 32 "raw-dl-begin") + (cons 33 "raw-dl-end") + (cons 34 "raw-dl-texts") + (cons 35 "raw-dl-wsp") + (cons 36 "raw-dl-fold") + (cons 37 "raw-dl-qfold") + (cons 38 "raw-dl-qpair") + (cons 39 "raw-cm-begin") + (cons 40 "raw-cm-end") + (cons 41 "raw-cm-nested-begin") + (cons 42 "raw-cm-nested-end") + (cons 43 "raw-cm-texts") + (cons 44 "raw-cm-wsp") + (cons 45 "raw-cm-fold") + (cons 46 "raw-cm-qfold") + (cons 47 "raw-cm-qpair") + (cons 48 "raw-err") + )) + +; *** Action Table *** +(defconst ew:action-table + [ + ((default . *error*) (1 . 7) (2 . 6) (3 . 5) (4 . 4) (5 . 3) (6 . 2) (7 . 1)) + ((default . -61)) + ((default . -61)) + ((default . -61)) + ((default . -61)) + ((default . -61)) + ((default . -61)) + ((default . -61)) + ((default . *error*) (0 . 16)) + ((default . -51) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . -53) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . *error*) (8 . 34) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . -9) (8 . 34) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . *error*) (8 . 34) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . -30) (8 . 34) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . *error*) (8 . 34) (15 . 21) (23 . 20) (24 . 19) (25 . 18) (39 . 17)) + ((default . -1) (0 . accept)) + ((default . -90)) + ((default . -76)) + ((default . -63)) + ((default . -62)) + ((default . -61)) + ((default . -64)) + ((default . -61)) + ((default . -48)) + ((default . -49)) + ((default . -8) (8 . 34)) + ((default . -57)) + ((default . -37)) + ((default . -36) (15 . 21) (25 . 18)) + ((default . -52)) + ((default . -54) (11 . 60)) + ((default . -7)) + ((default . -55)) + ((default . -61)) + ((default . -43) (10 . 63)) + ((default . -37) (14 . -25) (10 . -25)) + ((default . -29)) + ((default . *error*) (8 . 34) (13 . 68)) + ((default . -13)) + ((default . *error*) (10 . 63) (14 . 71)) + ((default . -14)) + ((default . -27)) + ((default . -11)) + ((default . -6) (11 . 60)) + ((default . -10) (11 . 60)) + ((default . -5)) + ((default . *error*) (8 . 34)) + ((default . -4) (11 . 60)) + ((default . -32)) + ((default . -31) (11 . 60)) + ((default . -3)) + ((default . -2)) + ((default . *error*) (40 . 83) (41 . 82) (42 . 81) (43 . 80) (44 . 79) (45 . 78) (46 . 77) (47 . 76)) + ((default . *error*) (26 . 89) (27 . 88) (28 . 87) (29 . 86) (30 . 85) (31 . 84)) + ((default . -74) (23 . 20) (24 . 19) (39 . 17)) + ((default . -72) (23 . 20) (24 . 19) (39 . 17)) + ((default . *error*) (15 . 21) (25 . 18)) + ((default . -51) (15 . 21) (25 . 18)) + ((default . -38)) + ((default . -61)) + ((default . *error*) (15 . 21) (25 . 18)) + ((default . -65) (23 . 20) (24 . 19) (39 . 17)) + ((default . -61)) + ((default . *error*) (15 . 21) (32 . 96)) + ((default . *error*) (15 . 21) (25 . 18)) + ((default . *error*) (11 . 60) (13 . 68)) + ((default . -44)) + ((default . -61)) + ((default . -30) (8 . 34) (15 . 21) (25 . 18)) + ((default . -28)) + ((default . -61)) + ((default . *error*) (15 . 21) (25 . 18)) + ((default . *error*) (15 . 21) (32 . 96)) + ((default . *error*) (8 . 34) (15 . 21) (25 . 18)) + ((default . *error*) (8 . 34) (15 . 21) (25 . 18)) + ((default . -97)) + ((default . -96)) + ((default . -95)) + ((default . -94)) + ((default . -93)) + ((default . -92)) + ((default . -91)) + ((default . -89)) + ((default . -81)) + ((default . -80)) + ((default . -79)) + ((default . -78)) + ((default . -77)) + ((default . -75)) + ((default . -25)) + ((default . *error*) (9 . 113)) + ((default . -58)) + ((default . -68) (23 . 20) (24 . 19) (39 . 17)) + ((default . -56)) + ((default . -67) (23 . 20) (24 . 19) (39 . 17)) + ((default . -83)) + ((default . -61)) + ((default . -21)) + ((default . -46)) + ((default . -19)) + ((default . -45)) + ((default . -40) (14 . 71)) + ((default . *error*) (9 . 113)) + ((default . -39)) + ((default . *error*) (10 . 63)) + ((default . -70) (23 . 20) (24 . 19) (39 . 17)) + ((default . *error*) (12 . 120)) + ((default . -71) (23 . 20) (24 . 19) (39 . 17)) + ((default . -26)) + ((default . -15) (14 . 71)) + ((default . -12)) + ((default . -33)) + ((default . -61)) + ((default . -35)) + ((default . *error*) (33 . 128) (34 . 127) (35 . 126) (36 . 125) (37 . 124) (38 . 123)) + ((default . -73) (23 . 20) (24 . 19) (39 . 17)) + ((default . *error*) (15 . 21) (32 . 96)) + ((default . -42)) + ((default . *error*) (15 . 21) (32 . 96)) + ((default . -61)) + ((default . -22)) + ((default . -66) (23 . 20) (24 . 19) (39 . 17)) + ((default . -88)) + ((default . -87)) + ((default . -86)) + ((default . -85)) + ((default . -84)) + ((default . -82)) + ((default . -20)) + ((default . -41) (14 . 71)) + ((default . -69) (23 . 20) (24 . 19) (39 . 17)) + ]) + +; *** Goto Table *** +(defconst ew:goto-table + [ + ((1 . 8)) + ((33 . 9)) + ((33 . 10)) + ((33 . 11)) + ((33 . 12)) + ((33 . 13)) + ((33 . 14)) + ((33 . 15)) + () + ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(31 . 26)(28 . 27)(26 . 28)(19 . 29)(18 . 30)) + ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(30 . 31)(29 . 32)(26 . 28)(19 . 29)(18 . 33)) + ((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)) + ((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)) + ((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)) + ((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)) + ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(13 . 52)(12 . 40)(5 . 42)) + () + ((49 . 53)) + ((45 . 54)) + () + () + ((33 . 55)) + () + ((33 . 56)) + () + () + ((34 . 57)(17 . 58)) + () + () + ((44 . 23)(43 . 24)(41 . 25)(26 . 59)) + () + ((37 . 61)) + () + () + ((33 . 62)) + ((36 . 64)(23 . 65)(21 . 66)(20 . 67)) + () + () + ((39 . 69)(34 . 35)(22 . 70)) + () + ((40 . 72)(36 . 73)) + () + () + () + ((37 . 74)) + ((37 . 74)) + () + ((34 . 35)(22 . 70)) + ((37 . 75)) + () + ((37 . 75)) + () + () + () + () + ((48 . 22)) + ((48 . 22)) + ((44 . 23)(43 . 24)(41 . 25)(26 . 90)(12 . 40)(5 . 91)) + ((44 . 23)(43 . 24)(41 . 25)(28 . 92)(26 . 28)(19 . 29)(18 . 30)) + () + ((33 . 93)) + ((44 . 23)(43 . 24)(41 . 25)(26 . 28)(19 . 29)(18 . 94)) + ((48 . 22)) + ((33 . 95)) + ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 102)) + ((44 . 23)(43 . 24)(41 . 25)(26 . 90)(12 . 40)(5 . 103)) + ((39 . 104)(37 . 105)) + () + ((33 . 106)) + ((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)) + () + ((33 . 108)) + ((44 . 23)(43 . 24)(41 . 25)(26 . 109)) + ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 110)) + ((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)) + ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(13 . 112)(12 . 40)(5 . 42)) + () + () + () + () + () + () + () + () + () + () + () + () + () + () + () + ((35 . 114)) + () + ((48 . 22)) + () + ((48 . 22)) + ((47 . 115)) + ((33 . 116)) + () + () + () + () + ((40 . 117)) + ((35 . 118)) + () + ((36 . 119)) + ((48 . 22)) + ((38 . 121)) + ((48 . 22)) + () + ((40 . 117)) + () + () + ((33 . 122)) + () + () + ((48 . 22)) + ((46 . 97)(43 . 98)(42 . 99)(24 . 129)(9 . 101)) + () + ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 130)) + ((33 . 131)) + () + ((48 . 22)) + () + () + () + () + () + () + () + ((40 . 117)) + ((48 . 22)) + ]) + +; *** Reduction Table *** +(defconst ew:reduction-table + (vector + '() + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (accept $1))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 1 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 2 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 2 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 3 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 3 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 4 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 4 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 5 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 6 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($4 (aref stack (- sp 1))) + ($3 (aref stack (- sp 3))) + ($2 (aref stack (- sp 5))) + ($1 (aref stack (- sp 7)))) + (lr-push stack (- sp 8) 7 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 7 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 8 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 8 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 9 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($4 (aref stack (- sp 1))) + ($3 (aref stack (- sp 3))) + ($2 (aref stack (- sp 5))) + ($1 (aref stack (- sp 7)))) + (lr-push stack (- sp 8) 10 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 11 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($5 (aref stack (- sp 1))) + ($4 (aref stack (- sp 3))) + ($3 (aref stack (- sp 5))) + ($2 (aref stack (- sp 7))) + ($1 (aref stack (- sp 9)))) + (lr-push stack (- sp 10) 11 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 12 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 12 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 13 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 13 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 13 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 14 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 14 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 15 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 15 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 16 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 17 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 18 goto-table (ew-mark-phrase (car $1) (cdr $1))))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 19 goto-table $1))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 19 goto-table (cons (car $1) (cdr $2))))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 20 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 21 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($4 (aref stack (- sp 1))) + ($3 (aref stack (- sp 3))) + ($2 (aref stack (- sp 5))) + ($1 (aref stack (- sp 7)))) + (lr-push stack (- sp 8) 21 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($4 (aref stack (- sp 1))) + ($3 (aref stack (- sp 3))) + ($2 (aref stack (- sp 5))) + ($1 (aref stack (- sp 7)))) + (lr-push stack (- sp 8) 22 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 23 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 23 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 24 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 24 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 25 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 26 goto-table $1))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 26 goto-table $1))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 27 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 28 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 28 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 29 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 29 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 30 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 30 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 31 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 31 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($1 (aref stack (- sp 1)))) + (lr-push stack (- sp 2) 32 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 32 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 33 goto-table nil))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 33 goto-table (cons (if $1 (car $1) $2) $2)))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 33 goto-table (cons (if $1 (car $1) $2) $2)))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 33 goto-table (cons (if $1 (car $1) (car $2)) (cdr $2))))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 34 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 35 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 36 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 37 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 38 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 39 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 40 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 41 goto-table (cons (car $1) (if $2 (cdr $2) (cdr $1)))))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 42 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 43 goto-table (cons $1 (if $2 (cdr $2) $1))))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 44 goto-table (cons $1 $3)))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 45 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 45 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 45 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 45 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 45 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 45 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 46 goto-table ()))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 47 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 47 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 47 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 47 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 47 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 47 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($3 (aref stack (- sp 1))) + ($2 (aref stack (- sp 3))) + ($1 (aref stack (- sp 5)))) + (lr-push stack (- sp 6) 48 goto-table (cons $1 $3)))) + (lambda (stack sp goto-table) + (let* () + (lr-push stack (- sp 0) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + (lambda (stack sp goto-table) + (let* (($2 (aref stack (- sp 1))) + ($1 (aref stack (- sp 3)))) + (lr-push stack (- sp 4) 49 goto-table ()))) + )) + +; *** Parser Definition *** +(defun ew-parse(scanner errorhandler) + (lr-parse scanner errorhandler + ew:action-table + ew:goto-table + ew:reduction-table + ew:token-defs)) + +; *** Footer *** +(put 'ew:raw-cm-texts-tok 'decode 'ew-decode-comment) +(put 'ew:raw-cm-wsp-tok 'decode 'ew-decode-comment) +(put 'ew:raw-cm-fold-tok 'decode 'ew-decode-comment) +(put 'ew:raw-cm-qfold-tok 'decode 'ew-decode-comment) +(put 'ew:raw-cm-qpair-tok 'decode 'ew-decode-comment) +(put 'ew:raw-us-texts-tok 'decode 'ew-decode-unstructured) +(put 'ew:raw-us-wsp-tok 'decode 'ew-decode-unstructured) +(put 'ew:raw-us-fold-tok 'decode 'ew-decode-unstructured) + +