; *** 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)