--- /dev/null
+; *** 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)
+
+