Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/Parse/parse/ml.grm.sml
ViewVC logotype

Annotation of /sml/trunk/src/compiler/Parse/parse/ml.grm.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 205 - (view) (download)

1 : monnier 205 functor MLLrValsFun(structure Token : TOKEN)
2 :     : sig structure ParserData : PARSER_DATA
3 :     structure Tokens : ML_TOKENS
4 :     end
5 :     =
6 :     struct
7 :     structure ParserData=
8 :     struct
9 :     structure Header =
10 :     struct
11 :     (* ml.grm
12 :     *
13 :     * Copyright 1989,1992 by AT&T Bell Laboratories
14 :     *)
15 :    
16 :     open Ast ErrorMsg Symbol FastSymbol AstUtil Fixity
17 :    
18 :     type raw_symbol = FastSymbol.raw_symbol
19 :    
20 :     fun markexp (e as MarkExp _, _, _) = e
21 :     | markexp(e,a,b) = MarkExp(e,(a,b))
22 :     (*fun markdec((d as MarkDec _, e), _,_) = (d,e)
23 :     | markdec((d,e),a,b) = (MarkDec(d,(a,b)),e)
24 :     *)
25 :     fun markdec(d as MarkDec _, _,_) = d
26 :     | markdec(d,a,b) = MarkDec(d,(a,b))
27 :    
28 :     val asteriskHash = StrgHash.hashString "*"
29 :     val asteriskString = "*"
30 :     val equalHash = StrgHash.hashString "="
31 :     val equalString = "="
32 :     val bogusHash = StrgHash.hashString "BOGUS"
33 :     val bogusString = "BOGUS"
34 :     val quotedBogusHash = StrgHash.hashString "'BOGUS"
35 :     val quotedBogusString = "'BOGUS"
36 :     val quotedBogusHash = StrgHash.hashString "'BOGUS"
37 :     val quotedBogusString = "'BOGUS"
38 :    
39 :    
40 :     end
41 :     structure LrTable = Token.LrTable
42 :     structure Token = Token
43 :     local open LrTable in
44 :     val table=let val actionRows =
45 :     "\
46 :     \\001\000\001\000\000\000\002\000\000\000\000\000\
47 :     \\001\000\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
48 :     \\008\000\047\000\009\000\046\000\010\000\045\000\011\000\044\000\
49 :     \\016\000\043\000\017\000\042\000\021\000\041\000\023\000\040\000\
50 :     \\027\000\039\000\028\000\038\000\029\000\037\000\031\000\036\000\
51 :     \\032\000\035\000\035\000\034\000\036\000\033\000\038\000\032\000\
52 :     \\039\000\031\000\040\000\030\000\042\000\029\000\043\000\028\000\
53 :     \\044\000\027\000\045\000\026\000\049\000\025\000\051\000\024\000\
54 :     \\053\000\023\000\054\000\022\000\056\000\021\000\060\000\020\000\
55 :     \\064\000\019\000\065\000\018\000\066\000\017\000\072\000\016\000\
56 :     \\073\000\015\000\074\000\014\000\077\000\013\000\000\000\
57 :     \\001\000\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
58 :     \\008\000\047\000\009\000\046\000\010\000\045\000\016\000\043\000\
59 :     \\021\000\041\000\027\000\039\000\031\000\036\000\032\000\035\000\
60 :     \\038\000\032\000\042\000\029\000\045\000\026\000\056\000\021\000\
61 :     \\060\000\020\000\064\000\019\000\065\000\018\000\066\000\017\000\
62 :     \\068\000\067\000\073\000\015\000\074\000\014\000\077\000\013\000\000\000\
63 :     \\001\000\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
64 :     \\008\000\047\000\009\000\046\000\010\000\045\000\016\000\043\000\
65 :     \\021\000\041\000\027\000\039\000\031\000\036\000\032\000\035\000\
66 :     \\038\000\032\000\042\000\029\000\045\000\026\000\056\000\021\000\
67 :     \\060\000\020\000\064\000\019\000\065\000\018\000\066\000\017\000\
68 :     \\068\000\075\000\073\000\015\000\074\000\014\000\077\000\013\000\000\000\
69 :     \\001\000\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
70 :     \\008\000\047\000\009\000\046\000\010\000\045\000\016\000\043\000\
71 :     \\021\000\041\000\027\000\039\000\031\000\036\000\032\000\035\000\
72 :     \\038\000\032\000\042\000\029\000\045\000\026\000\056\000\021\000\
73 :     \\060\000\020\000\064\000\019\000\065\000\018\000\066\000\017\000\
74 :     \\069\000\073\000\073\000\015\000\074\000\014\000\077\000\013\000\000\000\
75 :     \\001\000\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
76 :     \\008\000\047\000\009\000\046\000\010\000\045\000\016\000\043\000\
77 :     \\021\000\041\000\027\000\039\000\031\000\036\000\032\000\035\000\
78 :     \\038\000\032\000\042\000\029\000\045\000\026\000\056\000\021\000\
79 :     \\060\000\020\000\064\000\019\000\065\000\018\000\066\000\017\000\
80 :     \\073\000\015\000\074\000\014\000\077\000\013\000\000\000\
81 :     \\001\000\003\000\055\000\021\000\041\000\048\000\066\001\060\000\020\000\000\000\
82 :     \\001\000\003\000\055\000\021\000\041\000\060\000\020\000\000\000\
83 :     \\001\000\003\000\083\000\004\000\104\000\037\000\208\000\042\000\207\000\
84 :     \\060\000\081\000\066\000\206\000\000\000\
85 :     \\001\000\003\000\083\000\005\000\082\000\060\000\081\000\000\000\
86 :     \\001\000\003\000\083\000\005\000\082\000\060\000\081\000\067\000\080\000\000\000\
87 :     \\001\000\003\000\083\000\005\000\082\000\060\000\081\000\067\000\007\001\000\000\
88 :     \\001\000\003\000\083\000\037\000\208\000\042\000\207\000\060\000\081\000\000\000\
89 :     \\001\000\003\000\083\000\042\000\056\001\060\000\081\000\000\000\
90 :     \\001\000\003\000\083\000\060\000\081\000\000\000\
91 :     \\001\000\003\000\105\000\004\000\104\000\005\000\050\000\006\000\049\000\
92 :     \\007\000\103\000\009\000\102\000\010\000\101\000\037\000\100\000\
93 :     \\042\000\099\000\046\000\098\000\057\000\097\000\060\000\081\000\
94 :     \\064\000\096\000\065\000\095\000\066\000\094\000\073\000\093\000\000\000\
95 :     \\001\000\003\000\105\000\004\000\104\000\005\000\050\000\006\000\049\000\
96 :     \\007\000\103\000\009\000\102\000\010\000\101\000\037\000\139\000\
97 :     \\042\000\099\000\057\000\097\000\060\000\081\000\064\000\096\000\
98 :     \\065\000\095\000\066\000\094\000\073\000\093\000\000\000\
99 :     \\001\000\003\000\105\000\004\000\194\000\005\000\050\000\006\000\049\000\
100 :     \\007\000\103\000\009\000\102\000\010\000\101\000\042\000\099\000\
101 :     \\057\000\097\000\060\000\081\000\064\000\096\000\065\000\095\000\
102 :     \\066\000\143\000\069\000\193\000\073\000\093\000\000\000\
103 :     \\001\000\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
104 :     \\009\000\102\000\010\000\101\000\037\000\100\000\042\000\099\000\
105 :     \\057\000\097\000\060\000\081\000\064\000\096\000\065\000\095\000\
106 :     \\066\000\143\000\073\000\093\000\000\000\
107 :     \\001\000\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
108 :     \\009\000\102\000\010\000\101\000\037\000\139\000\042\000\099\000\
109 :     \\057\000\097\000\060\000\081\000\064\000\096\000\065\000\095\000\
110 :     \\066\000\143\000\073\000\093\000\000\000\
111 :     \\001\000\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
112 :     \\009\000\102\000\010\000\101\000\042\000\099\000\057\000\097\000\
113 :     \\060\000\081\000\064\000\096\000\065\000\095\000\066\000\143\000\
114 :     \\068\000\190\000\073\000\093\000\000\000\
115 :     \\001\000\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
116 :     \\009\000\102\000\010\000\101\000\042\000\099\000\057\000\097\000\
117 :     \\060\000\081\000\064\000\096\000\065\000\095\000\066\000\143\000\
118 :     \\068\000\196\000\073\000\093\000\000\000\
119 :     \\001\000\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
120 :     \\009\000\102\000\010\000\101\000\042\000\099\000\057\000\097\000\
121 :     \\060\000\081\000\064\000\096\000\065\000\095\000\066\000\143\000\
122 :     \\069\000\193\000\073\000\093\000\000\000\
123 :     \\001\000\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
124 :     \\009\000\102\000\010\000\101\000\042\000\099\000\057\000\097\000\
125 :     \\060\000\081\000\064\000\096\000\065\000\095\000\066\000\143\000\
126 :     \\073\000\093\000\000\000\
127 :     \\001\000\003\000\119\000\021\000\041\000\038\000\150\001\050\000\149\001\
128 :     \\060\000\020\000\000\000\
129 :     \\001\000\003\000\119\000\021\000\041\000\038\000\161\001\060\000\020\000\000\000\
130 :     \\001\000\003\000\119\000\021\000\041\000\053\000\120\001\060\000\020\000\000\000\
131 :     \\001\000\003\000\119\000\021\000\041\000\053\000\221\001\060\000\020\000\000\000\
132 :     \\001\000\003\000\119\000\021\000\041\000\060\000\020\000\000\000\
133 :     \\001\000\003\000\163\000\000\000\
134 :     \\001\000\003\000\163\000\004\000\162\000\064\000\161\000\066\000\160\000\000\000\
135 :     \\001\000\003\000\167\000\005\000\050\000\006\000\049\000\007\000\048\000\
136 :     \\008\000\047\000\009\000\046\000\010\000\045\000\031\000\036\000\
137 :     \\038\000\032\000\042\000\029\000\064\000\019\000\065\000\018\000\
138 :     \\066\000\017\000\073\000\015\000\074\000\014\000\077\000\013\000\000\000\
139 :     \\001\000\003\000\202\000\005\000\082\000\018\000\201\000\060\000\081\000\000\000\
140 :     \\001\000\003\000\202\000\005\000\082\000\018\000\201\000\060\000\081\000\
141 :     \\067\000\200\000\000\000\
142 :     \\001\000\003\000\212\000\000\000\
143 :     \\001\000\003\000\183\001\000\000\
144 :     \\001\000\004\000\194\000\000\000\
145 :     \\001\000\012\000\213\000\058\000\172\001\000\000\
146 :     \\001\000\012\000\248\000\058\000\253\000\059\000\252\000\000\000\
147 :     \\001\000\013\000\255\000\014\000\153\001\000\000\
148 :     \\001\000\013\000\255\000\063\000\103\001\069\000\102\001\000\000\
149 :     \\001\000\014\000\187\000\015\000\043\001\061\000\185\000\063\000\042\001\
150 :     \\069\000\041\001\000\000\
151 :     \\001\000\014\000\187\000\021\000\186\000\061\000\185\000\000\000\
152 :     \\001\000\014\000\187\000\021\000\057\001\061\000\185\000\000\000\
153 :     \\001\000\014\000\187\000\026\000\243\000\061\000\185\000\000\000\
154 :     \\001\000\014\000\050\001\021\000\047\002\061\000\049\001\063\000\150\002\
155 :     \\067\000\150\002\000\000\
156 :     \\001\000\019\000\157\001\030\000\060\000\061\000\059\000\070\000\058\000\
157 :     \\071\000\057\000\000\000\
158 :     \\001\000\020\000\154\001\000\000\
159 :     \\001\000\020\000\155\001\000\000\
160 :     \\001\000\020\000\173\001\000\000\
161 :     \\001\000\020\000\222\001\000\000\
162 :     \\001\000\020\000\225\001\000\000\
163 :     \\001\000\020\000\004\002\000\000\
164 :     \\001\000\020\000\019\002\000\000\
165 :     \\001\000\020\000\039\002\061\000\208\001\062\000\207\001\000\000\
166 :     \\001\000\020\000\041\002\000\000\
167 :     \\001\000\020\000\042\002\000\000\
168 :     \\001\000\021\000\180\000\000\000\
169 :     \\001\000\021\000\220\000\000\000\
170 :     \\001\000\021\000\012\001\000\000\
171 :     \\001\000\021\000\048\001\000\000\
172 :     \\001\000\021\000\059\001\000\000\
173 :     \\001\000\021\000\063\001\000\000\
174 :     \\001\000\021\000\078\001\000\000\
175 :     \\001\000\021\000\082\001\000\000\
176 :     \\001\000\021\000\093\001\000\000\
177 :     \\001\000\021\000\141\001\000\000\
178 :     \\001\000\021\000\158\001\000\000\
179 :     \\001\000\021\000\171\001\000\000\
180 :     \\001\000\021\000\187\001\000\000\
181 :     \\001\000\021\000\204\001\000\000\
182 :     \\001\000\021\000\205\001\000\000\
183 :     \\001\000\021\000\255\001\000\000\
184 :     \\001\000\021\000\012\002\000\000\
185 :     \\001\000\021\000\040\002\000\000\
186 :     \\001\000\024\000\181\000\030\000\060\000\061\000\059\000\070\000\058\000\
187 :     \\071\000\057\000\000\000\
188 :     \\001\000\025\000\152\000\000\000\
189 :     \\001\000\030\000\060\000\041\000\251\000\061\000\059\000\070\000\058\000\
190 :     \\071\000\057\000\000\000\
191 :     \\001\000\030\000\060\000\052\000\231\000\061\000\059\000\070\000\058\000\
192 :     \\071\000\057\000\000\000\
193 :     \\001\000\033\000\224\000\000\000\
194 :     \\001\000\033\000\227\000\000\000\
195 :     \\001\000\033\000\074\001\000\000\
196 :     \\001\000\033\000\010\002\000\000\
197 :     \\001\000\033\000\016\002\000\000\
198 :     \\001\000\033\000\027\002\000\000\
199 :     \\001\000\061\000\221\000\000\000\
200 :     \\001\000\061\000\106\001\000\000\
201 :     \\001\000\061\000\129\001\000\000\
202 :     \\001\000\061\000\185\001\000\000\
203 :     \\001\000\061\000\194\001\066\000\172\000\000\000\
204 :     \\001\000\061\000\208\001\062\000\207\001\069\000\026\002\000\000\
205 :     \\001\000\061\000\236\001\000\000\
206 :     \\001\000\061\000\246\001\000\000\
207 :     \\001\000\066\000\172\000\000\000\
208 :     \\001\000\067\000\178\000\000\000\
209 :     \\001\000\067\000\046\001\000\000\
210 :     \\001\000\067\000\104\001\000\000\
211 :     \\001\000\068\000\168\000\000\000\
212 :     \\001\000\068\000\177\000\000\000\
213 :     \\001\000\068\000\038\001\000\000\
214 :     \\001\000\068\000\045\001\000\000\
215 :     \\001\000\069\000\173\000\000\000\
216 :     \\001\000\069\000\176\000\000\000\
217 :     \\001\000\069\000\040\001\000\000\
218 :     \\001\000\069\000\061\001\000\000\
219 :     \\001\000\069\000\101\001\000\000\
220 :     \\001\000\069\000\109\001\000\000\
221 :     \\001\000\069\000\199\001\000\000\
222 :     \\001\000\069\000\200\001\000\000\
223 :     \\001\000\069\000\025\002\000\000\
224 :     \\001\000\075\000\064\000\076\000\063\000\000\000\
225 :     \\001\000\075\000\165\000\000\000\
226 :     \\045\002\000\000\
227 :     \\046\002\000\000\
228 :     \\047\002\000\000\
229 :     \\047\002\025\000\211\000\000\000\
230 :     \\048\002\000\000\
231 :     \\049\002\000\000\
232 :     \\049\002\025\000\152\000\000\000\
233 :     \\049\002\025\000\223\000\000\000\
234 :     \\050\002\000\000\
235 :     \\051\002\000\000\
236 :     \\052\002\000\000\
237 :     \\053\002\017\000\170\001\042\000\146\000\000\000\
238 :     \\053\002\042\000\146\000\000\000\
239 :     \\054\002\000\000\
240 :     \\055\002\000\000\
241 :     \\056\002\000\000\
242 :     \\057\002\000\000\
243 :     \\058\002\000\000\
244 :     \\059\002\025\000\008\001\000\000\
245 :     \\060\002\013\000\255\000\000\000\
246 :     \\061\002\000\000\
247 :     \\062\002\063\000\105\001\000\000\
248 :     \\063\002\000\000\
249 :     \\064\002\000\000\
250 :     \\065\002\000\000\
251 :     \\066\002\000\000\
252 :     \\067\002\000\000\
253 :     \\068\002\000\000\
254 :     \\069\002\000\000\
255 :     \\070\002\000\000\
256 :     \\071\002\003\000\163\000\060\000\001\001\000\000\
257 :     \\072\002\000\000\
258 :     \\073\002\013\000\255\000\000\000\
259 :     \\074\002\003\000\163\000\060\000\001\001\000\000\
260 :     \\075\002\013\000\255\000\063\000\103\001\000\000\
261 :     \\076\002\000\000\
262 :     \\077\002\015\000\244\000\000\000\
263 :     \\078\002\000\000\
264 :     \\079\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
265 :     \\080\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
266 :     \\081\002\000\000\
267 :     \\082\002\063\000\179\000\000\000\
268 :     \\083\002\002\000\175\000\030\000\060\000\061\000\059\000\063\000\174\000\
269 :     \\070\000\058\000\071\000\057\000\000\000\
270 :     \\083\002\002\000\175\000\030\000\060\000\061\000\059\000\070\000\058\000\
271 :     \\071\000\057\000\000\000\
272 :     \\084\002\000\000\
273 :     \\085\002\000\000\
274 :     \\086\002\061\000\059\000\071\000\057\000\000\000\
275 :     \\087\002\061\000\059\000\000\000\
276 :     \\088\002\013\000\255\000\000\000\
277 :     \\089\002\000\000\
278 :     \\090\002\000\000\
279 :     \\091\002\000\000\
280 :     \\092\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
281 :     \\093\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
282 :     \\094\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
283 :     \\095\002\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
284 :     \\008\000\047\000\009\000\046\000\010\000\045\000\021\000\041\000\
285 :     \\031\000\036\000\038\000\032\000\042\000\029\000\060\000\020\000\
286 :     \\064\000\019\000\065\000\018\000\066\000\017\000\073\000\015\000\
287 :     \\074\000\014\000\077\000\013\000\000\000\
288 :     \\096\002\003\000\051\000\005\000\050\000\006\000\049\000\007\000\048\000\
289 :     \\008\000\047\000\009\000\046\000\010\000\045\000\021\000\041\000\
290 :     \\031\000\036\000\038\000\032\000\042\000\029\000\060\000\020\000\
291 :     \\064\000\019\000\065\000\018\000\066\000\017\000\073\000\015\000\
292 :     \\074\000\014\000\077\000\013\000\000\000\
293 :     \\097\002\000\000\
294 :     \\098\002\000\000\
295 :     \\099\002\000\000\
296 :     \\100\002\000\000\
297 :     \\101\002\000\000\
298 :     \\102\002\000\000\
299 :     \\103\002\000\000\
300 :     \\104\002\000\000\
301 :     \\105\002\000\000\
302 :     \\106\002\000\000\
303 :     \\107\002\000\000\
304 :     \\108\002\000\000\
305 :     \\109\002\000\000\
306 :     \\110\002\000\000\
307 :     \\111\002\000\000\
308 :     \\112\002\000\000\
309 :     \\113\002\000\000\
310 :     \\114\002\000\000\
311 :     \\115\002\000\000\
312 :     \\116\002\000\000\
313 :     \\117\002\000\000\
314 :     \\118\002\000\000\
315 :     \\119\002\000\000\
316 :     \\120\002\000\000\
317 :     \\121\002\076\000\063\000\000\000\
318 :     \\122\002\000\000\
319 :     \\123\002\000\000\
320 :     \\124\002\030\000\060\000\061\000\059\000\063\000\174\000\070\000\058\000\
321 :     \\071\000\057\000\000\000\
322 :     \\125\002\030\000\060\000\061\000\059\000\063\000\169\000\070\000\058\000\
323 :     \\071\000\057\000\000\000\
324 :     \\126\002\000\000\
325 :     \\127\002\014\000\187\000\061\000\185\000\000\000\
326 :     \\128\002\013\000\255\000\000\000\
327 :     \\129\002\000\000\
328 :     \\130\002\000\000\
329 :     \\131\002\000\000\
330 :     \\132\002\000\000\
331 :     \\133\002\000\000\
332 :     \\134\002\000\000\
333 :     \\135\002\000\000\
334 :     \\136\002\000\000\
335 :     \\137\002\000\000\
336 :     \\138\002\000\000\
337 :     \\139\002\000\000\
338 :     \\140\002\000\000\
339 :     \\141\002\000\000\
340 :     \\142\002\000\000\
341 :     \\143\002\000\000\
342 :     \\144\002\000\000\
343 :     \\145\002\000\000\
344 :     \\146\002\000\000\
345 :     \\147\002\000\000\
346 :     \\148\002\000\000\
347 :     \\149\002\014\000\187\000\061\000\185\000\000\000\
348 :     \\151\002\014\000\187\000\061\000\185\000\000\000\
349 :     \\152\002\013\000\255\000\014\000\202\001\000\000\
350 :     \\153\002\014\000\187\000\061\000\185\000\000\000\
351 :     \\154\002\000\000\
352 :     \\155\002\063\000\047\001\000\000\
353 :     \\156\002\000\000\
354 :     \\157\002\014\000\187\000\061\000\185\000\063\000\039\001\000\000\
355 :     \\158\002\000\000\
356 :     \\159\002\014\000\187\000\015\000\201\001\061\000\185\000\000\000\
357 :     \\160\002\000\000\
358 :     \\161\002\012\000\183\000\000\000\
359 :     \\162\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
360 :     \\163\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
361 :     \\164\002\061\000\240\000\000\000\
362 :     \\165\002\013\000\255\000\000\000\
363 :     \\166\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
364 :     \\167\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
365 :     \\168\002\012\000\052\001\000\000\
366 :     \\169\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
367 :     \\170\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
368 :     \\171\002\015\000\238\000\000\000\
369 :     \\172\002\000\000\
370 :     \\173\002\012\000\241\000\000\000\
371 :     \\174\002\012\000\085\001\000\000\
372 :     \\175\002\000\000\
373 :     \\176\002\000\000\
374 :     \\177\002\003\000\105\000\005\000\050\000\006\000\049\000\007\000\103\000\
375 :     \\009\000\102\000\010\000\101\000\042\000\099\000\057\000\097\000\
376 :     \\060\000\081\000\064\000\096\000\065\000\095\000\066\000\143\000\
377 :     \\073\000\093\000\000\000\
378 :     \\178\002\000\000\
379 :     \\179\002\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
380 :     \\180\002\013\000\255\000\000\000\
381 :     \\181\002\012\000\213\000\000\000\
382 :     \\182\002\000\000\
383 :     \\183\002\000\000\
384 :     \\184\002\004\000\109\000\037\000\149\000\066\000\108\000\000\000\
385 :     \\184\002\004\000\109\000\066\000\108\000\000\000\
386 :     \\185\002\000\000\
387 :     \\186\002\000\000\
388 :     \\187\002\063\000\044\001\000\000\
389 :     \\188\002\000\000\
390 :     \\189\002\012\000\248\000\000\000\
391 :     \\190\002\000\000\
392 :     \\191\002\000\000\
393 :     \\192\002\000\000\
394 :     \\193\002\000\000\
395 :     \\194\002\015\000\230\001\000\000\
396 :     \\195\002\000\000\
397 :     \\196\002\041\000\018\002\000\000\
398 :     \\197\002\013\000\255\000\000\000\
399 :     \\198\002\021\000\090\001\041\000\089\001\000\000\
400 :     \\199\002\013\000\255\000\000\000\
401 :     \\200\002\000\000\
402 :     \\201\002\012\000\245\000\000\000\
403 :     \\202\002\003\000\119\000\021\000\041\000\060\000\020\000\000\000\
404 :     \\203\002\000\000\
405 :     \\204\002\005\000\050\000\006\000\049\000\000\000\
406 :     \\205\002\000\000\
407 :     \\206\002\005\000\050\000\006\000\049\000\000\000\
408 :     \\207\002\000\000\
409 :     \\208\002\000\000\
410 :     \\209\002\012\000\183\000\000\000\
411 :     \\210\002\012\000\183\000\000\000\
412 :     \\211\002\012\000\052\001\000\000\
413 :     \\212\002\012\000\052\001\000\000\
414 :     \\213\002\000\000\
415 :     \\214\002\000\000\
416 :     \\215\002\012\000\213\000\000\000\
417 :     \\216\002\012\000\248\000\059\000\247\000\000\000\
418 :     \\217\002\012\000\213\000\000\000\
419 :     \\218\002\000\000\
420 :     \\219\002\000\000\
421 :     \\220\002\012\000\245\000\000\000\
422 :     \\221\002\000\000\
423 :     \\222\002\000\000\
424 :     \\223\002\000\000\
425 :     \\224\002\012\000\014\002\030\000\060\000\061\000\059\000\070\000\058\000\
426 :     \\071\000\057\000\000\000\
427 :     \\225\002\000\000\
428 :     \\226\002\002\000\127\000\011\000\044\000\017\000\042\000\023\000\040\000\
429 :     \\028\000\038\000\035\000\034\000\036\000\033\000\039\000\126\000\
430 :     \\040\000\030\000\043\000\028\000\044\000\027\000\053\000\023\000\
431 :     \\054\000\022\000\000\000\
432 :     \\227\002\000\000\
433 :     \\228\002\000\000\
434 :     \\229\002\000\000\
435 :     \\230\002\003\000\055\000\021\000\041\000\060\000\020\000\000\000\
436 :     \\231\002\000\000\
437 :     \\232\002\002\000\026\001\003\000\025\001\017\000\024\001\022\000\023\001\
438 :     \\023\000\022\001\029\000\021\001\034\000\020\001\047\000\019\001\
439 :     \\051\000\018\001\053\000\017\001\054\000\016\001\000\000\
440 :     \\232\002\002\000\026\001\017\000\024\001\022\000\023\001\023\000\022\001\
441 :     \\029\000\021\001\034\000\020\001\047\000\019\001\051\000\018\001\
442 :     \\053\000\017\001\054\000\016\001\000\000\
443 :     \\233\002\000\000\
444 :     \\234\002\000\000\
445 :     \\235\002\012\000\184\001\000\000\
446 :     \\236\002\012\000\191\001\000\000\
447 :     \\237\002\012\000\248\000\059\000\197\001\000\000\
448 :     \\238\002\012\000\213\000\000\000\
449 :     \\239\002\012\000\182\001\000\000\
450 :     \\240\002\012\000\182\001\000\000\
451 :     \\241\002\012\000\180\001\000\000\
452 :     \\242\002\012\000\195\001\000\000\
453 :     \\243\002\012\000\186\001\000\000\
454 :     \\244\002\055\000\151\001\000\000\
455 :     \\245\002\000\000\
456 :     \\246\002\003\000\055\000\021\000\041\000\060\000\020\000\000\000\
457 :     \\247\002\000\000\
458 :     \\248\002\012\000\184\001\000\000\
459 :     \\249\002\021\000\022\002\055\000\151\001\000\000\
460 :     \\250\002\000\000\
461 :     \\251\002\012\000\191\001\000\000\
462 :     \\252\002\000\000\
463 :     \\253\002\012\000\182\001\000\000\
464 :     \\254\002\021\000\238\001\000\000\
465 :     \\255\002\013\000\255\000\000\000\
466 :     \\000\003\012\000\180\001\000\000\
467 :     \\001\003\013\000\255\000\000\000\
468 :     \\002\003\012\000\195\001\000\000\
469 :     \\003\003\041\000\196\001\000\000\
470 :     \\004\003\013\000\255\000\000\000\
471 :     \\005\003\012\000\186\001\000\000\
472 :     \\006\003\000\000\
473 :     \\007\003\000\000\
474 :     \\008\003\021\000\187\001\000\000\
475 :     \\009\003\000\000\
476 :     \\010\003\012\000\011\002\000\000\
477 :     \\011\003\013\000\255\000\000\000\
478 :     \\012\003\000\000\
479 :     \\013\003\000\000\
480 :     \\013\003\003\000\055\000\021\000\041\000\060\000\020\000\000\000\
481 :     \\014\003\000\000\
482 :     \\015\003\012\000\011\002\000\000\
483 :     \\016\003\061\000\218\000\062\000\217\000\000\000\
484 :     \\017\003\055\000\151\001\000\000\
485 :     \\018\003\055\000\151\001\000\000\
486 :     \\019\003\061\000\236\000\062\000\235\000\066\000\172\000\000\000\
487 :     \\020\003\000\000\
488 :     \\021\003\000\000\
489 :     \\022\003\012\000\219\000\000\000\
490 :     \\023\003\055\000\151\001\000\000\
491 :     \\024\003\012\000\170\000\000\000\
492 :     \\025\003\055\000\151\001\000\000\
493 :     \\026\003\000\000\
494 :     \\027\003\055\000\151\001\000\000\
495 :     \\028\003\066\000\210\001\000\000\
496 :     \\029\003\000\000\
497 :     \\030\003\000\000\
498 :     \\031\003\000\000\
499 :     \\032\003\055\000\151\001\000\000\
500 :     \\033\003\055\000\151\001\000\000\
501 :     \\034\003\000\000\
502 :     \\035\003\000\000\
503 :     \\036\003\066\000\210\001\000\000\
504 :     \\037\003\066\000\210\001\000\000\
505 :     \\038\003\000\000\
506 :     \\039\003\000\000\
507 :     \\040\003\002\000\217\001\003\000\119\000\011\000\044\000\017\000\042\000\
508 :     \\021\000\041\000\023\000\040\000\028\000\038\000\029\000\216\001\
509 :     \\035\000\034\000\036\000\033\000\038\000\150\001\039\000\215\001\
510 :     \\040\000\030\000\043\000\028\000\044\000\027\000\050\000\149\001\
511 :     \\051\000\214\001\053\000\023\000\054\000\022\000\060\000\020\000\000\000\
512 :     \\040\003\002\000\217\001\011\000\044\000\017\000\042\000\023\000\040\000\
513 :     \\028\000\038\000\029\000\216\001\035\000\034\000\036\000\033\000\
514 :     \\039\000\215\001\040\000\030\000\043\000\028\000\044\000\027\000\
515 :     \\051\000\214\001\053\000\023\000\054\000\022\000\000\000\
516 :     \\041\003\000\000\
517 :     \\042\003\000\000\
518 :     \\043\003\002\000\123\000\011\000\044\000\017\000\042\000\023\000\040\000\
519 :     \\028\000\038\000\029\000\037\000\035\000\034\000\036\000\033\000\
520 :     \\039\000\031\000\040\000\030\000\043\000\028\000\044\000\027\000\
521 :     \\049\000\025\000\051\000\024\000\053\000\023\000\054\000\022\000\
522 :     \\072\000\016\000\000\000\
523 :     \\044\003\000\000\
524 :     \\045\003\011\000\044\000\017\000\042\000\023\000\040\000\028\000\038\000\
525 :     \\029\000\037\000\035\000\034\000\036\000\033\000\039\000\031\000\
526 :     \\040\000\030\000\043\000\028\000\044\000\027\000\049\000\025\000\
527 :     \\051\000\024\000\053\000\023\000\054\000\022\000\072\000\016\000\000\000\
528 :     \\046\003\012\000\215\000\000\000\
529 :     \\047\003\012\000\232\000\000\000\
530 :     \\048\003\000\000\
531 :     \\049\003\000\000\
532 :     \\050\003\012\000\215\000\000\000\
533 :     \\051\003\012\000\219\000\000\000\
534 :     \\052\003\012\000\170\000\000\000\
535 :     \\053\003\012\000\232\000\000\000\
536 :     \\054\003\000\000\
537 :     \\055\003\000\000\
538 :     \\056\003\061\000\208\001\062\000\207\001\000\000\
539 :     \\057\003\012\000\215\000\000\000\
540 :     \\058\003\055\000\151\001\000\000\
541 :     \\059\003\000\000\
542 :     \\060\003\066\000\172\000\000\000\
543 :     \\061\003\000\000\
544 :     \\062\003\061\000\208\001\062\000\207\001\000\000\
545 :     \\063\003\000\000\
546 :     \\064\003\012\000\232\000\000\000\
547 :     \\065\003\066\000\210\001\000\000\
548 :     \\066\003\000\000\
549 :     \\067\003\000\000\
550 :     \\068\003\000\000\
551 :     \\069\003\030\000\060\000\061\000\059\000\070\000\058\000\071\000\057\000\000\000\
552 :     \"
553 :     val actionRowNumbers =
554 :     "\001\000\143\001\120\001\130\001\
555 :     \\007\000\190\000\167\000\161\000\
556 :     \\144\001\173\000\168\000\189\000\
557 :     \\110\000\002\000\007\000\004\000\
558 :     \\003\000\010\000\120\000\005\000\
559 :     \\015\000\000\001\007\000\007\000\
560 :     \\005\000\007\000\028\000\007\000\
561 :     \\024\001\118\001\042\001\022\001\
562 :     \\020\001\005\000\009\000\007\000\
563 :     \\016\000\023\000\124\000\121\000\
564 :     \\255\000\005\000\255\000\177\000\
565 :     \\176\000\175\000\174\000\113\000\
566 :     \\112\000\118\000\119\001\038\001\
567 :     \\046\001\117\000\169\000\005\000\
568 :     \\005\000\030\000\023\000\170\000\
569 :     \\111\000\031\000\191\000\097\000\
570 :     \\197\000\187\000\127\001\093\000\
571 :     \\101\000\154\000\102\000\181\000\
572 :     \\098\000\185\000\094\000\153\000\
573 :     \\057\000\127\000\180\000\116\000\
574 :     \\128\000\114\000\075\000\018\000\
575 :     \\201\000\025\001\202\000\248\000\
576 :     \\042\000\210\000\204\000\020\000\
577 :     \\017\000\021\000\033\000\214\000\
578 :     \\008\000\007\000\023\000\213\000\
579 :     \\212\000\211\000\001\001\115\000\
580 :     \\034\000\031\001\036\000\253\000\
581 :     \\125\001\090\001\126\001\058\000\
582 :     \\166\000\085\000\037\001\018\001\
583 :     \\126\000\119\000\171\000\079\000\
584 :     \\118\001\118\001\080\000\042\001\
585 :     \\042\001\042\001\023\001\021\001\
586 :     \\078\000\178\000\128\001\093\001\
587 :     \\019\000\242\000\235\000\029\001\
588 :     \\244\000\023\000\044\000\148\000\
589 :     \\162\000\022\000\036\001\007\000\
590 :     \\122\000\032\001\007\000\000\001\
591 :     \\077\000\038\000\028\000\047\001\
592 :     \\159\000\158\000\160\000\143\000\
593 :     \\145\000\140\000\030\000\011\000\
594 :     \\134\000\130\000\157\000\192\000\
595 :     \\193\000\076\000\186\000\005\000\
596 :     \\007\000\059\000\048\001\183\000\
597 :     \\005\000\005\000\182\000\184\000\
598 :     \\179\000\009\000\005\000\005\000\
599 :     \\026\001\018\000\249\000\030\000\
600 :     \\005\000\023\000\099\000\228\000\
601 :     \\217\000\103\000\041\000\205\000\
602 :     \\003\001\100\000\215\000\095\000\
603 :     \\226\000\060\000\219\000\227\000\
604 :     \\045\000\012\000\027\001\235\000\
605 :     \\036\000\014\000\013\000\208\000\
606 :     \\043\000\028\000\061\000\000\001\
607 :     \\104\000\007\000\062\000\006\000\
608 :     \\006\000\007\000\006\000\030\000\
609 :     \\019\001\028\000\118\001\116\001\
610 :     \\117\001\005\000\043\001\081\000\
611 :     \\044\001\005\000\007\000\090\001\
612 :     \\063\000\007\000\007\000\030\001\
613 :     \\023\000\064\000\030\000\019\000\
614 :     \\245\000\005\000\023\000\124\000\
615 :     \\014\001\000\001\255\000\065\000\
616 :     \\007\000\023\000\000\001\042\001\
617 :     \\172\000\030\000\139\000\030\000\
618 :     \\105\000\040\000\096\000\133\000\
619 :     \\086\000\136\000\029\000\194\000\
620 :     \\198\000\098\001\006\000\106\000\
621 :     \\049\001\134\001\124\000\000\001\
622 :     \\007\000\026\000\006\000\007\000\
623 :     \\007\000\000\001\255\000\087\000\
624 :     \\049\001\195\000\196\000\155\000\
625 :     \\156\000\152\000\151\000\164\000\
626 :     \\232\000\200\000\234\000\199\000\
627 :     \\218\000\023\000\002\001\203\000\
628 :     \\023\000\023\000\036\000\216\000\
629 :     \\220\000\032\000\023\000\030\000\
630 :     \\023\000\028\001\012\000\066\000\
631 :     \\235\000\235\000\014\000\005\000\
632 :     \\209\000\030\000\252\000\254\000\
633 :     \\132\001\024\000\092\001\086\001\
634 :     \\049\001\091\001\096\001\097\001\
635 :     \\039\000\125\000\047\000\048\000\
636 :     \\042\001\046\000\139\001\067\000\
637 :     \\025\000\095\001\094\001\243\000\
638 :     \\005\000\236\000\246\000\019\000\
639 :     \\150\000\149\000\017\001\030\000\
640 :     \\028\000\033\001\005\001\123\000\
641 :     \\068\000\163\000\037\000\049\000\
642 :     \\144\000\141\000\142\000\029\000\
643 :     \\138\000\030\000\135\000\009\000\
644 :     \\030\000\129\000\099\001\135\001\
645 :     \\050\001\058\001\007\000\056\001\
646 :     \\035\000\052\001\088\000\080\001\
647 :     \\060\001\069\000\028\000\061\001\
648 :     \\087\001\053\001\089\000\059\001\
649 :     \\076\001\057\001\054\001\006\000\
650 :     \\051\001\229\000\107\000\108\000\
651 :     \\230\000\004\001\225\000\221\000\
652 :     \\223\000\222\000\239\000\005\000\
653 :     \\070\000\071\000\235\000\233\000\
654 :     \\251\000\131\001\102\001\115\001\
655 :     \\115\001\027\000\050\000\005\000\
656 :     \\129\001\188\000\051\000\005\000\
657 :     \\024\000\138\001\140\001\115\001\
658 :     \\250\000\247\000\015\001\016\001\
659 :     \\010\001\008\001\006\001\007\000\
660 :     \\029\000\123\000\042\001\034\001\
661 :     \\137\000\147\000\146\000\132\000\
662 :     \\131\000\136\001\124\000\091\000\
663 :     \\000\001\071\001\007\000\006\000\
664 :     \\026\000\028\000\079\001\062\001\
665 :     \\063\001\007\000\092\000\069\001\
666 :     \\007\000\007\000\030\000\000\001\
667 :     \\133\001\206\000\207\000\023\000\
668 :     \\023\000\237\000\005\000\005\000\
669 :     \\072\000\006\000\006\000\104\001\
670 :     \\114\001\052\000\115\001\124\001\
671 :     \\007\000\115\001\007\000\115\001\
672 :     \\082\000\089\001\073\000\000\001\
673 :     \\088\001\039\001\040\001\042\001\
674 :     \\165\000\137\001\141\001\083\000\
675 :     \\124\000\012\001\009\001\007\001\
676 :     \\053\000\073\001\030\000\070\001\
677 :     \\030\000\065\001\066\001\078\001\
678 :     \\082\001\081\001\064\001\068\001\
679 :     \\006\000\100\001\075\001\077\001\
680 :     \\055\001\231\000\224\000\238\000\
681 :     \\240\000\005\000\107\001\106\001\
682 :     \\109\000\090\000\103\001\112\001\
683 :     \\121\001\084\000\122\001\113\001\
684 :     \\024\000\027\000\028\000\028\000\
685 :     \\005\000\045\001\025\000\011\001\
686 :     \\030\000\035\001\074\001\072\001\
687 :     \\028\000\101\001\241\000\111\001\
688 :     \\110\001\115\001\054\000\083\001\
689 :     \\085\001\074\000\041\001\055\000\
690 :     \\013\001\067\001\108\001\109\001\
691 :     \\056\000\105\001\030\000\142\001\
692 :     \\123\001\084\001\000\000"
693 :     val gotoT =
694 :     "\
695 :     \\001\000\010\000\003\000\009\000\019\000\008\000\020\000\007\000\
696 :     \\021\000\006\000\024\000\005\000\051\000\004\000\052\000\003\000\
697 :     \\077\000\002\000\079\000\001\000\085\000\042\002\000\000\
698 :     \\000\000\
699 :     \\051\000\004\000\052\000\003\000\077\000\002\000\079\000\050\000\000\000\
700 :     \\000\000\
701 :     \\001\000\052\000\055\000\051\000\000\000\
702 :     \\000\000\
703 :     \\001\000\010\000\003\000\009\000\020\000\054\000\021\000\006\000\
704 :     \\024\000\005\000\000\000\
705 :     \\000\000\
706 :     \\000\000\
707 :     \\000\000\
708 :     \\001\000\010\000\003\000\009\000\020\000\059\000\021\000\006\000\
709 :     \\024\000\005\000\000\000\
710 :     \\000\000\
711 :     \\025\000\060\000\000\000\
712 :     \\001\000\010\000\003\000\009\000\019\000\064\000\020\000\007\000\
713 :     \\021\000\006\000\022\000\063\000\024\000\005\000\000\000\
714 :     \\001\000\067\000\071\000\066\000\000\000\
715 :     \\001\000\010\000\003\000\009\000\018\000\070\000\019\000\069\000\
716 :     \\020\000\007\000\021\000\006\000\023\000\068\000\024\000\005\000\000\000\
717 :     \\001\000\010\000\003\000\009\000\019\000\064\000\020\000\007\000\
718 :     \\021\000\006\000\022\000\072\000\024\000\005\000\000\000\
719 :     \\002\000\077\000\006\000\076\000\016\000\075\000\017\000\074\000\000\000\
720 :     \\000\000\
721 :     \\001\000\010\000\003\000\009\000\019\000\082\000\020\000\007\000\
722 :     \\021\000\006\000\024\000\005\000\000\000\
723 :     \\002\000\090\000\003\000\089\000\026\000\088\000\027\000\087\000\
724 :     \\028\000\086\000\034\000\085\000\039\000\084\000\043\000\083\000\000\000\
725 :     \\041\000\105\000\042\000\104\000\000\000\
726 :     \\001\000\109\000\080\000\108\000\000\000\
727 :     \\001\000\111\000\070\000\110\000\000\000\
728 :     \\001\000\010\000\003\000\009\000\019\000\112\000\020\000\007\000\
729 :     \\021\000\006\000\024\000\005\000\000\000\
730 :     \\001\000\113\000\000\000\
731 :     \\001\000\116\000\005\000\115\000\050\000\114\000\000\000\
732 :     \\001\000\118\000\000\000\
733 :     \\000\000\
734 :     \\051\000\004\000\052\000\003\000\077\000\120\000\078\000\119\000\000\000\
735 :     \\051\000\004\000\052\000\123\000\054\000\122\000\000\000\
736 :     \\003\000\126\000\000\000\
737 :     \\003\000\127\000\000\000\
738 :     \\001\000\010\000\003\000\009\000\019\000\128\000\020\000\007\000\
739 :     \\021\000\006\000\024\000\005\000\000\000\
740 :     \\002\000\077\000\006\000\129\000\000\000\
741 :     \\001\000\131\000\083\000\130\000\000\000\
742 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
743 :     \\037\000\136\000\038\000\135\000\039\000\134\000\040\000\133\000\
744 :     \\043\000\132\000\000\000\
745 :     \\002\000\090\000\003\000\089\000\014\000\140\000\015\000\139\000\
746 :     \\026\000\138\000\027\000\087\000\028\000\086\000\039\000\084\000\000\000\
747 :     \\004\000\143\000\049\000\142\000\000\000\
748 :     \\000\000\
749 :     \\042\000\146\000\045\000\145\000\000\000\
750 :     \\001\000\010\000\003\000\009\000\019\000\148\000\020\000\007\000\
751 :     \\021\000\006\000\024\000\005\000\000\000\
752 :     \\042\000\146\000\045\000\149\000\000\000\
753 :     \\000\000\
754 :     \\000\000\
755 :     \\000\000\
756 :     \\000\000\
757 :     \\000\000\
758 :     \\000\000\
759 :     \\000\000\
760 :     \\000\000\
761 :     \\000\000\
762 :     \\001\000\052\000\055\000\151\000\000\000\
763 :     \\000\000\
764 :     \\000\000\
765 :     \\001\000\010\000\003\000\009\000\019\000\152\000\020\000\007\000\
766 :     \\021\000\006\000\024\000\005\000\000\000\
767 :     \\001\000\010\000\003\000\009\000\019\000\153\000\020\000\007\000\
768 :     \\021\000\006\000\024\000\005\000\000\000\
769 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\154\000\000\000\
770 :     \\002\000\090\000\003\000\089\000\014\000\162\000\015\000\139\000\
771 :     \\026\000\138\000\027\000\087\000\028\000\086\000\039\000\084\000\000\000\
772 :     \\000\000\
773 :     \\000\000\
774 :     \\003\000\009\000\021\000\164\000\024\000\005\000\000\000\
775 :     \\000\000\
776 :     \\000\000\
777 :     \\000\000\
778 :     \\000\000\
779 :     \\000\000\
780 :     \\082\000\169\000\000\000\
781 :     \\000\000\
782 :     \\000\000\
783 :     \\000\000\
784 :     \\000\000\
785 :     \\000\000\
786 :     \\000\000\
787 :     \\000\000\
788 :     \\000\000\
789 :     \\000\000\
790 :     \\000\000\
791 :     \\000\000\
792 :     \\000\000\
793 :     \\000\000\
794 :     \\000\000\
795 :     \\000\000\
796 :     \\002\000\090\000\003\000\089\000\026\000\088\000\027\000\087\000\
797 :     \\028\000\086\000\034\000\180\000\039\000\084\000\000\000\
798 :     \\000\000\
799 :     \\000\000\
800 :     \\000\000\
801 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
802 :     \\039\000\182\000\000\000\
803 :     \\000\000\
804 :     \\000\000\
805 :     \\000\000\
806 :     \\002\000\090\000\003\000\089\000\026\000\187\000\027\000\087\000\
807 :     \\028\000\086\000\032\000\186\000\039\000\084\000\000\000\
808 :     \\002\000\090\000\003\000\089\000\026\000\190\000\027\000\087\000\
809 :     \\028\000\086\000\039\000\084\000\044\000\189\000\000\000\
810 :     \\002\000\090\000\003\000\089\000\026\000\187\000\027\000\087\000\
811 :     \\028\000\086\000\032\000\193\000\039\000\084\000\000\000\
812 :     \\002\000\077\000\006\000\197\000\029\000\196\000\030\000\195\000\000\000\
813 :     \\000\000\
814 :     \\002\000\203\000\036\000\202\000\043\000\201\000\000\000\
815 :     \\001\000\207\000\000\000\
816 :     \\002\000\090\000\003\000\089\000\026\000\208\000\027\000\087\000\
817 :     \\028\000\086\000\039\000\084\000\000\000\
818 :     \\000\000\
819 :     \\000\000\
820 :     \\000\000\
821 :     \\000\000\
822 :     \\000\000\
823 :     \\000\000\
824 :     \\000\000\
825 :     \\044\000\212\000\000\000\
826 :     \\000\000\
827 :     \\000\000\
828 :     \\068\000\214\000\000\000\
829 :     \\000\000\
830 :     \\000\000\
831 :     \\000\000\
832 :     \\000\000\
833 :     \\000\000\
834 :     \\001\000\116\000\005\000\115\000\050\000\220\000\000\000\
835 :     \\000\000\
836 :     \\000\000\
837 :     \\000\000\
838 :     \\000\000\
839 :     \\051\000\004\000\052\000\003\000\077\000\120\000\078\000\223\000\000\000\
840 :     \\051\000\004\000\052\000\003\000\077\000\120\000\078\000\224\000\000\000\
841 :     \\000\000\
842 :     \\051\000\004\000\052\000\123\000\054\000\226\000\000\000\
843 :     \\051\000\004\000\052\000\123\000\054\000\227\000\000\000\
844 :     \\051\000\004\000\052\000\123\000\054\000\228\000\000\000\
845 :     \\000\000\
846 :     \\000\000\
847 :     \\000\000\
848 :     \\000\000\
849 :     \\000\000\
850 :     \\069\000\232\000\082\000\231\000\000\000\
851 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
852 :     \\037\000\136\000\038\000\235\000\039\000\134\000\040\000\133\000\000\000\
853 :     \\000\000\
854 :     \\035\000\237\000\000\000\
855 :     \\000\000\
856 :     \\000\000\
857 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
858 :     \\037\000\240\000\039\000\134\000\040\000\133\000\000\000\
859 :     \\000\000\
860 :     \\000\000\
861 :     \\000\000\
862 :     \\002\000\090\000\003\000\089\000\026\000\190\000\027\000\087\000\
863 :     \\028\000\086\000\039\000\084\000\000\000\
864 :     \\000\000\
865 :     \\001\000\244\000\000\000\
866 :     \\000\000\
867 :     \\000\000\
868 :     \\001\000\247\000\000\000\
869 :     \\042\000\248\000\000\000\
870 :     \\000\000\
871 :     \\000\000\
872 :     \\001\000\116\000\005\000\252\000\000\000\
873 :     \\000\000\
874 :     \\000\000\
875 :     \\000\000\
876 :     \\000\000\
877 :     \\000\000\
878 :     \\007\000\254\000\000\000\
879 :     \\000\000\
880 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\001\001\
881 :     \\013\000\000\001\000\000\
882 :     \\002\000\077\000\006\000\004\001\008\000\003\001\009\000\002\001\000\000\
883 :     \\000\000\
884 :     \\000\000\
885 :     \\000\000\
886 :     \\000\000\
887 :     \\025\000\007\001\000\000\
888 :     \\000\000\
889 :     \\000\000\
890 :     \\001\000\010\000\003\000\009\000\019\000\064\000\020\000\007\000\
891 :     \\021\000\006\000\022\000\008\001\024\000\005\000\000\000\
892 :     \\001\000\067\000\071\000\009\001\000\000\
893 :     \\000\000\
894 :     \\056\000\013\001\057\000\012\001\081\000\011\001\000\000\
895 :     \\000\000\
896 :     \\001\000\010\000\003\000\009\000\019\000\026\001\020\000\007\000\
897 :     \\021\000\006\000\023\000\025\001\024\000\005\000\000\000\
898 :     \\001\000\010\000\003\000\009\000\018\000\028\001\019\000\027\001\
899 :     \\020\000\007\000\021\000\006\000\024\000\005\000\000\000\
900 :     \\000\000\
901 :     \\000\000\
902 :     \\000\000\
903 :     \\002\000\077\000\006\000\076\000\016\000\075\000\017\000\029\001\000\000\
904 :     \\001\000\010\000\003\000\009\000\019\000\030\001\020\000\007\000\
905 :     \\021\000\006\000\024\000\005\000\000\000\
906 :     \\001\000\010\000\003\000\009\000\019\000\031\001\020\000\007\000\
907 :     \\021\000\006\000\024\000\005\000\000\000\
908 :     \\000\000\
909 :     \\002\000\090\000\003\000\089\000\026\000\088\000\027\000\087\000\
910 :     \\028\000\086\000\034\000\032\001\039\000\084\000\000\000\
911 :     \\000\000\
912 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\033\001\000\000\
913 :     \\001\000\010\000\003\000\009\000\019\000\034\001\020\000\007\000\
914 :     \\021\000\006\000\024\000\005\000\000\000\
915 :     \\002\000\090\000\003\000\089\000\026\000\035\001\027\000\087\000\
916 :     \\028\000\086\000\039\000\084\000\000\000\
917 :     \\000\000\
918 :     \\000\000\
919 :     \\000\000\
920 :     \\000\000\
921 :     \\000\000\
922 :     \\000\000\
923 :     \\000\000\
924 :     \\000\000\
925 :     \\000\000\
926 :     \\000\000\
927 :     \\000\000\
928 :     \\000\000\
929 :     \\000\000\
930 :     \\000\000\
931 :     \\000\000\
932 :     \\002\000\203\000\036\000\049\001\000\000\
933 :     \\000\000\
934 :     \\035\000\051\001\000\000\
935 :     \\044\000\189\000\000\000\
936 :     \\002\000\052\001\000\000\
937 :     \\002\000\053\001\000\000\
938 :     \\000\000\
939 :     \\000\000\
940 :     \\001\000\116\000\005\000\056\001\000\000\
941 :     \\000\000\
942 :     \\041\000\058\001\042\000\104\000\000\000\
943 :     \\000\000\
944 :     \\001\000\109\000\080\000\060\001\000\000\
945 :     \\000\000\
946 :     \\001\000\063\001\067\000\062\001\000\000\
947 :     \\001\000\063\001\067\000\065\001\000\000\
948 :     \\001\000\111\000\070\000\066\001\000\000\
949 :     \\001\000\063\001\067\000\067\001\000\000\
950 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\068\001\000\000\
951 :     \\000\000\
952 :     \\001\000\116\000\005\000\069\001\000\000\
953 :     \\051\000\004\000\052\000\003\000\077\000\120\000\078\000\070\001\000\000\
954 :     \\000\000\
955 :     \\000\000\
956 :     \\001\000\010\000\003\000\009\000\018\000\071\001\019\000\027\001\
957 :     \\020\000\007\000\021\000\006\000\024\000\005\000\000\000\
958 :     \\000\000\
959 :     \\000\000\
960 :     \\000\000\
961 :     \\001\000\010\000\003\000\009\000\019\000\073\001\020\000\007\000\
962 :     \\021\000\006\000\024\000\005\000\000\000\
963 :     \\001\000\131\000\083\000\074\001\000\000\
964 :     \\068\000\075\001\000\000\
965 :     \\000\000\
966 :     \\001\000\077\001\000\000\
967 :     \\001\000\078\001\000\000\
968 :     \\000\000\
969 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
970 :     \\037\000\079\001\039\000\134\000\040\000\133\000\000\000\
971 :     \\000\000\
972 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\081\001\000\000\
973 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
974 :     \\037\000\136\000\038\000\082\001\039\000\134\000\040\000\133\000\000\000\
975 :     \\000\000\
976 :     \\001\000\010\000\003\000\009\000\019\000\084\001\020\000\007\000\
977 :     \\021\000\006\000\024\000\005\000\000\000\
978 :     \\002\000\090\000\003\000\089\000\014\000\085\001\015\000\139\000\
979 :     \\026\000\138\000\027\000\087\000\028\000\086\000\039\000\084\000\000\000\
980 :     \\004\000\143\000\049\000\086\001\000\000\
981 :     \\000\000\
982 :     \\041\000\089\001\042\000\104\000\000\000\
983 :     \\042\000\146\000\045\000\090\001\000\000\
984 :     \\000\000\
985 :     \\001\000\092\001\000\000\
986 :     \\002\000\090\000\003\000\089\000\014\000\093\001\015\000\139\000\
987 :     \\026\000\138\000\027\000\087\000\028\000\086\000\039\000\084\000\000\000\
988 :     \\041\000\094\001\042\000\104\000\000\000\
989 :     \\051\000\004\000\052\000\123\000\054\000\095\001\000\000\
990 :     \\000\000\
991 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\096\001\000\000\
992 :     \\000\000\
993 :     \\007\000\157\000\010\000\098\001\011\000\097\001\000\000\
994 :     \\000\000\
995 :     \\000\000\
996 :     \\000\000\
997 :     \\000\000\
998 :     \\000\000\
999 :     \\000\000\
1000 :     \\007\000\105\001\000\000\
1001 :     \\000\000\
1002 :     \\000\000\
1003 :     \\000\000\
1004 :     \\001\000\063\001\067\000\106\001\000\000\
1005 :     \\000\000\
1006 :     \\056\000\108\001\057\000\012\001\000\000\
1007 :     \\000\000\
1008 :     \\004\000\110\001\062\000\109\001\000\000\
1009 :     \\042\000\112\001\061\000\111\001\000\000\
1010 :     \\001\000\114\001\059\000\113\001\000\000\
1011 :     \\001\000\116\000\005\000\117\001\064\000\116\001\065\000\115\001\000\000\
1012 :     \\001\000\120\001\067\000\119\001\000\000\
1013 :     \\001\000\122\001\060\000\121\001\000\000\
1014 :     \\001\000\124\001\063\000\123\001\000\000\
1015 :     \\042\000\112\001\061\000\125\001\000\000\
1016 :     \\042\000\146\000\045\000\126\001\000\000\
1017 :     \\000\000\
1018 :     \\056\000\128\001\057\000\012\001\000\000\
1019 :     \\000\000\
1020 :     \\000\000\
1021 :     \\000\000\
1022 :     \\000\000\
1023 :     \\000\000\
1024 :     \\000\000\
1025 :     \\000\000\
1026 :     \\000\000\
1027 :     \\000\000\
1028 :     \\000\000\
1029 :     \\000\000\
1030 :     \\000\000\
1031 :     \\002\000\090\000\003\000\089\000\026\000\187\000\027\000\087\000\
1032 :     \\028\000\086\000\032\000\129\001\039\000\084\000\000\000\
1033 :     \\000\000\
1034 :     \\000\000\
1035 :     \\002\000\090\000\003\000\089\000\026\000\187\000\027\000\087\000\
1036 :     \\028\000\086\000\032\000\130\001\039\000\084\000\000\000\
1037 :     \\002\000\090\000\003\000\089\000\026\000\132\001\027\000\087\000\
1038 :     \\028\000\086\000\033\000\131\001\039\000\084\000\000\000\
1039 :     \\044\000\133\001\000\000\
1040 :     \\000\000\
1041 :     \\000\000\
1042 :     \\002\000\077\000\006\000\197\000\029\000\196\000\030\000\134\001\000\000\
1043 :     \\002\000\090\000\003\000\089\000\026\000\135\001\027\000\087\000\
1044 :     \\028\000\086\000\039\000\084\000\000\000\
1045 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\136\001\000\000\
1046 :     \\002\000\090\000\003\000\089\000\026\000\137\001\027\000\087\000\
1047 :     \\028\000\086\000\039\000\084\000\000\000\
1048 :     \\000\000\
1049 :     \\002\000\203\000\036\000\138\001\000\000\
1050 :     \\000\000\
1051 :     \\035\000\140\001\000\000\
1052 :     \\035\000\141\001\000\000\
1053 :     \\002\000\142\001\000\000\
1054 :     \\001\000\010\000\003\000\009\000\019\000\143\001\020\000\007\000\
1055 :     \\021\000\006\000\024\000\005\000\000\000\
1056 :     \\000\000\
1057 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\144\001\000\000\
1058 :     \\000\000\
1059 :     \\000\000\
1060 :     \\000\000\
1061 :     \\001\000\116\000\005\000\146\001\073\000\145\001\000\000\
1062 :     \\000\000\
1063 :     \\000\000\
1064 :     \\056\000\150\001\057\000\012\001\000\000\
1065 :     \\000\000\
1066 :     \\000\000\
1067 :     \\000\000\
1068 :     \\000\000\
1069 :     \\000\000\
1070 :     \\000\000\
1071 :     \\000\000\
1072 :     \\051\000\004\000\052\000\123\000\054\000\154\001\000\000\
1073 :     \\000\000\
1074 :     \\000\000\
1075 :     \\000\000\
1076 :     \\001\000\116\000\005\000\158\001\084\000\157\001\000\000\
1077 :     \\000\000\
1078 :     \\000\000\
1079 :     \\000\000\
1080 :     \\001\000\010\000\003\000\009\000\019\000\160\001\020\000\007\000\
1081 :     \\021\000\006\000\024\000\005\000\000\000\
1082 :     \\000\000\
1083 :     \\000\000\
1084 :     \\002\000\090\000\003\000\089\000\027\000\087\000\028\000\086\000\
1085 :     \\037\000\136\000\038\000\161\001\039\000\134\000\040\000\133\000\000\000\
1086 :     \\000\000\
1087 :     \\000\000\
1088 :     \\000\000\
1089 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\162\001\000\000\
1090 :     \\001\000\116\000\005\000\163\001\000\000\
1091 :     \\000\000\
1092 :     \\000\000\
1093 :     \\004\000\167\001\046\000\166\001\047\000\165\001\048\000\164\001\000\000\
1094 :     \\000\000\
1095 :     \\000\000\
1096 :     \\000\000\
1097 :     \\000\000\
1098 :     \\000\000\
1099 :     \\000\000\
1100 :     \\007\000\254\000\000\000\
1101 :     \\007\000\172\001\000\000\
1102 :     \\000\000\
1103 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\174\001\
1104 :     \\013\000\173\001\000\000\
1105 :     \\000\000\
1106 :     \\002\000\077\000\006\000\004\001\008\000\003\001\009\000\175\001\000\000\
1107 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\176\001\000\000\
1108 :     \\000\000\
1109 :     \\000\000\
1110 :     \\082\000\177\001\000\000\
1111 :     \\000\000\
1112 :     \\000\000\
1113 :     \\001\000\179\001\000\000\
1114 :     \\000\000\
1115 :     \\000\000\
1116 :     \\000\000\
1117 :     \\000\000\
1118 :     \\000\000\
1119 :     \\000\000\
1120 :     \\000\000\
1121 :     \\001\000\116\000\005\000\117\001\065\000\186\001\000\000\
1122 :     \\000\000\
1123 :     \\001\000\188\001\058\000\187\001\000\000\
1124 :     \\000\000\
1125 :     \\072\000\191\001\082\000\190\001\000\000\
1126 :     \\000\000\
1127 :     \\000\000\
1128 :     \\000\000\
1129 :     \\000\000\
1130 :     \\001\000\063\001\067\000\196\001\000\000\
1131 :     \\000\000\
1132 :     \\000\000\
1133 :     \\000\000\
1134 :     \\000\000\
1135 :     \\000\000\
1136 :     \\000\000\
1137 :     \\000\000\
1138 :     \\000\000\
1139 :     \\000\000\
1140 :     \\000\000\
1141 :     \\000\000\
1142 :     \\001\000\010\000\003\000\009\000\019\000\201\001\020\000\007\000\
1143 :     \\021\000\006\000\024\000\005\000\000\000\
1144 :     \\000\000\
1145 :     \\000\000\
1146 :     \\035\000\204\001\000\000\
1147 :     \\000\000\
1148 :     \\000\000\
1149 :     \\000\000\
1150 :     \\074\000\207\001\000\000\
1151 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\209\001\000\000\
1152 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\216\001\000\000\
1153 :     \\001\000\116\000\005\000\218\001\066\000\217\001\000\000\
1154 :     \\000\000\
1155 :     \\001\000\010\000\003\000\009\000\019\000\222\001\020\000\007\000\
1156 :     \\021\000\006\000\024\000\005\000\053\000\221\001\000\000\
1157 :     \\000\000\
1158 :     \\000\000\
1159 :     \\000\000\
1160 :     \\001\000\010\000\003\000\009\000\019\000\224\001\020\000\007\000\
1161 :     \\021\000\006\000\024\000\005\000\000\000\
1162 :     \\001\000\116\000\005\000\146\001\073\000\225\001\000\000\
1163 :     \\000\000\
1164 :     \\074\000\226\001\000\000\
1165 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\227\001\000\000\
1166 :     \\000\000\
1167 :     \\000\000\
1168 :     \\000\000\
1169 :     \\000\000\
1170 :     \\000\000\
1171 :     \\000\000\
1172 :     \\000\000\
1173 :     \\001\000\229\001\000\000\
1174 :     \\007\000\230\001\000\000\
1175 :     \\004\000\167\001\046\000\231\001\047\000\165\001\048\000\164\001\000\000\
1176 :     \\051\000\004\000\052\000\123\000\054\000\232\001\000\000\
1177 :     \\000\000\
1178 :     \\000\000\
1179 :     \\000\000\
1180 :     \\000\000\
1181 :     \\000\000\
1182 :     \\000\000\
1183 :     \\000\000\
1184 :     \\004\000\110\001\062\000\233\001\000\000\
1185 :     \\000\000\
1186 :     \\042\000\112\001\061\000\235\001\000\000\
1187 :     \\000\000\
1188 :     \\001\000\114\001\059\000\237\001\000\000\
1189 :     \\001\000\063\001\067\000\238\001\000\000\
1190 :     \\001\000\116\000\005\000\117\001\064\000\239\001\065\000\115\001\000\000\
1191 :     \\001\000\116\000\005\000\241\001\065\000\240\001\000\000\
1192 :     \\000\000\
1193 :     \\000\000\
1194 :     \\001\000\188\001\058\000\242\001\000\000\
1195 :     \\001\000\122\001\060\000\243\001\000\000\
1196 :     \\000\000\
1197 :     \\000\000\
1198 :     \\001\000\245\001\000\000\
1199 :     \\001\000\124\001\063\000\246\001\000\000\
1200 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\247\001\000\000\
1201 :     \\041\000\248\001\042\000\104\000\000\000\
1202 :     \\000\000\
1203 :     \\000\000\
1204 :     \\000\000\
1205 :     \\002\000\090\000\003\000\089\000\026\000\132\001\027\000\087\000\
1206 :     \\028\000\086\000\033\000\249\001\039\000\084\000\000\000\
1207 :     \\002\000\090\000\003\000\089\000\026\000\250\001\027\000\087\000\
1208 :     \\028\000\086\000\039\000\084\000\000\000\
1209 :     \\000\000\
1210 :     \\001\000\010\000\003\000\009\000\019\000\251\001\020\000\007\000\
1211 :     \\021\000\006\000\024\000\005\000\000\000\
1212 :     \\001\000\010\000\003\000\009\000\019\000\252\001\020\000\007\000\
1213 :     \\021\000\006\000\024\000\005\000\000\000\
1214 :     \\000\000\
1215 :     \\001\000\063\001\067\000\254\001\000\000\
1216 :     \\001\000\063\001\067\000\255\001\000\000\
1217 :     \\000\000\
1218 :     \\001\000\116\000\005\000\146\001\051\000\004\000\052\000\211\001\
1219 :     \\073\000\001\002\075\000\210\001\076\000\000\002\000\000\
1220 :     \\000\000\
1221 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\003\002\000\000\
1222 :     \\000\000\
1223 :     \\001\000\109\000\080\000\004\002\000\000\
1224 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\005\002\000\000\
1225 :     \\001\000\131\000\083\000\006\002\000\000\
1226 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\007\002\000\000\
1227 :     \\000\000\
1228 :     \\000\000\
1229 :     \\000\000\
1230 :     \\042\000\011\002\000\000\
1231 :     \\000\000\
1232 :     \\000\000\
1233 :     \\000\000\
1234 :     \\051\000\004\000\052\000\123\000\054\000\013\002\000\000\
1235 :     \\000\000\
1236 :     \\000\000\
1237 :     \\000\000\
1238 :     \\000\000\
1239 :     \\004\000\167\001\047\000\015\002\048\000\164\001\000\000\
1240 :     \\000\000\
1241 :     \\000\000\
1242 :     \\000\000\
1243 :     \\000\000\
1244 :     \\000\000\
1245 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\018\002\000\000\
1246 :     \\000\000\
1247 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\019\002\000\000\
1248 :     \\000\000\
1249 :     \\000\000\
1250 :     \\000\000\
1251 :     \\000\000\
1252 :     \\000\000\
1253 :     \\000\000\
1254 :     \\000\000\
1255 :     \\001\000\063\001\067\000\021\002\000\000\
1256 :     \\000\000\
1257 :     \\000\000\
1258 :     \\000\000\
1259 :     \\000\000\
1260 :     \\000\000\
1261 :     \\000\000\
1262 :     \\000\000\
1263 :     \\000\000\
1264 :     \\001\000\010\000\003\000\009\000\019\000\022\002\020\000\007\000\
1265 :     \\021\000\006\000\024\000\005\000\000\000\
1266 :     \\000\000\
1267 :     \\000\000\
1268 :     \\000\000\
1269 :     \\000\000\
1270 :     \\000\000\
1271 :     \\000\000\
1272 :     \\000\000\
1273 :     \\000\000\
1274 :     \\000\000\
1275 :     \\000\000\
1276 :     \\001\000\116\000\005\000\146\001\073\000\026\002\000\000\
1277 :     \\001\000\116\000\005\000\218\001\066\000\027\002\000\000\
1278 :     \\001\000\116\000\005\000\028\002\000\000\
1279 :     \\001\000\116\000\005\000\029\002\000\000\
1280 :     \\001\000\010\000\003\000\009\000\019\000\222\001\020\000\007\000\
1281 :     \\021\000\006\000\024\000\005\000\053\000\030\002\000\000\
1282 :     \\000\000\
1283 :     \\001\000\116\000\005\000\158\001\084\000\031\002\000\000\
1284 :     \\000\000\
1285 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\032\002\000\000\
1286 :     \\000\000\
1287 :     \\000\000\
1288 :     \\000\000\
1289 :     \\001\000\116\000\005\000\033\002\000\000\
1290 :     \\000\000\
1291 :     \\000\000\
1292 :     \\074\000\034\002\000\000\
1293 :     \\074\000\035\002\000\000\
1294 :     \\051\000\004\000\052\000\211\001\075\000\210\001\076\000\036\002\000\000\
1295 :     \\000\000\
1296 :     \\000\000\
1297 :     \\000\000\
1298 :     \\000\000\
1299 :     \\000\000\
1300 :     \\000\000\
1301 :     \\000\000\
1302 :     \\000\000\
1303 :     \\000\000\
1304 :     \\000\000\
1305 :     \\000\000\
1306 :     \\000\000\
1307 :     \\007\000\157\000\010\000\156\000\011\000\155\000\012\000\041\002\000\000\
1308 :     \\000\000\
1309 :     \\000\000\
1310 :     \\000\000\
1311 :     \\000\000\
1312 :     \"
1313 :     val numstates = 555
1314 :     val numrules = 281
1315 :     val s = ref "" and index = ref 0
1316 :     val string_to_int = fn () =>
1317 :     let val i = !index
1318 :     in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
1319 :     end
1320 :     val string_to_list = fn s' =>
1321 :     let val len = String.size s'
1322 :     fun f () =
1323 :     if !index < len then string_to_int() :: f()
1324 :     else nil
1325 :     in index := 0; s := s'; f ()
1326 :     end
1327 :     val string_to_pairlist = fn (conv_key,conv_entry) =>
1328 :     let fun f () =
1329 :     case string_to_int()
1330 :     of 0 => EMPTY
1331 :     | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
1332 :     in f
1333 :     end
1334 :     val string_to_pairlist_default = fn (conv_key,conv_entry) =>
1335 :     let val conv_row = string_to_pairlist(conv_key,conv_entry)
1336 :     in fn () =>
1337 :     let val default = conv_entry(string_to_int())
1338 :     val row = conv_row()
1339 :     in (row,default)
1340 :     end
1341 :     end
1342 :     val string_to_table = fn (convert_row,s') =>
1343 :     let val len = String.size s'
1344 :     fun f ()=
1345 :     if !index < len then convert_row() :: f()
1346 :     else nil
1347 :     in (s := s'; index := 0; f ())
1348 :     end
1349 :     local
1350 :     val memo = Array.array(numstates+numrules,ERROR)
1351 :     val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
1352 :     fun f i =
1353 :     if i=numstates then g i
1354 :     else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
1355 :     in f 0 handle Subscript => ()
1356 :     end
1357 :     in
1358 :     val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
1359 :     end
1360 :     val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
1361 :     val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
1362 :     val actionRowNumbers = string_to_list actionRowNumbers
1363 :     val actionT = let val actionRowLookUp=
1364 :     let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
1365 :     in Array.fromList(map actionRowLookUp actionRowNumbers)
1366 :     end
1367 :     in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
1368 :     numStates=numstates,initialState=STATE 0}
1369 :     end
1370 :     end
1371 :     local open Header in
1372 :     type pos = int
1373 :     type arg = pos*pos -> ErrorMsg.complainer
1374 :     structure MlyValue =
1375 :     struct
1376 :     datatype svalue = VOID | ntVOID of unit -> unit
1377 :     | AQID of unit -> (FastSymbol.raw_symbol)
1378 :     | OBJL of unit -> (string) | ENDQ of unit -> (string)
1379 :     | CHAR of unit -> (string) | STRING of unit -> (string)
1380 :     | REAL of unit -> (string) | WORD of unit -> (IntInf.int)
1381 :     | INT0 of unit -> (IntInf.int) | INT of unit -> (IntInf.int)
1382 :     | TYVAR of unit -> (FastSymbol.raw_symbol)
1383 :     | ID of unit -> (FastSymbol.raw_symbol) | interdec of unit -> (dec)
1384 :     | fct_exp of unit -> (fsigexp sigConst -> fctexp)
1385 :     | fctb of unit -> (fctb list)
1386 :     | fparamList of unit -> ( ( symbol option * sigexp ) list)
1387 :     | fparam of unit -> (symbol option*sigexp)
1388 :     | strb of unit -> (strb list) | sdecs' of unit -> (dec)
1389 :     | sdecs of unit -> (dec) | sdec of unit -> (dec)
1390 :     | strdecs of unit -> (dec) | strdec of unit -> (dec)
1391 :     | arg_fct of unit -> ( ( strexp * bool ) list)
1392 :     | str of unit -> (strexp) | fsig of unit -> (fsigexp)
1393 :     | fsigb of unit -> (fsigb list) | sigb of unit -> (sigb list)
1394 :     | fsigconstraint_op of unit -> (fsigexp sigConst)
1395 :     | sigconstraint_op of unit -> (sigexp sigConst)
1396 :     | sign of unit -> (sigexp) | whspec of unit -> (wherespec list)
1397 :     | patheqn of unit -> ( ( FastSymbol.raw_symbol ->symbol ) -> symbol list list)
1398 :     | sharespec of unit -> (spec list)
1399 :     | exnspec of unit -> ( ( symbol * ty option ) list)
1400 :     | valspec of unit -> ( ( symbol * ty ) list)
1401 :     | tyspec of unit -> ( ( symbol * tyvar list * ty option ) list)
1402 :     | fctspec of unit -> ( ( symbol * fsigexp ) list)
1403 :     | strspec of unit -> ( ( symbol * sigexp * path option ) list)
1404 :     | idents of unit -> (spec list) | spec of unit -> (spec list)
1405 :     | spec_s of unit -> (spec list) | ops of unit -> (symbol list)
1406 :     | ldecs of unit -> (dec) | exp_pa of unit -> (exp list)
1407 :     | ldec of unit -> (dec) | fixity of unit -> (fixity)
1408 :     | qid_p of unit -> (Symbol.symbol list list)
1409 :     | eb of unit -> (eb list) | constr of unit -> (symbol*ty option)
1410 :     | constrs of unit -> ( ( symbol * ty option ) list)
1411 :     | dbrhs of unit -> (dbrhs) | db of unit -> (db list)
1412 :     | tyvar_pc of unit -> (tyvar list)
1413 :     | tyvarseq of unit -> (tyvar list) | tyvars of unit -> (tyvar list)
1414 :     | tb of unit -> (tb list) | clause of unit -> (clause)
1415 :     | apats of unit -> (pat fixitem list) | fb of unit -> (fb list)
1416 :     | fb' of unit -> (clause list) | rvb of unit -> (rvb list)
1417 :     | constraint of unit -> (ty option) | vb of unit -> (vb list)
1418 :     | or_pat_list of unit -> (pat list)
1419 :     | pat_list of unit -> (pat list) | pat_2c of unit -> (pat list)
1420 :     | plabels of unit -> ( ( (symbol * pat) list * bool ) )
1421 :     | plabel of unit -> ( ( symbol * pat ) ) | apat' of unit -> (pat)
1422 :     | apat of unit -> (pat fixitem) | pat of unit -> (pat)
1423 :     | ot_list of unit -> (exp list) | quote of unit -> (exp list)
1424 :     | exp_2c of unit -> (exp list) | exp_list of unit -> (exp list)
1425 :     | aexp of unit -> (exp) | app_exp of unit -> (exp fixitem list)
1426 :     | exp of unit -> (exp) | exp_ps of unit -> (exp list)
1427 :     | elabels of unit -> ( ( symbol * exp ) list)
1428 :     | elabel of unit -> ( ( symbol * exp ) ) | rule of unit -> (rule)
1429 :     | match of unit -> (rule list) | ty0_pc of unit -> (ty list)
1430 :     | ty of unit -> (ty) | tuple_ty of unit -> (ty list)
1431 :     | ty' of unit -> (ty) | tlabels of unit -> ( ( symbol * ty ) list)
1432 :     | tlabel of unit -> ( ( symbol * ty ) )
1433 :     | tycon of unit -> (symbol list) | selector of unit -> (symbol)
1434 :     | qid of unit -> ( ( FastSymbol.raw_symbol ->symbol ) -> symbol list)
1435 :     | op_op of unit -> (unit) | int of unit -> (IntInf.int)
1436 :     | id of unit -> (FastSymbol.raw_symbol)
1437 :     | ident of unit -> (FastSymbol.raw_symbol)
1438 :     end
1439 :     type svalue = MlyValue.svalue
1440 :     type result = dec
1441 :     end
1442 :     structure EC=
1443 :     struct
1444 :     open LrTable
1445 :     val is_keyword =
1446 :     fn (T 10) => true | (T 11) => true | (T 13) => true | (T 15) => true
1447 :     | (T 16) => true | (T 17) => true | (T 18) => true | (T 19) => true
1448 :     | (T 21) => true | (T 22) => true | (T 23) => true | (T 25) => true
1449 :     | (T 26) => true | (T 27) => true | (T 28) => true | (T 29) => true
1450 :     | (T 31) => true | (T 32) => true | (T 33) => true | (T 34) => true
1451 :     | (T 35) => true | (T 36) => true | (T 37) => true | (T 38) => true
1452 :     | (T 39) => true | (T 40) => true | (T 41) => true | (T 42) => true
1453 :     | (T 43) => true | (T 44) => true | (T 45) => true | (T 46) => true
1454 :     | (T 47) => true | (T 48) => true | (T 49) => true | (T 50) => true
1455 :     | (T 51) => true | (T 52) => true | (T 53) => true | (T 55) => true
1456 :     | (T 54) => true | (T 57) => true | (T 58) => true | (T 69) => true
1457 :     | (T 70) => true | _ => false
1458 :     val preferred_change =
1459 :     (nil
1460 :     ,(T 53) :: nil
1461 :     )::
1462 :     (nil
1463 :     ,(T 51) :: nil
1464 :     )::
1465 :     (nil
1466 :     ,(T 18) :: nil
1467 :     )::
1468 :     (nil
1469 :     ,(T 65) :: nil
1470 :     )::
1471 :     (nil
1472 :     ,(T 1) :: nil
1473 :     )::
1474 :     ((T 25) :: nil
1475 :     ,(T 20) :: nil
1476 :     )::
1477 :     ((T 20) :: nil
1478 :     ,(T 25) :: nil
1479 :     )::
1480 :     ((T 11) :: nil
1481 :     ,(T 70) :: nil
1482 :     )::
1483 :     ((T 60) :: nil
1484 :     ,(T 40) :: nil
1485 :     )::
1486 :     ((T 1) :: nil
1487 :     ,(T 62) :: nil
1488 :     )::
1489 :     ((T 62) :: nil
1490 :     ,(T 1) :: nil
1491 :     )::
1492 :     (nil
1493 :     ,(T 32) :: (T 2) :: (T 19) :: nil
1494 :     )::
1495 :     (nil
1496 :     ,(T 18) :: (T 2) :: nil
1497 :     )::
1498 :     nil
1499 :     val noShift =
1500 :     fn (T 0) => true | _ => false
1501 :     val showTerminal =
1502 :     fn (T 0) => "EOF"
1503 :     | (T 1) => "SEMICOLON"
1504 :     | (T 2) => "ID"
1505 :     | (T 3) => "TYVAR"
1506 :     | (T 4) => "INT"
1507 :     | (T 5) => "INT0"
1508 :     | (T 6) => "WORD"
1509 :     | (T 7) => "REAL"
1510 :     | (T 8) => "STRING"
1511 :     | (T 9) => "CHAR"
1512 :     | (T 10) => "ABSTYPE"
1513 :     | (T 11) => "AND"
1514 :     | (T 12) => "ARROW"
1515 :     | (T 13) => "AS"
1516 :     | (T 14) => "BAR"
1517 :     | (T 15) => "CASE"
1518 :     | (T 16) => "DATATYPE"
1519 :     | (T 17) => "DOTDOTDOT"
1520 :     | (T 18) => "ELSE"
1521 :     | (T 19) => "END"
1522 :     | (T 20) => "EQUALOP"
1523 :     | (T 21) => "EQTYPE"
1524 :     | (T 22) => "EXCEPTION"
1525 :     | (T 23) => "DO"
1526 :     | (T 24) => "DOT"
1527 :     | (T 25) => "DARROW"
1528 :     | (T 26) => "FN"
1529 :     | (T 27) => "FUN"
1530 :     | (T 28) => "FUNCTOR"
1531 :     | (T 29) => "HANDLE"
1532 :     | (T 30) => "HASH"
1533 :     | (T 31) => "IF"
1534 :     | (T 32) => "IN"
1535 :     | (T 33) => "INCLUDE"
1536 :     | (T 34) => "INFIX"
1537 :     | (T 35) => "INFIXR"
1538 :     | (T 36) => "LAZY"
1539 :     | (T 37) => "LET"
1540 :     | (T 38) => "LOCAL"
1541 :     | (T 39) => "NONFIX"
1542 :     | (T 40) => "OF"
1543 :     | (T 41) => "OP"
1544 :     | (T 42) => "OPEN"
1545 :     | (T 43) => "OVERLOAD"
1546 :     | (T 44) => "RAISE"
1547 :     | (T 45) => "REC"
1548 :     | (T 46) => "SHARING"
1549 :     | (T 47) => "SIG"
1550 :     | (T 48) => "SIGNATURE"
1551 :     | (T 49) => "STRUCT"
1552 :     | (T 50) => "STRUCTURE"
1553 :     | (T 51) => "THEN"
1554 :     | (T 52) => "TYPE"
1555 :     | (T 53) => "VAL"
1556 :     | (T 54) => "WHERE"
1557 :     | (T 55) => "WHILE"
1558 :     | (T 56) => "WILD"
1559 :     | (T 57) => "WITH"
1560 :     | (T 58) => "WITHTYPE"
1561 :     | (T 59) => "ASTERISK"
1562 :     | (T 60) => "COLON"
1563 :     | (T 61) => "COLONGT"
1564 :     | (T 62) => "COMMA"
1565 :     | (T 63) => "LBRACE"
1566 :     | (T 64) => "LBRACKET"
1567 :     | (T 65) => "LPAREN"
1568 :     | (T 66) => "RBRACE"
1569 :     | (T 67) => "RBRACKET"
1570 :     | (T 68) => "RPAREN"
1571 :     | (T 69) => "ORELSE"
1572 :     | (T 70) => "ANDALSO"
1573 :     | (T 71) => "FUNSIG"
1574 :     | (T 72) => "VECTORSTART"
1575 :     | (T 73) => "BEGINQ"
1576 :     | (T 74) => "ENDQ"
1577 :     | (T 75) => "OBJL"
1578 :     | (T 76) => "AQID"
1579 :     | _ => "bogus-term"
1580 :     local open Header in
1581 :     val errtermvalue=
1582 :     fn (T 2) => MlyValue.ID(fn () => (rawSymbol(bogusHash,bogusString))) |
1583 :     (T 3) => MlyValue.TYVAR(fn () => (
1584 :     rawSymbol(quotedBogusHash,quotedBogusString))) |
1585 :     (T 4) => MlyValue.INT(fn () => (IntInf.fromInt 1)) |
1586 :     (T 5) => MlyValue.INT0(fn () => (IntInf.fromInt 0)) |
1587 :     (T 6) => MlyValue.WORD(fn () => (IntInf.fromInt 0)) |
1588 :     (T 7) => MlyValue.REAL(fn () => ("0.0")) |
1589 :     (T 8) => MlyValue.STRING(fn () => ("")) |
1590 :     (T 9) => MlyValue.CHAR(fn () => ("a")) |
1591 :     _ => MlyValue.VOID
1592 :     end
1593 :     val terms = (T 0) :: (T 1) :: (T 10) :: (T 11) :: (T 12) :: (T 13) ::
1594 :     (T 14) :: (T 15) :: (T 16) :: (T 17) :: (T 18) :: (T 19) :: (T 20) ::
1595 :     (T 21) :: (T 22) :: (T 23) :: (T 24) :: (T 25) :: (T 26) :: (T 27) ::
1596 :     (T 28) :: (T 29) :: (T 30) :: (T 31) :: (T 32) :: (T 33) :: (T 34) ::
1597 :     (T 35) :: (T 36) :: (T 37) :: (T 38) :: (T 39) :: (T 40) :: (T 41) ::
1598 :     (T 42) :: (T 43) :: (T 44) :: (T 45) :: (T 46) :: (T 47) :: (T 48) ::
1599 :     (T 49) :: (T 50) :: (T 51) :: (T 52) :: (T 53) :: (T 54) :: (T 55) ::
1600 :     (T 56) :: (T 57) :: (T 58) :: (T 59) :: (T 60) :: (T 61) :: (T 62) ::
1601 :     (T 63) :: (T 64) :: (T 65) :: (T 66) :: (T 67) :: (T 68) :: (T 69) ::
1602 :     (T 70) :: (T 71) :: (T 72) :: (T 73) :: nil
1603 :     end
1604 :     structure Actions =
1605 :     struct
1606 :     exception mlyAction of int
1607 :     local open Header in
1608 :     val actions =
1609 :     fn (i392,defaultPos,stack,
1610 :     (error):arg) =>
1611 :     case (i392,stack)
1612 :     of (0,(_,(MlyValue.INT INT1,INT1left,INT1right))::rest671) => let val
1613 :     result=MlyValue.int(fn _ => let val INT as INT1=INT1 ()
1614 :     in (INT) end
1615 :     )
1616 :     in (LrTable.NT 2,(result,INT1left,INT1right),rest671) end
1617 :     | (1,(_,(MlyValue.INT0 INT01,INT01left,INT01right))::rest671) => let
1618 :     val result=MlyValue.int(fn _ => let val INT0 as INT01=INT01 ()
1619 :     in (INT0) end
1620 :     )
1621 :     in (LrTable.NT 2,(result,INT01left,INT01right),rest671) end
1622 :     | (2,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val
1623 :     result=MlyValue.id(fn _ => let val ID as ID1=ID1 ()
1624 :     in (ID) end
1625 :     )
1626 :     in (LrTable.NT 1,(result,ID1left,ID1right),rest671) end
1627 :     | (3,(_,(_,ASTERISK1left,ASTERISK1right))::rest671) => let val result=
1628 :     MlyValue.id(fn _ => (rawSymbol (asteriskHash,asteriskString)))
1629 :     in (LrTable.NT 1,(result,ASTERISK1left,ASTERISK1right),rest671) end
1630 :     | (4,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val
1631 :     result=MlyValue.ident(fn _ => let val ID as ID1=ID1 ()
1632 :     in (ID) end
1633 :     )
1634 :     in (LrTable.NT 0,(result,ID1left,ID1right),rest671) end
1635 :     | (5,(_,(_,ASTERISK1left,ASTERISK1right))::rest671) => let val result=
1636 :     MlyValue.ident(fn _ => (rawSymbol (asteriskHash,asteriskString)))
1637 :     in (LrTable.NT 0,(result,ASTERISK1left,ASTERISK1right),rest671) end
1638 :     | (6,(_,(_,EQUALOP1left,EQUALOP1right))::rest671) => let val result=
1639 :     MlyValue.ident(fn _ => (rawSymbol (equalHash,equalString)))
1640 :     in (LrTable.NT 0,(result,EQUALOP1left,EQUALOP1right),rest671) end
1641 :     | (7,(_,(_,OPleft as OP1left,OPright as OP1right))::rest671) => let
1642 :     val result=MlyValue.op_op(fn _ => (
1643 :     error (OPleft,OPright) WARN "unnecessary `op'"
1644 :     nullErrorBody
1645 :     ))
1646 :     in (LrTable.NT 3,(result,OP1left,OP1right),rest671) end
1647 :     | (8,rest671) => let val result=MlyValue.op_op(fn _ => ())
1648 :     in (LrTable.NT 3,(result,defaultPos,defaultPos),rest671) end
1649 :     | (9,(_,(MlyValue.qid qid1,_,qid1right))::_::(_,(MlyValue.ID ID1,
1650 :     ID1left,_))::rest671) => let val result=MlyValue.qid(fn _ => let val
1651 :     ID as ID1=ID1 ()
1652 :     val qid as qid1=qid1 ()
1653 :     in (fn kind => strSymbol ID :: qid kind) end
1654 :     )
1655 :     in (LrTable.NT 4,(result,ID1left,qid1right),rest671) end
1656 :     | (10,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671) =>
1657 :     let val result=MlyValue.qid(fn _ => let val ident as ident1=ident1 ()
1658 :     in (fn kind => [kind ident]) end
1659 :     )
1660 :     in (LrTable.NT 4,(result,ident1left,ident1right),rest671) end
1661 :     | (11,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val
1662 :     result=MlyValue.selector(fn _ => let val id as id1=id1 ()
1663 :     in (labSymbol id) end
1664 :     )
1665 :     in (LrTable.NT 5,(result,id1left,id1right),rest671) end
1666 :     | (12,(_,(MlyValue.INT INT1,INT1left,INT1right))::rest671) => let val
1667 :     result=MlyValue.selector(fn _ => let val INT as INT1=INT1 ()
1668 :     in (Symbol.labSymbol(IntInf.toString INT)) end
1669 :     )
1670 :     in (LrTable.NT 5,(result,INT1left,INT1right),rest671) end
1671 :     | (13,(_,(MlyValue.tycon tycon1,_,tycon1right))::_::(_,(MlyValue.ID
1672 :     ID1,ID1left,_))::rest671) => let val result=MlyValue.tycon(fn _ =>
1673 :     let val ID as ID1=ID1 ()
1674 :     val tycon as tycon1=tycon1 ()
1675 :     in (strSymbol ID :: tycon) end
1676 :     )
1677 :     in (LrTable.NT 6,(result,ID1left,tycon1right),rest671) end
1678 :     | (14,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val
1679 :     result=MlyValue.tycon(fn _ => let val ID as ID1=ID1 ()
1680 :     in ([tycSymbol ID]) end
1681 :     )
1682 :     in (LrTable.NT 6,(result,ID1left,ID1right),rest671) end
1683 :     | (15,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.selector
1684 :     selector1,selector1left,_))::rest671) => let val result=
1685 :     MlyValue.tlabel(fn _ => let val selector as selector1=selector1 ()
1686 :     val ty as ty1=ty1 ()
1687 :     in (selector, ty ) end
1688 :     )
1689 :     in (LrTable.NT 7,(result,selector1left,ty1right),rest671) end
1690 :     | (16,(_,(MlyValue.tlabels tlabels1,_,tlabels1right))::_::(_,(
1691 :     MlyValue.tlabel tlabel1,tlabel1left,_))::rest671) => let val result=
1692 :     MlyValue.tlabels(fn _ => let val tlabel as tlabel1=tlabel1 ()
1693 :     val tlabels as tlabels1=tlabels1 ()
1694 :     in (tlabel :: tlabels) end
1695 :     )
1696 :     in (LrTable.NT 8,(result,tlabel1left,tlabels1right),rest671) end
1697 :     | (17,(_,(MlyValue.tlabel tlabel1,tlabel1left,tlabel1right))::rest671)
1698 :     => let val result=MlyValue.tlabels(fn _ => let val tlabel as tlabel1=
1699 :     tlabel1 ()
1700 :     in ([tlabel]) end
1701 :     )
1702 :     in (LrTable.NT 8,(result,tlabel1left,tlabel1right),rest671) end
1703 :     | (18,(_,(MlyValue.TYVAR TYVAR1,TYVARleft as TYVAR1left,TYVARright as
1704 :     TYVAR1right))::rest671) => let val result=MlyValue.ty'(fn _ => let
1705 :     val TYVAR as TYVAR1=TYVAR1 ()
1706 :     in (MarkTy (VarTy(Tyv(tyvSymbol TYVAR)),
1707 :     (TYVARleft,TYVARright))
1708 :     ) end
1709 :     )
1710 :     in (LrTable.NT 9,(result,TYVAR1left,TYVAR1right),rest671) end
1711 :     | (19,(_,(_,_,RBRACEright as RBRACE1right))::(_,(MlyValue.tlabels
1712 :     tlabels1,_,_))::(_,(_,LBRACEleft as LBRACE1left,_))::rest671) => let
1713 :     val result=MlyValue.ty'(fn _ => let val tlabels as tlabels1=tlabels1
1714 :     ()
1715 :     in (MarkTy(RecordTy tlabels,(LBRACEleft,RBRACEright))) end
1716 :     )
1717 :     in (LrTable.NT 9,(result,LBRACE1left,RBRACE1right),rest671) end
1718 :     | (20,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let
1719 :     val result=MlyValue.ty'(fn _ => (RecordTy []))
1720 :     in (LrTable.NT 9,(result,LBRACE1left,RBRACE1right),rest671) end
1721 :     | (21,(_,(MlyValue.tycon tycon1,tyconleft,tyconright as tycon1right))
1722 :     ::_::(_,(MlyValue.ty0_pc ty0_pc1,_,_))::(_,(_,LPAREN1left,_))::rest671
1723 :     ) => let val result=MlyValue.ty'(fn _ => let val ty0_pc as ty0_pc1=
1724 :     ty0_pc1 ()
1725 :     val tycon as tycon1=tycon1 ()
1726 :     in (MarkTy(ConTy(tycon,ty0_pc),(tyconleft,tyconright))) end
1727 :     )
1728 :     in (LrTable.NT 9,(result,LPAREN1left,tycon1right),rest671) end
1729 :     | (22,(_,(_,_,RPAREN1right))::(_,(MlyValue.ty ty1,_,_))::(_,(_,
1730 :     LPAREN1left,_))::rest671) => let val result=MlyValue.ty'(fn _ => let
1731 :     val ty as ty1=ty1 ()
1732 :     in (ty) end
1733 :     )
1734 :     in (LrTable.NT 9,(result,LPAREN1left,RPAREN1right),rest671) end
1735 :     | (23,(_,(MlyValue.tycon tycon1,tyconleft,tyconright as tycon1right))
1736 :     ::(_,(MlyValue.ty' ty'1,ty'1left,_))::rest671) => let val result=
1737 :     MlyValue.ty'(fn _ => let val ty' as ty'1=ty'1 ()
1738 :     val tycon as tycon1=tycon1 ()
1739 :     in (MarkTy(ConTy(tycon,[ty']),(tyconleft,tyconright))) end
1740 :     )
1741 :     in (LrTable.NT 9,(result,ty'1left,tycon1right),rest671) end
1742 :     | (24,(_,(MlyValue.tycon tycon1,tyconleft as tycon1left,tyconright as
1743 :     tycon1right))::rest671) => let val result=MlyValue.ty'(fn _ => let
1744 :     val tycon as tycon1=tycon1 ()
1745 :     in (MarkTy(ConTy(tycon,[]),(tyconleft,tyconright))) end
1746 :     )
1747 :     in (LrTable.NT 9,(result,tycon1left,tycon1right),rest671) end
1748 :     | (25,(_,(MlyValue.tuple_ty tuple_ty1,_,tuple_ty1right))::_::(_,(
1749 :     MlyValue.ty' ty'1,ty'1left,_))::rest671) => let val result=
1750 :     MlyValue.tuple_ty(fn _ => let val ty' as ty'1=ty'1 ()
1751 :     val tuple_ty as tuple_ty1=tuple_ty1 ()
1752 :     in (ty' :: tuple_ty) end
1753 :     )
1754 :     in (LrTable.NT 10,(result,ty'1left,tuple_ty1right),rest671) end
1755 :     | (26,(_,(MlyValue.ty' ty'2,_,ty'2right))::_::(_,(MlyValue.ty' ty'1,
1756 :     ty'1left,_))::rest671) => let val result=MlyValue.tuple_ty(fn _ =>
1757 :     let val ty'1=ty'1 ()
1758 :     val ty'2=ty'2 ()
1759 :     in ([ty'1,ty'2]) end
1760 :     )
1761 :     in (LrTable.NT 10,(result,ty'1left,ty'2right),rest671) end
1762 :     | (27,(_,(MlyValue.tuple_ty tuple_ty1,tuple_ty1left,tuple_ty1right))::
1763 :     rest671) => let val result=MlyValue.ty(fn _ => let val tuple_ty as
1764 :     tuple_ty1=tuple_ty1 ()
1765 :     in (TupleTy(tuple_ty)) end
1766 :     )
1767 :     in (LrTable.NT 11,(result,tuple_ty1left,tuple_ty1right),rest671) end
1768 :     | (28,(_,(MlyValue.ty ty2,_,ty2right))::_::(_,(MlyValue.ty ty1,ty1left
1769 :     ,_))::rest671) => let val result=MlyValue.ty(fn _ => let val ty1=ty1
1770 :     ()
1771 :     val ty2=ty2 ()
1772 :     in (ConTy([arrowTycon], [ty1,ty2])) end
1773 :     )
1774 :     in (LrTable.NT 11,(result,ty1left,ty2right),rest671) end
1775 :     | (29,(_,(MlyValue.ty' ty'1,ty'1left,ty'1right))::rest671) => let val
1776 :     result=MlyValue.ty(fn _ => let val ty' as ty'1=ty'1 ()
1777 :     in (ty') end
1778 :     )
1779 :     in (LrTable.NT 11,(result,ty'1left,ty'1right),rest671) end
1780 :     | (30,(_,(MlyValue.ty ty2,_,ty2right))::_::(_,(MlyValue.ty ty1,ty1left
1781 :     ,_))::rest671) => let val result=MlyValue.ty0_pc(fn _ => let val ty1=
1782 :     ty1 ()
1783 :     val ty2=ty2 ()
1784 :     in ([ty1,ty2]) end
1785 :     )
1786 :     in (LrTable.NT 12,(result,ty1left,ty2right),rest671) end
1787 :     | (31,(_,(MlyValue.ty0_pc ty0_pc1,_,ty0_pc1right))::_::(_,(MlyValue.ty
1788 :     ty1,ty1left,_))::rest671) => let val result=MlyValue.ty0_pc(fn _ =>
1789 :     let val ty as ty1=ty1 ()
1790 :     val ty0_pc as ty0_pc1=ty0_pc1 ()
1791 :     in (ty :: ty0_pc) end
1792 :     )
1793 :     in (LrTable.NT 12,(result,ty1left,ty0_pc1right),rest671) end
1794 :     | (32,(_,(MlyValue.rule rule1,rule1left,rule1right))::rest671) => let
1795 :     val result=MlyValue.match(fn _ => let val rule as rule1=rule1 ()
1796 :     in ([rule]) end
1797 :     )
1798 :     in (LrTable.NT 13,(result,rule1left,rule1right),rest671) end
1799 :     | (33,(_,(MlyValue.match match1,_,match1right))::_::(_,(MlyValue.rule
1800 :     rule1,rule1left,_))::rest671) => let val result=MlyValue.match(fn _
1801 :     => let val rule as rule1=rule1 ()
1802 :     val match as match1=match1 ()
1803 :     in (rule :: match) end
1804 :     )
1805 :     in (LrTable.NT 13,(result,rule1left,match1right),rest671) end
1806 :     | (34,(_,(MlyValue.exp exp1,expleft,expright as exp1right))::_::(_,(
1807 :     MlyValue.pat pat1,pat1left,_))::rest671) => let val result=
1808 :     MlyValue.rule(fn _ => let val pat as pat1=pat1 ()
1809 :     val exp as exp1=exp1 ()
1810 :     in (Rule{pat=pat,
1811 :     exp=markexp(exp,expleft,expright)}) end
1812 :     )
1813 :     in (LrTable.NT 14,(result,pat1left,exp1right),rest671) end
1814 :     | (35,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(MlyValue.selector
1815 :     selector1,selector1left,_))::rest671) => let val result=
1816 :     MlyValue.elabel(fn _ => let val selector as selector1=selector1 ()
1817 :     val exp as exp1=exp1 ()
1818 :     in (selector,exp) end
1819 :     )
1820 :     in (LrTable.NT 15,(result,selector1left,exp1right),rest671) end
1821 :     | (36,(_,(MlyValue.elabels elabels1,_,elabels1right))::_::(_,(
1822 :     MlyValue.elabel elabel1,elabel1left,_))::rest671) => let val result=
1823 :     MlyValue.elabels(fn _ => let val elabel as elabel1=elabel1 ()
1824 :     val elabels as elabels1=elabels1 ()
1825 :     in (elabel :: elabels) end
1826 :     )
1827 :     in (LrTable.NT 16,(result,elabel1left,elabels1right),rest671) end
1828 :     | (37,(_,(MlyValue.elabel elabel1,elabel1left,elabel1right))::rest671)
1829 :     => let val result=MlyValue.elabels(fn _ => let val elabel as elabel1=
1830 :     elabel1 ()
1831 :     in ([elabel]) end
1832 :     )
1833 :     in (LrTable.NT 16,(result,elabel1left,elabel1right),rest671) end
1834 :     | (38,(_,(MlyValue.exp exp1,exp1left,exp1right))::rest671) => let val
1835 :     result=MlyValue.exp_ps(fn _ => let val exp as exp1=exp1 ()
1836 :     in ([exp]) end
1837 :     )
1838 :     in (LrTable.NT 17,(result,exp1left,exp1right),rest671) end
1839 :     | (39,(_,(MlyValue.exp_ps exp_ps1,_,exp_ps1right))::_::(_,(
1840 :     MlyValue.exp exp1,exp1left,_))::rest671) => let val result=
1841 :     MlyValue.exp_ps(fn _ => let val exp as exp1=exp1 ()
1842 :     val exp_ps as exp_ps1=exp_ps1 ()
1843 :     in (exp :: exp_ps) end
1844 :     )
1845 :     in (LrTable.NT 17,(result,exp1left,exp_ps1right),rest671) end
1846 :     | (40,(_,(MlyValue.match match1,_,match1right))::_::(_,(MlyValue.exp
1847 :     exp1,exp1left,_))::rest671) => let val result=MlyValue.exp(fn _ =>
1848 :     let val exp as exp1=exp1 ()
1849 :     val match as match1=match1 ()
1850 :     in (HandleExp{expr=exp,rules=match}) end
1851 :     )
1852 :     in (LrTable.NT 18,(result,exp1left,match1right),rest671) end
1853 :     | (41,(_,(MlyValue.exp exp2,exp2left,exp2right))::_::(_,(MlyValue.exp
1854 :     exp1,exp1left,exp1right))::rest671) => let val result=MlyValue.exp(fn
1855 :     _ => let val exp1=exp1 ()
1856 :     val exp2=exp2 ()
1857 :     in (
1858 :     OrelseExp(markexp(exp1,exp1left,exp1right),
1859 :     markexp(exp2,exp2left,exp2right))
1860 :     ) end
1861 :     )
1862 :     in (LrTable.NT 18,(result,exp1left,exp2right),rest671) end
1863 :     | (42,(_,(MlyValue.exp exp2,exp2left,exp2right))::_::(_,(MlyValue.exp
1864 :     exp1,exp1left,exp1right))::rest671) => let val result=MlyValue.exp(fn
1865 :     _ => let val exp1=exp1 ()
1866 :     val exp2=exp2 ()
1867 :     in (
1868 :     AndalsoExp(markexp(exp1,exp1left,exp1right),
1869 :     markexp(exp2,exp2left,exp2right))
1870 :     ) end
1871 :     )
1872 :     in (LrTable.NT 18,(result,exp1left,exp2right),rest671) end
1873 :     | (43,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.exp exp1,
1874 :     exp1left,_))::rest671) => let val result=MlyValue.exp(fn _ => let val
1875 :     exp as exp1=exp1 ()
1876 :     val ty as ty1=ty1 ()
1877 :     in (ConstraintExp{expr=exp,constraint=ty}) end
1878 :     )
1879 :     in (LrTable.NT 18,(result,exp1left,ty1right),rest671) end
1880 :     | (44,(_,(MlyValue.app_exp app_exp1,app_exp1left,app_exp1right))::
1881 :     rest671) => let val result=MlyValue.exp(fn _ => let val app_exp as
1882 :     app_exp1=app_exp1 ()
1883 :     in (FlatAppExp(app_exp)) end
1884 :     )
1885 :     in (LrTable.NT 18,(result,app_exp1left,app_exp1right),rest671) end
1886 :     | (45,(_,(MlyValue.match match1,_,matchright as match1right))::(_,(_,
1887 :     FNleft as FN1left,_))::rest671) => let val result=MlyValue.exp(fn _
1888 :     => let val match as match1=match1 ()
1889 :     in (markexp(FnExp match, FNleft,matchright)) end
1890 :     )
1891 :     in (LrTable.NT 18,(result,FN1left,match1right),rest671) end
1892 :     | (46,(_,(MlyValue.match match1,_,matchright as match1right))::_::(_,(
1893 :     MlyValue.exp exp1,_,_))::(_,(_,CASEleft as CASE1left,_))::rest671) =>
1894 :     let val result=MlyValue.exp(fn _ => let val exp as exp1=exp1 ()
1895 :     val match as match1=match1 ()
1896 :     in (
1897 :     markexp(CaseExp{expr=exp, rules=match},
1898 :     CASEleft,matchright))
1899 :     end
1900 :     )
1901 :     in (LrTable.NT 18,(result,CASE1left,match1right),rest671) end
1902 :     | (47,(_,(MlyValue.exp exp2,exp2left,exp2right))::_::(_,(MlyValue.exp
1903 :     exp1,exp1left,exp1right))::(_,(_,WHILE1left,_))::rest671) => let val
1904 :     result=MlyValue.exp(fn _ => let val exp1=exp1 ()
1905 :     val exp2=exp2 ()
1906 :     in (
1907 :     WhileExp
1908 :     {test=markexp(exp1, exp1left, exp1right),
1909 :     expr=markexp(exp2, exp2left, exp2right)}
1910 :     ) end
1911 :     )
1912 :     in (LrTable.NT 18,(result,WHILE1left,exp2right),rest671) end
1913 :     | (48,(_,(MlyValue.exp exp3,exp3left,exp3right))::_::(_,(MlyValue.exp
1914 :     exp2,exp2left,exp2right))::_::(_,(MlyValue.exp exp1,_,_))::(_,(_,
1915 :     IF1left,_))::rest671) => let val result=MlyValue.exp(fn _ => let val
1916 :     exp1=exp1 ()
1917 :     val exp2=exp2 ()
1918 :     val exp3=exp3 ()
1919 :     in (
1920 :     IfExp{test=exp1,
1921 :     thenCase=markexp(exp2,exp2left,exp2right),
1922 :     elseCase=markexp(exp3,exp3left,exp3right)}
1923 :     ) end
1924 :     )
1925 :     in (LrTable.NT 18,(result,IF1left,exp3right),rest671) end
1926 :     | (49,(_,(MlyValue.exp exp1,expleft,expright as exp1right))::(_,(_,
1927 :     RAISEleft as RAISE1left,_))::rest671) => let val result=MlyValue.exp(
1928 :     fn _ => let val exp as exp1=exp1 ()
1929 :     in (
1930 :     markexp(markexp(RaiseExp exp, expleft,expright),
1931 :     RAISEleft,expright)
1932 :     ) end
1933 :     )
1934 :     in (LrTable.NT 18,(result,RAISE1left,exp1right),rest671) end
1935 :     | (50,(_,(MlyValue.aexp aexp1,aexpleft as aexp1left,aexpright as
1936 :     aexp1right))::rest671) => let val result=MlyValue.app_exp(fn _ => let
1937 :     val aexp as aexp1=aexp1 ()
1938 :     in (
1939 :     [{item=markexp(aexp,aexpleft,aexpright),
1940 :     region=(aexpleft,aexpright), fixity=NONE}]
1941 :     ) end
1942 :     )
1943 :     in (LrTable.NT 19,(result,aexp1left,aexp1right),rest671) end
1944 :     | (51,(_,(MlyValue.ident ident1,identleft as ident1left,identright as
1945 :     ident1right))::rest671) => let val result=MlyValue.app_exp(fn _ =>
1946 :     let val ident as ident1=ident1 ()
1947 :     in (
1948 :     [let val (v,f) = var'n'fix ident
1949 :     in {item=markexp(VarExp [v],identleft,identright),
1950 :     region=(identleft,identright),
1951 :     fixity=SOME f}
1952 :     end]
1953 :     ) end
1954 :     )
1955 :     in (LrTable.NT 19,(result,ident1left,ident1right),rest671) end
1956 :     | (52,(_,(MlyValue.app_exp app_exp1,_,app_exp1right))::(_,(
1957 :     MlyValue.aexp aexp1,aexpleft as aexp1left,aexpright))::rest671) =>
1958 :     let val result=MlyValue.app_exp(fn _ => let val aexp as aexp1=aexp1 ()
1959 :     val app_exp as app_exp1=app_exp1 ()
1960 :     in (
1961 :     {item=markexp(aexp,aexpleft,aexpright),
1962 :     region=(aexpleft,aexpright), fixity=NONE}
1963 :     :: app_exp
1964 :     ) end
1965 :     )
1966 :     in (LrTable.NT 19,(result,aexp1left,app_exp1right),rest671) end
1967 :     | (53,(_,(MlyValue.app_exp app_exp1,_,app_exp1right))::(_,(
1968 :     MlyValue.ident ident1,identleft as ident1left,identright))::rest671)
1969 :     => let val result=MlyValue.app_exp(fn _ => let val ident as ident1=
1970 :     ident1 ()
1971 :     val app_exp as app_exp1=app_exp1 ()
1972 :     in (
1973 :     let val (v,f) = var'n'fix ident
1974 :     in {item=markexp(VarExp [v],identleft,identright),
1975 :     region=(identleft,identright),
1976 :     fixity=SOME f} :: app_exp
1977 :     end
1978 :     ) end
1979 :     )
1980 :     in (LrTable.NT 19,(result,ident1left,app_exp1right),rest671) end
1981 :     | (54,(_,(MlyValue.ident ident1,_,ident1right))::(_,(_,OP1left,_))::
1982 :     rest671) => let val result=MlyValue.aexp(fn _ => let val ident as
1983 :     ident1=ident1 ()
1984 :     in (VarExp [varSymbol ident]) end
1985 :     )
1986 :     in (LrTable.NT 20,(result,OP1left,ident1right),rest671) end
1987 :     | (55,(_,(MlyValue.qid qid1,_,qid1right))::_::(_,(MlyValue.ID ID1,
1988 :     ID1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => let val
1989 :     ID as ID1=ID1 ()
1990 :     val qid as qid1=qid1 ()
1991 :     in (VarExp (strSymbol ID :: qid varSymbol)) end
1992 :     )
1993 :     in (LrTable.NT 20,(result,ID1left,qid1right),rest671) end
1994 :     | (56,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let val
1995 :     result=MlyValue.aexp(fn _ => let val int as int1=int1 ()
1996 :     in (IntExp int) end
1997 :     )
1998 :     in (LrTable.NT 20,(result,int1left,int1right),rest671) end
1999 :     | (57,(_,(MlyValue.WORD WORD1,WORD1left,WORD1right))::rest671) => let
2000 :     val result=MlyValue.aexp(fn _ => let val WORD as WORD1=WORD1 ()
2001 :     in (WordExp WORD) end
2002 :     )
2003 :     in (LrTable.NT 20,(result,WORD1left,WORD1right),rest671) end
2004 :     | (58,(_,(MlyValue.REAL REAL1,REAL1left,REAL1right))::rest671) => let
2005 :     val result=MlyValue.aexp(fn _ => let val REAL as REAL1=REAL1 ()
2006 :     in (RealExp REAL) end
2007 :     )
2008 :     in (LrTable.NT 20,(result,REAL1left,REAL1right),rest671) end
2009 :     | (59,(_,(MlyValue.STRING STRING1,STRING1left,STRING1right))::rest671)
2010 :     => let val result=MlyValue.aexp(fn _ => let val STRING as STRING1=
2011 :     STRING1 ()
2012 :     in (StringExp STRING) end
2013 :     )
2014 :     in (LrTable.NT 20,(result,STRING1left,STRING1right),rest671) end
2015 :     | (60,(_,(MlyValue.CHAR CHAR1,CHAR1left,CHAR1right))::rest671) => let
2016 :     val result=MlyValue.aexp(fn _ => let val CHAR as CHAR1=CHAR1 ()
2017 :     in (CharExp CHAR) end
2018 :     )
2019 :     in (LrTable.NT 20,(result,CHAR1left,CHAR1right),rest671) end
2020 :     | (61,(_,(MlyValue.selector selector1,_,selectorright as
2021 :     selector1right))::(_,(_,HASHleft as HASH1left,_))::rest671) => let
2022 :     val result=MlyValue.aexp(fn _ => let val selector as selector1=
2023 :     selector1 ()
2024 :     in (markexp(SelectorExp selector,
2025 :     HASHleft, selectorright))
2026 :     end
2027 :     )
2028 :     in (LrTable.NT 20,(result,HASH1left,selector1right),rest671) end
2029 :     | (62,(_,(_,_,RBRACEright as RBRACE1right))::(_,(MlyValue.elabels
2030 :     elabels1,_,_))::(_,(_,LBRACEleft as LBRACE1left,_))::rest671) => let
2031 :     val result=MlyValue.aexp(fn _ => let val elabels as elabels1=elabels1
2032 :     ()
2033 :     in (markexp(RecordExp elabels,
2034 :     LBRACEleft,RBRACEright)) end
2035 :     )
2036 :     in (LrTable.NT 20,(result,LBRACE1left,RBRACE1right),rest671) end
2037 :     | (63,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let
2038 :     val result=MlyValue.aexp(fn _ => (RecordExp nil))
2039 :     in (LrTable.NT 20,(result,LBRACE1left,RBRACE1right),rest671) end
2040 :     | (64,(_,(_,_,RPAREN1right))::(_,(_,LPAREN1left,_))::rest671) => let
2041 :     val result=MlyValue.aexp(fn _ => (unitExp))
2042 :     in (LrTable.NT 20,(result,LPAREN1left,RPAREN1right),rest671) end
2043 :     | (65,(_,(_,_,RPAREN1right))::(_,(MlyValue.exp_ps exp_ps1,_,_))::(_,(_
2044 :     ,LPAREN1left,_))::rest671) => let val result=MlyValue.aexp(fn _ =>
2045 :     let val exp_ps as exp_ps1=exp_ps1 ()
2046 :     in (SeqExp exp_ps) end
2047 :     )
2048 :     in (LrTable.NT 20,(result,LPAREN1left,RPAREN1right),rest671) end
2049 :     | (66,(_,(_,_,RPAREN1right))::(_,(MlyValue.exp_2c exp_2c1,_,_))::(_,(_
2050 :     ,LPAREN1left,_))::rest671) => let val result=MlyValue.aexp(fn _ =>
2051 :     let val exp_2c as exp_2c1=exp_2c1 ()
2052 :     in (TupleExp exp_2c) end
2053 :     )
2054 :     in (LrTable.NT 20,(result,LPAREN1left,RPAREN1right),rest671) end
2055 :     | (67,(_,(_,_,RBRACKET1right))::(_,(MlyValue.exp_list exp_list1,_,_))
2056 :     ::(_,(_,LBRACKET1left,_))::rest671) => let val result=MlyValue.aexp(
2057 :     fn _ => let val exp_list as exp_list1=exp_list1 ()
2058 :     in (ListExp exp_list) end
2059 :     )
2060 :     in (LrTable.NT 20,(result,LBRACKET1left,RBRACKET1right),rest671) end
2061 :     | (68,(_,(_,_,RBRACKET1right))::(_,(_,LBRACKET1left,_))::rest671) =>
2062 :     let val result=MlyValue.aexp(fn _ => (ListExp nil))
2063 :     in (LrTable.NT 20,(result,LBRACKET1left,RBRACKET1right),rest671) end
2064 :     | (69,(_,(_,_,RBRACKET1right))::(_,(MlyValue.exp_list exp_list1,_,_))
2065 :     ::(_,(_,VECTORSTART1left,_))::rest671) => let val result=MlyValue.aexp
2066 :     (fn _ => let val exp_list as exp_list1=exp_list1 ()
2067 :     in (VectorExp exp_list) end
2068 :     )
2069 :     in (LrTable.NT 20,(result,VECTORSTART1left,RBRACKET1right),rest671)
2070 :     end
2071 :     | (70,(_,(_,_,RBRACKET1right))::(_,(_,VECTORSTART1left,_))::rest671)
2072 :     => let val result=MlyValue.aexp(fn _ => (VectorExp nil))
2073 :     in (LrTable.NT 20,(result,VECTORSTART1left,RBRACKET1right),rest671)
2074 :     end
2075 :     | (71,(_,(_,_,ENDright as END1right))::(_,(MlyValue.exp_ps exp_ps1,_,_
2076 :     ))::_::(_,(MlyValue.ldecs ldecs1,ldecsleft,ldecsright))::(_,(_,LETleft
2077 :     as LET1left,_))::rest671) => let val result=MlyValue.aexp(fn _ =>
2078 :     let val ldecs as ldecs1=ldecs1 ()
2079 :     val exp_ps as exp_ps1=exp_ps1 ()
2080 :     in (
2081 :     markexp (LetExp{dec=markdec(ldecs,ldecsleft,
2082 :     ldecsright),
2083 :     expr=SeqExp exp_ps},
2084 :     LETleft,ENDright)
2085 :     ) end
2086 :     )
2087 :     in (LrTable.NT 20,(result,LET1left,END1right),rest671) end
2088 :     | (72,(_,(MlyValue.AQID AQID1,AQID1left,AQID1right))::rest671) => let
2089 :     val result=MlyValue.aexp(fn _ => let val AQID as AQID1=AQID1 ()
2090 :     in (VarExp([varSymbol AQID])) end
2091 :     )
2092 :     in (LrTable.NT 20,(result,AQID1left,AQID1right),rest671) end
2093 :     | (73,(_,(MlyValue.quote quote1,quote1left,quote1right))::rest671) =>
2094 :     let val result=MlyValue.aexp(fn _ => let val quote as quote1=quote1 ()
2095 :     in (ListExp quote) end
2096 :     )
2097 :     in (LrTable.NT 20,(result,quote1left,quote1right),rest671) end
2098 :     | (74,(_,(MlyValue.ENDQ ENDQ1,_,ENDQ1right))::(_,(_,BEGINQ1left,_))::
2099 :     rest671) => let val result=MlyValue.quote(fn _ => let val ENDQ as
2100 :     ENDQ1=ENDQ1 ()
2101 :     in ([QuoteExp ENDQ]) end
2102 :     )
2103 :     in (LrTable.NT 23,(result,BEGINQ1left,ENDQ1right),rest671) end
2104 :     | (75,(_,(MlyValue.ENDQ ENDQ1,_,ENDQ1right))::(_,(MlyValue.ot_list
2105 :     ot_list1,_,_))::(_,(_,BEGINQ1left,_))::rest671) => let val result=
2106 :     MlyValue.quote(fn _ => let val ot_list as ot_list1=ot_list1 ()
2107 :     val ENDQ as ENDQ1=ENDQ1 ()
2108 :     in (ot_list @ [QuoteExp ENDQ]) end
2109 :     )
2110 :     in (LrTable.NT 23,(result,BEGINQ1left,ENDQ1right),rest671) end
2111 :     | (76,(_,(MlyValue.aexp aexp1,_,aexp1right))::(_,(MlyValue.OBJL OBJL1,
2112 :     OBJL1left,_))::rest671) => let val result=MlyValue.ot_list(fn _ =>
2113 :     let val OBJL as OBJL1=OBJL1 ()
2114 :     val aexp as aexp1=aexp1 ()
2115 :     in ([QuoteExp OBJL,AntiquoteExp aexp]) end
2116 :     )
2117 :     in (LrTable.NT 24,(result,OBJL1left,aexp1right),rest671) end
2118 :     | (77,(_,(MlyValue.ot_list ot_list1,_,ot_list1right))::(_,(
2119 :     MlyValue.aexp aexp1,_,_))::(_,(MlyValue.OBJL OBJL1,OBJL1left,_))::
2120 :     rest671) => let val result=MlyValue.ot_list(fn _ => let val OBJL as
2121 :     OBJL1=OBJL1 ()
2122 :     val aexp as aexp1=aexp1 ()
2123 :     val ot_list as ot_list1=ot_list1 ()
2124 :     in (
2125 :     QuoteExp OBJL :: AntiquoteExp aexp ::
2126 :     ot_list
2127 :     ) end
2128 :     )
2129 :     in (LrTable.NT 24,(result,OBJL1left,ot_list1right),rest671) end
2130 :     | (78,(_,(MlyValue.exp_2c exp_2c1,_,exp_2c1right))::_::(_,(
2131 :     MlyValue.exp exp1,exp1left,_))::rest671) => let val result=
2132 :     MlyValue.exp_2c(fn _ => let val exp as exp1=exp1 ()
2133 :     val exp_2c as exp_2c1=exp_2c1 ()
2134 :     in (exp :: exp_2c) end
2135 :     )
2136 :     in (LrTable.NT 22,(result,exp1left,exp_2c1right),rest671) end
2137 :     | (79,(_,(MlyValue.exp exp2,_,exp2right))::_::(_,(MlyValue.exp exp1,
2138 :     exp1left,_))::rest671) => let val result=MlyValue.exp_2c(fn _ => let
2139 :     val exp1=exp1 ()
2140 :     val exp2=exp2 ()
2141 :     in ([exp1, exp2]) end
2142 :     )
2143 :     in (LrTable.NT 22,(result,exp1left,exp2right),rest671) end
2144 :     | (80,(_,(MlyValue.exp exp1,exp1left,exp1right))::rest671) => let val
2145 :     result=MlyValue.exp_list(fn _ => let val exp as exp1=exp1 ()
2146 :     in ([exp]) end
2147 :     )
2148 :     in (LrTable.NT 21,(result,exp1left,exp1right),rest671) end
2149 :     | (81,(_,(MlyValue.exp_list exp_list1,_,exp_list1right))::_::(_,(
2150 :     MlyValue.exp exp1,exp1left,_))::rest671) => let val result=
2151 :     MlyValue.exp_list(fn _ => let val exp as exp1=exp1 ()
2152 :     val exp_list as exp_list1=exp_list1 ()
2153 :     in (exp :: exp_list) end
2154 :     )
2155 :     in (LrTable.NT 21,(result,exp1left,exp_list1right),rest671) end
2156 :     | (82,(_,(MlyValue.pat pat2,_,pat2right))::_::(_,(MlyValue.pat pat1,
2157 :     pat1left,_))::rest671) => let val result=MlyValue.pat(fn _ => let val
2158 :     pat1=pat1 ()
2159 :     val pat2=pat2 ()
2160 :     in (layered(pat1, pat2,
2161 :     error(pat1left,pat2right))) end
2162 :     )
2163 :     in (LrTable.NT 25,(result,pat1left,pat2right),rest671) end
2164 :     | (83,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.pat pat1,
2165 :     pat1left,_))::rest671) => let val result=MlyValue.pat(fn _ => let val
2166 :     pat as pat1=pat1 ()
2167 :     val ty as ty1=ty1 ()
2168 :     in (ConstraintPat{pattern=pat, constraint=ty}) end
2169 :     )
2170 :     in (LrTable.NT 25,(result,pat1left,ty1right),rest671) end
2171 :     | (84,(_,(MlyValue.apats apats1,apats1left,apats1right))::rest671) =>
2172 :     let val result=MlyValue.pat(fn _ => let val apats as apats1=apats1 ()
2173 :     in (FlatAppPat apats) end
2174 :     )
2175 :     in (LrTable.NT 25,(result,apats1left,apats1right),rest671) end
2176 :     | (85,(_,(MlyValue.apat' apat'1,apat'left as apat'1left,apat'right as
2177 :     apat'1right))::rest671) => let val result=MlyValue.apat(fn _ => let
2178 :     val apat' as apat'1=apat'1 ()
2179 :     in ({item=apat', region=(apat'left,apat'right),
2180 :     fixity=NONE})
2181 :     end
2182 :     )
2183 :     in (LrTable.NT 26,(result,apat'1left,apat'1right),rest671) end
2184 :     | (86,(_,(_,_,RPARENright as RPAREN1right))::(_,(MlyValue.pat pat1,_,_
2185 :     ))::(_,(_,LPARENleft as LPAREN1left,_))::rest671) => let val result=
2186 :     MlyValue.apat(fn _ => let val pat as pat1=pat1 ()
2187 :     in (
2188 :     {item=pat,
2189 :     region=(LPARENleft,RPARENright),
2190 :     fixity=NONE})
2191 :     end
2192 :     )
2193 :     in (LrTable.NT 26,(result,LPAREN1left,RPAREN1right),rest671) end
2194 :     | (87,(_,(MlyValue.id id1,idleft as id1left,idright as id1right))::
2195 :     rest671) => let val result=MlyValue.apat(fn _ => let val id as id1=id1
2196 :     ()
2197 :     in (
2198 :     let val (v,f) = var'n'fix id
2199 :     in {item=VarPat [v],
2200 :     region=(idleft,idright),
2201 :     fixity=SOME f} end
2202 :     ) end
2203 :     )
2204 :     in (LrTable.NT 26,(result,id1left,id1right),rest671) end
2205 :     | (88,(_,(_,_,RPARENright as RPAREN1right))::(_,(_,LPARENleft as
2206 :     LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _ => (
2207 :     {item=unitPat,fixity=NONE,
2208 :     region=(LPARENleft,RPARENright)}))
2209 :     in (LrTable.NT 26,(result,LPAREN1left,RPAREN1right),rest671) end
2210 :     | (89,(_,(_,_,RPARENright as RPAREN1right))::(_,(MlyValue.pat_list
2211 :     pat_list1,_,_))::_::(_,(MlyValue.pat pat1,_,_))::(_,(_,LPARENleft as
2212 :     LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _ => let
2213 :     val pat as pat1=pat1 ()
2214 :     val pat_list as pat_list1=pat_list1 ()
2215 :     in (
2216 :     {item=TuplePat(pat :: pat_list),
2217 :     region=(LPARENleft,RPARENright),
2218 :     fixity=NONE}
2219 :     ) end
2220 :     )
2221 :     in (LrTable.NT 26,(result,LPAREN1left,RPAREN1right),rest671) end
2222 :     | (90,(_,(_,_,RPARENright as RPAREN1right))::(_,(MlyValue.or_pat_list
2223 :     or_pat_list1,_,_))::_::(_,(MlyValue.pat pat1,_,_))::(_,(_,LPARENleft
2224 :     as LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _ =>
2225 :     let val pat as pat1=pat1 ()
2226 :     val or_pat_list as or_pat_list1=or_pat_list1 ()
2227 :     in (
2228 :     {item=OrPat(pat :: or_pat_list),
2229 :     region=(LPARENleft,RPARENright),
2230 :     fixity=NONE}
2231 :     ) end
2232 :     )
2233 :     in (LrTable.NT 26,(result,LPAREN1left,RPAREN1right),rest671) end
2234 :     | (91,(_,(MlyValue.ident ident1,_,ident1right))::(_,(_,OP1left,_))::
2235 :     rest671) => let val result=MlyValue.apat'(fn _ => let val ident as
2236 :     ident1=ident1 ()
2237 :     in (VarPat [varSymbol ident]) end
2238 :     )
2239 :     in (LrTable.NT 27,(result,OP1left,ident1right),rest671) end
2240 :     | (92,(_,(MlyValue.qid qid1,_,qid1right))::_::(_,(MlyValue.ID ID1,
2241 :     ID1left,_))::rest671) => let val result=MlyValue.apat'(fn _ => let
2242 :     val ID as ID1=ID1 ()
2243 :     val qid as qid1=qid1 ()
2244 :     in (VarPat (strSymbol ID :: qid varSymbol)) end
2245 :     )
2246 :     in (LrTable.NT 27,(result,ID1left,qid1right),rest671) end
2247 :     | (93,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let val
2248 :     result=MlyValue.apat'(fn _ => let val int as int1=int1 ()
2249 :     in (IntPat int) end
2250 :     )
2251 :     in (LrTable.NT 27,(result,int1left,int1right),rest671) end
2252 :     | (94,(_,(MlyValue.WORD WORD1,WORD1left,WORD1right))::rest671) => let
2253 :     val result=MlyValue.apat'(fn _ => let val WORD as WORD1=WORD1 ()
2254 :     in (WordPat WORD) end
2255 :     )
2256 :     in (LrTable.NT 27,(result,WORD1left,WORD1right),rest671) end
2257 :     | (95,(_,(MlyValue.STRING STRING1,STRING1left,STRING1right))::rest671)
2258 :     => let val result=MlyValue.apat'(fn _ => let val STRING as STRING1=
2259 :     STRING1 ()
2260 :     in (StringPat STRING) end
2261 :     )
2262 :     in (LrTable.NT 27,(result,STRING1left,STRING1right),rest671) end
2263 :     | (96,(_,(MlyValue.CHAR CHAR1,CHAR1left,CHAR1right))::rest671) => let
2264 :     val result=MlyValue.apat'(fn _ => let val CHAR as CHAR1=CHAR1 ()
2265 :     in (CharPat CHAR) end
2266 :     )
2267 :     in (LrTable.NT 27,(result,CHAR1left,CHAR1right),rest671) end
2268 :     | (97,(_,(_,WILD1left,WILD1right))::rest671) => let val result=
2269 :     MlyValue.apat'(fn _ => (WildPat))
2270 :     in (LrTable.NT 27,(result,WILD1left,WILD1right),rest671) end
2271 :     | (98,(_,(_,_,RBRACKET1right))::(_,(_,LBRACKET1left,_))::rest671) =>
2272 :     let val result=MlyValue.apat'(fn _ => (ListPat nil))
2273 :     in (LrTable.NT 27,(result,LBRACKET1left,RBRACKET1right),rest671) end
2274 :     | (99,(_,(_,_,RBRACKET1right))::(_,(MlyValue.pat_list pat_list1,_,_))
2275 :     ::(_,(_,LBRACKET1left,_))::rest671) => let val result=MlyValue.apat'(
2276 :     fn _ => let val pat_list as pat_list1=pat_list1 ()
2277 :     in (ListPat pat_list) end
2278 :     )
2279 :     in (LrTable.NT 27,(result,LBRACKET1left,RBRACKET1right),rest671) end
2280 :     | (100,(_,(_,_,RBRACKET1right))::(_,(_,VECTORSTART1left,_))::rest671)
2281 :     => let val result=MlyValue.apat'(fn _ => (VectorPat nil))
2282 :     in (LrTable.NT 27,(result,VECTORSTART1left,RBRACKET1right),rest671)
2283 :     end
2284 :     | (101,(_,(_,_,RBRACKET1right))::(_,(MlyValue.pat_list pat_list1,_,_))
2285 :     ::(_,(_,VECTORSTART1left,_))::rest671) => let val result=
2286 :     MlyValue.apat'(fn _ => let val pat_list as pat_list1=pat_list1 ()
2287 :     in (VectorPat pat_list) end
2288 :     )
2289 :     in (LrTable.NT 27,(result,VECTORSTART1left,RBRACKET1right),rest671)
2290 :     end
2291 :     | (102,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let
2292 :     val result=MlyValue.apat'(fn _ => (unitPat))
2293 :     in (LrTable.NT 27,(result,LBRACE1left,RBRACE1right),rest671) end
2294 :     | (103,(_,(_,_,RBRACEright as RBRACE1right))::(_,(MlyValue.plabels
2295 :     plabels1,_,_))::(_,(_,LBRACEleft as LBRACE1left,_))::rest671) => let
2296 :     val result=MlyValue.apat'(fn _ => let val plabels as plabels1=plabels1
2297 :     ()
2298 :     in (
2299 :     let val (d,f) = plabels
2300 :     in MarkPat(RecordPat{def=d,flexibility=f},
2301 :     (LBRACEleft,RBRACEright)) end
2302 :     ) end
2303 :     )
2304 :     in (LrTable.NT 27,(result,LBRACE1left,RBRACE1right),rest671) end
2305 :     | (104,(_,(MlyValue.pat pat1,_,pat1right))::_::(_,(MlyValue.selector
2306 :     selector1,selector1left,_))::rest671) => let val result=
2307 :     MlyValue.plabel(fn _ => let val selector as selector1=selector1 ()
2308 :     val pat as pat1=pat1 ()
2309 :     in ((selector,pat)) end
2310 :     )
2311 :     in (LrTable.NT 28,(result,selector1left,pat1right),rest671) end
2312 :     | (105,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val
2313 :     result=MlyValue.plabel(fn _ => let val ID as ID1=ID1 ()
2314 :     in (labSymbol ID, VarPat [varSymbol ID]) end
2315 :     )
2316 :     in (LrTable.NT 28,(result,ID1left,ID1right),rest671) end
2317 :     | (106,(_,(MlyValue.pat pat1,_,pat1right))::_::(_,(MlyValue.ID ID1,
2318 :     ID1left,_))::rest671) => let val result=MlyValue.plabel(fn _ => let
2319 :     val ID as ID1=ID1 ()
2320 :     val pat as pat1=pat1 ()
2321 :     in (
2322 :     labSymbol ID,
2323 :     LayeredPat{varPat=VarPat [varSymbol ID],
2324 :     expPat=pat}
2325 :     ) end
2326 :     )
2327 :     in (LrTable.NT 28,(result,ID1left,pat1right),rest671) end
2328 :     | (107,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ID ID1,
2329 :     ID1left,_))::rest671) => let val result=MlyValue.plabel(fn _ => let
2330 :     val ID as ID1=ID1 ()
2331 :     val ty as ty1=ty1 ()
2332 :     in (
2333 :     labSymbol ID,
2334 :     ConstraintPat{pattern=VarPat [varSymbol ID],
2335 :     constraint=ty}
2336 :     ) end
2337 :     )
2338 :     in (LrTable.NT 28,(result,ID1left,ty1right),rest671) end
2339 :     | (108,(_,(MlyValue.pat pat1,_,pat1right))::_::(_,(MlyValue.ty ty1,_,_
2340 :     ))::_::(_,(MlyValue.ID ID1,ID1left,_))::rest671) => let val result=
2341 :     MlyValue.plabel(fn _ => let val ID as ID1=ID1 ()
2342 :     val ty as ty1=ty1 ()
2343 :     val pat as pat1=pat1 ()
2344 :     in (
2345 :     labSymbol ID,
2346 :     LayeredPat
2347 :     {varPat=ConstraintPat{pattern=VarPat [varSymbol ID],
2348 :     constraint=ty},
2349 :     expPat=pat}
2350 :     ) end
2351 :     )
2352 :     in (LrTable.NT 28,(result,ID1left,pat1right),rest671) end
2353 :     | (109,(_,(MlyValue.plabels plabels1,_,plabels1right))::_::(_,(
2354 :     MlyValue.plabel plabel1,plabel1left,_))::rest671) => let val result=
2355 :     MlyValue.plabels(fn _ => let val plabel as plabel1=plabel1 ()
2356 :     val plabels as plabels1=plabels1 ()
2357 :     in (let val (a,(b,fx))=(plabel, plabels)
2358 :     in (a::b, fx) end) end
2359 :     )
2360 :     in (LrTable.NT 29,(result,plabel1left,plabels1right),rest671) end
2361 :     | (110,(_,(MlyValue.plabel plabel1,plabel1left,plabel1right))::rest671
2362 :     ) => let val result=MlyValue.plabels(fn _ => let val plabel as plabel1
2363 :     =plabel1 ()
2364 :     in ([plabel],false) end
2365 :     )
2366 :     in (LrTable.NT 29,(result,plabel1left,plabel1right),rest671) end
2367 :     | (111,(_,(_,DOTDOTDOT1left,DOTDOTDOT1right))::rest671) => let val
2368 :     result=MlyValue.plabels(fn _ => (nil, true))
2369 :     in (LrTable.NT 29,(result,DOTDOTDOT1left,DOTDOTDOT1right),rest671)
2370 :     end
2371 :     | (112,(_,(MlyValue.pat pat1,pat1left,pat1right))::rest671) => let
2372 :     val result=MlyValue.pat_list(fn _ => let val pat as pat1=pat1 ()
2373 :     in ([pat]) end
2374 :     )
2375 :     in (LrTable.NT 31,(result,pat1left,pat1right),rest671) end
2376 :     | (113,(_,(MlyValue.pat_list pat_list1,_,pat_list1right))::_::(_,(
2377 :     MlyValue.pat pat1,pat1left,_))::rest671) => let val result=
2378 :     MlyValue.pat_list(fn _ => let val pat as pat1=pat1 ()
2379 :     val pat_list as pat_list1=pat_list1 ()
2380 :     in (pat :: pat_list) end
2381 :     )
2382 :     in (LrTable.NT 31,(result,pat1left,pat_list1right),rest671) end
2383 :     | (114,(_,(MlyValue.pat pat1,pat1left,pat1right))::rest671) => let
2384 :     val result=MlyValue.or_pat_list(fn _ => let val pat as pat1=pat1 ()
2385 :     in ([pat]) end
2386 :     )
2387 :     in (LrTable.NT 32,(result,pat1left,pat1right),rest671) end
2388 :     | (115,(_,(MlyValue.or_pat_list or_pat_list1,_,or_pat_list1right))::_
2389 :     ::(_,(MlyValue.pat pat1,pat1left,_))::rest671) => let val result=
2390 :     MlyValue.or_pat_list(fn _ => let val pat as pat1=pat1 ()
2391 :     val or_pat_list as or_pat_list1=or_pat_list1 ()
2392 :     in (pat :: or_pat_list) end
2393 :     )
2394 :     in (LrTable.NT 32,(result,pat1left,or_pat_list1right),rest671) end
2395 :     | (116,(_,(MlyValue.vb vb2,_,vb2right))::_::(_,(MlyValue.vb vb1,
2396 :     vb1left,_))::rest671) => let val result=MlyValue.vb(fn _ => let val
2397 :     vb1=vb1 ()
2398 :     val vb2=vb2 ()
2399 :     in (vb1 @ vb2) end
2400 :     )
2401 :     in (LrTable.NT 33,(result,vb1left,vb2right),rest671) end
2402 :     | (117,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
2403 :     MlyValue.pat pat1,patleft,_))::(_,(_,LAZY1left,_))::rest671) => let
2404 :     val result=MlyValue.vb(fn _ => let val pat as pat1=pat1 ()
2405 :     val exp as exp1=exp1 ()
2406 :     in (
2407 :     [MarkVb(Vb{exp=exp, pat=pat, lazyp=true},
2408 :     (patleft,expright))]
2409 :     ) end
2410 :     )
2411 :     in (LrTable.NT 33,(result,LAZY1left,exp1right),rest671) end
2412 :     | (118,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
2413 :     MlyValue.pat pat1,patleft as pat1left,_))::rest671) => let val result=
2414 :     MlyValue.vb(fn _ => let val pat as pat1=pat1 ()
2415 :     val exp as exp1=exp1 ()
2416 :     in (
2417 :     [MarkVb(Vb{exp=exp, pat=pat, lazyp=false},
2418 :     (patleft,expright))]
2419 :     ) end
2420 :     )
2421 :     in (LrTable.NT 33,(result,pat1left,exp1right),rest671) end
2422 :     | (119,rest671) => let val result=MlyValue.constraint(fn _ => (NONE))
2423 :     in (LrTable.NT 34,(result,defaultPos,defaultPos),rest671) end
2424 :     | (120,(_,(MlyValue.ty ty1,_,ty1right))::(_,(_,COLON1left,_))::rest671
2425 :     ) => let val result=MlyValue.constraint(fn _ => let val ty as ty1=ty1
2426 :     ()
2427 :     in (SOME ty) end
2428 :     )
2429 :     in (LrTable.NT 34,(result,COLON1left,ty1right),rest671) end
2430 :     | (121,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
2431 :     MlyValue.constraint constraint1,_,_))::(_,(MlyValue.id id1,idleft as
2432 :     id1left,idright))::rest671) => let val result=MlyValue.rvb(fn _ =>
2433 :     let val id as id1=id1 ()
2434 :     val constraint as constraint1=constraint1 ()
2435 :     val exp as exp1=exp1 ()
2436 :     in (
2437 :     let val (v,f) = var'n'fix id
2438 :     in [MarkRvb(Rvb{var=v,fixity=SOME(f,(idleft,idright)),
2439 :     resultty=constraint,
2440 :     exp=exp,lazyp=false},
2441 :     (idleft,expright))]
2442 :     end
2443 :     ) end
2444 :     )
2445 :     in (LrTable.NT 35,(result,id1left,exp1right),rest671) end
2446 :     | (122,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
2447 :     MlyValue.constraint constraint1,_,_))::(_,(MlyValue.id id1,_,_))::(_,(
2448 :     _,OPleft as OP1left,_))::rest671) => let val result=MlyValue.rvb(fn _
2449 :     => let val id as id1=id1 ()
2450 :     val constraint as constraint1=constraint1 ()
2451 :     val exp as exp1=exp1 ()
2452 :     in (
2453 :     [MarkRvb(Rvb{var=varSymbol id,fixity=NONE,
2454 :     resultty=constraint,
2455 :     exp=exp,lazyp=false},
2456 :     (OPleft,expright))]
2457 :     ) end
2458 :     )
2459 :     in (LrTable.NT 35,(result,OP1left,exp1right),rest671) end
2460 :     | (123,(_,(MlyValue.rvb rvb2,_,rvb2right))::_::(_,(MlyValue.rvb rvb1,
2461 :     rvb1left,_))::rest671) => let val result=MlyValue.rvb(fn _ => let val
2462 :     rvb1=rvb1 ()
2463 :     val rvb2=rvb2 ()
2464 :     in (rvb1 @ rvb2) end
2465 :     )
2466 :     in (LrTable.NT 35,(result,rvb1left,rvb2right),rest671) end
2467 :     | (124,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
2468 :     MlyValue.constraint constraint1,_,_))::(_,(MlyValue.id id1,idleft,
2469 :     idright))::(_,(_,LAZY1left,_))::rest671) => let val result=
2470 :     MlyValue.rvb(fn _ => let val id as id1=id1 ()
2471 :     val constraint as constraint1=constraint1 ()
2472 :     val exp as exp1=exp1 ()
2473 :     in (
2474 :     let val (v,f) = var'n'fix id
2475 :     in [MarkRvb(Rvb{var=v,fixity=SOME(f,(idleft,idright)),
2476 :     resultty=constraint,
2477 :     exp=exp,lazyp=true},
2478 :     (idleft,expright))]
2479 :     end
2480 :     ) end
2481 :     )
2482 :     in (LrTable.NT 35,(result,LAZY1left,exp1right),rest671) end
2483 :     | (125,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
2484 :     MlyValue.constraint constraint1,_,_))::(_,(MlyValue.id id1,_,_))::(_,(
2485 :     _,OPleft,_))::(_,(_,LAZY1left,_))::rest671) => let val result=
2486 :     MlyValue.rvb(fn _ => let val id as id1=id1 ()
2487 :     val constraint as constraint1=constraint1 ()
2488 :     val exp as exp1=exp1 ()
2489 :     in (
2490 :     [MarkRvb(Rvb{var=varSymbol id,fixity=NONE,
2491 :     resultty=constraint,
2492 :     exp=exp,lazyp=true},
2493 :     (OPleft,expright))]
2494 :     ) end
2495 :     )
2496 :     in (LrTable.NT 35,(result,LAZY1left,exp1right),rest671) end
2497 :     | (126,(_,(MlyValue.clause clause1,clause1left,clause1right))::rest671
2498 :     ) => let val result=MlyValue.fb'(fn _ => let val clause as clause1=
2499 :     clause1 ()
2500 :     in ([clause]) end
2501 :     )
2502 :     in (LrTable.NT 36,(result,clause1left,clause1right),rest671) end
2503 :     | (127,(_,(MlyValue.fb' fb'1,_,fb'1right))::_::(_,(MlyValue.clause
2504 :     clause1,clause1left,_))::rest671) => let val result=MlyValue.fb'(fn _
2505 :     => let val clause as clause1=clause1 ()
2506 :     val fb' as fb'1=fb'1 ()
2507 :     in (clause :: fb') end
2508 :     )
2509 :     in (LrTable.NT 36,(result,clause1left,fb'1right),rest671) end
2510 :     | (128,(_,(MlyValue.fb' fb'1,fb'left as fb'1left,fb'right as fb'1right
2511 :     ))::rest671) => let val result=MlyValue.fb(fn _ => let val fb' as fb'1
2512 :     =fb'1 ()
2513 :     in ([MarkFb(Fb(fb',false), (fb'left,fb'right))]) end
2514 :     )
2515 :     in (LrTable.NT 37,(result,fb'1left,fb'1right),rest671) end
2516 :     | (129,(_,(MlyValue.fb' fb'1,fb'left,fb'right as fb'1right))::(_,(_,
2517 :     LAZY1left,_))::rest671) => let val result=MlyValue.fb(fn _ => let val
2518 :     fb' as fb'1=fb'1 ()
2519 :     in ([MarkFb(Fb(fb',true), (fb'left,fb'right))]) end
2520 :     )
2521 :     in (LrTable.NT 37,(result,LAZY1left,fb'1right),rest671) end
2522 :     | (130,(_,(MlyValue.fb fb1,_,fb1right))::_::(_,(MlyValue.fb' fb'1,
2523 :     fb'left as fb'1left,fb'right))::rest671) => let val result=MlyValue.fb
2524 :     (fn _ => let val fb' as fb'1=fb'1 ()
2525 :     val fb as fb1=fb1 ()
2526 :     in (MarkFb(Fb(fb',false), (fb'left,fb'right)) :: fb) end
2527 :     )
2528 :     in (LrTable.NT 37,(result,fb'1left,fb1right),rest671) end
2529 :     | (131,(_,(MlyValue.fb fb1,_,fb1right))::_::(_,(MlyValue.fb' fb'1,
2530 :     fb'left,fb'right))::(_,(_,LAZY1left,_))::rest671) => let val result=
2531 :     MlyValue.fb(fn _ => let val fb' as fb'1=fb'1 ()
2532 :     val fb as fb1=fb1 ()
2533 :     in (MarkFb(Fb(fb',true), (fb'left,fb'right)) :: fb) end
2534 :     )
2535 :     in (LrTable.NT 37,(result,LAZY1left,fb1right),rest671) end
2536 :     | (132,(_,(MlyValue.apat apat1,apat1left,apat1right))::rest671) =>
2537 :     let val result=MlyValue.apats(fn _ => let val apat as apat1=apat1 ()
2538 :     in ([apat]) end
2539 :     )
2540 :     in (LrTable.NT 38,(result,apat1left,apat1right),rest671) end
2541 :     | (133,(_,(MlyValue.apats apats1,_,apats1right))::(_,(MlyValue.apat
2542 :     apat1,apat1left,_))::rest671) => let val result=MlyValue.apats(fn _
2543 :     => let val apat as apat1=apat1 ()
2544 :     val apats as apats1=apats1 ()
2545 :     in (apat :: apats) end
2546 :     )
2547 :     in (LrTable.NT 38,(result,apat1left,apats1right),rest671) end
2548 :     | (134,(_,(MlyValue.exp exp1,expleft,expright as exp1right))::_::(_,(
2549 :     MlyValue.constraint constraint1,_,_))::(_,(MlyValue.apats apats1,
2550 :     apats1left,_))::rest671) => let val result=MlyValue.clause(fn _ =>
2551 :     let val apats as apats1=apats1 ()
2552 :     val constraint as constraint1=constraint1 ()
2553 :     val exp as exp1=exp1 ()
2554 :     in (
2555 :     Clause{pats=apats,
2556 :     resultty=constraint,
2557 :     exp=markexp(exp,expleft,expright)}
2558 :     ) end
2559 :     )
2560 :     in (LrTable.NT 39,(result,apats1left,exp1right),rest671) end
2561 :     | (135,(_,(MlyValue.ty ty1,tyleft,tyright as ty1right))::_::(_,(
2562 :     MlyValue.ID ID1,_,_))::(_,(MlyValue.tyvars tyvars1,tyvars1left,_))::
2563 :     rest671) => let val result=MlyValue.tb(fn _ => let val tyvars as
2564 :     tyvars1=tyvars1 ()
2565 :     val ID as ID1=ID1 ()
2566 :     val ty as ty1=ty1 ()
2567 :     in (
2568 :     [MarkTb(
2569 :     Tb{tyvars=tyvars,tyc=tycSymbol ID,def=ty},
2570 :     (tyleft,tyright))]
2571 :     ) end
2572 :     )
2573 :     in (LrTable.NT 40,(result,tyvars1left,ty1right),rest671) end
2574 :     | (136,(_,(MlyValue.tb tb2,_,tb2right))::_::(_,(MlyValue.tb tb1,
2575 :     tb1left,_))::rest671) => let val result=MlyValue.tb(fn _ => let val
2576 :     tb1=tb1 ()
2577 :     val tb2=tb2 ()
2578 :     in (tb1 @ tb2) end
2579 :     )
2580 :     in (LrTable.NT 40,(result,tb1left,tb2right),rest671) end
2581 :     | (137,(_,(MlyValue.TYVAR TYVAR1,TYVARleft as TYVAR1left,TYVARright
2582 :     as TYVAR1right))::rest671) => let val result=MlyValue.tyvars(fn _ =>
2583 :     let val TYVAR as TYVAR1=TYVAR1 ()
2584 :     in ([MarkTyv(Tyv(tyvSymbol TYVAR),
2585 :     (TYVARleft,TYVARright))])
2586 :     end
2587 :     )
2588 :     in (LrTable.NT 41,(result,TYVAR1left,TYVAR1right),rest671) end
2589 :     | (138,(_,(_,_,RPAREN1right))::(_,(MlyValue.tyvar_pc tyvar_pc1,_,_))::
2590 :     (_,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.tyvars(fn _
2591 :     => let val tyvar_pc as tyvar_pc1=tyvar_pc1 ()
2592 :     in (tyvar_pc) end
2593 :     )
2594 :     in (LrTable.NT 41,(result,LPAREN1left,RPAREN1right),rest671) end
2595 :     | (139,rest671) => let val result=MlyValue.tyvars(fn _ => (nil))
2596 :     in (LrTable.NT 41,(result,defaultPos,defaultPos),rest671) end
2597 :     | (140,(_,(MlyValue.TYVAR TYVAR1,TYVARleft as TYVAR1left,TYVARright
2598 :     as TYVAR1right))::rest671) => let val result=MlyValue.tyvarseq(fn _
2599 :     => let val TYVAR as TYVAR1=TYVAR1 ()
2600 :     in ([MarkTyv(Tyv(tyvSymbol TYVAR),
2601 :     (TYVARleft,TYVARright))])
2602 :     end
2603 :     )
2604 :     in (LrTable.NT 42,(result,TYVAR1left,TYVAR1right),rest671) end
2605 :     | (141,(_,(_,_,RPAREN1right))::(_,(MlyValue.tyvar_pc tyvar_pc1,_,_))::
2606 :     (_,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.tyvarseq(
2607 :     fn _ => let val tyvar_pc as tyvar_pc1=tyvar_pc1 ()
2608 :     in (tyvar_pc) end
2609 :     )
2610 :     in (LrTable.NT 42,(result,LPAREN1left,RPAREN1right),rest671) end
2611 :     | (142,(_,(MlyValue.TYVAR TYVAR1,TYVARleft as TYVAR1left,TYVARright
2612 :     as TYVAR1right))::rest671) => let val result=MlyValue.tyvar_pc(fn _
2613 :     => let val TYVAR as TYVAR1=TYVAR1 ()
2614 :     in ([MarkTyv(Tyv(tyvSymbol TYVAR), (TYVARleft,TYVARright))]) end
2615 :     )
2616 :     in (LrTable.NT 43,(result,TYVAR1left,TYVAR1right),rest671) end
2617 :     | (143,(_,(MlyValue.tyvar_pc tyvar_pc1,_,tyvar_pc1right))::_::(_,(
2618 :     MlyValue.TYVAR TYVAR1,TYVARleft as TYVAR1left,TYVARright))::rest671)
2619 :     => let val result=MlyValue.tyvar_pc(fn _ => let val TYVAR as TYVAR1=
2620 :     TYVAR1 ()
2621 :     val tyvar_pc as tyvar_pc1=tyvar_pc1 ()
2622 :     in (
2623 :     MarkTyv(Tyv(tyvSymbol TYVAR),(TYVARleft,TYVARright))
2624 :     :: tyvar_pc)
2625 :     end
2626 :     )
2627 :     in (LrTable.NT 43,(result,TYVAR1left,tyvar_pc1right),rest671) end
2628 :     | (144,(_,(MlyValue.db db2,_,db2right))::_::(_,(MlyValue.db db1,
2629 :     db1left,_))::rest671) => let val result=MlyValue.db(fn _ => let val
2630 :     db1=db1 ()
2631 :     val db2=db2 ()
2632 :     in (db1 @ db2) end
2633 :     )
2634 :     in (LrTable.NT 44,(result,db1left,db2right),rest671) end
2635 :     | (145,(_,(MlyValue.dbrhs dbrhs1,_,dbrhs1right))::_::(_,(
2636 :     MlyValue.ident ident1,_,_))::(_,(MlyValue.tyvars tyvars1,tyvars1left,_
2637 :     ))::rest671) => let val result=MlyValue.db(fn _ => let val tyvars as
2638 :     tyvars1=tyvars1 ()
2639 :     val ident as ident1=ident1 ()
2640 :     val dbrhs as dbrhs1=dbrhs1 ()
2641 :     in (
2642 :     [Db{tyc=tycSymbol ident,
2643 :     tyvars=tyvars,
2644 :     rhs=dbrhs,lazyp=false}]
2645 :     ) end
2646 :     )
2647 :     in (LrTable.NT 44,(result,tyvars1left,dbrhs1right),rest671) end
2648 :     | (146,(_,(MlyValue.dbrhs dbrhs1,_,dbrhs1right))::_::(_,(
2649 :     MlyValue.ident ident1,_,_))::(_,(MlyValue.tyvars tyvars1,_,_))::(_,(_,
2650 :     LAZY1left,_))::rest671) => let val result=MlyValue.db(fn _ => let val
2651 :     tyvars as tyvars1=tyvars1 ()
2652 :     val ident as ident1=ident1 ()
2653 :     val dbrhs as dbrhs1=dbrhs1 ()
2654 :     in (
2655 :     [Db{tyc=tycSymbol ident,
2656 :     tyvars=tyvars,
2657 :     rhs=dbrhs,lazyp=true}]
2658 :     ) end
2659 :     )
2660 :     in (LrTable.NT 44,(result,LAZY1left,dbrhs1right),rest671) end
2661 :     | (147,(_,(MlyValue.constrs constrs1,constrs1left,constrs1right))::
2662 :     rest671) => let val result=MlyValue.dbrhs(fn _ => let val constrs as
2663 :     constrs1=constrs1 ()
2664 :     in (Constrs constrs) end
2665 :     )
2666 :     in (LrTable.NT 45,(result,constrs1left,constrs1right),rest671) end
2667 :     | (148,(_,(MlyValue.tycon tycon1,_,tycon1right))::(_,(_,DATATYPE1left,
2668 :     _))::rest671) => let val result=MlyValue.dbrhs(fn _ => let val tycon
2669 :     as tycon1=tycon1 ()
2670 :     in (Repl tycon) end
2671 :     )
2672 :     in (LrTable.NT 45,(result,DATATYPE1left,tycon1right),rest671) end
2673 :     | (149,(_,(MlyValue.constr constr1,constr1left,constr1right))::rest671
2674 :     ) => let val result=MlyValue.constrs(fn _ => let val constr as constr1
2675 :     =constr1 ()
2676 :     in ([constr]) end
2677 :     )
2678 :     in (LrTable.NT 46,(result,constr1left,constr1right),rest671) end
2679 :     | (150,(_,(MlyValue.constrs constrs1,_,constrs1right))::_::(_,(
2680 :     MlyValue.constr constr1,constr1left,_))::rest671) => let val result=
2681 :     MlyValue.constrs(fn _ => let val constr as constr1=constr1 ()
2682 :     val constrs as constrs1=constrs1 ()
2683 :     in (constr :: constrs) end
2684 :     )
2685 :     in (LrTable.NT 46,(result,constr1left,constrs1right),rest671) end
2686 :     | (151,(_,(MlyValue.ident ident1,_,ident1right))::(_,(MlyValue.op_op
2687 :     op_op1,op_op1left,_))::rest671) => let val result=MlyValue.constr(fn _
2688 :     => let val op_op1=op_op1 ()
2689 :     val ident as ident1=ident1 ()
2690 :     in (varSymbol ident, NONE) end
2691 :     )
2692 :     in (LrTable.NT 47,(result,op_op1left,ident1right),rest671) end
2693 :     | (152,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ident ident1,
2694 :     _,_))::(_,(MlyValue.op_op op_op1,op_op1left,_))::rest671) => let val
2695 :     result=MlyValue.constr(fn _ => let val op_op1=op_op1 ()
2696 :     val ident as ident1=ident1 ()
2697 :     val ty as ty1=ty1 ()
2698 :     in (varSymbol ident, SOME ty) end
2699 :     )
2700 :     in (LrTable.NT 47,(result,op_op1left,ty1right),rest671) end
2701 :     | (153,(_,(MlyValue.ident ident1,_,ident1right))::(_,(MlyValue.op_op
2702 :     op_op1,op_op1left,_))::rest671) => let val result=MlyValue.eb(fn _ =>
2703 :     let val op_op1=op_op1 ()
2704 :     val ident as ident1=ident1 ()
2705 :     in ([EbGen{exn=(varSymbol ident),etype=NONE}]) end
2706 :     )
2707 :     in (LrTable.NT 48,(result,op_op1left,ident1right),rest671) end
2708 :     | (154,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ident ident1,
2709 :     _,_))::(_,(MlyValue.op_op op_op1,op_op1left,_))::rest671) => let val
2710 :     result=MlyValue.eb(fn _ => let val op_op1=op_op1 ()
2711 :     val ident as ident1=ident1 ()
2712 :     val ty as ty1=ty1 ()
2713 :     in ([EbGen{exn=(varSymbol ident),etype=SOME ty}]) end
2714 :     )
2715 :     in (LrTable.NT 48,(result,op_op1left,ty1right),rest671) end
2716 :     | (155,(_,(MlyValue.qid qid1,_,qid1right))::_::(_,(MlyValue.ident
2717 :     ident1,_,_))::(_,(MlyValue.op_op op_op1,op_op1left,_))::rest671) =>
2718 :     let val result=MlyValue.eb(fn _ => let val op_op1=op_op1 ()
2719 :     val ident as ident1=ident1 ()
2720 :     val qid as qid1=qid1 ()
2721 :     in ([EbDef{exn=varSymbol ident,
2722 :     edef=qid varSymbol}]) end
2723 :     )
2724 :     in (LrTable.NT 48,(result,op_op1left,qid1right),rest671) end
2725 :     | (156,(_,(MlyValue.eb eb2,_,eb2right))::_::(_,(MlyValue.eb eb1,
2726 :     eb1left,_))::rest671) => let val result=MlyValue.eb(fn _ => let val
2727 :     eb1=eb1 ()
2728 :     val eb2=eb2 ()
2729 :     in (eb1 @ eb2) end
2730 :     )
2731 :     in (LrTable.NT 48,(result,eb1left,eb2right),rest671) end
2732 :     | (157,(_,(MlyValue.qid qid1,qid1left,qid1right))::rest671) => let
2733 :     val result=MlyValue.qid_p(fn _ => let val qid as qid1=qid1 ()
2734 :     in ([qid strSymbol]) end
2735 :     )
2736 :     in (LrTable.NT 49,(result,qid1left,qid1right),rest671) end
2737 :     | (158,(_,(MlyValue.qid_p qid_p1,_,qid_p1right))::(_,(MlyValue.qid
2738 :     qid1,qid1left,_))::rest671) => let val result=MlyValue.qid_p(fn _ =>
2739 :     let val qid as qid1=qid1 ()
2740 :     val qid_p as qid_p1=qid_p1 ()
2741 :     in (qid strSymbol :: qid_p) end
2742 :     )
2743 :     in (LrTable.NT 49,(result,qid1left,qid_p1right),rest671) end
2744 :     | (159,(_,(_,INFIX1left,INFIX1right))::rest671) => let val result=
2745 :     MlyValue.fixity(fn _ => (infixleft 0))
2746 :     in (LrTable.NT 50,(result,INFIX1left,INFIX1right),rest671) end
2747 :     | (160,(_,(MlyValue.int int1,intleft,intright as int1right))::(_,(_,
2748 :     INFIX1left,_))::rest671) => let val result=MlyValue.fixity(fn _ =>
2749 :     let val int as int1=int1 ()
2750 :     in (infixleft (checkFix(IntInf.toInt int,error(intleft,intright))))
2751 :     end
2752 :     )
2753 :     in (LrTable.NT 50,(result,INFIX1left,int1right),rest671) end
2754 :     | (161,(_,(_,INFIXR1left,INFIXR1right))::rest671) => let val result=
2755 :     MlyValue.fixity(fn _ => (infixright 0))
2756 :     in (LrTable.NT 50,(result,INFIXR1left,INFIXR1right),rest671) end
2757 :     | (162,(_,(MlyValue.int int1,intleft,intright as int1right))::(_,(_,
2758 :     INFIXR1left,_))::rest671) => let val result=MlyValue.fixity(fn _ =>
2759 :     let val int as int1=int1 ()
2760 :     in (infixright (checkFix(IntInf.toInt int,error(intleft,intright))))
2761 :     end
2762 :     )
2763 :     in (LrTable.NT 50,(result,INFIXR1left,int1right),rest671) end
2764 :     | (163,(_,(_,NONFIX1left,NONFIX1right))::rest671) => let val result=
2765 :     MlyValue.fixity(fn _ => (NONfix))
2766 :     in (LrTable.NT 50,(result,NONFIX1left,NONFIX1right),rest671) end
2767 :     | (164,(_,(MlyValue.vb vb1,_,vb1right))::(_,(_,VAL1left,_))::rest671)
2768 :     => let val result=MlyValue.ldec(fn _ => let val vb as vb1=vb1 ()
2769 :     in (ValDec(vb,nil)) end
2770 :     )
2771 :     in (LrTable.NT 51,(result,VAL1left,vb1right),rest671) end
2772 :     | (165,(_,(MlyValue.vb vb1,_,vb1right))::(_,(MlyValue.tyvarseq
2773 :     tyvarseq1,_,_))::(_,(_,VAL1left,_))::rest671) => let val result=
2774 :     MlyValue.ldec(fn _ => let val tyvarseq as tyvarseq1=tyvarseq1 ()
2775 :     val vb as vb1=vb1 ()
2776 :     in (ValDec(vb,tyvarseq)) end
2777 :     )
2778 :     in (LrTable.NT 51,(result,VAL1left,vb1right),rest671) end
2779 :     | (166,(_,(MlyValue.rvb rvb1,_,rvb1right))::_::(_,(_,VAL1left,_))::
2780 :     rest671) => let val result=MlyValue.ldec(fn _ => let val rvb as rvb1=
2781 :     rvb1 ()
2782 :     in (ValrecDec(rvb,nil)) end
2783 :     )
2784 :     in (LrTable.NT 51,(result,VAL1left,rvb1right),rest671) end
2785 :     | (167,(_,(MlyValue.rvb rvb1,_,rvb1right))::(_,(MlyValue.tyvarseq
2786 :     tyvarseq1,_,_))::_::(_,(_,VAL1left,_))::rest671) => let val result=
2787 :     MlyValue.ldec(fn _ => let val tyvarseq as tyvarseq1=tyvarseq1 ()
2788 :     val rvb as rvb1=rvb1 ()
2789 :     in (ValrecDec(rvb,tyvarseq)) end
2790 :     )
2791 :     in (LrTable.NT 51,(result,VAL1left,rvb1right),rest671) end
2792 :     | (168,(_,(MlyValue.fb fb1,_,fb1right))::(_,(_,FUN1left,_))::rest671)
2793 :     => let val result=MlyValue.ldec(fn _ => let val fb as fb1=fb1 ()
2794 :     in (FunDec(fb,nil)) end
2795 :     )
2796 :     in (LrTable.NT 51,(result,FUN1left,fb1right),rest671) end
2797 :     | (169,(_,(MlyValue.fb fb1,_,fb1right))::(_,(MlyValue.tyvarseq
2798 :     tyvarseq1,_,_))::(_,(_,FUN1left,_))::rest671) => let val result=
2799 :     MlyValue.ldec(fn _ => let val tyvarseq as tyvarseq1=tyvarseq1 ()
2800 :     val fb as fb1=fb1 ()
2801 :     in (FunDec(fb,tyvarseq)) end
2802 :     )
2803 :     in (LrTable.NT 51,(result,FUN1left,fb1right),rest671) end
2804 :     | (170,(_,(MlyValue.tb tb1,_,tb1right))::(_,(_,TYPE1left,_))::rest671)
2805 :     => let val result=MlyValue.ldec(fn _ => let val tb as tb1=tb1 ()
2806 :     in (TypeDec tb) end
2807 :     )
2808 :     in (LrTable.NT 51,(result,TYPE1left,tb1right),rest671) end
2809 :     | (171,(_,(MlyValue.db db1,_,db1right))::(_,(_,DATATYPE1left,_))::
2810 :     rest671) => let val result=MlyValue.ldec(fn _ => let val db as db1=db1
2811 :     ()
2812 :     in (DatatypeDec{datatycs=db,withtycs=[]}) end
2813 :     )
2814 :     in (LrTable.NT 51,(result,DATATYPE1left,db1right),rest671) end
2815 :     | (172,(_,(MlyValue.tb tb1,_,tb1right))::_::(_,(MlyValue.db db1,_,_))
2816 :     ::(_,(_,DATATYPE1left,_))::rest671) => let val result=MlyValue.ldec(
2817 :     fn _ => let val db as db1=db1 ()
2818 :     val tb as tb1=tb1 ()
2819 :     in (DatatypeDec{datatycs=db,withtycs=tb}) end
2820 :     )
2821 :     in (LrTable.NT 51,(result,DATATYPE1left,tb1right),rest671) end
2822 :     | (173,(_,(_,_,END1right))::(_,(MlyValue.ldecs ldecs1,_,_))::_::(_,(
2823 :     MlyValue.db db1,_,_))::(_,(_,ABSTYPE1left,_))::rest671) => let val
2824 :     result=MlyValue.ldec(fn _ => let val db as db1=db1 ()
2825 :     val ldecs as ldecs1=ldecs1 ()
2826 :     in (AbstypeDec{abstycs=db,withtycs=[],
2827 :     body=ldecs}) end
2828 :     )
2829 :     in (LrTable.NT 51,(result,ABSTYPE1left,END1right),rest671) end
2830 :     | (174,(_,(_,_,END1right))::(_,(MlyValue.ldecs ldecs1,_,_))::_::(_,(
2831 :     MlyValue.tb tb1,_,_))::_::(_,(MlyValue.db db1,_,_))::(_,(_,
2832 :     ABSTYPE1left,_))::rest671) => let val result=MlyValue.ldec(fn _ =>
2833 :     let val db as db1=db1 ()
2834 :     val tb as tb1=tb1 ()
2835 :     val ldecs as ldecs1=ldecs1 ()
2836 :     in (
2837 :     AbstypeDec{abstycs=db,
2838 :     withtycs=tb,
2839 :     body=ldecs}
2840 :     ) end
2841 :     )
2842 :     in (LrTable.NT 51,(result,ABSTYPE1left,END1right),rest671) end
2843 :     | (175,(_,(MlyValue.eb eb1,_,eb1right))::(_,(_,EXCEPTION1left,_))::
2844 :     rest671) => let val result=MlyValue.ldec(fn _ => let val eb as eb1=eb1
2845 :     ()
2846 :     in (ExceptionDec eb) end
2847 :     )
2848 :     in (LrTable.NT 51,(result,EXCEPTION1left,eb1right),rest671) end
2849 :     | (176,(_,(MlyValue.qid_p qid_p1,_,qid_p1right))::(_,(_,OPEN1left,_))
2850 :     ::rest671) => let val result=MlyValue.ldec(fn _ => let val qid_p as
2851 :     qid_p1=qid_p1 ()
2852 :     in (OpenDec qid_p) end
2853 :     )
2854 :     in (LrTable.NT 51,(result,OPEN1left,qid_p1right),rest671) end
2855 :     | (177,(_,(MlyValue.ops ops1,_,ops1right))::(_,(MlyValue.fixity
2856 :     fixity1,fixity1left,_))::rest671) => let val result=MlyValue.ldec(fn _
2857 :     => let val fixity as fixity1=fixity1 ()
2858 :     val ops as ops1=ops1 ()
2859 :     in (FixDec{fixity=fixity, ops=ops}) end
2860 :     )
2861 :     in (LrTable.NT 51,(result,fixity1left,ops1right),rest671) end
2862 :     | (178,(_,(MlyValue.exp_pa exp_pa1,_,exp_pa1right))::_::(_,(
2863 :     MlyValue.ty ty1,_,_))::_::(_,(MlyValue.ident ident1,_,_))::(_,(_,
2864 :     OVERLOAD1left,_))::rest671) => let val result=MlyValue.ldec(fn _ =>
2865 :     let val ident as ident1=ident1 ()
2866 :     val ty as ty1=ty1 ()
2867 :     val exp_pa as exp_pa1=exp_pa1 ()
2868 :     in (OvldDec(varSymbol ident,ty,exp_pa)) end
2869 :     )
2870 :     in (LrTable.NT 51,(result,OVERLOAD1left,exp_pa1right),rest671) end
2871 :     | (179,(_,(MlyValue.exp exp1,exp1left,exp1right))::rest671) => let
2872 :     val result=MlyValue.exp_pa(fn _ => let val exp as exp1=exp1 ()
2873 :     in ([exp]) end
2874 :     )
2875 :     in (LrTable.NT 52,(result,exp1left,exp1right),rest671) end
2876 :     | (180,(_,(MlyValue.exp_pa exp_pa1,_,exp_pa1right))::_::(_,(
2877 :     MlyValue.exp exp1,exp1left,_))::rest671) => let val result=
2878 :     MlyValue.exp_pa(fn _ => let val exp as exp1=exp1 ()
2879 :     val exp_pa as exp_pa1=exp_pa1 ()
2880 :     in (exp :: exp_pa) end
2881 :     )
2882 :     in (LrTable.NT 52,(result,exp1left,exp_pa1right),rest671) end
2883 :     | (181,rest671) => let val result=MlyValue.ldecs(fn _ => (SeqDec nil))
2884 :     in (LrTable.NT 53,(result,defaultPos,defaultPos),rest671) end
2885 :     | (182,(_,(MlyValue.ldecs ldecs1,_,ldecs1right))::(_,(MlyValue.ldec
2886 :     ldec1,ldecleft as ldec1left,ldecright))::rest671) => let val result=
2887 :     MlyValue.ldecs(fn _ => let val ldec as ldec1=ldec1 ()
2888 :     val ldecs as ldecs1=ldecs1 ()
2889 :     in (makeSEQdec
2890 :     (markdec(ldec,ldecleft,ldecright), ldecs)) end
2891 :     )
2892 :     in (LrTable.NT 53,(result,ldec1left,ldecs1right),rest671) end
2893 :     | (183,(_,(MlyValue.ldecs ldecs1,_,ldecs1right))::(_,(_,SEMICOLON1left
2894 :     ,_))::rest671) => let val result=MlyValue.ldecs(fn _ => let val ldecs
2895 :     as ldecs1=ldecs1 ()
2896 :     in (ldecs) end
2897 :     )
2898 :     in (LrTable.NT 53,(result,SEMICOLON1left,ldecs1right),rest671) end
2899 :     | (184,(_,(MlyValue.ldecs ldecs3,_,ldecs3right))::(_,(_,_,ENDright))::
2900 :     (_,(MlyValue.ldecs ldecs2,ldecs2left,ldecs2right))::_::(_,(
2901 :     MlyValue.ldecs ldecs1,ldecs1left,ldecs1right))::(_,(_,LOCALleft as
2902 :     LOCAL1left,_))::rest671) => let val result=MlyValue.ldecs(fn _ => let
2903 :     val ldecs1=ldecs1 ()
2904 :     val ldecs2=ldecs2 ()
2905 :     val ldecs3=ldecs3 ()
2906 :     in (
2907 :     makeSEQdec
2908 :     (markdec(LocalDec(markdec(ldecs1,ldecs1left,ldecs1right),
2909 :     markdec(ldecs2,ldecs2left,ldecs2right)),
2910 :     LOCALleft,ENDright),
2911 :     ldecs3)
2912 :     ) end
2913 :     )
2914 :     in (LrTable.NT 53,(result,LOCAL1left,ldecs3right),rest671) end
2915 :     | (185,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671)
2916 :     => let val result=MlyValue.ops(fn _ => let val ident as ident1=ident1
2917 :     ()
2918 :     in ([fixSymbol ident]) end
2919 :     )
2920 :     in (LrTable.NT 54,(result,ident1left,ident1right),rest671) end
2921 :     | (186,(_,(MlyValue.ops ops1,_,ops1right))::(_,(MlyValue.ident ident1,
2922 :     ident1left,_))::rest671) => let val result=MlyValue.ops(fn _ => let
2923 :     val ident as ident1=ident1 ()
2924 :     val ops as ops1=ops1 ()
2925 :     in (fixSymbol ident :: ops) end
2926 :     )
2927 :     in (LrTable.NT 54,(result,ident1left,ops1right),rest671) end
2928 :     | (187,rest671) => let val result=MlyValue.spec_s(fn _ => ([]))
2929 :     in (LrTable.NT 55,(result,defaultPos,defaultPos),rest671) end
2930 :     | (188,(_,(MlyValue.spec_s spec_s1,_,spec_s1right))::(_,(MlyValue.spec
2931 :     spec1,spec1left,_))::rest671) => let val result=MlyValue.spec_s(fn _
2932 :     => let val spec as spec1=spec1 ()
2933 :     val spec_s as spec_s1=spec_s1 ()
2934 :     in (spec @ spec_s) end
2935 :     )
2936 :     in (LrTable.NT 55,(result,spec1left,spec_s1right),rest671) end
2937 :     | (189,(_,(MlyValue.spec_s spec_s1,_,spec_s1right))::(_,(_,
2938 :     SEMICOLON1left,_))::rest671) => let val result=MlyValue.spec_s(fn _
2939 :     => let val spec_s as spec_s1=spec_s1 ()
2940 :     in (spec_s) end
2941 :     )
2942 :     in (LrTable.NT 55,(result,SEMICOLON1left,spec_s1right),rest671) end
2943 :     | (190,(_,(MlyValue.strspec strspec1,_,strspec1right))::(_,(_,
2944 :     STRUCTURE1left,_))::rest671) => let val result=MlyValue.spec(fn _ =>
2945 :     let val strspec as strspec1=strspec1 ()
2946 :     in ([StrSpec strspec]) end
2947 :     )
2948 :     in (LrTable.NT 56,(result,STRUCTURE1left,strspec1right),rest671) end
2949 :     | (191,(_,(MlyValue.fctspec fctspec1,_,fctspec1right))::(_,(_,
2950 :     FUNCTOR1left,_))::rest671) => let val result=MlyValue.spec(fn _ =>
2951 :     let val fctspec as fctspec1=fctspec1 ()
2952 :     in ([FctSpec fctspec]) end
2953 :     )
2954 :     in (LrTable.NT 56,(result,FUNCTOR1left,fctspec1right),rest671) end
2955 :     | (192,(_,(MlyValue.db db1,_,db1right))::(_,(_,DATATYPE1left,_))::
2956 :     rest671) => let val result=MlyValue.spec(fn _ => let val db as db1=db1
2957 :     ()
2958 :     in ([DataSpec{datatycs=db,withtycs=nil}]) end
2959 :     )
2960 :     in (LrTable.NT 56,(result,DATATYPE1left,db1right),rest671) end
2961 :     | (193,(_,(MlyValue.tb tb1,_,tb1right))::_::(_,(MlyValue.db db1,_,_))
2962 :     ::(_,(_,DATATYPE1left,_))::rest671) => let val result=MlyValue.spec(
2963 :     fn _ => let val db as db1=db1 ()
2964 :     val tb as tb1=tb1 ()
2965 :     in ([DataSpec{datatycs=db,withtycs=tb}]) end
2966 :     )
2967 :     in (LrTable.NT 56,(result,DATATYPE1left,tb1right),rest671) end
2968 :     | (194,(_,(MlyValue.tyspec tyspec1,_,tyspec1right))::(_,(_,TYPE1left,_
2969 :     ))::rest671) => let val result=MlyValue.spec(fn _ => let val tyspec
2970 :     as tyspec1=tyspec1 ()
2971 :     in ([TycSpec(tyspec,false)]) end
2972 :     )
2973 :     in (LrTable.NT 56,(result,TYPE1left,tyspec1right),rest671) end
2974 :     | (195,(_,(MlyValue.tyspec tyspec1,_,tyspec1right))::(_,(_,EQTYPE1left
2975 :     ,_))::rest671) => let val result=MlyValue.spec(fn _ => let val tyspec
2976 :     as tyspec1=tyspec1 ()
2977 :     in ([TycSpec(tyspec,true)]) end
2978 :     )
2979 :     in (LrTable.NT 56,(result,EQTYPE1left,tyspec1right),rest671) end
2980 :     | (196,(_,(MlyValue.valspec valspec1,_,valspec1right))::(_,(_,VAL1left
2981 :     ,_))::rest671) => let val result=MlyValue.spec(fn _ => let val valspec
2982 :     as valspec1=valspec1 ()
2983 :     in ([ValSpec valspec]) end
2984 :     )
2985 :     in (LrTable.NT 56,(result,VAL1left,valspec1right),rest671) end
2986 :     | (197,(_,(MlyValue.exnspec exnspec1,_,exnspec1right))::(_,(_,
2987 :     EXCEPTION1left,_))::rest671) => let val result=MlyValue.spec(fn _ =>
2988 :     let val exnspec as exnspec1=exnspec1 ()
2989 :     in ([ExceSpec exnspec]) end
2990 :     )
2991 :     in (LrTable.NT 56,(result,EXCEPTION1left,exnspec1right),rest671) end
2992 :     | (198,(_,(MlyValue.sharespec sharespec1,_,sharespec1right))::(_,(_,
2993 :     SHARING1left,_))::rest671) => let val result=MlyValue.spec(fn _ =>
2994 :     let val sharespec as sharespec1=sharespec1 ()
2995 :     in (sharespec) end
2996 :     )
2997 :     in (LrTable.NT 56,(result,SHARING1left,sharespec1right),rest671) end
2998 :     | (199,(_,(MlyValue.sign sign1,_,sign1right))::(_,(_,INCLUDE1left,_))
2999 :     ::rest671) => let val result=MlyValue.spec(fn _ => let val sign as
3000 :     sign1=sign1 ()
3001 :     in ([IncludeSpec sign]) end
3002 :     )
3003 :     in (LrTable.NT 56,(result,INCLUDE1left,sign1right),rest671) end
3004 :     | (200,(_,(MlyValue.idents idents1,_,idents1right))::(_,(
3005 :     MlyValue.ident ident1,_,_))::(_,(_,INCLUDE1left,_))::rest671) => let
3006 :     val result=MlyValue.spec(fn _ => let val ident as ident1=ident1 ()
3007 :     val idents as idents1=idents1 ()
3008 :     in (IncludeSpec(VarSig(FastSymbol.sigSymbol ident))
3009 :     :: idents)
3010 :     end
3011 :     )
3012 :     in (LrTable.NT 56,(result,INCLUDE1left,idents1right),rest671) end
3013 :     | (201,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671)
3014 :     => let val result=MlyValue.idents(fn _ => let val ident as ident1=
3015 :     ident1 ()
3016 :     in ([IncludeSpec(VarSig(FastSymbol.sigSymbol ident))]) end
3017 :     )
3018 :     in (LrTable.NT 57,(result,ident1left,ident1right),rest671) end
3019 :     | (202,(_,(MlyValue.idents idents1,_,idents1right))::(_,(
3020 :     MlyValue.ident ident1,ident1left,_))::rest671) => let val result=
3021 :     MlyValue.idents(fn _ => let val ident as ident1=ident1 ()
3022 :     val idents as idents1=idents1 ()
3023 :     in (IncludeSpec(VarSig(FastSymbol.sigSymbol ident))
3024 :     :: idents)
3025 :     end
3026 :     )
3027 :     in (LrTable.NT 57,(result,ident1left,idents1right),rest671) end
3028 :     | (203,(_,(MlyValue.strspec strspec2,_,strspec2right))::_::(_,(
3029 :     MlyValue.strspec strspec1,strspec1left,_))::rest671) => let val result
3030 :     =MlyValue.strspec(fn _ => let val strspec1=strspec1 ()
3031 :     val strspec2=strspec2 ()
3032 :     in (strspec1 @ strspec2) end
3033 :     )
3034 :     in (LrTable.NT 58,(result,strspec1left,strspec2right),rest671) end
3035 :     | (204,(_,(MlyValue.sign sign1,_,sign1right))::_::(_,(MlyValue.ident
3036 :     ident1,ident1left,_))::rest671) => let val result=MlyValue.strspec(fn
3037 :     _ => let val ident as ident1=ident1 ()
3038 :     val sign as sign1=sign1 ()
3039 :     in ([(strSymbol ident, sign, NONE)]) end
3040 :     )
3041 :     in (LrTable.NT 58,(result,ident1left,sign1right),rest671) end
3042 :     | (205,(_,(MlyValue.qid qid1,_,qid1right))::_::(_,(MlyValue.sign sign1
3043 :     ,_,_))::_::(_,(MlyValue.ident ident1,ident1left,_))::rest671) => let
3044 :     val result=MlyValue.strspec(fn _ => let val ident as ident1=ident1 ()
3045 :     val sign as sign1=sign1 ()
3046 :     val qid as qid1=qid1 ()
3047 :     in ([(strSymbol ident, sign, SOME(qid strSymbol))]) end
3048 :     )
3049 :     in (LrTable.NT 58,(result,ident1left,qid1right),rest671) end
3050 :     | (206,(_,(MlyValue.fctspec fctspec2,_,fctspec2right))::_::(_,(
3051 :     MlyValue.fctspec fctspec1,fctspec1left,_))::rest671) => let val result
3052 :     =MlyValue.fctspec(fn _ => let val fctspec1=fctspec1 ()
3053 :     val fctspec2=fctspec2 ()
3054 :     in (fctspec1 @ fctspec2) end
3055 :     )
3056 :     in (LrTable.NT 59,(result,fctspec1left,fctspec2right),rest671) end
3057 :     | (207,(_,(MlyValue.fsig fsig1,_,fsig1right))::(_,(MlyValue.ident
3058 :     ident1,ident1left,_))::rest671) => let val result=MlyValue.fctspec(fn
3059 :     _ => let val ident as ident1=ident1 ()
3060 :     val fsig as fsig1=fsig1 ()
3061 :     in ([(fctSymbol ident, fsig)]) end
3062 :     )
3063 :     in (LrTable.NT 59,(result,ident1left,fsig1right),rest671) end
3064 :     | (208,(_,(MlyValue.tyspec tyspec2,_,tyspec2right))::_::(_,(
3065 :     MlyValue.tyspec tyspec1,tyspec1left,_))::rest671) => let val result=
3066 :     MlyValue.tyspec(fn _ => let val tyspec1=tyspec1 ()
3067 :     val tyspec2=tyspec2 ()
3068 :     in (tyspec1 @ tyspec2) end
3069 :     )
3070 :     in (LrTable.NT 60,(result,tyspec1left,tyspec2right),rest671) end
3071 :     | (209,(_,(MlyValue.ID ID1,_,ID1right))::(_,(MlyValue.tyvars tyvars1,
3072 :     tyvars1left,_))::rest671) => let val result=MlyValue.tyspec(fn _ =>
3073 :     let val tyvars as tyvars1=tyvars1 ()
3074 :     val ID as ID1=ID1 ()
3075 :     in ([(tycSymbol ID,tyvars,NONE)]) end
3076 :     )
3077 :     in (LrTable.NT 60,(result,tyvars1left,ID1right),rest671) end
3078 :     | (210,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ID ID1,_,_))
3079 :     ::(_,(MlyValue.tyvars tyvars1,tyvars1left,_))::rest671) => let val
3080 :     result=MlyValue.tyspec(fn _ => let val tyvars as tyvars1=tyvars1 ()
3081 :     val ID as ID1=ID1 ()
3082 :     val ty as ty1=ty1 ()
3083 :     in ([(tycSymbol ID,tyvars,SOME ty)]) end
3084 :     )
3085 :     in (LrTable.NT 60,(result,tyvars1left,ty1right),rest671) end
3086 :     | (211,(_,(MlyValue.valspec valspec2,_,valspec2right))::_::(_,(
3087 :     MlyValue.valspec valspec1,valspec1left,_))::rest671) => let val result
3088 :     =MlyValue.valspec(fn _ => let val valspec1=valspec1 ()
3089 :     val valspec2=valspec2 ()
3090 :     in (valspec1 @ valspec2) end
3091 :     )
3092 :     in (LrTable.NT 61,(result,valspec1left,valspec2right),rest671) end
3093 :     | (212,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ident ident1,
3094 :     _,_))::(_,(MlyValue.op_op op_op1,op_op1left,_))::rest671) => let val
3095 :     result=MlyValue.valspec(fn _ => let val op_op1=op_op1 ()
3096 :     val ident as ident1=ident1 ()
3097 :     val ty as ty1=ty1 ()
3098 :     in ([(varSymbol ident,ty)]) end
3099 :     )
3100 :     in (LrTable.NT 61,(result,op_op1left,ty1right),rest671) end
3101 :     | (213,(_,(MlyValue.exnspec exnspec2,_,exnspec2right))::_::(_,(
3102 :     MlyValue.exnspec exnspec1,exnspec1left,_))::rest671) => let val result
3103 :     =MlyValue.exnspec(fn _ => let val exnspec1=exnspec1 ()
3104 :     val exnspec2=exnspec2 ()
3105 :     in (exnspec1 @ exnspec2) end
3106 :     )
3107 :     in (LrTable.NT 62,(result,exnspec1left,exnspec2right),rest671) end
3108 :     | (214,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671)
3109 :     => let val result=MlyValue.exnspec(fn _ => let val ident as ident1=
3110 :     ident1 ()
3111 :     in ([(varSymbol ident,NONE)]) end
3112 :     )
3113 :     in (LrTable.NT 62,(result,ident1left,ident1right),rest671) end
3114 :     | (215,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ident ident1,
3115 :     ident1left,_))::rest671) => let val result=MlyValue.exnspec(fn _ =>
3116 :     let val ident as ident1=ident1 ()
3117 :     val ty as ty1=ty1 ()
3118 :     in ([(varSymbol ident,SOME ty)]) end
3119 :     )
3120 :     in (LrTable.NT 62,(result,ident1left,ty1right),rest671) end
3121 :     | (216,(_,(MlyValue.sharespec sharespec2,_,sharespec2right))::_::(_,(
3122 :     MlyValue.sharespec sharespec1,sharespec1left,_))::rest671) => let val
3123 :     result=MlyValue.sharespec(fn _ => let val sharespec1=sharespec1 ()
3124 :     val sharespec2=sharespec2 ()
3125 :     in (sharespec1 @ sharespec2) end
3126 :     )
3127 :     in (LrTable.NT 63,(result,sharespec1left,sharespec2right),rest671)
3128 :     end
3129 :     | (217,(_,(MlyValue.patheqn patheqn1,patheqnleft,patheqnright as
3130 :     patheqn1right))::(_,(_,TYPE1left,_))::rest671) => let val result=
3131 :     MlyValue.sharespec(fn _ => let val patheqn as patheqn1=patheqn1 ()
3132 :     in (
3133 :     [MarkSpec (ShareTycSpec(patheqn tycSymbol),
3134 :     (patheqnleft,patheqnright))]
3135 :     ) end
3136 :     )
3137 :     in (LrTable.NT 63,(result,TYPE1left,patheqn1right),rest671) end
3138 :     | (218,(_,(MlyValue.patheqn patheqn1,patheqnleft as patheqn1left,
3139 :     patheqnright as patheqn1right))::rest671) => let val result=
3140 :     MlyValue.sharespec(fn _ => let val patheqn as patheqn1=patheqn1 ()
3141 :     in (
3142 :     [MarkSpec (ShareStrSpec (patheqn strSymbol),
3143 :     (patheqnleft,patheqnright))]
3144 :     ) end
3145 :     )
3146 :     in (LrTable.NT 63,(result,patheqn1left,patheqn1right),rest671) end
3147 :     | (219,(_,(MlyValue.qid qid2,_,qid2right))::_::(_,(MlyValue.qid qid1,
3148 :     qid1left,_))::rest671) => let val result=MlyValue.patheqn(fn _ => let
3149 :     val qid1=qid1 ()
3150 :     val qid2=qid2 ()
3151 :     in (fn kind => [qid1 kind, qid2 kind]) end
3152 :     )
3153 :     in (LrTable.NT 64,(result,qid1left,qid2right),rest671) end
3154 :     | (220,(_,(MlyValue.patheqn patheqn1,_,patheqn1right))::_::(_,(
3155 :     MlyValue.qid qid1,qid1left,_))::rest671) => let val result=
3156 :     MlyValue.patheqn(fn _ => let val qid as qid1=qid1 ()
3157 :     val patheqn as patheqn1=patheqn1 ()
3158 :     in (fn kind => qid kind :: patheqn kind) end
3159 :     )
3160 :     in (LrTable.NT 64,(result,qid1left,patheqn1right),rest671) end
3161 :     | (221,(_,(MlyValue.whspec whspec2,_,whspec2right))::_::(_,(
3162 :     MlyValue.whspec whspec1,whspec1left,_))::rest671) => let val result=
3163 :     MlyValue.whspec(fn _ => let val whspec1=whspec1 ()
3164 :     val whspec2=whspec2 ()
3165 :     in (whspec1 @ whspec2) end
3166 :     )
3167 :     in (LrTable.NT 65,(result,whspec1left,whspec2right),rest671) end
3168 :     | (222,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.qid qid1,_,_)
3169 :     )::(_,(MlyValue.tyvars tyvars1,_,_))::(_,(_,TYPE1left,_))::rest671)
3170 :     => let val result=MlyValue.whspec(fn _ => let val tyvars as tyvars1=
3171 :     tyvars1 ()
3172 :     val qid as qid1=qid1 ()
3173 :     val ty as ty1=ty1 ()
3174 :     in ([WhType(qid tycSymbol,tyvars,ty)]) end
3175 :     )
3176 :     in (LrTable.NT 65,(result,TYPE1left,ty1right),rest671) end
3177 :     | (223,(_,(MlyValue.qid qid2,_,qid2right))::_::(_,(MlyValue.qid qid1,
3178 :     qid1left,_))::rest671) => let val result=MlyValue.whspec(fn _ => let
3179 :     val qid1=qid1 ()
3180 :     val qid2=qid2 ()
3181 :     in ([WhStruct(qid1 strSymbol,qid2 strSymbol)]) end
3182 :     )
3183 :     in (LrTable.NT 65,(result,qid1left,qid2right),rest671) end
3184 :     | (224,(_,(MlyValue.ident ident1,identleft as ident1left,identright
3185 :     as ident1right))::rest671) => let val result=MlyValue.sign(fn _ =>
3186 :     let val ident as ident1=ident1 ()
3187 :     in (
3188 :     MarkSig(VarSig (sigSymbol ident),
3189 :     (identleft,identright))
3190 :     ) end
3191 :     )
3192 :     in (LrTable.NT 66,(result,ident1left,ident1right),rest671) end
3193 :     | (225,(_,(_,_,END1right))::(_,(MlyValue.spec_s spec_s1,spec_sleft,
3194 :     spec_sright))::(_,(_,SIG1left,_))::rest671) => let val result=
3195 :     MlyValue.sign(fn _ => let val spec_s as spec_s1=spec_s1 ()
3196 :     in (MarkSig(BaseSig(spec_s),(spec_sleft,spec_sright))) end
3197 :     )
3198 :     in (LrTable.NT 66,(result,SIG1left,END1right),rest671) end
3199 :     | (226,(_,(MlyValue.whspec whspec1,_,whspecright as whspec1right))::_
3200 :     ::(_,(MlyValue.sign sign1,signleft as sign1left,_))::rest671) => let
3201 :     val result=MlyValue.sign(fn _ => let val sign as sign1=sign1 ()
3202 :     val whspec as whspec1=whspec1 ()
3203 :     in (MarkSig(AugSig(sign,whspec),(signleft,whspecright))) end
3204 :     )
3205 :     in (LrTable.NT 66,(result,sign1left,whspec1right),rest671) end
3206 :     | (227,rest671) => let val result=MlyValue.sigconstraint_op(fn _ => (
3207 :     NoSig))
3208 :     in (LrTable.NT 67,(result,defaultPos,defaultPos),rest671) end
3209 :     | (228,(_,(MlyValue.sign sign1,_,sign1right))::(_,(_,COLON1left,_))::
3210 :     rest671) => let val result=MlyValue.sigconstraint_op(fn _ => let val
3211 :     sign as sign1=sign1 ()
3212 :     in (Transparent(sign)) end
3213 :     )
3214 :     in (LrTable.NT 67,(result,COLON1left,sign1right),rest671) end
3215 :     | (229,(_,(MlyValue.sign sign1,_,sign1right))::(_,(_,COLONGT1left,_))
3216 :     ::rest671) => let val result=MlyValue.sigconstraint_op(fn _ => let
3217 :     val sign as sign1=sign1 ()
3218 :     in (Opaque(sign)) end
3219 :     )
3220 :     in (LrTable.NT 67,(result,COLONGT1left,sign1right),rest671) end
3221 :     | (230,rest671) => let val result=MlyValue.fsigconstraint_op(fn _ => (
3222 :     NoSig))
3223 :     in (LrTable.NT 68,(result,defaultPos,defaultPos),rest671) end
3224 :     | (231,(_,(MlyValue.ident ident1,_,ident1right))::(_,(_,COLON1left,_))
3225 :     ::rest671) => let val result=MlyValue.fsigconstraint_op(fn _ => let
3226 :     val ident as ident1=ident1 ()
3227 :     in (Transparent(VarFsig (fsigSymbol ident))) end
3228 :     )
3229 :     in (LrTable.NT 68,(result,COLON1left,ident1right),rest671) end
3230 :     | (232,(_,(MlyValue.ident ident1,_,ident1right))::(_,(_,COLONGT1left,_
3231 :     ))::rest671) => let val result=MlyValue.fsigconstraint_op(fn _ => let
3232 :     val ident as ident1=ident1 ()
3233 :     in (Opaque(VarFsig (fsigSymbol ident))) end
3234 :     )
3235 :     in (LrTable.NT 68,(result,COLONGT1left,ident1right),rest671) end
3236 :     | (233,(_,(MlyValue.sigb sigb2,_,sigb2right))::_::(_,(MlyValue.sigb
3237 :     sigb1,sigb1left,_))::rest671) => let val result=MlyValue.sigb(fn _ =>
3238 :     let val sigb1=sigb1 ()
3239 :     val sigb2=sigb2 ()
3240 :     in (sigb1 @ sigb2) end
3241 :     )
3242 :     in (LrTable.NT 69,(result,sigb1left,sigb2right),rest671) end
3243 :     | (234,(_,(MlyValue.sign sign1,_,sign1right))::_::(_,(MlyValue.ident
3244 :     ident1,ident1left,_))::rest671) => let val result=MlyValue.sigb(fn _
3245 :     => let val ident as ident1=ident1 ()
3246 :     val sign as sign1=sign1 ()
3247 :     in ([Sigb{name=sigSymbol ident,def=sign}]) end
3248 :     )
3249 :     in (LrTable.NT 69,(result,ident1left,sign1right),rest671) end
3250 :     | (235,(_,(MlyValue.fsigb fsigb2,_,fsigb2right))::_::(_,(
3251 :     MlyValue.fsigb fsigb1,fsigb1left,_))::rest671) => let val result=
3252 :     MlyValue.fsigb(fn _ => let val fsigb1=fsigb1 ()
3253 :     val fsigb2=fsigb2 ()
3254 :     in (fsigb1 @ fsigb2) end
3255 :     )
3256 :     in (LrTable.NT 70,(result,fsigb1left,fsigb2right),rest671) end
3257 :     | (236,(_,(MlyValue.sign sign1,_,sign1right))::_::(_,(
3258 :     MlyValue.fparamList fparamList1,_,_))::(_,(MlyValue.ident ident1,
3259 :     ident1left,_))::rest671) => let val result=MlyValue.fsigb(fn _ => let
3260 :     val ident as ident1=ident1 ()
3261 :     val fparamList as fparamList1=fparamList1 ()
3262 :     val sign as sign1=sign1 ()
3263 :     in (
3264 :     [Fsigb{name=fsigSymbol ident,
3265 :     def=BaseFsig{param=fparamList,result=sign}}]
3266 :     ) end
3267 :     )
3268 :     in (LrTable.NT 70,(result,ident1left,sign1right),rest671) end
3269 :     | (237,(_,(MlyValue.ident ident1,_,ident1right))::(_,(_,COLON1left,_))
3270 :     ::rest671) => let val result=MlyValue.fsig(fn _ => let val ident as
3271 :     ident1=ident1 ()
3272 :     in (VarFsig (fsigSymbol ident)) end
3273 :     )
3274 :     in (LrTable.NT 71,(result,COLON1left,ident1right),rest671) end
3275 :     | (238,(_,(MlyValue.sign sign1,_,sign1right))::_::(_,(
3276 :     MlyValue.fparamList fparamList1,fparamList1left,_))::rest671) => let
3277 :     val result=MlyValue.fsig(fn _ => let val fparamList as fparamList1=
3278 :     fparamList1 ()
3279 :     val sign as sign1=sign1 ()
3280 :     in (BaseFsig{param=fparamList,result=sign}) end
3281 :     )
3282 :     in (LrTable.NT 71,(result,fparamList1left,sign1right),rest671) end
3283 :     | (239,(_,(MlyValue.qid qid1,qidleft as qid1left,qidright as qid1right
3284 :     ))::rest671) => let val result=MlyValue.str(fn _ => let val qid as
3285 :     qid1=qid1 ()
3286 :     in ((MarkStr(VarStr(qid strSymbol),(qidleft,qidright)))) end
3287 :     )
3288 :     in (LrTable.NT 72,(result,qid1left,qid1right),rest671) end
3289 :     | (240,(_,(_,_,ENDright as END1right))::(_,(MlyValue.strdecs strdecs1,
3290 :     _,_))::(_,(_,STRUCTleft as STRUCT1left,_))::rest671) => let val result
3291 :     =MlyValue.str(fn _ => let val strdecs as strdecs1=strdecs1 ()
3292 :     in (MarkStr(BaseStr strdecs,(STRUCTleft,ENDright))) end
3293 :     )
3294 :     in (LrTable.NT 72,(result,STRUCT1left,END1right),rest671) end
3295 :     | (241,(_,(MlyValue.arg_fct arg_fct1,_,arg_fctright as arg_fct1right))
3296 :     ::(_,(MlyValue.qid qid1,qidleft as qid1left,_))::rest671) => let val
3297 :     result=MlyValue.str(fn _ => let val qid as qid1=qid1 ()
3298 :     val arg_fct as arg_fct1=arg_fct1 ()
3299 :     in (
3300 :     MarkStr(AppStr(qid fctSymbol,arg_fct),
3301 :     (qidleft,arg_fctright)))
3302 :     end
3303 :     )
3304 :     in (LrTable.NT 72,(result,qid1left,arg_fct1right),rest671) end
3305 :     | (242,(_,(_,_,ENDright as END1right))::(_,(MlyValue.str str1,_,_))::_
3306 :     ::(_,(MlyValue.strdecs strdecs1,_,_))::(_,(_,LETleft as LET1left,_))::
3307 :     rest671) => let val result=MlyValue.str(fn _ => let val strdecs as
3308 :     strdecs1=strdecs1 ()
3309 :     val str as str1=str1 ()
3310 :     in (MarkStr(LetStr(strdecs, str), (LETleft,ENDright))) end
3311 :     )
3312 :     in (LrTable.NT 72,(result,LET1left,END1right),rest671) end
3313 :     | (243,(_,(MlyValue.sign sign1,_,signright as sign1right))::_::(_,(
3314 :     MlyValue.str str1,strleft as str1left,_))::rest671) => let val result=
3315 :     MlyValue.str(fn _ => let val str as str1=str1 ()
3316 :     val sign as sign1=sign1 ()
3317 :     in (
3318 :     MarkStr(ConstrainedStr(str,Transparent sign),
3319 :     (strleft,signright))
3320 :     ) end
3321 :     )
3322 :     in (LrTable.NT 72,(result,str1left,sign1right),rest671) end
3323 :     | (244,(_,(MlyValue.sign sign1,_,signright as sign1right))::_::(_,(
3324 :     MlyValue.str str1,strleft as str1left,_))::rest671) => let val result=
3325 :     MlyValue.str(fn _ => let val str as str1=str1 ()
3326 :     val sign as sign1=sign1 ()
3327 :     in (
3328 :     MarkStr(ConstrainedStr(str,Opaque sign),
3329 :     (strleft,signright))
3330 :     ) end
3331 :     )
3332 :     in (LrTable.NT 72,(result,str1left,sign1right),rest671) end
3333 :     | (245,(_,(MlyValue.arg_fct arg_fct1,_,arg_fct1right))::_::(_,(
3334 :     MlyValue.strdecs strdecs1,strdecsleft,strdecsright))::(_,(_,
3335 :     LPAREN1left,_))::rest671) => let val result=MlyValue.arg_fct(fn _ =>
3336 :     let val strdecs as strdecs1=strdecs1 ()
3337 :     val arg_fct as arg_fct1=arg_fct1 ()
3338 :     in (
3339 :     (MarkStr(BaseStr strdecs,
3340 :     (strdecsleft,strdecsright)),
3341 :     false) :: arg_fct
3342 :     ) end
3343 :     )
3344 :     in (LrTable.NT 73,(result,LPAREN1left,arg_fct1right),rest671) end
3345 :     | (246,(_,(MlyValue.arg_fct arg_fct1,_,arg_fct1right))::_::(_,(
3346 :     MlyValue.str str1,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val
3347 :     result=MlyValue.arg_fct(fn _ => let val str as str1=str1 ()
3348 :     val arg_fct as arg_fct1=arg_fct1 ()
3349 :     in ((str, true) :: arg_fct) end
3350 :     )
3351 :     in (LrTable.NT 73,(result,LPAREN1left,arg_fct1right),rest671) end
3352 :     | (247,(_,(_,_,RPAREN1right))::(_,(MlyValue.str str1,_,_))::(_,(_,
3353 :     LPAREN1left,_))::rest671) => let val result=MlyValue.arg_fct(fn _ =>
3354 :     let val str as str1=str1 ()
3355 :     in ([(str, true)]) end
3356 :     )
3357 :     in (LrTable.NT 73,(result,LPAREN1left,RPAREN1right),rest671) end
3358 :     | (248,(_,(_,_,RPAREN1right))::(_,(MlyValue.strdecs strdecs1,
3359 :     strdecsleft,strdecsright))::(_,(_,LPAREN1left,_))::rest671) => let
3360 :     val result=MlyValue.arg_fct(fn _ => let val strdecs as strdecs1=
3361 :     strdecs1 ()
3362 :     in (
3363 :     [(MarkStr(BaseStr strdecs,
3364 :     (strdecsleft,strdecsright)),
3365 :     false)]
3366 :     ) end
3367 :     )
3368 :     in (LrTable.NT 73,(result,LPAREN1left,RPAREN1right),rest671) end
3369 :     | (249,(_,(MlyValue.strdecs strdecs1,_,strdecs1right))::(_,(
3370 :     MlyValue.strdec strdec1,strdecleft as strdec1left,strdecright))::
3371 :     rest671) => let val result=MlyValue.strdecs(fn _ => let val strdec as
3372 :     strdec1=strdec1 ()
3373 :     val strdecs as strdecs1=strdecs1 ()
3374 :     in (
3375 :     makeSEQdec (markdec(strdec,strdecleft,strdecright),
3376 :     strdecs)
3377 :     ) end
3378 :     )
3379 :     in (LrTable.NT 75,(result,strdec1left,strdecs1right),rest671) end
3380 :     | (250,(_,(MlyValue.strdecs strdecs1,_,strdecs1right))::(_,(_,
3381 :     SEMICOLON1left,_))::rest671) => let val result=MlyValue.strdecs(fn _
3382 :     => let val strdecs as strdecs1=strdecs1 ()
3383 :     in (strdecs) end
3384 :     )
3385 :     in (LrTable.NT 75,(result,SEMICOLON1left,strdecs1right),rest671) end
3386 :     | (251,rest671) => let val result=MlyValue.strdecs(fn _ => (SeqDec[]))
3387 :     in (LrTable.NT 75,(result,defaultPos,defaultPos),rest671) end
3388 :     | (252,(_,(MlyValue.sdecs sdecs1,_,sdecs1right))::(_,(MlyValue.sdec
3389 :     sdec1,sdecleft as sdec1left,sdecright))::rest671) => let val result=
3390 :     MlyValue.sdecs(fn _ => let val sdec as sdec1=sdec1 ()
3391 :     val sdecs as sdecs1=sdecs1 ()
3392 :     in (makeSEQdec (markdec(sdec,sdecleft,sdecright),
3393 :     sdecs))
3394 :     end
3395 :     )
3396 :     in (LrTable.NT 77,(result,sdec1left,sdecs1right),rest671) end
3397 :     | (253,(_,(MlyValue.sdecs sdecs1,_,sdecs1right))::(_,(_,SEMICOLON1left
3398 :     ,_))::rest671) => let val result=MlyValue.sdecs(fn _ => let val sdecs
3399 :     as sdecs1=sdecs1 ()
3400 :     in (sdecs) end
3401 :     )
3402 :     in (LrTable.NT 77,(result,SEMICOLON1left,sdecs1right),rest671) end
3403 :     | (254,rest671) => let val result=MlyValue.sdecs(fn _ => (SeqDec[]))
3404 :     in (LrTable.NT 77,(result,defaultPos,defaultPos),rest671) end
3405 :     | (255,(_,(MlyValue.sdecs' sdecs'1,_,sdecs'1right))::(_,(MlyValue.sdec
3406 :     sdec1,sdecleft as sdec1left,sdecright))::rest671) => let val result=
3407 :     MlyValue.sdecs'(fn _ => let val sdec as sdec1=sdec1 ()
3408 :     val sdecs' as sdecs'1=sdecs'1 ()
3409 :     in (makeSEQdec (markdec(sdec,sdecleft,sdecright),
3410 :     sdecs'))
3411 :     end
3412 :     )
3413 :     in (LrTable.NT 78,(result,sdec1left,sdecs'1right),rest671) end
3414 :     | (256,(_,(MlyValue.sdec sdec1,sdecleft as sdec1left,sdecright as
3415 :     sdec1right))::rest671) => let val result=MlyValue.sdecs'(fn _ => let
3416 :     val sdec as sdec1=sdec1 ()
3417 :     in (markdec(sdec, sdecleft,sdecright)) end
3418 :     )
3419 :     in (LrTable.NT 78,(result,sdec1left,sdec1right),rest671) end
3420 :     | (257,(_,(MlyValue.strb strb1,_,strb1right))::(_,(_,STRUCTURE1left,_)
3421 :     )::rest671) => let val result=MlyValue.strdec(fn _ => let val strb as
3422 :     strb1=strb1 ()
3423 :     in (StrDec strb) end
3424 :     )
3425 :     in (LrTable.NT 74,(result,STRUCTURE1left,strb1right),rest671) end
3426 :     | (258,(_,(MlyValue.fctb fctb1,_,fctb1right))::(_,(_,FUNCTOR1left,_))
3427 :     ::rest671) => let val result=MlyValue.strdec(fn _ => let val fctb as
3428 :     fctb1=fctb1 ()
3429 :     in (FctDec fctb) end
3430 :     )
3431 :     in (LrTable.NT 74,(result,FUNCTOR1left,fctb1right),rest671) end
3432 :     | (259,(_,(_,_,END1right))::(_,(MlyValue.strdecs strdecs2,strdecs2left
3433 :     ,strdecs2right))::_::(_,(MlyValue.strdecs strdecs1,strdecs1left,
3434 :     strdecs1right))::(_,(_,LOCAL1left,_))::rest671) => let val result=
3435 :     MlyValue.strdec(fn _ => let val strdecs1=strdecs1 ()
3436 :     val strdecs2=strdecs2 ()
3437 :     in (
3438 :     LocalDec(markdec(strdecs1,
3439 :     strdecs1left,strdecs1right),
3440 :     markdec(strdecs2,strdecs2left,strdecs2right))
3441 :     ) end
3442 :     )
3443 :     in (LrTable.NT 74,(result,LOCAL1left,END1right),rest671) end
3444 :     | (260,(_,(MlyValue.ldec ldec1,ldecleft as ldec1left,ldecright as
3445 :     ldec1right))::rest671) => let val result=MlyValue.strdec(fn _ => let
3446 :     val ldec as ldec1=ldec1 ()
3447 :     in (markdec(ldec,ldecleft,ldecright)) end
3448 :     )
3449 :     in (LrTable.NT 74,(result,ldec1left,ldec1right),rest671) end
3450 :     | (261,(_,(MlyValue.strb strb1,_,strb1right))::(_,(_,STRUCTURE1left,_)
3451 :     )::rest671) => let val result=MlyValue.sdec(fn _ => let val strb as
3452 :     strb1=strb1 ()
3453 :     in (StrDec strb) end
3454 :     )
3455 :     in (LrTable.NT 76,(result,STRUCTURE1left,strb1right),rest671) end
3456 :     | (262,(_,(MlyValue.sigb sigb1,_,sigb1right))::(_,(_,SIGNATURE1left,_)
3457 :     )::rest671) => let val result=MlyValue.sdec(fn _ => let val sigb as
3458 :     sigb1=sigb1 ()
3459 :     in (SigDec sigb) end
3460 :     )
3461 :     in (LrTable.NT 76,(result,SIGNATURE1left,sigb1right),rest671) end
3462 :     | (263,(_,(MlyValue.fsigb fsigb1,_,fsigb1right))::(_,(_,FUNSIG1left,_)
3463 :     )::rest671) => let val result=MlyValue.sdec(fn _ => let val fsigb as
3464 :     fsigb1=fsigb1 ()
3465 :     in (FsigDec fsigb) end
3466 :     )
3467 :     in (LrTable.NT 76,(result,FUNSIG1left,fsigb1right),rest671) end
3468 :     | (264,(_,(MlyValue.fctb fctb1,_,fctb1right))::(_,(_,FUNCTOR1left,_))
3469 :     ::rest671) => let val result=MlyValue.sdec(fn _ => let val fctb as
3470 :     fctb1=fctb1 ()
3471 :     in (FctDec fctb) end
3472 :     )
3473 :     in (LrTable.NT 76,(result,FUNCTOR1left,fctb1right),rest671) end
3474 :     | (265,(_,(_,_,END1right))::(_,(MlyValue.sdecs sdecs2,sdecs2left,
3475 :     sdecs2right))::_::(_,(MlyValue.sdecs sdecs1,sdecs1left,sdecs1right))::
3476 :     (_,(_,LOCAL1left,_))::rest671) => let val result=MlyValue.sdec(fn _
3477 :     => let val sdecs1=sdecs1 ()
3478 :     val sdecs2=sdecs2 ()
3479 :     in (
3480 :     LocalDec(markdec(sdecs1,
3481 :     sdecs1left,sdecs1right),
3482 :     markdec(sdecs2,sdecs2left,sdecs2right))
3483 :     ) end
3484 :     )
3485 :     in (LrTable.NT 76,(result,LOCAL1left,END1right),rest671) end
3486 :     | (266,(_,(MlyValue.ldec ldec1,ldecleft as ldec1left,ldecright as
3487 :     ldec1right))::rest671) => let val result=MlyValue.sdec(fn _ => let
3488 :     val ldec as ldec1=ldec1 ()
3489 :     in (markdec(ldec,ldecleft,ldecright)) end
3490 :     )
3491 :     in (LrTable.NT 76,(result,ldec1left,ldec1right),rest671) end
3492 :     | (267,(_,(MlyValue.str str1,_,strright as str1right))::_::(_,(
3493 :     MlyValue.sigconstraint_op sigconstraint_op1,_,_))::(_,(MlyValue.ident
3494 :     ident1,identleft as ident1left,_))::rest671) => let val result=
3495 :     MlyValue.strb(fn _ => let val ident as ident1=ident1 ()
3496 :     val sigconstraint_op as sigconstraint_op1=sigconstraint_op1 ()
3497 :     val str as str1=str1 ()
3498 :     in (
3499 :     [MarkStrb(Strb{name = strSymbol ident,def = str,
3500 :     constraint=sigconstraint_op},
3501 :     (identleft,strright))]
3502 :     ) end
3503 :     )
3504 :     in (LrTable.NT 79,(result,ident1left,str1right),rest671) end
3505 :     | (268,(_,(MlyValue.strb strb2,_,strb2right))::_::(_,(MlyValue.strb
3506 :     strb1,strb1left,_))::rest671) => let val result=MlyValue.strb(fn _ =>
3507 :     let val strb1=strb1 ()
3508 :     val strb2=strb2 ()
3509 :     in (strb1 @ strb2) end
3510 :     )
3511 :     in (LrTable.NT 79,(result,strb1left,strb2right),rest671) end
3512 :     | (269,(_,(MlyValue.sign sign1,_,sign1right))::_::(_,(MlyValue.ID ID1,
3513 :     ID1left,_))::rest671) => let val result=MlyValue.fparam(fn _ => let
3514 :     val ID as ID1=ID1 ()
3515 :     val sign as sign1=sign1 ()
3516 :     in ((SOME(strSymbol ID),sign)) end
3517 :     )
3518 :     in (LrTable.NT 80,(result,ID1left,sign1right),rest671) end
3519 :     | (270,(_,(MlyValue.spec_s spec_s1,spec_sleft as spec_s1left,
3520 :     spec_sright as spec_s1right))::rest671) => let val result=
3521 :     MlyValue.fparam(fn _ => let val spec_s as spec_s1=spec_s1 ()
3522 :     in (
3523 :     (NONE,MarkSig(BaseSig(spec_s),
3524 :     (spec_sleft,spec_sright)))
3525 :     ) end
3526 :     )
3527 :     in (LrTable.NT 80,(result,spec_s1left,spec_s1right),rest671) end
3528 :     | (271,(_,(_,_,RPAREN1right))::(_,(MlyValue.fparam fparam1,_,_))::(_,(
3529 :     _,LPAREN1left,_))::rest671) => let val result=MlyValue.fparamList(fn _
3530 :     => let val fparam as fparam1=fparam1 ()
3531 :     in ([fparam]) end
3532 :     )
3533 :     in (LrTable.NT 81,(result,LPAREN1left,RPAREN1right),rest671) end
3534 :     | (272,(_,(MlyValue.fparamList fparamList1,_,fparamList1right))::_::(_
3535 :     ,(MlyValue.fparam fparam1,_,_))::(_,(_,LPAREN1left,_))::rest671) =>
3536 :     let val result=MlyValue.fparamList(fn _ => let val fparam as fparam1=
3537 :     fparam1 ()
3538 :     val fparamList as fparamList1=fparamList1 ()
3539 :     in (fparam :: fparamList) end
3540 :     )
3541 :     in (LrTable.NT 81,(result,LPAREN1left,fparamList1right),rest671) end
3542 :     | (273,(_,(MlyValue.str str1,_,strright as str1right))::_::(_,(
3543 :     MlyValue.sigconstraint_op sigconstraint_op1,_,_))::(_,(
3544 :     MlyValue.fparamList fparamList1,_,_))::(_,(MlyValue.ident ident1,
3545 :     identleft as ident1left,_))::rest671) => let val result=MlyValue.fctb(
3546 :     fn _ => let val ident as ident1=ident1 ()
3547 :     val fparamList as fparamList1=fparamList1 ()
3548 :     val sigconstraint_op as sigconstraint_op1=sigconstraint_op1 ()
3549 :     val str as str1=str1 ()
3550 :     in (
3551 :     [MarkFctb(Fctb {name = fctSymbol ident,
3552 :     def = BaseFct{params=fparamList, body=str,
3553 :     constraint=sigconstraint_op}},
3554 :     (identleft,strright))]
3555 :     ) end
3556 :     )
3557 :     in (LrTable.NT 82,(result,ident1left,str1right),rest671) end
3558 :     | (274,(_,(MlyValue.fct_exp fct_exp1,_,fct_expright as fct_exp1right))
3559 :     ::_::(_,(MlyValue.fsigconstraint_op fsigconstraint_op1,_,_))::(_,(
3560 :     MlyValue.ident ident1,identleft as ident1left,_))::rest671) => let
3561 :     val result=MlyValue.fctb(fn _ => let val ident as ident1=ident1 ()
3562 :     val fsigconstraint_op as fsigconstraint_op1=fsigconstraint_op1 ()
3563 :     val fct_exp as fct_exp1=fct_exp1 ()
3564 :     in (
3565 :     [MarkFctb(Fctb {name=fctSymbol ident,
3566 :     def=fct_exp (fsigconstraint_op)},
3567 :     (identleft,fct_expright))]
3568 :     ) end
3569 :     )
3570 :     in (LrTable.NT 82,(result,ident1left,fct_exp1right),rest671) end
3571 :     | (275,(_,(MlyValue.fctb fctb2,_,fctb2right))::_::(_,(MlyValue.fctb
3572 :     fctb1,fctb1left,_))::rest671) => let val result=MlyValue.fctb(fn _ =>
3573 :     let val fctb1=fctb1 ()
3574 :     val fctb2=fctb2 ()
3575 :     in (fctb1 @ fctb2) end
3576 :     )
3577 :     in (LrTable.NT 82,(result,fctb1left,fctb2right),rest671) end
3578 :     | (276,(_,(MlyValue.qid qid1,qid1left,qid1right))::rest671) => let
3579 :     val result=MlyValue.fct_exp(fn _ => let val qid as qid1=qid1 ()
3580 :     in (fn constraint => VarFct(qid fctSymbol,constraint)) end
3581 :     )
3582 :     in (LrTable.NT 83,(result,qid1left,qid1right),rest671) end
3583 :     | (277,(_,(MlyValue.arg_fct arg_fct1,_,arg_fctright as arg_fct1right))
3584 :     ::(_,(MlyValue.qid qid1,qidleft as qid1left,_))::rest671) => let val
3585 :     result=MlyValue.fct_exp(fn _ => let val qid as qid1=qid1 ()
3586 :     val arg_fct as arg_fct1=arg_fct1 ()
3587 :     in (
3588 :     fn constraint =>
3589 :     MarkFct(AppFct(qid fctSymbol,arg_fct,constraint),
3590 :     (qidleft,arg_fctright))
3591 :     ) end
3592 :     )
3593 :     in (LrTable.NT 83,(result,qid1left,arg_fct1right),rest671) end
3594 :     | (278,(_,(_,_,ENDright as END1right))::(_,(MlyValue.fct_exp fct_exp1,
3595 :     _,_))::_::(_,(MlyValue.strdecs strdecs1,_,_))::(_,(_,LETleft as
3596 :     LET1left,_))::rest671) => let val result=MlyValue.fct_exp(fn _ => let
3597 :     val strdecs as strdecs1=strdecs1 ()
3598 :     val fct_exp as fct_exp1=fct_exp1 ()
3599 :     in (
3600 :     fn constraint =>
3601 :     MarkFct(LetFct(strdecs, fct_exp constraint),
3602 :     (LETleft,ENDright))
3603 :     ) end
3604 :     )
3605 :     in (LrTable.NT 83,(result,LET1left,END1right),rest671) end
3606 :     | (279,(_,(MlyValue.sdecs' sdecs'1,sdecs'left as sdecs'1left,
3607 :     sdecs'right as sdecs'1right))::rest671) => let val result=
3608 :     MlyValue.interdec(fn _ => let val sdecs' as sdecs'1=sdecs'1 ()
3609 :     in (markdec(sdecs',sdecs'left,sdecs'right)) end
3610 :     )
3611 :     in (LrTable.NT 84,(result,sdecs'1left,sdecs'1right),rest671) end
3612 :     | (280,(_,(MlyValue.exp exp1,expleft as exp1left,expright as exp1right
3613 :     ))::rest671) => let val result=MlyValue.interdec(fn _ => let val exp
3614 :     as exp1=exp1 ()
3615 :     in (
3616 :     markdec(ValDec([Vb{exp=exp,pat=VarPat itsym,lazyp=false}],nil),
3617 :     expleft,expright)
3618 :     ) end
3619 :     )
3620 :     in (LrTable.NT 84,(result,exp1left,exp1right),rest671) end
3621 :     | _ => raise (mlyAction i392)
3622 :     end
3623 :     val void = MlyValue.VOID
3624 :     val extract = fn a => (fn MlyValue.interdec x => x
3625 :     | _ => let exception ParseInternal
3626 :     in raise ParseInternal end) a ()
3627 :     end
3628 :     end
3629 :     structure Tokens : ML_TOKENS =
3630 :     struct
3631 :     type svalue = ParserData.svalue
3632 :     type ('a,'b) token = ('a,'b) Token.token
3633 :     fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
3634 :     ParserData.MlyValue.VOID,p1,p2))
3635 :     fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
3636 :     ParserData.MlyValue.VOID,p1,p2))
3637 :     fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
3638 :     ParserData.MlyValue.ID (fn () => i),p1,p2))
3639 :     fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
3640 :     ParserData.MlyValue.TYVAR (fn () => i),p1,p2))
3641 :     fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
3642 :     ParserData.MlyValue.INT (fn () => i),p1,p2))
3643 :     fun INT0 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
3644 :     ParserData.MlyValue.INT0 (fn () => i),p1,p2))
3645 :     fun WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
3646 :     ParserData.MlyValue.WORD (fn () => i),p1,p2))
3647 :     fun REAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
3648 :     ParserData.MlyValue.REAL (fn () => i),p1,p2))
3649 :     fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
3650 :     ParserData.MlyValue.STRING (fn () => i),p1,p2))
3651 :     fun CHAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
3652 :     ParserData.MlyValue.CHAR (fn () => i),p1,p2))
3653 :     fun ABSTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
3654 :     ParserData.MlyValue.VOID,p1,p2))
3655 :     fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
3656 :     ParserData.MlyValue.VOID,p1,p2))
3657 :     fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
3658 :     ParserData.MlyValue.VOID,p1,p2))
3659 :     fun AS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
3660 :     ParserData.MlyValue.VOID,p1,p2))
3661 :     fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
3662 :     ParserData.MlyValue.VOID,p1,p2))
3663 :     fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
3664 :     ParserData.MlyValue.VOID,p1,p2))
3665 :     fun DATATYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
3666 :     ParserData.MlyValue.VOID,p1,p2))
3667 :     fun DOTDOTDOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
3668 :     ParserData.MlyValue.VOID,p1,p2))
3669 :     fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
3670 :     ParserData.MlyValue.VOID,p1,p2))
3671 :     fun END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
3672 :     ParserData.MlyValue.VOID,p1,p2))
3673 :     fun EQUALOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
3674 :     ParserData.MlyValue.VOID,p1,p2))
3675 :     fun EQTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
3676 :     ParserData.MlyValue.VOID,p1,p2))
3677 :     fun EXCEPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
3678 :     ParserData.MlyValue.VOID,p1,p2))
3679 :     fun DO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
3680 :     ParserData.MlyValue.VOID,p1,p2))
3681 :     fun DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
3682 :     ParserData.MlyValue.VOID,p1,p2))
3683 :     fun DARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
3684 :     ParserData.MlyValue.VOID,p1,p2))
3685 :     fun FN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
3686 :     ParserData.MlyValue.VOID,p1,p2))
3687 :     fun FUN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
3688 :     ParserData.MlyValue.VOID,p1,p2))
3689 :     fun FUNCTOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
3690 :     ParserData.MlyValue.VOID,p1,p2))
3691 :     fun HANDLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
3692 :     ParserData.MlyValue.VOID,p1,p2))
3693 :     fun HASH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
3694 :     ParserData.MlyValue.VOID,p1,p2))
3695 :     fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
3696 :     ParserData.MlyValue.VOID,p1,p2))
3697 :     fun IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
3698 :     ParserData.MlyValue.VOID,p1,p2))
3699 :     fun INCLUDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
3700 :     ParserData.MlyValue.VOID,p1,p2))
3701 :     fun INFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
3702 :     ParserData.MlyValue.VOID,p1,p2))
3703 :     fun INFIXR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
3704 :     ParserData.MlyValue.VOID,p1,p2))
3705 :     fun LAZY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
3706 :     ParserData.MlyValue.VOID,p1,p2))
3707 :     fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
3708 :     ParserData.MlyValue.VOID,p1,p2))
3709 :     fun LOCAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
3710 :     ParserData.MlyValue.VOID,p1,p2))
3711 :     fun NONFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
3712 :     ParserData.MlyValue.VOID,p1,p2))
3713 :     fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
3714 :     ParserData.MlyValue.VOID,p1,p2))
3715 :     fun OP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
3716 :     ParserData.MlyValue.VOID,p1,p2))
3717 :     fun OPEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
3718 :     ParserData.MlyValue.VOID,p1,p2))
3719 :     fun OVERLOAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
3720 :     ParserData.MlyValue.VOID,p1,p2))
3721 :     fun RAISE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
3722 :     ParserData.MlyValue.VOID,p1,p2))
3723 :     fun REC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
3724 :     ParserData.MlyValue.VOID,p1,p2))
3725 :     fun SHARING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
3726 :     ParserData.MlyValue.VOID,p1,p2))
3727 :     fun SIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
3728 :     ParserData.MlyValue.VOID,p1,p2))
3729 :     fun SIGNATURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
3730 :     ParserData.MlyValue.VOID,p1,p2))
3731 :     fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
3732 :     ParserData.MlyValue.VOID,p1,p2))
3733 :     fun STRUCTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
3734 :     ParserData.MlyValue.VOID,p1,p2))
3735 :     fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
3736 :     ParserData.MlyValue.VOID,p1,p2))
3737 :     fun TYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
3738 :     ParserData.MlyValue.VOID,p1,p2))
3739 :     fun VAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
3740 :     ParserData.MlyValue.VOID,p1,p2))
3741 :     fun WHERE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
3742 :     ParserData.MlyValue.VOID,p1,p2))
3743 :     fun WHILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
3744 :     ParserData.MlyValue.VOID,p1,p2))
3745 :     fun WILD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
3746 :     ParserData.MlyValue.VOID,p1,p2))
3747 :     fun WITH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
3748 :     ParserData.MlyValue.VOID,p1,p2))
3749 :     fun WITHTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
3750 :     ParserData.MlyValue.VOID,p1,p2))
3751 :     fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
3752 :     ParserData.MlyValue.VOID,p1,p2))
3753 :     fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
3754 :     ParserData.MlyValue.VOID,p1,p2))
3755 :     fun COLONGT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
3756 :     ParserData.MlyValue.VOID,p1,p2))
3757 :     fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
3758 :     ParserData.MlyValue.VOID,p1,p2))
3759 :     fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
3760 :     ParserData.MlyValue.VOID,p1,p2))
3761 :     fun LBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
3762 :     ParserData.MlyValue.VOID,p1,p2))
3763 :     fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
3764 :     ParserData.MlyValue.VOID,p1,p2))
3765 :     fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
3766 :     ParserData.MlyValue.VOID,p1,p2))
3767 :     fun RBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
3768 :     ParserData.MlyValue.VOID,p1,p2))
3769 :     fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
3770 :     ParserData.MlyValue.VOID,p1,p2))
3771 :     fun ORELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
3772 :     ParserData.MlyValue.VOID,p1,p2))
3773 :     fun ANDALSO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
3774 :     ParserData.MlyValue.VOID,p1,p2))
3775 :     fun FUNSIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
3776 :     ParserData.MlyValue.VOID,p1,p2))
3777 :     fun VECTORSTART (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
3778 :     ParserData.MlyValue.VOID,p1,p2))
3779 :     fun BEGINQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
3780 :     ParserData.MlyValue.VOID,p1,p2))
3781 :     fun ENDQ (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
3782 :     ParserData.MlyValue.ENDQ (fn () => i),p1,p2))
3783 :     fun OBJL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
3784 :     ParserData.MlyValue.OBJL (fn () => i),p1,p2))
3785 :     fun AQID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
3786 :     ParserData.MlyValue.AQID (fn () => i),p1,p2))
3787 :     end
3788 :     end

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0