* ChangeLog: Fix typo.
authorakr <akr>
Sun, 16 Aug 1998 11:47:30 +0000 (11:47 +0000)
committerakr <akr>
Sun, 16 Aug 1998 11:47:30 +0000 (11:47 +0000)
* ew-parse.el: New file.

ChangeLog
ew-parse.el [new file with mode: 0644]

index cc51175..b399265 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,21 +1,27 @@
 1998-08-16  Tanaka Akira      <akr@jaist.ac.jp>
 
+       * ChangeLog: Fix typo.
+
+       * ew-parse.el: New file.
+
+1998-08-16  Tanaka Akira      <akr@jaist.ac.jp>
+
        * 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      <akr@jaist.ac.jp>
 
        * DOODLE: branched from flam-1_9_1
diff --git a/ew-parse.el b/ew-parse.el
new file mode 100644 (file)
index 0000000..265a52e
--- /dev/null
@@ -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)
+
+