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/lexgen/src/FrontEnds/ml-lex/ml-lex.lex.sml
ViewVC logotype

Annotation of /sml/trunk/src/lexgen/src/FrontEnds/ml-lex/ml-lex.lex.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1902 - (view) (download)

1 : mblume 1902 functor MLLexLexFun(structure Tok: MLLex_TOKENS) = struct
2 :    
3 :     structure yyInput : sig
4 :    
5 :     type stream
6 :     val mkStream : (int -> string) -> stream
7 :     val fromStream : TextIO.StreamIO.instream -> stream
8 :     val getc : stream -> (Char.char * stream) option
9 :     val getpos : stream -> int
10 :     val getlineNo : stream -> int
11 :     val subtract : stream * stream -> string
12 :     val eof : stream -> bool
13 :    
14 :     end = struct
15 :    
16 :     structure TIO = TextIO
17 :     structure TSIO = TIO.StreamIO
18 :     structure TPIO = TextPrimIO
19 :    
20 :     datatype stream = Stream of {
21 :     strm : TSIO.instream,
22 :     id : int, (* track which streams originated
23 :     * from the same stream *)
24 :     pos : int,
25 :     lineNo : int
26 :     }
27 :    
28 :     local
29 :     val next = ref 0
30 :     in
31 :     fun nextId() = !next before (next := !next + 1)
32 :     end
33 :    
34 :     fun mkStream inputN = let
35 :     val strm = TSIO.mkInstream
36 :     (TPIO.RD {
37 :     name = "lexgen",
38 :     chunkSize = 4096,
39 :     readVec = SOME inputN,
40 :     readArr = NONE,
41 :     readVecNB = NONE,
42 :     readArrNB = NONE,
43 :     block = NONE,
44 :     canInput = NONE,
45 :     avail = (fn () => NONE),
46 :     getPos = NONE,
47 :     setPos = NONE,
48 :     endPos = NONE,
49 :     verifyPos = NONE,
50 :     close = (fn () => ()),
51 :     ioDesc = NONE
52 :     }, "")
53 :     in
54 :     Stream {strm = strm, id = nextId(), pos = 0, lineNo = 1}
55 :     end
56 :    
57 :     fun fromStream strm = Stream {
58 :     strm = strm, id = nextId(), pos = 0, lineNo = 1
59 :     }
60 :    
61 :     fun getc (Stream {strm, pos, id, lineNo}) = (case TSIO.input1 strm
62 :     of NONE => NONE
63 :     | SOME (c, strm') =>
64 :     SOME (c, Stream {
65 :     strm = strm',
66 :     pos = pos+1,
67 :     id = id,
68 :     lineNo = lineNo +
69 :     (if c = #"\n" then 1 else 0)
70 :     })
71 :     (* end case*))
72 :    
73 :     fun getpos (Stream {pos, ...}) = pos
74 :    
75 :     fun getlineNo (Stream {lineNo, ...}) = lineNo
76 :    
77 :     fun subtract (new, old) = let
78 :     val Stream {strm = strm, pos = oldPos, id = oldId, ...} = old
79 :     val Stream {pos = newPos, id = newId, ...} = new
80 :     val (diff, _) = if newId = oldId andalso newPos >= oldPos
81 :     then TSIO.inputN (strm, newPos - oldPos)
82 :     else raise Fail
83 :     "BUG: yyInput: attempted to subtract incompatible streams"
84 :     in
85 :     diff
86 :     end
87 :    
88 :     fun eof (Stream {strm, ...}) = TSIO.endOfStream strm
89 :    
90 :     end
91 :    
92 :     datatype 'a yymatch
93 :     = yyNO_MATCH
94 :     | yyMATCH of yyInput.stream * 'a action * 'a yymatch
95 :     withtype 'a action = yyInput.stream * 'a yymatch -> 'a
96 :    
97 :     datatype yystart_state =
98 :     RE | DEFS | RECB | STRING | CHARCLASS | LEXSTATES | ACTION | INITIAL
99 :     structure UserDeclarations =
100 :     struct
101 :    
102 :     type pos = int
103 :     type svalue = Tok.svalue
104 :     type ('a,'b) token = ('a,'b) Tok.token
105 :     type lexresult= (svalue,pos) token
106 :    
107 :     open Tok
108 :    
109 :     val eof = fn () => EOF(~1,~1)
110 :     val error = (* fn (e,l : int,_) =>
111 :     output(std_out,"line " ^ (makestring l) ^
112 :     ": " ^ e ^ "\n") *)
113 :     fn _ => ()
114 :    
115 :     local
116 :     val text = ref ([] : string list)
117 :     in
118 :     fun clrAction () = (text := ["("])
119 :     fun updAction (str) = (text := str :: (!text))
120 :     fun getAction () = (concat (rev (!text)))
121 :     end
122 :    
123 :     (* what to do (i.e. switch start states) after recognizing an action *)
124 :     val afterAction = ref (fn () => ())
125 :    
126 :     (* paren counting for actions *)
127 :     val pcount = ref 0
128 :     val inquote = ref false
129 :     fun inc r = if !inquote then () else r := !r + 1
130 :     fun dec r = if !inquote then () else r := !r - 1
131 :    
132 :     structure SIS = RegExp.SymSet
133 :     fun uniChar s = let
134 :     fun toW32 (c : Char.char) : Word32.word =
135 :     (case c of #"0" => 0w0 | #"1" => 0w1 | #"2" => 0w2 | #"3" => 0w3
136 :     | #"4" => 0w4 | #"5" => 0w5 | #"6" => 0w6 | #"7" => 0w7
137 :     | #"8" => 0w8 | #"9" => 0w9 | #"a" => 0w10 | #"A" => 0w10
138 :     | #"b" => 0w11 | #"B" => 0w11 | #"c" => 0w12 | #"C" => 0w12
139 :     | #"d" => 0w13 | #"D" => 0w13 | #"e" => 0w14 | #"E" => 0w14
140 :     | #"f" => 0w15 | #"F" => 0w15
141 :     | _ => raise Fail "invalid unicode escape sequence")
142 :     fun iter (#"u"::_, v) = v
143 :     | iter (c::cs, v) = iter (cs, 0w16*v + (toW32 c))
144 :     | iter _ = raise Fail "invalid unicode escape sequence"
145 :     val uni = iter (List.rev (String.explode s), 0w0)
146 :     in iter (List.rev (String.explode s), 0w0)
147 :     end
148 :    
149 :     val highAscii = SIS.interval(0w128, 0w255)
150 :    
151 :    
152 :    
153 :     end
154 :    
155 :     local
156 :     fun mk yyins = let
157 :     (* current start state *)
158 :     val yyss = ref INITIAL
159 :     fun YYBEGIN ss = (yyss := ss)
160 :     (* current input stream *)
161 :     val yystrm = ref yyins
162 :     (* get one char of input *)
163 :     val yygetc = yyInput.getc
164 :     (* create yytext *)
165 :     fun yymktext(strm) = yyInput.subtract (strm, !yystrm)
166 :     open UserDeclarations
167 :     fun lex
168 :     (yyarg as ()) = let
169 :     fun yystuck (yyNO_MATCH) = raise Fail "stuck state"
170 :     | yystuck (yyMATCH (strm, action, old)) =
171 :     action (strm, old)
172 :     val yypos = yyInput.getpos (!yystrm)
173 :     fun continue() =
174 :     let
175 :     fun yyAction0 (strm, lastMatch) = let
176 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
177 :     in
178 :     yystrm := strm; (YYBEGIN DEFS; LEXMARK(!yylineno, !yylineno))
179 :     end
180 :     and yyAction1 (strm, lastMatch) = let
181 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
182 :     val yytext = yymktext(strm)
183 :     in
184 :     yystrm := strm; (DECLS(yytext, !yylineno, !yylineno))
185 :     end
186 :     and yyAction2 (strm, lastMatch) = (yystrm := strm; (lex()))
187 :     and yyAction3 (strm, lastMatch) = let
188 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
189 :     in
190 :     yystrm := strm; (YYBEGIN RE; LEXMARK(!yylineno, !yylineno))
191 :     end
192 :     and yyAction4 (strm, lastMatch) = let
193 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
194 :     in
195 :     yystrm := strm; (YYBEGIN LEXSTATES; STATES(!yylineno, !yylineno))
196 :     end
197 :     and yyAction5 (strm, lastMatch) = let
198 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
199 :     in
200 :     yystrm := strm;
201 :     (clrAction(); pcount := 1; inquote := false;
202 :     YYBEGIN ACTION;
203 :     afterAction := (fn () => YYBEGIN DEFS);
204 :     HEADER(!yylineno, !yylineno))
205 :     end
206 :     and yyAction6 (strm, lastMatch) = let
207 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
208 :     in
209 :     yystrm := strm; (STRUCT(!yylineno, !yylineno))
210 :     end
211 :     and yyAction7 (strm, lastMatch) = let
212 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
213 :     in
214 :     yystrm := strm;
215 :     (clrAction(); pcount := 1; inquote := false;
216 :     YYBEGIN ACTION;
217 :     afterAction := (fn () => YYBEGIN DEFS);
218 :     ARG(!yylineno, !yylineno))
219 :     end
220 :     and yyAction8 (strm, lastMatch) = let
221 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
222 :     in
223 :     yystrm := strm; (COUNT(!yylineno, !yylineno))
224 :     end
225 :     and yyAction9 (strm, lastMatch) = let
226 :     val oldStrm = !(yystrm)
227 :     fun REJECT () = (yystrm := oldStrm; yystuck(lastMatch))
228 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
229 :     in
230 :     yystrm := strm; (REJECTTOK(!yylineno, !yylineno))
231 :     end
232 :     and yyAction10 (strm, lastMatch) = let
233 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
234 :     in
235 :     yystrm := strm; (UNICODE(!yylineno, !yylineno))
236 :     end
237 :     and yyAction11 (strm, lastMatch) = let
238 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
239 :     val yytext = yymktext(strm)
240 :     in
241 :     yystrm := strm; (ID(yytext, !yylineno, !yylineno))
242 :     end
243 :     and yyAction12 (strm, lastMatch) = let
244 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
245 :     in
246 :     yystrm := strm; (YYBEGIN RE; EQ(!yylineno, !yylineno))
247 :     end
248 :     and yyAction13 (strm, lastMatch) = (yystrm := strm; (lex()))
249 :     and yyAction14 (strm, lastMatch) = let
250 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
251 :     in
252 :     yystrm := strm; (QMARK(!yylineno, !yylineno))
253 :     end
254 :     and yyAction15 (strm, lastMatch) = let
255 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
256 :     in
257 :     yystrm := strm; (STAR(!yylineno, !yylineno))
258 :     end
259 :     and yyAction16 (strm, lastMatch) = let
260 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
261 :     in
262 :     yystrm := strm; (PLUS(!yylineno, !yylineno))
263 :     end
264 :     and yyAction17 (strm, lastMatch) = let
265 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
266 :     in
267 :     yystrm := strm; (BAR(!yylineno, !yylineno))
268 :     end
269 :     and yyAction18 (strm, lastMatch) = let
270 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
271 :     in
272 :     yystrm := strm; (LP(!yylineno, !yylineno))
273 :     end
274 :     and yyAction19 (strm, lastMatch) = let
275 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
276 :     in
277 :     yystrm := strm; (RP(!yylineno, !yylineno))
278 :     end
279 :     and yyAction20 (strm, lastMatch) = let
280 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
281 :     in
282 :     yystrm := strm; (DOLLAR(!yylineno, !yylineno))
283 :     end
284 :     and yyAction21 (strm, lastMatch) = let
285 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
286 :     in
287 :     yystrm := strm; (SLASH(!yylineno, !yylineno))
288 :     end
289 :     and yyAction22 (strm, lastMatch) = let
290 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
291 :     in
292 :     yystrm := strm; (DOT(!yylineno, !yylineno))
293 :     end
294 :     and yyAction23 (strm, lastMatch) = (yystrm := strm; (YYBEGIN RECB; lex()))
295 :     and yyAction24 (strm, lastMatch) = (yystrm := strm; (YYBEGIN STRING; lex()))
296 :     and yyAction25 (strm, lastMatch) = let
297 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
298 :     in
299 :     yystrm := strm; (YYBEGIN CHARCLASS; LB(!yylineno, !yylineno))
300 :     end
301 :     and yyAction26 (strm, lastMatch) = let
302 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
303 :     in
304 :     yystrm := strm; (YYBEGIN LEXSTATES; LT(!yylineno, !yylineno))
305 :     end
306 :     and yyAction27 (strm, lastMatch) = let
307 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
308 :     in
309 :     yystrm := strm; (GT(!yylineno, !yylineno))
310 :     end
311 :     and yyAction28 (strm, lastMatch) = let
312 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
313 :     in
314 :     yystrm := strm;
315 :     (clrAction(); pcount := 1; inquote := false;
316 :     YYBEGIN ACTION;
317 :     afterAction := (fn () => YYBEGIN RE);
318 :     ARROW(!yylineno, !yylineno))
319 :     end
320 :     and yyAction29 (strm, lastMatch) = let
321 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
322 :     in
323 :     yystrm := strm; (YYBEGIN DEFS; SEMI(!yylineno, !yylineno))
324 :     end
325 :     and yyAction30 (strm, lastMatch) = (yystrm := strm; (lex()))
326 :     and yyAction31 (strm, lastMatch) = let
327 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
328 :     val yytext = yymktext(strm)
329 :     in
330 :     yystrm := strm; (ID(yytext, !yylineno, !yylineno))
331 :     end
332 :     and yyAction32 (strm, lastMatch) = let
333 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
334 :     val yytext = yymktext(strm)
335 :     in
336 :     yystrm := strm;
337 :     (REPS(valOf (Int.fromString yytext), !yylineno, !yylineno))
338 :     end
339 :     and yyAction33 (strm, lastMatch) = let
340 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
341 :     in
342 :     yystrm := strm; (COMMA(!yylineno, !yylineno))
343 :     end
344 :     and yyAction34 (strm, lastMatch) = let
345 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
346 :     in
347 :     yystrm := strm; (YYBEGIN RE; RCB(!yylineno, !yylineno))
348 :     end
349 :     and yyAction35 (strm, lastMatch) = let
350 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
351 :     in
352 :     yystrm := strm; (YYBEGIN RE; RBD(!yylineno, !yylineno))
353 :     end
354 :     and yyAction36 (strm, lastMatch) = let
355 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
356 :     in
357 :     yystrm := strm; (YYBEGIN RE; RB(!yylineno, !yylineno))
358 :     end
359 :     and yyAction37 (strm, lastMatch) = let
360 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
361 :     in
362 :     yystrm := strm; (DASH(!yylineno, !yylineno))
363 :     end
364 :     and yyAction38 (strm, lastMatch) = let
365 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
366 :     in
367 :     yystrm := strm; (CARAT(!yylineno, !yylineno))
368 :     end
369 :     and yyAction39 (strm, lastMatch) = (yystrm := strm; (YYBEGIN RE; lex()))
370 :     and yyAction40 (strm, lastMatch) = let
371 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
372 :     val yytext = yymktext(strm)
373 :     in
374 :     yystrm := strm;
375 :     (CHAR(valOf (String.fromString yytext), !yylineno, !yylineno))
376 :     end
377 :     and yyAction41 (strm, lastMatch) = let
378 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
379 :     val yytext = yymktext(strm)
380 :     in
381 :     yystrm := strm; (UNICHAR(uniChar yytext, !yylineno, !yylineno))
382 :     end
383 :     and yyAction42 (strm, lastMatch) = let
384 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
385 :     val yytext = yymktext(strm)
386 :     in
387 :     yystrm := strm;
388 :     (CHAR(String.substring (yytext, 1, 1), !yylineno, !yylineno))
389 :     end
390 :     and yyAction43 (strm, lastMatch) = let
391 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
392 :     val yytext = yymktext(strm)
393 :     in
394 :     yystrm := strm; (CHAR(yytext, !yylineno, !yylineno))
395 :     end
396 :     and yyAction44 (strm, lastMatch) = let
397 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
398 :     val yytext = yymktext(strm)
399 :     in
400 :     yystrm := strm; (LEXSTATE(yytext, !yylineno, !yylineno))
401 :     end
402 :     and yyAction45 (strm, lastMatch) = (yystrm := strm; (lex()))
403 :     and yyAction46 (strm, lastMatch) = let
404 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
405 :     in
406 :     yystrm := strm; (COMMA(!yylineno, !yylineno))
407 :     end
408 :     and yyAction47 (strm, lastMatch) = let
409 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
410 :     in
411 :     yystrm := strm; (YYBEGIN RE; GT(!yylineno, !yylineno))
412 :     end
413 :     and yyAction48 (strm, lastMatch) = let
414 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
415 :     in
416 :     yystrm := strm; (YYBEGIN DEFS; SEMI(!yylineno, !yylineno))
417 :     end
418 :     and yyAction49 (strm, lastMatch) = let
419 :     val yylineno = ref(yyInput.getlineNo(!(yystrm)))
420 :     in
421 :     yystrm := strm;
422 :     (if !pcount = 0
423 :     then ((!afterAction)();
424 :     ACT(getAction(), !yylineno, !yylineno))
425 :     else (updAction ";"; lex()))
426 :     end
427 :     and yyAction50 (strm, lastMatch) = (yystrm := strm;
428 :     (updAction "("; inc pcount; lex()))
429 :     and yyAction51 (strm, lastMatch) = (yystrm := strm;
430 :     (updAction ")"; dec pcount; lex()))
431 :     and yyAction52 (strm, lastMatch) = (yystrm := strm; (updAction "\\\""; lex()))
432 :     and yyAction53 (strm, lastMatch) = (yystrm := strm; (updAction "\\\\"; lex()))
433 :     and yyAction54 (strm, lastMatch) = (yystrm := strm; (updAction "\\"; lex()))
434 :     and yyAction55 (strm, lastMatch) = (yystrm := strm;
435 :     (updAction "\""; inquote := not (!inquote); lex()))
436 :     and yyAction56 (strm, lastMatch) = let
437 :     val yytext = yymktext(strm)
438 :     in
439 :     yystrm := strm; (updAction yytext; lex())
440 :     end
441 :     and yyQ0 (strm, lastMatch) = (case (yygetc(strm))
442 :     of NONE =>
443 :     if yyInput.eof(strm)
444 :     then UserDeclarations.eof(yyarg)
445 :     else yystuck(lastMatch)
446 :     | SOME(inp, strm') =>
447 :     if inp = #","
448 :     then yyQ25(strm', lastMatch)
449 :     else if inp < #","
450 :     then if inp = #"\""
451 :     then yyQ20(strm', lastMatch)
452 :     else if inp < #"\""
453 :     then if inp = #"\r"
454 :     then yyQ8(strm', lastMatch)
455 :     else if inp < #"\r"
456 :     then if inp = #"\n"
457 :     then yyQ9(strm', lastMatch)
458 :     else if inp < #"\n"
459 :     then if inp = #"\t"
460 :     then yyQ8(strm', lastMatch)
461 :     else yyQ25(strm', lastMatch)
462 :     else yyQ25(strm', lastMatch)
463 :     else if inp = #" "
464 :     then yyQ8(strm', lastMatch)
465 :     else yyQ25(strm', lastMatch)
466 :     else if inp = #"("
467 :     then yyQ14(strm', lastMatch)
468 :     else if inp < #"("
469 :     then if inp = #"$"
470 :     then yyQ16(strm', lastMatch)
471 :     else yyQ25(strm', lastMatch)
472 :     else if inp = #"*"
473 :     then yyQ11(strm', lastMatch)
474 :     else if inp = #")"
475 :     then yyQ15(strm', lastMatch)
476 :     else yyQ12(strm', lastMatch)
477 :     else if inp = #"?"
478 :     then yyQ10(strm', lastMatch)
479 :     else if inp < #"?"
480 :     then if inp = #";"
481 :     then yyQ24(strm', lastMatch)
482 :     else if inp < #";"
483 :     then if inp = #"/"
484 :     then yyQ17(strm', lastMatch)
485 :     else if inp < #"/"
486 :     then if inp = #"."
487 :     then yyQ18(strm', lastMatch)
488 :     else yyQ25(strm', lastMatch)
489 :     else yyQ25(strm', lastMatch)
490 :     else if inp = #"="
491 :     then yyQ27(strm', lastMatch)
492 :     else if inp = #"<"
493 :     then yyQ22(strm', lastMatch)
494 :     else yyQ23(strm', lastMatch)
495 :     else if inp = #"{"
496 :     then yyQ19(strm', lastMatch)
497 :     else if inp < #"{"
498 :     then if inp = #"\\"
499 :     then yyQ26(strm', lastMatch)
500 :     else if inp < #"\\"
501 :     then if inp = #"["
502 :     then yyQ21(strm', lastMatch)
503 :     else yyQ25(strm', lastMatch)
504 :     else yyQ25(strm', lastMatch)
505 :     else if inp = #"}"
506 :     then yyQ25(strm', lastMatch)
507 :     else if inp < #"}"
508 :     then yyQ13(strm', lastMatch)
509 :     else if inp <= #"\127"
510 :     then yyQ25(strm', lastMatch)
511 :     else if yyInput.eof(strm)
512 :     then UserDeclarations.eof(yyarg)
513 :     else yystuck(lastMatch)
514 :     (* end case *))
515 :     and yyQ1 (strm, lastMatch) = (case (yygetc(strm))
516 :     of NONE => yystuck(lastMatch)
517 :     | SOME(inp, strm') =>
518 :     if inp = #"%"
519 :     then yyQ43(strm', lastMatch)
520 :     else if inp < #"%"
521 :     then if inp = #"\r"
522 :     then yyQ40(strm', lastMatch)
523 :     else if inp < #"\r"
524 :     then if inp = #"\t"
525 :     then yyQ40(strm', lastMatch)
526 :     else if inp < #"\t"
527 :     then yystuck(lastMatch)
528 :     else if inp <= #"\n"
529 :     then yyQ40(strm', lastMatch)
530 :     else yystuck(lastMatch)
531 :     else if inp = #" "
532 :     then yyQ40(strm', lastMatch)
533 :     else yystuck(lastMatch)
534 :     else if inp = #"A"
535 :     then yyQ42(strm', lastMatch)
536 :     else if inp < #"A"
537 :     then if inp = #"="
538 :     then yyQ41(strm', lastMatch)
539 :     else yystuck(lastMatch)
540 :     else if inp = #"a"
541 :     then yyQ42(strm', lastMatch)
542 :     else if inp < #"a"
543 :     then if inp <= #"Z"
544 :     then yyQ42(strm', lastMatch)
545 :     else yystuck(lastMatch)
546 :     else if inp <= #"z"
547 :     then yyQ42(strm', lastMatch)
548 :     else yystuck(lastMatch)
549 :     (* end case *))
550 :     and yyQ2 (strm, lastMatch) = (case (yygetc(strm))
551 :     of NONE => yystuck(lastMatch)
552 :     | SOME(inp, strm') =>
553 :     if inp = #"-"
554 :     then yystuck(lastMatch)
555 :     else if inp < #"-"
556 :     then if inp = #"\^N"
557 :     then yystuck(lastMatch)
558 :     else if inp < #"\^N"
559 :     then if inp = #"\v"
560 :     then yystuck(lastMatch)
561 :     else if inp < #"\v"
562 :     then if inp <= #"\b"
563 :     then yystuck(lastMatch)
564 :     else yyQ83(strm', lastMatch)
565 :     else if inp = #"\r"
566 :     then yyQ83(strm', lastMatch)
567 :     else yystuck(lastMatch)
568 :     else if inp = #"!"
569 :     then yystuck(lastMatch)
570 :     else if inp < #"!"
571 :     then if inp = #" "
572 :     then yyQ83(strm', lastMatch)
573 :     else yystuck(lastMatch)
574 :     else if inp = #","
575 :     then yyQ84(strm', lastMatch)
576 :     else yystuck(lastMatch)
577 :     else if inp = #"["
578 :     then yystuck(lastMatch)
579 :     else if inp < #"["
580 :     then if inp = #":"
581 :     then yystuck(lastMatch)
582 :     else if inp < #":"
583 :     then if inp <= #"/"
584 :     then yystuck(lastMatch)
585 :     else yyQ86(strm', lastMatch)
586 :     else if inp <= #"@"
587 :     then yystuck(lastMatch)
588 :     else yyQ87(strm', lastMatch)
589 :     else if inp = #"{"
590 :     then yystuck(lastMatch)
591 :     else if inp < #"{"
592 :     then if inp <= #"`"
593 :     then yystuck(lastMatch)
594 :     else yyQ87(strm', lastMatch)
595 :     else if inp = #"}"
596 :     then yyQ85(strm', lastMatch)
597 :     else yystuck(lastMatch)
598 :     (* end case *))
599 :     and yyQ3 (strm, lastMatch) = (case (yygetc(strm))
600 :     of NONE => yystuck(lastMatch)
601 :     | SOME(inp, strm') =>
602 :     if inp = #"#"
603 :     then yyQ25(strm', lastMatch)
604 :     else if inp < #"#"
605 :     then if inp = #"\v"
606 :     then yyQ25(strm', lastMatch)
607 :     else if inp < #"\v"
608 :     then if inp = #"\n"
609 :     then yystuck(lastMatch)
610 :     else yyQ25(strm', lastMatch)
611 :     else if inp = #"\""
612 :     then yyQ88(strm', lastMatch)
613 :     else yyQ25(strm', lastMatch)
614 :     else if inp = #"]"
615 :     then yyQ25(strm', lastMatch)
616 :     else if inp < #"]"
617 :     then if inp = #"\\"
618 :     then yyQ26(strm', lastMatch)
619 :     else yyQ25(strm', lastMatch)
620 :     else if inp <= #"\127"
621 :     then yyQ25(strm', lastMatch)
622 :     else yystuck(lastMatch)
623 :     (* end case *))
624 :     and yyQ4 (strm, lastMatch) = (case (yygetc(strm))
625 :     of NONE => yystuck(lastMatch)
626 :     | SOME(inp, strm') =>
627 :     if inp = #"\\"
628 :     then yyQ26(strm', lastMatch)
629 :     else if inp < #"\\"
630 :     then if inp = #"\v"
631 :     then yyQ25(strm', lastMatch)
632 :     else if inp < #"\v"
633 :     then if inp = #"\n"
634 :     then yystuck(lastMatch)
635 :     else yyQ25(strm', lastMatch)
636 :     else if inp = #"-"
637 :     then yyQ91(strm', lastMatch)
638 :     else yyQ25(strm', lastMatch)
639 :     else if inp = #"_"
640 :     then yyQ25(strm', lastMatch)
641 :     else if inp < #"_"
642 :     then if inp = #"]"
643 :     then yyQ89(strm', lastMatch)
644 :     else yyQ90(strm', lastMatch)
645 :     else if inp <= #"\127"
646 :     then yyQ25(strm', lastMatch)
647 :     else yystuck(lastMatch)
648 :     (* end case *))
649 :     and yyQ5 (strm, lastMatch) = (case (yygetc(strm))
650 :     of NONE => yystuck(lastMatch)
651 :     | SOME(inp, strm') =>
652 :     if inp = #"-"
653 :     then yystuck(lastMatch)
654 :     else if inp < #"-"
655 :     then if inp = #"\^N"
656 :     then yystuck(lastMatch)
657 :     else if inp < #"\^N"
658 :     then if inp = #"\v"
659 :     then yystuck(lastMatch)
660 :     else if inp < #"\v"
661 :     then if inp <= #"\b"
662 :     then yystuck(lastMatch)
663 :     else yyQ93(strm', lastMatch)
664 :     else if inp = #"\r"
665 :     then yyQ93(strm', lastMatch)
666 :     else yystuck(lastMatch)
667 :     else if inp = #"!"
668 :     then yystuck(lastMatch)
669 :     else if inp < #"!"
670 :     then if inp = #" "
671 :     then yyQ93(strm', lastMatch)
672 :     else yystuck(lastMatch)
673 :     else if inp = #","
674 :     then yyQ94(strm', lastMatch)
675 :     else yystuck(lastMatch)
676 :     else if inp = #"?"
677 :     then yystuck(lastMatch)
678 :     else if inp < #"?"
679 :     then if inp = #"<"
680 :     then yystuck(lastMatch)
681 :     else if inp < #"<"
682 :     then if inp = #";"
683 :     then yyQ96(strm', lastMatch)
684 :     else yystuck(lastMatch)
685 :     else if inp = #">"
686 :     then yyQ95(strm', lastMatch)
687 :     else yystuck(lastMatch)
688 :     else if inp = #"["
689 :     then yystuck(lastMatch)
690 :     else if inp < #"["
691 :     then if inp <= #"@"
692 :     then yystuck(lastMatch)
693 :     else yyQ97(strm', lastMatch)
694 :     else if inp = #"a"
695 :     then yyQ97(strm', lastMatch)
696 :     else if inp < #"a"
697 :     then yystuck(lastMatch)
698 :     else if inp <= #"z"
699 :     then yyQ97(strm', lastMatch)
700 :     else yystuck(lastMatch)
701 :     (* end case *))
702 :     and yyQ6 (strm, lastMatch) = (case (yygetc(strm))
703 :     of NONE => yyAction56(strm, yyNO_MATCH)
704 :     | SOME(inp, strm') =>
705 :     if inp = #"*"
706 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
707 :     else if inp < #"*"
708 :     then if inp = #"#"
709 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
710 :     else if inp < #"#"
711 :     then if inp = #"\""
712 :     then yyQ101(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
713 :     else yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
714 :     else if inp = #"("
715 :     then yyQ99(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
716 :     else if inp = #")"
717 :     then yyQ100(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
718 :     else yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
719 :     else if inp = #"\\"
720 :     then yyQ103(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
721 :     else if inp < #"\\"
722 :     then if inp = #";"
723 :     then yyQ98(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
724 :     else yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
725 :     else if inp <= #"\127"
726 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
727 :     else yyAction56(strm, yyNO_MATCH)
728 :     (* end case *))
729 :     and yyQ7 (strm, lastMatch) = (case (yygetc(strm))
730 :     of NONE => yyAction1(strm, yyNO_MATCH)
731 :     | SOME(inp, strm') =>
732 :     if inp = #"&"
733 :     then yyQ106(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
734 :     else if inp < #"&"
735 :     then if inp = #"%"
736 :     then yyQ107(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
737 :     else yyQ106(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
738 :     else if inp <= #"\127"
739 :     then yyQ106(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
740 :     else yyAction1(strm, yyNO_MATCH)
741 :     (* end case *))
742 :     and yyQ8 (strm, lastMatch) = yyAction13(strm, yyNO_MATCH)
743 :     and yyQ9 (strm, lastMatch) = yyAction13(strm, yyNO_MATCH)
744 :     and yyQ10 (strm, lastMatch) = yyAction14(strm, yyNO_MATCH)
745 :     and yyQ11 (strm, lastMatch) = yyAction15(strm, yyNO_MATCH)
746 :     and yyQ12 (strm, lastMatch) = yyAction16(strm, yyNO_MATCH)
747 :     and yyQ13 (strm, lastMatch) = yyAction17(strm, yyNO_MATCH)
748 :     and yyQ14 (strm, lastMatch) = yyAction18(strm, yyNO_MATCH)
749 :     and yyQ15 (strm, lastMatch) = yyAction19(strm, yyNO_MATCH)
750 :     and yyQ16 (strm, lastMatch) = yyAction20(strm, yyNO_MATCH)
751 :     and yyQ17 (strm, lastMatch) = yyAction21(strm, yyNO_MATCH)
752 :     and yyQ18 (strm, lastMatch) = yyAction22(strm, yyNO_MATCH)
753 :     and yyQ19 (strm, lastMatch) = yyAction23(strm, yyNO_MATCH)
754 :     and yyQ20 (strm, lastMatch) = yyAction24(strm, yyNO_MATCH)
755 :     and yyQ21 (strm, lastMatch) = yyAction25(strm, yyNO_MATCH)
756 :     and yyQ22 (strm, lastMatch) = yyAction26(strm, yyNO_MATCH)
757 :     and yyQ23 (strm, lastMatch) = yyAction27(strm, yyNO_MATCH)
758 :     and yyQ24 (strm, lastMatch) = yyAction29(strm, yyNO_MATCH)
759 :     and yyQ25 (strm, lastMatch) = yyAction43(strm, yyNO_MATCH)
760 :     and yyQ26 (strm, lastMatch) = (case (yygetc(strm))
761 :     of NONE => yyAction43(strm, yyNO_MATCH)
762 :     | SOME(inp, strm') =>
763 :     if inp = #"b"
764 :     then yyQ30(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
765 :     else if inp < #"b"
766 :     then if inp = #"#"
767 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
768 :     else if inp < #"#"
769 :     then if inp = #"\v"
770 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
771 :     else if inp < #"\v"
772 :     then if inp = #"\n"
773 :     then yyAction43(strm, yyNO_MATCH)
774 :     else yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
775 :     else if inp = #"\""
776 :     then yyQ30(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
777 :     else yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
778 :     else if inp = #":"
779 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
780 :     else if inp < #":"
781 :     then if inp <= #"/"
782 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
783 :     else yyQ33(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
784 :     else if inp = #"\\"
785 :     then yyQ30(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
786 :     else yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
787 :     else if inp = #"s"
788 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
789 :     else if inp < #"s"
790 :     then if inp = #"o"
791 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
792 :     else if inp < #"o"
793 :     then if inp = #"n"
794 :     then yyQ30(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
795 :     else yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
796 :     else if inp = #"r"
797 :     then yyQ30(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
798 :     else yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
799 :     else if inp = #"v"
800 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
801 :     else if inp < #"v"
802 :     then if inp = #"t"
803 :     then yyQ30(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
804 :     else yyQ32(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
805 :     else if inp <= #"\127"
806 :     then yyQ31(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
807 :     else yyAction43(strm, yyNO_MATCH)
808 :     (* end case *))
809 :     and yyQ27 (strm, lastMatch) = (case (yygetc(strm))
810 :     of NONE => yyAction43(strm, yyNO_MATCH)
811 :     | SOME(inp, strm') =>
812 :     if inp = #">"
813 :     then yyQ28(strm', yyMATCH(strm, yyAction43, yyNO_MATCH))
814 :     else yyAction43(strm, yyNO_MATCH)
815 :     (* end case *))
816 :     and yyQ28 (strm, lastMatch) = (case (yygetc(strm))
817 :     of NONE => yystuck(lastMatch)
818 :     | SOME(inp, strm') =>
819 :     if inp = #"\^N"
820 :     then yystuck(lastMatch)
821 :     else if inp < #"\^N"
822 :     then if inp = #"\v"
823 :     then yystuck(lastMatch)
824 :     else if inp < #"\v"
825 :     then if inp <= #"\b"
826 :     then yystuck(lastMatch)
827 :     else yyQ28(strm', lastMatch)
828 :     else if inp = #"\r"
829 :     then yyQ28(strm', lastMatch)
830 :     else yystuck(lastMatch)
831 :     else if inp = #"!"
832 :     then yystuck(lastMatch)
833 :     else if inp < #"!"
834 :     then if inp = #" "
835 :     then yyQ28(strm', lastMatch)
836 :     else yystuck(lastMatch)
837 :     else if inp = #"("
838 :     then yyQ29(strm', lastMatch)
839 :     else yystuck(lastMatch)
840 :     (* end case *))
841 :     and yyQ29 (strm, lastMatch) = yyAction28(strm, yyNO_MATCH)
842 :     and yyQ30 (strm, lastMatch) = yyAction40(strm, yyNO_MATCH)
843 :     and yyQ31 (strm, lastMatch) = yyAction42(strm, yyNO_MATCH)
844 :     and yyQ32 (strm, lastMatch) = (case (yygetc(strm))
845 :     of NONE => yyAction42(strm, yyNO_MATCH)
846 :     | SOME(inp, strm') =>
847 :     if inp = #"A"
848 :     then yyQ36(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
849 :     else if inp < #"A"
850 :     then if inp = #"0"
851 :     then yyQ36(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
852 :     else if inp < #"0"
853 :     then yyAction42(strm, yyNO_MATCH)
854 :     else if inp <= #"9"
855 :     then yyQ36(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
856 :     else yyAction42(strm, yyNO_MATCH)
857 :     else if inp = #"a"
858 :     then yyQ36(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
859 :     else if inp < #"a"
860 :     then if inp <= #"F"
861 :     then yyQ36(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
862 :     else yyAction42(strm, yyNO_MATCH)
863 :     else if inp <= #"f"
864 :     then yyQ36(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
865 :     else yyAction42(strm, yyNO_MATCH)
866 :     (* end case *))
867 :     and yyQ33 (strm, lastMatch) = (case (yygetc(strm))
868 :     of NONE => yyAction42(strm, yyNO_MATCH)
869 :     | SOME(inp, strm') =>
870 :     if inp = #"0"
871 :     then yyQ34(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
872 :     else if inp < #"0"
873 :     then yyAction42(strm, yyNO_MATCH)
874 :     else if inp <= #"9"
875 :     then yyQ34(strm', yyMATCH(strm, yyAction42, yyNO_MATCH))
876 :     else yyAction42(strm, yyNO_MATCH)
877 :     (* end case *))
878 :     and yyQ34 (strm, lastMatch) = (case (yygetc(strm))
879 :     of NONE => yystuck(lastMatch)
880 :     | SOME(inp, strm') =>
881 :     if inp = #"0"
882 :     then yyQ35(strm', lastMatch)
883 :     else if inp < #"0"
884 :     then yystuck(lastMatch)
885 :     else if inp <= #"9"
886 :     then yyQ35(strm', lastMatch)
887 :     else yystuck(lastMatch)
888 :     (* end case *))
889 :     and yyQ35 (strm, lastMatch) = yyAction40(strm, yyNO_MATCH)
890 :     and yyQ36 (strm, lastMatch) = (case (yygetc(strm))
891 :     of NONE => yystuck(lastMatch)
892 :     | SOME(inp, strm') =>
893 :     if inp = #"A"
894 :     then yyQ37(strm', lastMatch)
895 :     else if inp < #"A"
896 :     then if inp = #"0"
897 :     then yyQ37(strm', lastMatch)
898 :     else if inp < #"0"
899 :     then yystuck(lastMatch)
900 :     else if inp <= #"9"
901 :     then yyQ37(strm', lastMatch)
902 :     else yystuck(lastMatch)
903 :     else if inp = #"a"
904 :     then yyQ37(strm', lastMatch)
905 :     else if inp < #"a"
906 :     then if inp <= #"F"
907 :     then yyQ37(strm', lastMatch)
908 :     else yystuck(lastMatch)
909 :     else if inp <= #"f"
910 :     then yyQ37(strm', lastMatch)
911 :     else yystuck(lastMatch)
912 :     (* end case *))
913 :     and yyQ37 (strm, lastMatch) = (case (yygetc(strm))
914 :     of NONE => yystuck(lastMatch)
915 :     | SOME(inp, strm') =>
916 :     if inp = #"A"
917 :     then yyQ38(strm', lastMatch)
918 :     else if inp < #"A"
919 :     then if inp = #"0"
920 :     then yyQ38(strm', lastMatch)
921 :     else if inp < #"0"
922 :     then yystuck(lastMatch)
923 :     else if inp <= #"9"
924 :     then yyQ38(strm', lastMatch)
925 :     else yystuck(lastMatch)
926 :     else if inp = #"a"
927 :     then yyQ38(strm', lastMatch)
928 :     else if inp < #"a"
929 :     then if inp <= #"F"
930 :     then yyQ38(strm', lastMatch)
931 :     else yystuck(lastMatch)
932 :     else if inp <= #"f"
933 :     then yyQ38(strm', lastMatch)
934 :     else yystuck(lastMatch)
935 :     (* end case *))
936 :     and yyQ38 (strm, lastMatch) = (case (yygetc(strm))
937 :     of NONE => yystuck(lastMatch)
938 :     | SOME(inp, strm') =>
939 :     if inp = #"A"
940 :     then yyQ39(strm', lastMatch)
941 :     else if inp < #"A"
942 :     then if inp = #"0"
943 :     then yyQ39(strm', lastMatch)
944 :     else if inp < #"0"
945 :     then yystuck(lastMatch)
946 :     else if inp <= #"9"
947 :     then yyQ39(strm', lastMatch)
948 :     else yystuck(lastMatch)
949 :     else if inp = #"a"
950 :     then yyQ39(strm', lastMatch)
951 :     else if inp < #"a"
952 :     then if inp <= #"F"
953 :     then yyQ39(strm', lastMatch)
954 :     else yystuck(lastMatch)
955 :     else if inp <= #"f"
956 :     then yyQ39(strm', lastMatch)
957 :     else yystuck(lastMatch)
958 :     (* end case *))
959 :     and yyQ39 (strm, lastMatch) = yyAction41(strm, yyNO_MATCH)
960 :     and yyQ40 (strm, lastMatch) = yyAction2(strm, yyNO_MATCH)
961 :     and yyQ41 (strm, lastMatch) = yyAction12(strm, yyNO_MATCH)
962 :     and yyQ42 (strm, lastMatch) = (case (yygetc(strm))
963 :     of NONE => yyAction11(strm, yyNO_MATCH)
964 :     | SOME(inp, strm') =>
965 :     if inp = #"A"
966 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
967 :     else if inp < #"A"
968 :     then if inp = #"("
969 :     then yyAction11(strm, yyNO_MATCH)
970 :     else if inp < #"("
971 :     then if inp = #"'"
972 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
973 :     else yyAction11(strm, yyNO_MATCH)
974 :     else if inp = #"0"
975 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
976 :     else if inp < #"0"
977 :     then yyAction11(strm, yyNO_MATCH)
978 :     else if inp <= #"9"
979 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
980 :     else yyAction11(strm, yyNO_MATCH)
981 :     else if inp = #"`"
982 :     then yyAction11(strm, yyNO_MATCH)
983 :     else if inp < #"`"
984 :     then if inp = #"["
985 :     then yyAction11(strm, yyNO_MATCH)
986 :     else if inp < #"["
987 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
988 :     else if inp = #"_"
989 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
990 :     else yyAction11(strm, yyNO_MATCH)
991 :     else if inp <= #"z"
992 :     then yyQ42(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))
993 :     else yyAction11(strm, yyNO_MATCH)
994 :     (* end case *))
995 :     and yyQ43 (strm, lastMatch) = (case (yygetc(strm))
996 :     of NONE => yystuck(lastMatch)
997 :     | SOME(inp, strm') =>
998 :     if inp = #"h"
999 :     then yyQ50(strm', lastMatch)
1000 :     else if inp < #"h"
1001 :     then if inp = #"a"
1002 :     then yyQ49(strm', lastMatch)
1003 :     else if inp < #"a"
1004 :     then if inp = #"%"
1005 :     then yyQ44(strm', lastMatch)
1006 :     else yystuck(lastMatch)
1007 :     else if inp = #"c"
1008 :     then yyQ48(strm', lastMatch)
1009 :     else yystuck(lastMatch)
1010 :     else if inp = #"t"
1011 :     then yystuck(lastMatch)
1012 :     else if inp < #"t"
1013 :     then if inp = #"r"
1014 :     then yyQ47(strm', lastMatch)
1015 :     else if inp = #"s"
1016 :     then yyQ45(strm', lastMatch)
1017 :     else yystuck(lastMatch)
1018 :     else if inp = #"u"
1019 :     then yyQ46(strm', lastMatch)
1020 :     else yystuck(lastMatch)
1021 :     (* end case *))
1022 :     and yyQ44 (strm, lastMatch) = yyAction3(strm, yyNO_MATCH)
1023 :     and yyQ45 (strm, lastMatch) = (case (yygetc(strm))
1024 :     of NONE => yyAction4(strm, yyNO_MATCH)
1025 :     | SOME(inp, strm') =>
1026 :     if inp = #"t"
1027 :     then yyQ75(strm', yyMATCH(strm, yyAction4, yyNO_MATCH))
1028 :     else yyAction4(strm, yyNO_MATCH)
1029 :     (* end case *))
1030 :     and yyQ46 (strm, lastMatch) = (case (yygetc(strm))
1031 :     of NONE => yystuck(lastMatch)
1032 :     | SOME(inp, strm') =>
1033 :     if inp = #"n"
1034 :     then yyQ69(strm', lastMatch)
1035 :     else yystuck(lastMatch)
1036 :     (* end case *))
1037 :     and yyQ47 (strm, lastMatch) = (case (yygetc(strm))
1038 :     of NONE => yystuck(lastMatch)
1039 :     | SOME(inp, strm') =>
1040 :     if inp = #"e"
1041 :     then yyQ64(strm', lastMatch)
1042 :     else yystuck(lastMatch)
1043 :     (* end case *))
1044 :     and yyQ48 (strm, lastMatch) = (case (yygetc(strm))
1045 :     of NONE => yystuck(lastMatch)
1046 :     | SOME(inp, strm') =>
1047 :     if inp = #"o"
1048 :     then yyQ60(strm', lastMatch)
1049 :     else yystuck(lastMatch)
1050 :     (* end case *))
1051 :     and yyQ49 (strm, lastMatch) = (case (yygetc(strm))
1052 :     of NONE => yystuck(lastMatch)
1053 :     | SOME(inp, strm') =>
1054 :     if inp = #"r"
1055 :     then yyQ57(strm', lastMatch)
1056 :     else yystuck(lastMatch)
1057 :     (* end case *))
1058 :     and yyQ50 (strm, lastMatch) = (case (yygetc(strm))
1059 :     of NONE => yystuck(lastMatch)
1060 :     | SOME(inp, strm') =>
1061 :     if inp = #"e"
1062 :     then yyQ51(strm', lastMatch)
1063 :     else yystuck(lastMatch)
1064 :     (* end case *))
1065 :     and yyQ51 (strm, lastMatch) = (case (yygetc(strm))
1066 :     of NONE => yystuck(lastMatch)
1067 :     | SOME(inp, strm') =>
1068 :     if inp = #"a"
1069 :     then yyQ52(strm', lastMatch)
1070 :     else yystuck(lastMatch)
1071 :     (* end case *))
1072 :     and yyQ52 (strm, lastMatch) = (case (yygetc(strm))
1073 :     of NONE => yystuck(lastMatch)
1074 :     | SOME(inp, strm') =>
1075 :     if inp = #"d"
1076 :     then yyQ53(strm', lastMatch)
1077 :     else yystuck(lastMatch)
1078 :     (* end case *))
1079 :     and yyQ53 (strm, lastMatch) = (case (yygetc(strm))
1080 :     of NONE => yystuck(lastMatch)
1081 :     | SOME(inp, strm') =>
1082 :     if inp = #"e"
1083 :     then yyQ54(strm', lastMatch)
1084 :     else yystuck(lastMatch)
1085 :     (* end case *))
1086 :     and yyQ54 (strm, lastMatch) = (case (yygetc(strm))
1087 :     of NONE => yystuck(lastMatch)
1088 :     | SOME(inp, strm') =>
1089 :     if inp = #"r"
1090 :     then yyQ55(strm', lastMatch)
1091 :     else yystuck(lastMatch)
1092 :     (* end case *))
1093 :     and yyQ55 (strm, lastMatch) = (case (yygetc(strm))
1094 :     of NONE => yystuck(lastMatch)
1095 :     | SOME(inp, strm') =>
1096 :     if inp = #"\^N"
1097 :     then yystuck(lastMatch)
1098 :     else if inp < #"\^N"
1099 :     then if inp = #"\v"
1100 :     then yystuck(lastMatch)
1101 :     else if inp < #"\v"
1102 :     then if inp <= #"\b"
1103 :     then yystuck(lastMatch)
1104 :     else yyQ55(strm', lastMatch)
1105 :     else if inp = #"\r"
1106 :     then yyQ55(strm', lastMatch)
1107 :     else yystuck(lastMatch)
1108 :     else if inp = #"!"
1109 :     then yystuck(lastMatch)
1110 :     else if inp < #"!"
1111 :     then if inp = #" "
1112 :     then yyQ55(strm', lastMatch)
1113 :     else yystuck(lastMatch)
1114 :     else if inp = #"("
1115 :     then yyQ56(strm', lastMatch)
1116 :     else yystuck(lastMatch)
1117 :     (* end case *))
1118 :     and yyQ56 (strm, lastMatch) = yyAction5(strm, yyNO_MATCH)
1119 :     and yyQ57 (strm, lastMatch) = (case (yygetc(strm))
1120 :     of NONE => yystuck(lastMatch)
1121 :     | SOME(inp, strm') =>
1122 :     if inp = #"g"
1123 :     then yyQ58(strm', lastMatch)
1124 :     else yystuck(lastMatch)
1125 :     (* end case *))
1126 :     and yyQ58 (strm, lastMatch) = (case (yygetc(strm))
1127 :     of NONE => yystuck(lastMatch)
1128 :     | SOME(inp, strm') =>
1129 :     if inp = #"\^N"
1130 :     then yystuck(lastMatch)
1131 :     else if inp < #"\^N"
1132 :     then if inp = #"\v"
1133 :     then yystuck(lastMatch)
1134 :     else if inp < #"\v"
1135 :     then if inp <= #"\b"
1136 :     then yystuck(lastMatch)
1137 :     else yyQ58(strm', lastMatch)
1138 :     else if inp = #"\r"
1139 :     then yyQ58(strm', lastMatch)
1140 :     else yystuck(lastMatch)
1141 :     else if inp = #"!"
1142 :     then yystuck(lastMatch)
1143 :     else if inp < #"!"
1144 :     then if inp = #" "
1145 :     then yyQ58(strm', lastMatch)
1146 :     else yystuck(lastMatch)
1147 :     else if inp = #"("
1148 :     then yyQ59(strm', lastMatch)
1149 :     else yystuck(lastMatch)
1150 :     (* end case *))
1151 :     and yyQ59 (strm, lastMatch) = yyAction7(strm, yyNO_MATCH)
1152 :     and yyQ60 (strm, lastMatch) = (case (yygetc(strm))
1153 :     of NONE => yystuck(lastMatch)
1154 :     | SOME(inp, strm') =>
1155 :     if inp = #"u"
1156 :     then yyQ61(strm', lastMatch)
1157 :     else yystuck(lastMatch)
1158 :     (* end case *))
1159 :     and yyQ61 (strm, lastMatch) = (case (yygetc(strm))
1160 :     of NONE => yystuck(lastMatch)
1161 :     | SOME(inp, strm') =>
1162 :     if inp = #"n"
1163 :     then yyQ62(strm', lastMatch)
1164 :     else yystuck(lastMatch)
1165 :     (* end case *))
1166 :     and yyQ62 (strm, lastMatch) = (case (yygetc(strm))
1167 :     of NONE => yystuck(lastMatch)
1168 :     | SOME(inp, strm') =>
1169 :     if inp = #"t"
1170 :     then yyQ63(strm', lastMatch)
1171 :     else yystuck(lastMatch)
1172 :     (* end case *))
1173 :     and yyQ63 (strm, lastMatch) = yyAction8(strm, yyNO_MATCH)
1174 :     and yyQ64 (strm, lastMatch) = (case (yygetc(strm))
1175 :     of NONE => yystuck(lastMatch)
1176 :     | SOME(inp, strm') =>
1177 :     if inp = #"j"
1178 :     then yyQ65(strm', lastMatch)
1179 :     else yystuck(lastMatch)
1180 :     (* end case *))
1181 :     and yyQ65 (strm, lastMatch) = (case (yygetc(strm))
1182 :     of NONE => yystuck(lastMatch)
1183 :     | SOME(inp, strm') =>
1184 :     if inp = #"e"
1185 :     then yyQ66(strm', lastMatch)
1186 :     else yystuck(lastMatch)
1187 :     (* end case *))
1188 :     and yyQ66 (strm, lastMatch) = (case (yygetc(strm))
1189 :     of NONE => yystuck(lastMatch)
1190 :     | SOME(inp, strm') =>
1191 :     if inp = #"c"
1192 :     then yyQ67(strm', lastMatch)
1193 :     else yystuck(lastMatch)
1194 :     (* end case *))
1195 :     and yyQ67 (strm, lastMatch) = (case (yygetc(strm))
1196 :     of NONE => yystuck(lastMatch)
1197 :     | SOME(inp, strm') =>
1198 :     if inp = #"t"
1199 :     then yyQ68(strm', lastMatch)
1200 :     else yystuck(lastMatch)
1201 :     (* end case *))
1202 :     and yyQ68 (strm, lastMatch) = yyAction9(strm, lastMatch)
1203 :     and yyQ69 (strm, lastMatch) = (case (yygetc(strm))
1204 :     of NONE => yystuck(lastMatch)
1205 :     | SOME(inp, strm') =>
1206 :     if inp = #"i"
1207 :     then yyQ70(strm', lastMatch)
1208 :     else yystuck(lastMatch)
1209 :     (* end case *))
1210 :     and yyQ70 (strm, lastMatch) = (case (yygetc(strm))
1211 :     of NONE => yystuck(lastMatch)
1212 :     | SOME(inp, strm') =>
1213 :     if inp = #"c"
1214 :     then yyQ71(strm', lastMatch)
1215 :     else yystuck(lastMatch)
1216 :     (* end case *))
1217 :     and yyQ71 (strm, lastMatch) = (case (yygetc(strm))
1218 :     of NONE => yystuck(lastMatch)
1219 :     | SOME(inp, strm') =>
1220 :     if inp = #"o"
1221 :     then yyQ72(strm', lastMatch)
1222 :     else yystuck(lastMatch)
1223 :     (* end case *))
1224 :     and yyQ72 (strm, lastMatch) = (case (yygetc(strm))
1225 :     of NONE => yystuck(lastMatch)
1226 :     | SOME(inp, strm') =>
1227 :     if inp = #"d"
1228 :     then yyQ73(strm', lastMatch)
1229 :     else yystuck(lastMatch)
1230 :     (* end case *))
1231 :     and yyQ73 (strm, lastMatch) = (case (yygetc(strm))
1232 :     of NONE => yystuck(lastMatch)
1233 :     | SOME(inp, strm') =>
1234 :     if inp = #"e"
1235 :     then yyQ74(strm', lastMatch)
1236 :     else yystuck(lastMatch)
1237 :     (* end case *))
1238 :     and yyQ74 (strm, lastMatch) = yyAction10(strm, yyNO_MATCH)
1239 :     and yyQ75 (strm, lastMatch) = (case (yygetc(strm))
1240 :     of NONE => yystuck(lastMatch)
1241 :     | SOME(inp, strm') =>
1242 :     if inp = #"r"
1243 :     then yyQ76(strm', lastMatch)
1244 :     else yystuck(lastMatch)
1245 :     (* end case *))
1246 :     and yyQ76 (strm, lastMatch) = (case (yygetc(strm))
1247 :     of NONE => yystuck(lastMatch)
1248 :     | SOME(inp, strm') =>
1249 :     if inp = #"u"
1250 :     then yyQ77(strm', lastMatch)
1251 :     else yystuck(lastMatch)
1252 :     (* end case *))
1253 :     and yyQ77 (strm, lastMatch) = (case (yygetc(strm))
1254 :     of NONE => yystuck(lastMatch)
1255 :     | SOME(inp, strm') =>
1256 :     if inp = #"c"
1257 :     then yyQ78(strm', lastMatch)
1258 :     else yystuck(lastMatch)
1259 :     (* end case *))
1260 :     and yyQ78 (strm, lastMatch) = (case (yygetc(strm))
1261 :     of NONE => yystuck(lastMatch)
1262 :     | SOME(inp, strm') =>
1263 :     if inp = #"t"
1264 :     then yyQ79(strm', lastMatch)
1265 :     else yystuck(lastMatch)
1266 :     (* end case *))
1267 :     and yyQ79 (strm, lastMatch) = (case (yygetc(strm))
1268 :     of NONE => yystuck(lastMatch)
1269 :     | SOME(inp, strm') =>
1270 :     if inp = #"u"
1271 :     then yyQ80(strm', lastMatch)
1272 :     else yystuck(lastMatch)
1273 :     (* end case *))
1274 :     and yyQ80 (strm, lastMatch) = (case (yygetc(strm))
1275 :     of NONE => yystuck(lastMatch)
1276 :     | SOME(inp, strm') =>
1277 :     if inp = #"r"
1278 :     then yyQ81(strm', lastMatch)
1279 :     else yystuck(lastMatch)
1280 :     (* end case *))
1281 :     and yyQ81 (strm, lastMatch) = (case (yygetc(strm))
1282 :     of NONE => yystuck(lastMatch)
1283 :     | SOME(inp, strm') =>
1284 :     if inp = #"e"
1285 :     then yyQ82(strm', lastMatch)
1286 :     else yystuck(lastMatch)
1287 :     (* end case *))
1288 :     and yyQ82 (strm, lastMatch) = yyAction6(strm, yyNO_MATCH)
1289 :     and yyQ83 (strm, lastMatch) = yyAction30(strm, yyNO_MATCH)
1290 :     and yyQ84 (strm, lastMatch) = yyAction33(strm, yyNO_MATCH)
1291 :     and yyQ85 (strm, lastMatch) = yyAction34(strm, yyNO_MATCH)
1292 :     and yyQ86 (strm, lastMatch) = (case (yygetc(strm))
1293 :     of NONE => yyAction32(strm, yyNO_MATCH)
1294 :     | SOME(inp, strm') =>
1295 :     if inp = #"0"
1296 :     then yyQ86(strm', yyMATCH(strm, yyAction32, yyNO_MATCH))
1297 :     else if inp < #"0"
1298 :     then yyAction32(strm, yyNO_MATCH)
1299 :     else if inp <= #"9"
1300 :     then yyQ86(strm', yyMATCH(strm, yyAction32, yyNO_MATCH))
1301 :     else yyAction32(strm, yyNO_MATCH)
1302 :     (* end case *))
1303 :     and yyQ87 (strm, lastMatch) = (case (yygetc(strm))
1304 :     of NONE => yyAction31(strm, yyNO_MATCH)
1305 :     | SOME(inp, strm') =>
1306 :     if inp = #"A"
1307 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1308 :     else if inp < #"A"
1309 :     then if inp = #"("
1310 :     then yyAction31(strm, yyNO_MATCH)
1311 :     else if inp < #"("
1312 :     then if inp = #"'"
1313 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1314 :     else yyAction31(strm, yyNO_MATCH)
1315 :     else if inp = #"0"
1316 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1317 :     else if inp < #"0"
1318 :     then yyAction31(strm, yyNO_MATCH)
1319 :     else if inp <= #"9"
1320 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1321 :     else yyAction31(strm, yyNO_MATCH)
1322 :     else if inp = #"`"
1323 :     then yyAction31(strm, yyNO_MATCH)
1324 :     else if inp < #"`"
1325 :     then if inp = #"["
1326 :     then yyAction31(strm, yyNO_MATCH)
1327 :     else if inp < #"["
1328 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1329 :     else if inp = #"_"
1330 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1331 :     else yyAction31(strm, yyNO_MATCH)
1332 :     else if inp <= #"z"
1333 :     then yyQ87(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))
1334 :     else yyAction31(strm, yyNO_MATCH)
1335 :     (* end case *))
1336 :     and yyQ88 (strm, lastMatch) = yyAction39(strm, yyNO_MATCH)
1337 :     and yyQ89 (strm, lastMatch) = yyAction36(strm, yyNO_MATCH)
1338 :     and yyQ90 (strm, lastMatch) = yyAction38(strm, yyNO_MATCH)
1339 :     and yyQ91 (strm, lastMatch) = (case (yygetc(strm))
1340 :     of NONE => yyAction37(strm, yyNO_MATCH)
1341 :     | SOME(inp, strm') =>
1342 :     if inp = #"]"
1343 :     then yyQ92(strm', yyMATCH(strm, yyAction37, yyNO_MATCH))
1344 :     else yyAction37(strm, yyNO_MATCH)
1345 :     (* end case *))
1346 :     and yyQ92 (strm, lastMatch) = yyAction35(strm, yyNO_MATCH)
1347 :     and yyQ93 (strm, lastMatch) = yyAction45(strm, yyNO_MATCH)
1348 :     and yyQ94 (strm, lastMatch) = yyAction46(strm, yyNO_MATCH)
1349 :     and yyQ95 (strm, lastMatch) = yyAction47(strm, yyNO_MATCH)
1350 :     and yyQ96 (strm, lastMatch) = yyAction48(strm, yyNO_MATCH)
1351 :     and yyQ97 (strm, lastMatch) = (case (yygetc(strm))
1352 :     of NONE => yyAction44(strm, yyNO_MATCH)
1353 :     | SOME(inp, strm') =>
1354 :     if inp = #"A"
1355 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1356 :     else if inp < #"A"
1357 :     then if inp = #"("
1358 :     then yyAction44(strm, yyNO_MATCH)
1359 :     else if inp < #"("
1360 :     then if inp = #"'"
1361 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1362 :     else yyAction44(strm, yyNO_MATCH)
1363 :     else if inp = #"0"
1364 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1365 :     else if inp < #"0"
1366 :     then yyAction44(strm, yyNO_MATCH)
1367 :     else if inp <= #"9"
1368 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1369 :     else yyAction44(strm, yyNO_MATCH)
1370 :     else if inp = #"`"
1371 :     then yyAction44(strm, yyNO_MATCH)
1372 :     else if inp < #"`"
1373 :     then if inp = #"["
1374 :     then yyAction44(strm, yyNO_MATCH)
1375 :     else if inp < #"["
1376 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1377 :     else if inp = #"_"
1378 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1379 :     else yyAction44(strm, yyNO_MATCH)
1380 :     else if inp <= #"z"
1381 :     then yyQ97(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))
1382 :     else yyAction44(strm, yyNO_MATCH)
1383 :     (* end case *))
1384 :     and yyQ98 (strm, lastMatch) = yyAction49(strm, yyNO_MATCH)
1385 :     and yyQ99 (strm, lastMatch) = yyAction50(strm, yyNO_MATCH)
1386 :     and yyQ100 (strm, lastMatch) = yyAction51(strm, yyNO_MATCH)
1387 :     and yyQ101 (strm, lastMatch) = yyAction55(strm, yyNO_MATCH)
1388 :     and yyQ102 (strm, lastMatch) = (case (yygetc(strm))
1389 :     of NONE => yyAction56(strm, yyNO_MATCH)
1390 :     | SOME(inp, strm') =>
1391 :     if inp = #";"
1392 :     then yyAction56(strm, yyNO_MATCH)
1393 :     else if inp < #";"
1394 :     then if inp = #"#"
1395 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1396 :     else if inp < #"#"
1397 :     then if inp = #"\""
1398 :     then yyAction56(strm, yyNO_MATCH)
1399 :     else yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1400 :     else if inp = #"("
1401 :     then yyAction56(strm, yyNO_MATCH)
1402 :     else if inp < #"("
1403 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1404 :     else if inp <= #")"
1405 :     then yyAction56(strm, yyNO_MATCH)
1406 :     else yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1407 :     else if inp = #"]"
1408 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1409 :     else if inp < #"]"
1410 :     then if inp = #"\\"
1411 :     then yyAction56(strm, yyNO_MATCH)
1412 :     else yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1413 :     else if inp <= #"\127"
1414 :     then yyQ102(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))
1415 :     else yyAction56(strm, yyNO_MATCH)
1416 :     (* end case *))
1417 :     and yyQ103 (strm, lastMatch) = (case (yygetc(strm))
1418 :     of NONE => yyAction54(strm, yyNO_MATCH)
1419 :     | SOME(inp, strm') =>
1420 :     if inp = #"#"
1421 :     then yyAction54(strm, yyNO_MATCH)
1422 :     else if inp < #"#"
1423 :     then if inp = #"\""
1424 :     then yyQ104(strm', yyMATCH(strm, yyAction54, yyNO_MATCH))
1425 :     else yyAction54(strm, yyNO_MATCH)
1426 :     else if inp = #"\\"
1427 :     then yyQ105(strm', yyMATCH(strm, yyAction54, yyNO_MATCH))
1428 :     else yyAction54(strm, yyNO_MATCH)
1429 :     (* end case *))
1430 :     and yyQ104 (strm, lastMatch) = yyAction52(strm, yyNO_MATCH)
1431 :     and yyQ105 (strm, lastMatch) = yyAction53(strm, yyNO_MATCH)
1432 :     and yyQ106 (strm, lastMatch) = (case (yygetc(strm))
1433 :     of NONE => yyAction1(strm, yyNO_MATCH)
1434 :     | SOME(inp, strm') =>
1435 :     if inp = #"&"
1436 :     then yyQ111(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1437 :     else if inp < #"&"
1438 :     then if inp = #"%"
1439 :     then yyQ110(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1440 :     else yyQ111(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1441 :     else if inp <= #"\127"
1442 :     then yyQ111(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1443 :     else yyAction1(strm, yyNO_MATCH)
1444 :     (* end case *))
1445 :     and yyQ107 (strm, lastMatch) = (case (yygetc(strm))
1446 :     of NONE => yystuck(lastMatch)
1447 :     | SOME(inp, strm') =>
1448 :     if inp = #"&"
1449 :     then yyQ109(strm', lastMatch)
1450 :     else if inp < #"&"
1451 :     then if inp = #"%"
1452 :     then yyQ108(strm', lastMatch)
1453 :     else yyQ109(strm', lastMatch)
1454 :     else if inp <= #"\127"
1455 :     then yyQ109(strm', lastMatch)
1456 :     else yystuck(lastMatch)
1457 :     (* end case *))
1458 :     and yyQ108 (strm, lastMatch) = yyAction0(strm, yyNO_MATCH)
1459 :     and yyQ109 (strm, lastMatch) = (case (yygetc(strm))
1460 :     of NONE => yyAction1(strm, yyNO_MATCH)
1461 :     | SOME(inp, strm') =>
1462 :     if inp = #"&"
1463 :     then yyQ106(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1464 :     else if inp < #"&"
1465 :     then if inp = #"%"
1466 :     then yyQ110(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1467 :     else yyQ106(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1468 :     else if inp <= #"\127"
1469 :     then yyQ106(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1470 :     else yyAction1(strm, yyNO_MATCH)
1471 :     (* end case *))
1472 :     and yyQ110 (strm, lastMatch) = (case (yygetc(strm))
1473 :     of NONE => yystuck(lastMatch)
1474 :     | SOME(inp, strm') =>
1475 :     if inp = #"&"
1476 :     then yyQ109(strm', lastMatch)
1477 :     else if inp < #"&"
1478 :     then if inp = #"%"
1479 :     then yystuck(lastMatch)
1480 :     else yyQ109(strm', lastMatch)
1481 :     else if inp <= #"\127"
1482 :     then yyQ109(strm', lastMatch)
1483 :     else yystuck(lastMatch)
1484 :     (* end case *))
1485 :     and yyQ111 (strm, lastMatch) = (case (yygetc(strm))
1486 :     of NONE => yyAction1(strm, yyNO_MATCH)
1487 :     | SOME(inp, strm') =>
1488 :     if inp = #"&"
1489 :     then yyQ111(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1490 :     else if inp < #"&"
1491 :     then if inp = #"%"
1492 :     then yyQ110(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1493 :     else yyQ111(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1494 :     else if inp <= #"\127"
1495 :     then yyQ111(strm', yyMATCH(strm, yyAction1, yyNO_MATCH))
1496 :     else yyAction1(strm, yyNO_MATCH)
1497 :     (* end case *))
1498 :     in
1499 :     (case (!(yyss))
1500 :     of RE => yyQ0(!(yystrm), yyNO_MATCH)
1501 :     | DEFS => yyQ1(!(yystrm), yyNO_MATCH)
1502 :     | RECB => yyQ2(!(yystrm), yyNO_MATCH)
1503 :     | STRING => yyQ3(!(yystrm), yyNO_MATCH)
1504 :     | CHARCLASS => yyQ4(!(yystrm), yyNO_MATCH)
1505 :     | LEXSTATES => yyQ5(!(yystrm), yyNO_MATCH)
1506 :     | ACTION => yyQ6(!(yystrm), yyNO_MATCH)
1507 :     | INITIAL => yyQ7(!(yystrm), yyNO_MATCH)
1508 :     (* end case *))
1509 :     end
1510 :     in continue() end
1511 :     in
1512 :     lex
1513 :     end
1514 :     in
1515 :     fun makeLexer yyinputN = mk (yyInput.mkStream yyinputN)
1516 :     fun makeLexer' ins = mk (yyInput.mkStream ins)
1517 :     end
1518 :    
1519 :     end

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