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

SCM Repository

[smlnj] Diff of /ckit/trunk/src/parser/grammar/c.lex.sml
ViewVC logotype

Diff of /ckit/trunk/src/parser/grammar/c.lex.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3743, Fri Jul 13 12:38:55 2012 UTC revision 3744, Fri Jul 27 17:17:11 2012 UTC
# Line 1  Line 1 
1  functor CLexFun(structure Tokens : C_TOKENS  functor CLexFun(structure Tokens : C_TOKENS
2                           structure TokTable : TOKENTABLE                           structure TokTable : TOKENTABLE
3                           sharing TokTable.Tokens = Tokens)  = struct                           sharing TokTable.Tokens = Tokens)=
4       struct
     structure yyInput : sig  
   
         type stream  
         val mkStream : (int -> string) -> stream  
         val fromStream : TextIO.StreamIO.instream -> stream  
         val getc : stream -> (Char.char * stream) option  
         val getpos : stream -> int  
         val getlineNo : stream -> int  
         val subtract : stream * stream -> string  
         val eof : stream -> bool  
         val lastWasNL : stream -> bool  
   
       end = struct  
   
         structure TIO = TextIO  
         structure TSIO = TIO.StreamIO  
         structure TPIO = TextPrimIO  
   
         datatype stream = Stream of {  
             strm : TSIO.instream,  
             id : int,  (* track which streams originated  
                         * from the same stream *)  
             pos : int,  
             lineNo : int,  
             lastWasNL : bool  
           }  
   
         local  
           val next = ref 0  
         in  
         fun nextId() = !next before (next := !next + 1)  
         end  
   
         val initPos = 2 (* ml-lex bug compatibility *)  
   
         fun mkStream inputN = let  
               val strm = TSIO.mkInstream  
                            (TPIO.RD {  
                                 name = "lexgen",  
                                 chunkSize = 4096,  
                                 readVec = SOME inputN,  
                                 readArr = NONE,  
                                 readVecNB = NONE,  
                                 readArrNB = NONE,  
                                 block = NONE,  
                                 canInput = NONE,  
                                 avail = (fn () => NONE),  
                                 getPos = NONE,  
                                 setPos = NONE,  
                                 endPos = NONE,  
                                 verifyPos = NONE,  
                                 close = (fn () => ()),  
                                 ioDesc = NONE  
                               }, "")  
               in  
                 Stream {strm = strm, id = nextId(), pos = initPos, lineNo = 1,  
                         lastWasNL = true}  
               end  
   
         fun fromStream strm = Stream {  
                 strm = strm, id = nextId(), pos = initPos, lineNo = 1, lastWasNL = true  
               }  
   
         fun getc (Stream {strm, pos, id, lineNo, ...}) = (case TSIO.input1 strm  
               of NONE => NONE  
                | SOME (c, strm') =>  
                    SOME (c, Stream {  
                                 strm = strm',  
                                 pos = pos+1,  
                                 id = id,  
                                 lineNo = lineNo +  
                                          (if c = #"\n" then 1 else 0),  
                                 lastWasNL = (c = #"\n")  
                               })  
              (* end case*))  
   
         fun getpos (Stream {pos, ...}) = pos  
   
         fun getlineNo (Stream {lineNo, ...}) = lineNo  
   
         fun subtract (new, old) = let  
               val Stream {strm = strm, pos = oldPos, id = oldId, ...} = old  
               val Stream {pos = newPos, id = newId, ...} = new  
               val (diff, _) = if newId = oldId andalso newPos >= oldPos  
                               then TSIO.inputN (strm, newPos - oldPos)  
                               else raise Fail  
                                 "BUG: yyInput: attempted to subtract incompatible streams"  
               in  
                 diff  
               end  
   
         fun eof (Stream {strm, ...}) = TSIO.endOfStream strm  
   
         fun lastWasNL (Stream {lastWasNL, ...}) = lastWasNL  
   
       end  
   
     datatype yystart_state =  
 C | S | INITIAL  
5      structure UserDeclarations =      structure UserDeclarations =
6        struct        struct
   
7  (* Copyright (c) 1998 by Lucent Technologies *)  (* Copyright (c) 1998 by Lucent Technologies *)
8    
9  (*  (*
# Line 217  Line 117 
117   *)   *)
118    
119    
120    end (* end of user routines *)
121    exception LexError (* raised if illegal leaf action tried *)
122    structure Internal =
123            struct
124    
125    datatype yyfinstate = N of int
126    type statedata = {fin : yyfinstate list, trans: string}
127    (* transition & final state table *)
128    val tab = let
129    val s = [
130     (0,
131    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
132    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
133    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
134    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
135    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
136    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
137    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
138    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
139    \\000"
140    ),
141     (1,
142    "\007\007\007\007\007\007\007\007\007\102\104\007\102\007\007\007\
143    \\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
144    \\102\100\099\007\007\097\094\080\079\078\076\073\072\068\064\061\
145    \\046\033\033\033\033\033\033\033\033\033\032\031\027\025\021\020\
146    \\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
147    \\014\014\014\014\014\014\014\014\014\014\014\019\007\018\016\014\
148    \\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
149    \\014\014\014\014\014\014\014\014\014\014\014\013\010\009\008\007\
150    \\007"
151    ),
152     (2,
153    "\007\007\007\007\007\007\007\007\007\108\104\007\108\007\007\007\
154    \\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
155    \\108\100\099\105\007\097\094\080\079\078\076\073\072\068\064\061\
156    \\046\033\033\033\033\033\033\033\033\033\032\031\027\025\021\020\
157    \\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
158    \\014\014\014\014\014\014\014\014\014\014\014\019\007\018\016\014\
159    \\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
160    \\014\014\014\014\014\014\014\014\014\014\014\013\010\009\008\007\
161    \\007"
162    ),
163     (3,
164    "\110\110\110\110\110\110\110\110\110\113\104\110\113\110\110\110\
165    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
166    \\113\110\110\110\110\110\110\110\110\110\111\110\110\110\110\110\
167    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
168    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
169    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
170    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
171    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
172    \\110"
173    ),
174     (4,
175    "\110\110\110\110\110\110\110\110\110\115\104\110\115\110\110\110\
176    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
177    \\115\110\110\114\110\110\110\110\110\110\111\110\110\110\110\110\
178    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
179    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
180    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
181    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
182    \\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\110\
183    \\110"
184    ),
185     (5,
186    "\116\116\116\116\116\116\116\116\116\116\129\116\116\116\116\116\
187    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
188    \\116\116\128\116\116\116\116\116\116\116\116\116\116\116\116\116\
189    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
190    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
191    \\116\116\116\116\116\116\116\116\116\116\116\116\117\116\116\116\
192    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
193    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
194    \\116"
195    ),
196     (10,
197    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
198    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
199    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
200    \\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\
201    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
202    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
203    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
204    \\000\000\000\000\000\000\000\000\000\000\000\000\011\000\000\000\
205    \\000"
206    ),
207     (14,
208    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
209    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
210    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
211    \\015\015\015\015\015\015\015\015\015\015\000\000\000\000\000\000\
212    \\000\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
213    \\015\015\015\015\015\015\015\015\015\015\015\000\000\000\000\015\
214    \\000\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
215    \\015\015\015\015\015\015\015\015\015\015\015\000\000\000\000\000\
216    \\000"
217    ),
218     (16,
219    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
220    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
221    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
222    \\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\
223    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
224    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
225    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
226    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
227    \\000"
228    ),
229     (21,
230    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
231    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
232    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
233    \\000\000\000\000\000\000\000\000\000\000\000\000\000\024\022\000\
234    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
235    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
236    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
237    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
238    \\000"
239    ),
240     (22,
241    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
242    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
243    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
244    \\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\
245    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
246    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
247    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
248    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
249    \\000"
250    ),
251     (25,
252    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
253    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
254    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
255    \\000\000\000\000\000\000\000\000\000\000\000\000\000\026\000\000\
256    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
257    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
258    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
259    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
260    \\000"
261    ),
262     (27,
263    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
264    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
265    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
266    \\000\000\000\000\000\000\000\000\000\000\000\000\029\028\000\000\
267    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
268    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
269    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
270    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
271    \\000"
272    ),
273     (29,
274    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
275    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
276    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
277    \\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\
278    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
279    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
280    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
281    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
282    \\000"
283    ),
284     (33,
285    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
286    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
287    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\000\
288    \\043\043\043\043\043\043\043\043\043\043\000\000\000\000\000\000\
289    \\000\000\000\000\000\040\039\000\000\000\000\000\037\000\000\000\
290    \\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\
291    \\000\000\000\000\000\040\039\000\000\000\000\000\037\000\000\000\
292    \\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\
293    \\000"
294    ),
295     (34,
296    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
297    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
298    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
299    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
300    \\000\000\000\000\000\000\000\000\000\000\000\000\035\000\000\000\
301    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
302    \\000\000\000\000\000\000\000\000\000\000\000\000\035\000\000\000\
303    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
304    \\000"
305    ),
306     (35,
307    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
308    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
309    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
310    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
311    \\000\000\000\000\000\000\000\000\000\000\000\000\036\000\000\000\
312    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
313    \\000\000\000\000\000\000\000\000\000\000\000\000\036\000\000\000\
314    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
315    \\000"
316    ),
317     (37,
318    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
319    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
320    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
321    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
322    \\000\000\000\000\000\000\000\000\000\000\000\000\038\000\000\000\
323    \\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\
324    \\000\000\000\000\000\000\000\000\000\000\000\000\038\000\000\000\
325    \\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\
326    \\000"
327    ),
328     (38,
329    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
330    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
331    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
332    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
333    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
334    \\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\
335    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
336    \\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\
337    \\000"
338    ),
339     (40,
340    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
341    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
342    \\000\000\000\000\000\000\000\000\000\000\000\042\000\042\000\000\
343    \\041\041\041\041\041\041\041\041\041\041\000\000\000\000\000\000\
344    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
345    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
346    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
347    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
348    \\000"
349    ),
350     (41,
351    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
352    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
353    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
354    \\041\041\041\041\041\041\041\041\041\041\000\000\000\000\000\000\
355    \\000\000\000\000\000\000\039\000\000\000\000\000\039\000\000\000\
356    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
357    \\000\000\000\000\000\000\039\000\000\000\000\000\039\000\000\000\
358    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
359    \\000"
360    ),
361     (42,
362    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
363    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
364    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
365    \\041\041\041\041\041\041\041\041\041\041\000\000\000\000\000\000\
366    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
367    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
368    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
369    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
370    \\000"
371    ),
372     (44,
373    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
374    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
375    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
376    \\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\000\
377    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
378    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
379    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
380    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
381    \\000"
382    ),
383     (45,
384    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
385    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
386    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
387    \\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\000\
388    \\000\000\000\000\000\040\039\000\000\000\000\000\039\000\000\000\
389    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
390    \\000\000\000\000\000\040\039\000\000\000\000\000\039\000\000\000\
391    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
392    \\000"
393    ),
394     (46,
395    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
396    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
397    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\000\
398    \\055\055\055\055\055\055\055\055\054\054\000\000\000\000\000\000\
399    \\000\000\000\000\000\040\039\000\000\000\000\000\037\000\000\000\
400    \\000\000\000\000\000\034\000\000\047\000\000\000\000\000\000\000\
401    \\000\000\000\000\000\040\039\000\000\000\000\000\037\000\000\000\
402    \\000\000\000\000\000\034\000\000\047\000\000\000\000\000\000\000\
403    \\000"
404    ),
405     (47,
406    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
407    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
408    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
409    \\048\048\048\048\048\048\048\048\048\048\000\000\000\000\000\000\
410    \\000\048\048\048\048\048\048\000\000\000\000\000\000\000\000\000\
411    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
412    \\000\048\048\048\048\048\048\000\000\000\000\000\000\000\000\000\
413    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
414    \\000"
415    ),
416     (48,
417    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
418    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
419    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
420    \\048\048\048\048\048\048\048\048\048\048\000\000\000\000\000\000\
421    \\000\048\048\048\048\048\048\000\000\000\000\000\052\000\000\000\
422    \\000\000\000\000\000\049\000\000\000\000\000\000\000\000\000\000\
423    \\000\048\048\048\048\048\048\000\000\000\000\000\052\000\000\000\
424    \\000\000\000\000\000\049\000\000\000\000\000\000\000\000\000\000\
425    \\000"
426    ),
427     (49,
428    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
429    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
430    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
431    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
432    \\000\000\000\000\000\000\000\000\000\000\000\000\050\000\000\000\
433    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
434    \\000\000\000\000\000\000\000\000\000\000\000\000\050\000\000\000\
435    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
436    \\000"
437    ),
438     (50,
439    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
440    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
441    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
442    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
443    \\000\000\000\000\000\000\000\000\000\000\000\000\051\000\000\000\
444    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
445    \\000\000\000\000\000\000\000\000\000\000\000\000\051\000\000\000\
446    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
447    \\000"
448    ),
449     (52,
450    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
451    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
452    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
453    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
454    \\000\000\000\000\000\000\000\000\000\000\000\000\053\000\000\000\
455    \\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
456    \\000\000\000\000\000\000\000\000\000\000\000\000\053\000\000\000\
457    \\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
458    \\000"
459    ),
460     (53,
461    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
462    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
463    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
464    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
465    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
466    \\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
467    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
468    \\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
469    \\000"
470    ),
471     (54,
472    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
473    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
474    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\000\
475    \\054\054\054\054\054\054\054\054\054\054\000\000\000\000\000\000\
476    \\000\000\000\000\000\040\039\000\000\000\000\000\039\000\000\000\
477    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
478    \\000\000\000\000\000\040\039\000\000\000\000\000\039\000\000\000\
479    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
480    \\000"
481    ),
482     (55,
483    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
484    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
485    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\000\
486    \\055\055\055\055\055\055\055\055\054\054\000\000\000\000\000\000\
487    \\000\000\000\000\000\040\039\000\000\000\000\000\059\000\000\000\
488    \\000\000\000\000\000\056\000\000\000\000\000\000\000\000\000\000\
489    \\000\000\000\000\000\040\039\000\000\000\000\000\059\000\000\000\
490    \\000\000\000\000\000\056\000\000\000\000\000\000\000\000\000\000\
491    \\000"
492    ),
493     (56,
494    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
495    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
496    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
497    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
498    \\000\000\000\000\000\000\000\000\000\000\000\000\057\000\000\000\
499    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
500    \\000\000\000\000\000\000\000\000\000\000\000\000\057\000\000\000\
501    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
502    \\000"
503    ),
504     (57,
505    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
506    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
507    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
508    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
509    \\000\000\000\000\000\000\000\000\000\000\000\000\058\000\000\000\
510    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
511    \\000\000\000\000\000\000\000\000\000\000\000\000\058\000\000\000\
512    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
513    \\000"
514    ),
515     (59,
516    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
517    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
518    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
519    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
520    \\000\000\000\000\000\000\000\000\000\000\000\000\060\000\000\000\
521    \\000\000\000\000\000\058\000\000\000\000\000\000\000\000\000\000\
522    \\000\000\000\000\000\000\000\000\000\000\000\000\060\000\000\000\
523    \\000\000\000\000\000\058\000\000\000\000\000\000\000\000\000\000\
524    \\000"
525    ),
526     (60,
527    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
528    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
529    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
530    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
531    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
532    \\000\000\000\000\000\058\000\000\000\000\000\000\000\000\000\000\
533    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
534    \\000\000\000\000\000\058\000\000\000\000\000\000\000\000\000\000\
535    \\000"
536    ),
537     (61,
538    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
539    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
540    \\000\000\000\000\000\000\000\000\000\000\063\000\000\000\000\000\
541    \\000\000\000\000\000\000\000\000\000\000\000\000\000\062\000\000\
542    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
543    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
544    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
545    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
546    \\000"
547    ),
548     (64,
549    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
550    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
551    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\066\000\
552    \\065\065\065\065\065\065\065\065\065\065\000\000\000\000\000\000\
553    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
554    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
555    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
556    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
557    \\000"
558    ),
559     (65,
560    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
561    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
562    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
563    \\065\065\065\065\065\065\065\065\065\065\000\000\000\000\000\000\
564    \\000\000\000\000\000\040\039\000\000\000\000\000\039\000\000\000\
565    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
566    \\000\000\000\000\000\040\039\000\000\000\000\000\039\000\000\000\
567    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
568    \\000"
569    ),
570     (66,
571    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
572    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
573    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\067\000\
574    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
575    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
576    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
577    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
578    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
579    \\000"
580    ),
581     (68,
582    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
583    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
584    \\000\000\000\000\000\000\000\000\000\000\000\000\000\071\000\000\
585    \\000\000\000\000\000\000\000\000\000\000\000\000\000\070\069\000\
586    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
587    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
588    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
589    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
590    \\000"
591    ),
592     (73,
593    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
594    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
595    \\000\000\000\000\000\000\000\000\000\000\000\075\000\000\000\000\
596    \\000\000\000\000\000\000\000\000\000\000\000\000\000\074\000\000\
597    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
598    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
599    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
600    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
601    \\000"
602    ),
603     (76,
604    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
605    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
606    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
607    \\000\000\000\000\000\000\000\000\000\000\000\000\000\077\000\000\
608    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
609    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
610    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
611    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
612    \\000"
613    ),
614     (80,
615    "\081\081\081\081\081\081\081\081\081\081\000\081\081\081\081\081\
616    \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
617    \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
618    \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
619    \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
620    \\081\081\081\081\081\081\081\081\081\081\081\081\083\081\081\081\
621    \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
622    \\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
623    \\081"
624    ),
625     (81,
626    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
627    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
628    \\000\000\000\000\000\000\000\082\000\000\000\000\000\000\000\000\
629    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
630    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
631    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
632    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
633    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
634    \\000"
635    ),
636     (83,
637    "\084\084\084\084\084\084\084\084\084\084\000\084\084\084\084\084\
638    \\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
639    \\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
640    \\089\089\089\089\089\089\089\089\084\084\084\084\084\084\084\084\
641    \\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
642    \\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
643    \\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
644    \\084\084\084\084\084\084\084\084\086\084\084\084\084\084\084\084\
645    \\084"
646    ),
647     (84,
648    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
649    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
650    \\000\000\000\000\000\000\000\085\000\000\000\000\000\000\000\000\
651    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
652    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
653    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
654    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
655    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
656    \\000"
657    ),
658     (86,
659    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
660    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
661    \\000\000\000\000\000\000\000\085\000\000\000\000\000\000\000\000\
662    \\087\087\087\087\087\087\087\087\087\087\000\000\000\000\000\000\
663    \\000\087\087\087\087\087\087\000\000\000\000\000\000\000\000\000\
664    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
665    \\000\087\087\087\087\087\087\000\000\000\000\000\000\000\000\000\
666    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
667    \\000"
668    ),
669     (87,
670    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
671    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
672    \\000\000\000\000\000\000\000\088\000\000\000\000\000\000\000\000\
673    \\087\087\087\087\087\087\087\087\087\087\000\000\000\000\000\000\
674    \\000\087\087\087\087\087\087\000\000\000\000\000\000\000\000\000\
675    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
676    \\000\087\087\087\087\087\087\000\000\000\000\000\000\000\000\000\
677    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
678    \\000"
679    ),
680     (89,
681    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
682    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
683    \\000\000\000\000\000\000\000\093\000\000\000\000\000\000\000\000\
684    \\090\090\090\090\090\090\090\090\000\000\000\000\000\000\000\000\
685    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
686    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
687    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
688    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
689    \\000"
690    ),
691     (90,
692    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
693    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
694    \\000\000\000\000\000\000\000\092\000\000\000\000\000\000\000\000\
695    \\091\091\091\091\091\091\091\091\000\000\000\000\000\000\000\000\
696    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
697    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
698    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
699    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
700    \\000"
701    ),
702     (91,
703    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
704    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
705    \\000\000\000\000\000\000\000\092\000\000\000\000\000\000\000\000\
706    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
707    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
708    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
709    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
710    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
711    \\000"
712    ),
713     (94,
714    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
715    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
716    \\000\000\000\000\000\000\096\000\000\000\000\000\000\000\000\000\
717    \\000\000\000\000\000\000\000\000\000\000\000\000\000\095\000\000\
718    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
719    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
720    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
721    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
722    \\000"
723    ),
724     (97,
725    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
726    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
727    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
728    \\000\000\000\000\000\000\000\000\000\000\000\000\000\098\000\000\
729    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
730    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
731    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
732    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
733    \\000"
734    ),
735     (100,
736    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
737    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
738    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
739    \\000\000\000\000\000\000\000\000\000\000\000\000\000\101\000\000\
740    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
741    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
742    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
743    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
744    \\000"
745    ),
746     (102,
747    "\000\000\000\000\000\000\000\000\000\103\000\000\103\000\000\000\
748    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
749    \\103\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
750    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
751    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
752    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
753    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
754    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
755    \\000"
756    ),
757     (105,
758    "\106\106\106\106\106\106\106\106\106\106\107\106\106\106\106\106\
759    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
760    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
761    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
762    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
763    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
764    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
765    \\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\106\
766    \\106"
767    ),
768     (108,
769    "\000\000\000\000\000\000\000\000\000\109\000\000\109\000\000\000\
770    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
771    \\109\000\000\106\000\000\000\000\000\000\000\000\000\000\000\000\
772    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
773    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
774    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
775    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
776    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
777    \\000"
778    ),
779     (111,
780    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
781    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
782    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\112\
783    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
784    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
785    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
786    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
787    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
788    \\000"
789    ),
790     (116,
791    "\116\116\116\116\116\116\116\116\116\116\000\116\116\116\116\116\
792    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
793    \\116\116\000\116\116\116\116\116\116\116\116\116\116\116\116\116\
794    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
795    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
796    \\116\116\116\116\116\116\116\116\116\116\116\116\000\116\116\116\
797    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
798    \\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
799    \\116"
800    ),
801     (117,
802    "\118\118\118\118\118\118\118\118\118\118\127\118\118\118\118\118\
803    \\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\
804    \\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\
805    \\126\123\123\123\123\123\123\123\118\118\118\118\118\118\118\118\
806    \\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\
807    \\118\118\118\118\118\118\118\118\118\118\118\118\118\118\121\118\
808    \\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\118\
809    \\118\118\118\118\118\118\118\118\119\118\118\118\118\118\118\118\
810    \\118"
811    ),
812     (119,
813    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
814    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
815    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
816    \\120\120\120\120\120\120\120\120\120\120\000\000\000\000\000\000\
817    \\000\120\120\120\120\120\120\000\000\000\000\000\000\000\000\000\
818    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
819    \\000\120\120\120\120\120\120\000\000\000\000\000\000\000\000\000\
820    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
821    \\000"
822    ),
823     (121,
824    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
825    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
826    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
827    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
828    \\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
829    \\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
830    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
831    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
832    \\000"
833    ),
834     (123,
835    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
836    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
837    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
838    \\124\124\124\124\124\124\124\124\000\000\000\000\000\000\000\000\
839    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
840    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
841    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
842    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
843    \\000"
844    ),
845     (124,
846    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
847    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
848    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
849    \\125\125\125\125\125\125\125\125\000\000\000\000\000\000\000\000\
850    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
851    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
852    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
853    \\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
854    \\000"
855    ),
856    (0, "")]
857    fun f x = x
858    val s = List.map f (List.rev (tl (List.rev s)))
859    exception LexHackingError
860    fun look ((j,x)::r, i: int) = if i = j then x else look(r, i)
861      | look ([], i) = raise LexHackingError
862    fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
863    in Vector.fromList(List.map g
864    [{fin = [], trans = 0},
865    {fin = [(N 10)], trans = 1},
866    {fin = [(N 10)], trans = 2},
867    {fin = [(N 10)], trans = 3},
868    {fin = [(N 10)], trans = 4},
869    {fin = [(N 26)], trans = 5},
870    {fin = [(N 26)], trans = 5},
871    {fin = [(N 239)], trans = 0},
872    {fin = [(N 96),(N 239)], trans = 0},
873    {fin = [(N 65),(N 239)], trans = 0},
874    {fin = [(N 100),(N 239)], trans = 10},
875    {fin = [(N 157)], trans = 0},
876    {fin = [(N 136)], trans = 0},
877    {fin = [(N 63),(N 239)], trans = 0},
878    {fin = [(N 237),(N 239)], trans = 14},
879    {fin = [(N 237)], trans = 14},
880    {fin = [(N 79),(N 239)], trans = 16},
881    {fin = [(N 124)], trans = 0},
882    {fin = [(N 61),(N 239)], trans = 0},
883    {fin = [(N 59),(N 239)], trans = 0},
884    {fin = [(N 98),(N 239)], trans = 0},
885    {fin = [(N 151),(N 239)], trans = 21},
886    {fin = [(N 166)], trans = 22},
887    {fin = [(N 147)], trans = 0},
888    {fin = [(N 110)], trans = 0},
889    {fin = [(N 115),(N 239)], trans = 25},
890    {fin = [(N 113)], trans = 0},
891    {fin = [(N 149),(N 239)], trans = 27},
892    {fin = [(N 107)], trans = 0},
893    {fin = [(N 163)], trans = 29},
894    {fin = [(N 143)], trans = 0},
895    {fin = [(N 53),(N 239)], trans = 0},
896    {fin = [(N 51),(N 239)], trans = 0},
897    {fin = [(N 197),(N 211),(N 239)], trans = 33},
898    {fin = [(N 197)], trans = 34},
899    {fin = [(N 197)], trans = 35},
900    {fin = [(N 197)], trans = 0},
901    {fin = [(N 197),(N 211)], trans = 37},
902    {fin = [(N 197)], trans = 38},
903    {fin = [(N 211)], trans = 0},
904    {fin = [], trans = 40},
905    {fin = [(N 211)], trans = 41},
906    {fin = [], trans = 42},
907    {fin = [(N 197),(N 211)], trans = 33},
908    {fin = [], trans = 44},
909    {fin = [(N 211)], trans = 45},
910    {fin = [(N 197),(N 211),(N 239)], trans = 46},
911    {fin = [], trans = 47},
912    {fin = [(N 187)], trans = 48},
913    {fin = [(N 187)], trans = 49},
914    {fin = [(N 187)], trans = 50},
915    {fin = [(N 187)], trans = 0},
916    {fin = [(N 187)], trans = 52},
917    {fin = [(N 187)], trans = 53},
918    {fin = [(N 211)], trans = 54},
919    {fin = [(N 176),(N 211)], trans = 55},
920    {fin = [(N 176)], trans = 56},
921    {fin = [(N 176)], trans = 57},
922    {fin = [(N 176)], trans = 0},
923    {fin = [(N 176),(N 211)], trans = 59},
924    {fin = [(N 176)], trans = 60},
925    {fin = [(N 94),(N 239)], trans = 61},
926    {fin = [(N 133)], trans = 0},
927    {fin = [(N 13)], trans = 0},
928    {fin = [(N 67),(N 239)], trans = 64},
929    {fin = [(N 211)], trans = 65},
930    {fin = [], trans = 66},
931    {fin = [(N 71)], trans = 0},
932    {fin = [(N 83),(N 239)], trans = 68},
933    {fin = [(N 92)], trans = 0},
934    {fin = [(N 121)], trans = 0},
935    {fin = [(N 89)], trans = 0},
936    {fin = [(N 73),(N 239)], trans = 0},
937    {fin = [(N 81),(N 239)], trans = 73},
938    {fin = [(N 118)], trans = 0},
939    {fin = [(N 86)], trans = 0},
940    {fin = [(N 75),(N 239)], trans = 76},
941    {fin = [(N 130)], trans = 0},
942    {fin = [(N 57),(N 239)], trans = 0},
943    {fin = [(N 55),(N 239)], trans = 0},
944    {fin = [(N 239)], trans = 80},
945    {fin = [], trans = 81},
946    {fin = [(N 229)], trans = 0},
947    {fin = [], trans = 83},
948    {fin = [], trans = 84},
949    {fin = [(N 234)], trans = 0},
950    {fin = [], trans = 86},
951    {fin = [], trans = 87},
952    {fin = [(N 225)], trans = 0},
953    {fin = [], trans = 89},
954    {fin = [], trans = 90},
955    {fin = [], trans = 91},
956    {fin = [(N 218)], trans = 0},
957    {fin = [(N 218),(N 234)], trans = 0},
958    {fin = [(N 102),(N 239)], trans = 94},
959    {fin = [(N 139)], trans = 0},
960    {fin = [(N 160)], trans = 0},
961    {fin = [(N 104),(N 239)], trans = 97},
962    {fin = [(N 127)], trans = 0},
963    {fin = [(N 20),(N 239)], trans = 0},
964    {fin = [(N 77),(N 239)], trans = 100},
965    {fin = [(N 154)], trans = 0},
966    {fin = [(N 10),(N 239)], trans = 102},
967    {fin = [(N 10)], trans = 102},
968    {fin = [(N 7)], trans = 0},
969    {fin = [(N 239)], trans = 105},
970    {fin = [], trans = 105},
971    {fin = [(N 5)], trans = 0},
972    {fin = [(N 10),(N 239)], trans = 108},
973    {fin = [(N 10)], trans = 108},
974    {fin = [(N 18)], trans = 0},
975    {fin = [(N 18)], trans = 111},
976    {fin = [(N 16)], trans = 0},
977    {fin = [(N 10),(N 18)], trans = 102},
978    {fin = [(N 18)], trans = 105},
979    {fin = [(N 10),(N 18)], trans = 108},
980    {fin = [(N 26)], trans = 116},
981    {fin = [], trans = 117},
982    {fin = [(N 49)], trans = 0},
983    {fin = [(N 49)], trans = 119},
984    {fin = [(N 42)], trans = 119},
985    {fin = [(N 49)], trans = 121},
986    {fin = [(N 46)], trans = 0},
987    {fin = [(N 49)], trans = 123},
988    {fin = [], trans = 124},
989    {fin = [(N 37)], trans = 0},
990    {fin = [(N 32),(N 49)], trans = 123},
991    {fin = [(N 29)], trans = 0},
992    {fin = [(N 22)], trans = 0},
993    {fin = [(N 24)], trans = 0}])
994        end        end
995    structure StartStates =
996            struct
997            datatype yystartstate = STARTSTATE of int
998    
999      datatype yymatch  (* start state definitions *)
1000        = yyNO_MATCH  
1001        | yyMATCH of yyInput.stream * action * yymatch  val C = STARTSTATE 3;
1002      withtype action = yyInput.stream * yymatch -> UserDeclarations.lexresult  val INITIAL = STARTSTATE 1;
1003    val S = STARTSTATE 5;
1004      local  
1005    end
1006      val yytable =  type result = UserDeclarations.lexresult
1007  #[          exception LexerError (* raised if illegal leaf action tried *)
1008  ]  end
1009    
1010      fun mk yyins = let  fun makeLexer yyinput =
1011          (* current start state *)  let     val yygone0=1
1012          val yyss = ref INITIAL          val yyb = ref "\n"              (* buffer *)
1013          fun YYBEGIN ss = (yyss := ss)          val yybl = ref 1                (*buffer length *)
1014          (* current input stream *)          val yybufpos = ref 1            (* location of next character to use *)
1015          val yystrm = ref yyins          val yygone = ref yygone0        (* position in file of beginning of buffer *)
1016          (* get one char of input *)          val yydone = ref false          (* eof found yet? *)
1017          val yygetc = yyInput.getc          val yybegin = ref 1             (*Current 'start state' for lexer *)
1018          (* create yytext *)  
1019          fun yymktext(strm) = yyInput.subtract (strm, !yystrm)          val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
1020          open UserDeclarations                   yybegin := x
1021          fun lex  
1022  (yyarg as ({comLevel,errWarn,sourceMap,charlist,stringstart})) () = let  fun lex (yyarg as ({comLevel,errWarn,sourceMap,charlist,stringstart})) =
1023       fun continue() = let  let fun continue() : Internal.result =
1024              val yylastwasn = yyInput.lastWasNL (!yystrm)    let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
1025              fun yystuck (yyNO_MATCH) = raise Fail "stuck state"          let fun action (i,nil) = raise LexError
1026                | yystuck (yyMATCH (strm, action, old)) =          | action (i,nil::l) = action (i-1,l)
1027                    action (strm, old)          | action (i,(node::acts)::l) =
1028              val yypos = yyInput.getpos (!yystrm)                  case node of
1029              val yygetlineNo = yyInput.getlineNo                      Internal.N yyk =>
1030              fun yyactsToMatches (strm, [],        oldMatches) = oldMatches                          (let fun yymktext() = String.substring(!yyb,i0,i-i0)
1031                | yyactsToMatches (strm, act::acts, oldMatches) =                               val yypos = i0+ !yygone
1032                    yyMATCH (strm, act, yyactsToMatches (strm, acts, oldMatches))                          open UserDeclarations Internal.StartStates
1033              fun yygo actTable =   in (yybufpos := i; case yyk of
1034                  (fn (~1, _, oldMatches) => yystuck oldMatches  
1035                    | (curState, strm, oldMatches) => let                          (* Application actions *)
1036                        val (transitions, finals') = Vector.sub (yytable, curState)  
1037                        val finals = map (fn i => Vector.sub (actTable, i)) finals'    10 => (continue())
1038                        fun tryfinal() =  | 100 => (Tokens.BAR(yypos,yypos+1))
1039                              yystuck (yyactsToMatches (strm, finals, oldMatches))  | 102 => (Tokens.AMP(yypos,yypos+1))
1040                        fun find (c, []) = NONE  | 104 => (Tokens.PERCENT(yypos,yypos+1))
1041                          | find (c, (c1, c2, s)::ts) =  | 107 => (Tokens.LTE(yypos,yypos+2))
1042                              if c1 <= c andalso c <= c2 then SOME s  | 110 => (Tokens.GTE(yypos,yypos+2))
1043                              else find (c, ts)  | 113 => (Tokens.EQ(yypos,yypos+2))
1044                        in case yygetc strm  | 115 => (Tokens.EQUALS(yypos,yypos+1))
1045                            of SOME(c, strm') =>  | 118 => (Tokens.PLUSEQUALS(yypos,yypos+2))
1046                                 (case find (c, transitions)  | 121 => (Tokens.MINUSEQUALS(yypos,yypos+2))
1047                                   of NONE => tryfinal()  | 124 => (Tokens.XOREQUALS(yypos,yypos+2))
1048                                    | SOME n =>  | 127 => (Tokens.MODEQUALS(yypos,yypos+2))
1049                                        yygo actTable  | 13 => (YYBEGIN C; continue())
1050                                          (n, strm',  | 130 => (Tokens.TIMESEQUALS(yypos,yypos+2))
1051                                           yyactsToMatches (strm, finals, oldMatches)))  | 133 => (Tokens.DIVEQUALS(yypos,yypos+2))
1052                             | NONE => tryfinal()  | 136 => (Tokens.OREQUALS(yypos,yypos+2))
1053                        end)  | 139 => (Tokens.ANDEQUALS(yypos,yypos+2))
1054              in  | 143 => (Tokens.LSHIFTEQUALS(yypos,yypos+3))
1055  let  | 147 => (Tokens.RSHIFTEQUALS(yypos,yypos+3))
1056  fun yyAction0 (strm, lastMatch : yymatch) = let  | 149 => (Tokens.LT(yypos,yypos+1))
1057        val oldStrm = !(yystrm)  | 151 => (Tokens.GT(yypos,yypos+1))
1058        fun REJECT () = (yystrm := oldStrm; yystuck(lastMatch))  | 154 => (Tokens.NEQ(yypos,yypos+2))
1059        val yytext = yymktext(strm)  | 157 => (Tokens.OR(yypos,yypos+2))
1060        in  | 16 => (YYBEGIN INITIAL; continue())
1061          yystrm := strm;  | 160 => (Tokens.AND(yypos,yypos+2))
1062          if not yylastwasn then REJECT() else ((SourceMap.parseDirective sourceMap  | 163 => (Tokens.LSHIFT(yypos,yypos+2))
1063                           (yypos,yytext); continue()))  | 166 => (Tokens.RSHIFT(yypos,yypos+2))
1064        end  | 176 => let val yytext=yymktext() in Tokens.DECNUM(mkOctInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)) end
1065  fun yyAction1 (strm, lastMatch : yymatch) = (yystrm := strm;  | 18 => (continue())
1066        (SourceMap.newline sourceMap yypos; continue()))  | 187 => let val yytext=yymktext() in Tokens.DECNUM(mkHexInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)) end
1067  fun yyAction2 (strm, lastMatch : yymatch) = (yystrm := strm; (continue()))  | 197 => let val yytext=yymktext() in Tokens.DECNUM(mkInt (yytext,yypos,yypos+size(yytext),errWarn), yypos,yypos+size(yytext)) end
1068  fun yyAction3 (strm, lastMatch : yymatch) = (yystrm := strm;  | 20 => (charlist := [""]; stringstart := yypos; YYBEGIN S; continue())
1069        (YYBEGIN C; continue()))  | 211 => let val yytext=yymktext() in Tokens.REALNUM(mkRealNum(yytext,yypos,yypos+size(yytext),errWarn), yypos, yypos
1070  fun yyAction4 (strm, lastMatch : yymatch) = (yystrm := strm;  + size(yytext)) end
1071        (YYBEGIN INITIAL; continue()))  | 218 => let val yytext=yymktext() in let val s = substring(yytext, 2, size(yytext)-3)
 fun yyAction5 (strm, lastMatch : yymatch) = (yystrm := strm; (continue()))  
 fun yyAction6 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (charlist := [""]; stringstart := yypos; YYBEGIN S; continue()))  
 fun yyAction7 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (YYBEGIN INITIAL;Tokens.STRING(makeString charlist,!stringstart,yypos+1)))  
 fun yyAction8 (strm, lastMatch : yymatch) = (yystrm := strm;  
       ((#err errWarn) (!stringstart,yypos,"unclosed string");  
                     SourceMap.newline sourceMap yypos;  
                     YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos)))  
 fun yyAction9 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm; (addString(charlist,yytext); continue())  
       end  
 fun yyAction10 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (SourceMap.newline sourceMap yypos; continue()))  
 fun yyAction11 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (addString(charlist,chr 0);continue()))  
 fun yyAction12 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (addString(charlist, chr(mkOctChar(substring(yytext, 1, size(yytext)-1), yypos, yypos+size(yytext), errWarn))); continue())  
       end  
 fun yyAction13 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (addString(charlist, chr(mkHexChar(substring(yytext, 2, size(yytext)-2), yypos, yypos+size(yytext), errWarn))); continue())  
       end  
 fun yyAction14 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue())  
       end  
 fun yyAction15 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (addString(charlist, chr(special_char(yytext, yypos, yypos+size(yytext), errWarn))); continue())  
       end  
 fun yyAction16 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.COLON(yypos,yypos+1)))  
 fun yyAction17 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.SEMICOLON(yypos,yypos+1)))  
 fun yyAction18 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LPAREN(yypos,yypos+1)))  
 fun yyAction19 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.RPAREN(yypos,yypos+1)))  
 fun yyAction20 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LBRACE(yypos,yypos+1)))  
 fun yyAction21 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.RBRACE(yypos,yypos+1)))  
 fun yyAction22 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LCURLY(yypos,yypos+1)))  
 fun yyAction23 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.RCURLY(yypos,yypos+1)))  
 fun yyAction24 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.DOT(yypos,yypos+1)))  
 fun yyAction25 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.ELIPSIS(yypos,yypos+3)))  
 fun yyAction26 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.COMMA(yypos,yypos+1)))  
 fun yyAction27 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.TIMES(yypos,yypos+1)))  
 fun yyAction28 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.BANG(yypos,yypos+1)))  
 fun yyAction29 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.HAT(yypos,yypos+1)))  
 fun yyAction30 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.PLUS(yypos,yypos+1)))  
 fun yyAction31 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.MINUS(yypos,yypos+1)))  
 fun yyAction32 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.INC(yypos,yypos+2)))  
 fun yyAction33 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.DEC(yypos,yypos+2)))  
 fun yyAction34 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.ARROW(yypos,yypos+1)))  
 fun yyAction35 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.DIVIDE(yypos,yypos+1)))  
 fun yyAction36 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.TILDE(yypos,yypos+1)))  
 fun yyAction37 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.QUESTION(yypos,yypos+1)))  
 fun yyAction38 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.BAR(yypos,yypos+1)))  
 fun yyAction39 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.AMP(yypos,yypos+1)))  
 fun yyAction40 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.PERCENT(yypos,yypos+1)))  
 fun yyAction41 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LTE(yypos,yypos+2)))  
 fun yyAction42 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.GTE(yypos,yypos+2)))  
 fun yyAction43 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.EQ(yypos,yypos+2)))  
 fun yyAction44 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.EQUALS(yypos,yypos+1)))  
 fun yyAction45 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.PLUSEQUALS(yypos,yypos+2)))  
 fun yyAction46 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.MINUSEQUALS(yypos,yypos+2)))  
 fun yyAction47 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.XOREQUALS(yypos,yypos+2)))  
 fun yyAction48 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.MODEQUALS(yypos,yypos+2)))  
 fun yyAction49 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.TIMESEQUALS(yypos,yypos+2)))  
 fun yyAction50 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.DIVEQUALS(yypos,yypos+2)))  
 fun yyAction51 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.OREQUALS(yypos,yypos+2)))  
 fun yyAction52 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.ANDEQUALS(yypos,yypos+2)))  
 fun yyAction53 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LSHIFTEQUALS(yypos,yypos+3)))  
 fun yyAction54 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.RSHIFTEQUALS(yypos,yypos+3)))  
 fun yyAction55 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LT(yypos,yypos+1)))  
 fun yyAction56 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.GT(yypos,yypos+1)))  
 fun yyAction57 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.NEQ(yypos,yypos+2)))  
 fun yyAction58 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.OR(yypos,yypos+2)))  
 fun yyAction59 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.AND(yypos,yypos+2)))  
 fun yyAction60 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.LSHIFT(yypos,yypos+2)))  
 fun yyAction61 (strm, lastMatch : yymatch) = (yystrm := strm;  
       (Tokens.RSHIFT(yypos,yypos+2)))  
 fun yyAction62 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (Tokens.DECNUM(mkOctInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)))  
       end  
 fun yyAction63 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (Tokens.DECNUM(mkHexInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)))  
       end  
 fun yyAction64 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (Tokens.DECNUM(mkInt (yytext,yypos,yypos+size(yytext),errWarn), yypos,yypos+size(yytext)))  
       end  
 fun yyAction65 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (Tokens.REALNUM(mkRealNum(yytext,yypos,yypos+size(yytext),errWarn), yypos, yypos  
 + size(yytext)))  
       end  
 fun yyAction66 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (let val s = substring(yytext, 2, size(yytext)-3)  
1072                                       in Tokens.CCONST(IntInf.fromInt (mkOctChar(s,yypos,yypos+size(yytext),errWarn)),                                       in Tokens.CCONST(IntInf.fromInt (mkOctChar(s,yypos,yypos+size(yytext),errWarn)),
1073                                                        yypos,                                                        yypos,
1074                                                yypos+size(yytext))                                                yypos+size(yytext))
1075                                       end)                                       end end
1076        end  | 22 => (YYBEGIN INITIAL;Tokens.STRING(makeString charlist,!stringstart,yypos+1))
1077  fun yyAction67 (strm, lastMatch : yymatch) = let  | 225 => let val yytext=yymktext() in let val s = substring(yytext, 3, size(yytext)-4)
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (let val s = substring(yytext, 3, size(yytext)-4)  
1078                                       in Tokens.CCONST(IntInf.fromInt (mkHexChar(s,yypos,yypos+size(yytext),errWarn)),                                       in Tokens.CCONST(IntInf.fromInt (mkHexChar(s,yypos,yypos+size(yytext),errWarn)),
1079                                                        yypos,                                                        yypos,
1080                                                        yypos+size(yytext))                                                        yypos+size(yytext))
1081                                       end)                                       end end
1082        end  | 229 => let val yytext=yymktext() in let val cval = ordof(yytext,1)
 fun yyAction68 (strm, lastMatch : yymatch) = let  
       val yytext = yymktext(strm)  
       in  
         yystrm := strm;  
         (let val cval = ordof(yytext,1)  
1083                                      in Tokens.CCONST(Int.toLarge cval,yypos,yypos+size(yytext))                                      in Tokens.CCONST(Int.toLarge cval,yypos,yypos+size(yytext))
1084                                      end)                                      end end
1085        end  | 234 => let val yytext=yymktext() in Tokens.CCONST(IntInf.fromInt(special_char(substring(yytext,1,size(yytext)-2),yypos,yypos+size(yytext),errWarn)), yypos, yypos+size(yytext)) end
1086  fun yyAction69 (strm, lastMatch : yymatch) = let  | 237 => let val yytext=yymktext() in TokTable.checkToken(yytext,yypos) end
1087        val yytext = yymktext(strm)  | 239 => (continue())
1088        in  | 24 => ((#err errWarn) (!stringstart,yypos,"unclosed string");
1089          yystrm := strm;                      SourceMap.newline sourceMap yypos;
1090          (Tokens.CCONST(IntInf.fromInt(special_char(substring(yytext,1,size(yytext)-2),yypos,yypos+size(yytext),errWarn)), yypos, yypos+size(yytext)))                      YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos))
1091        end  | 26 => let val yytext=yymktext() in addString(charlist,yytext); continue() end
1092  fun yyAction70 (strm, lastMatch : yymatch) = let  | 29 => (SourceMap.newline sourceMap yypos; continue())
1093        val yytext = yymktext(strm)  | 32 => (addString(charlist,chr 0);continue())
1094        in  | 37 => let val yytext=yymktext() in addString(charlist, chr(mkOctChar(substring(yytext, 1, size(yytext)-1), yypos, yypos+size(yytext), errWarn))); continue() end
1095          yystrm := strm; (TokTable.checkToken(yytext,yypos))  | 42 => let val yytext=yymktext() in addString(charlist, chr(mkHexChar(substring(yytext, 2, size(yytext)-2), yypos, yypos+size(yytext), errWarn))); continue() end
1096        end  | 46 => let val yytext=yymktext() in addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue() end
1097  fun yyAction71 (strm, lastMatch : yymatch) = (yystrm := strm; (continue()))  | 49 => let val yytext=yymktext() in addString(charlist, chr(special_char(yytext, yypos, yypos+size(yytext), errWarn))); continue() end
1098  fun yyQ57 (strm, lastMatch : yymatch) = yyAction36(strm, yyNO_MATCH)  | 5 => let val yytext=yymktext() in SourceMap.parseDirective sourceMap
1099  fun yyQ56 (strm, lastMatch : yymatch) = yyAction23(strm, yyNO_MATCH)                           (yypos,yytext); continue() end
1100  fun yyQ59 (strm, lastMatch : yymatch) = yyAction58(strm, yyNO_MATCH)  | 51 => (Tokens.COLON(yypos,yypos+1))
1101  fun yyQ58 (strm, lastMatch : yymatch) = yyAction51(strm, yyNO_MATCH)  | 53 => (Tokens.SEMICOLON(yypos,yypos+1))
1102  fun yyQ55 (strm, lastMatch : yymatch) = (case (yygetc(strm))  | 55 => (Tokens.LPAREN(yypos,yypos+1))
1103         of NONE => yyAction38(strm, yyNO_MATCH)  | 57 => (Tokens.RPAREN(yypos,yypos+1))
1104          | SOME(inp, strm') =>  | 59 => (Tokens.LBRACE(yypos,yypos+1))
1105              if inp = #">"  | 61 => (Tokens.RBRACE(yypos,yypos+1))
1106                then yyAction38(strm, yyNO_MATCH)  | 63 => (Tokens.LCURLY(yypos,yypos+1))
1107              else if inp < #">"  | 65 => (Tokens.RCURLY(yypos,yypos+1))
1108                then if inp = #"="  | 67 => (Tokens.DOT(yypos,yypos+1))
1109                    then yyQ58(strm', yyMATCH(strm, yyAction38, yyNO_MATCH))  | 7 => (SourceMap.newline sourceMap yypos; continue())
1110                    else yyAction38(strm, yyNO_MATCH)  | 71 => (Tokens.ELIPSIS(yypos,yypos+3))
1111              else if inp = #"|"  | 73 => (Tokens.COMMA(yypos,yypos+1))
1112                then yyQ59(strm', yyMATCH(strm, yyAction38, yyNO_MATCH))  | 75 => (Tokens.TIMES(yypos,yypos+1))
1113                else yyAction38(strm, yyNO_MATCH)  | 77 => (Tokens.BANG(yypos,yypos+1))
1114        (* end case *))  | 79 => (Tokens.HAT(yypos,yypos+1))
1115  fun yyQ54 (strm, lastMatch : yymatch) = yyAction22(strm, yyNO_MATCH)  | 81 => (Tokens.PLUS(yypos,yypos+1))
1116  fun yyQ60 (strm, lastMatch : yymatch) = yyAction47(strm, yyNO_MATCH)  | 83 => (Tokens.MINUS(yypos,yypos+1))
1117  fun yyQ53 (strm, lastMatch : yymatch) = (case (yygetc(strm))  | 86 => (Tokens.INC(yypos,yypos+2))
1118         of NONE => yyAction29(strm, yyNO_MATCH)  | 89 => (Tokens.DEC(yypos,yypos+2))
1119          | SOME(inp, strm') =>  | 92 => (Tokens.ARROW(yypos,yypos+1))
1120              if inp = #"="  | 94 => (Tokens.DIVIDE(yypos,yypos+1))
1121                then yyQ60(strm', yyMATCH(strm, yyAction29, yyNO_MATCH))  | 96 => (Tokens.TILDE(yypos,yypos+1))
1122                else yyAction29(strm, yyNO_MATCH)  | 98 => (Tokens.QUESTION(yypos,yypos+1))
1123        (* end case *))  | _ => raise Internal.LexerError
1124  fun yyQ52 (strm, lastMatch : yymatch) = yyAction21(strm, yyNO_MATCH)  
1125  fun yyQ51 (strm, lastMatch : yymatch) = yyAction20(strm, yyNO_MATCH)                  ) end )
1126  fun yyQ61 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
1127         of NONE => yyAction70(strm, yyNO_MATCH)          val {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)
1128          | SOME(inp, strm') =>          val NewAcceptingLeaves = fin::AcceptingLeaves
1129              if inp = #"["          in if l = !yybl then
1130                then yyAction70(strm, yyNO_MATCH)               if trans = #trans(Vector.sub(Internal.tab,0))
1131              else if inp < #"["                 then action(l,NewAcceptingLeaves
1132                then if inp = #":"  ) else      let val newchars= if !yydone then "" else yyinput 1024
1133                    then yyAction70(strm, yyNO_MATCH)              in if (String.size newchars)=0
1134                  else if inp < #":"                    then (yydone := true;
1135                    then if inp <= #"/"                          if (l=i0) then UserDeclarations.eof yyarg
1136                        then yyAction70(strm, yyNO_MATCH)                                    else action(l,NewAcceptingLeaves))
1137                        else yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))                    else (if i0=l then yyb := newchars
1138                  else if inp <= #"@"                       else yyb := String.substring(!yyb,i0,l-i0)^newchars;
1139                    then yyAction70(strm, yyNO_MATCH)                       yygone := !yygone+i0;
1140                    else yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))                       yybl := String.size (!yyb);
1141              else if inp = #"`"                       scan (s,AcceptingLeaves,l-i0,0))
1142                then yyAction70(strm, yyNO_MATCH)              end
1143              else if inp < #"`"            else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))
1144                then if inp = #"_"                  val NewChar = if NewChar<128 then NewChar else 128
1145                    then yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))                  val NewState = Char.ord(Unsafe.CharVector.sub(trans,NewChar))
1146                    else yyAction70(strm, yyNO_MATCH)                  in if NewState=0 then action(l,NewAcceptingLeaves)
1147              else if inp <= #"z"                  else scan(NewState,NewAcceptingLeaves,l+1,i0)
1148                then yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))          end
1149                else yyAction70(strm, yyNO_MATCH)          end
1150        (* end case *))          val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
1151  fun yyQ50 (strm, lastMatch : yymatch) = (case (yygetc(strm))  then !yybegin+1 else !yybegin
1152         of NONE => yyAction70(strm, yyNO_MATCH)          in scan(start,nil,!yybufpos,!yybufpos)
         | SOME(inp, strm') =>  
             if inp = #"["  
               then yyAction70(strm, yyNO_MATCH)  
             else if inp < #"["  
               then if inp = #":"  
                   then yyAction70(strm, yyNO_MATCH)  
                 else if inp < #":"  
                   then if inp <= #"/"  
                       then yyAction70(strm, yyNO_MATCH)  
                       else yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))  
                 else if inp <= #"@"  
                   then yyAction70(strm, yyNO_MATCH)  
                   else yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))  
             else if inp = #"`"  
               then yyAction70(strm, yyNO_MATCH)  
             else if inp < #"`"  
               then if inp = #"_"  
                   then yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))  
                   else yyAction70(strm, yyNO_MATCH)  
             else if inp <= #"z"  
               then yyQ61(strm', yyMATCH(strm, yyAction70, yyNO_MATCH))  
               else yyAction70(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ49 (strm, lastMatch : yymatch) = yyAction37(strm, yyNO_MATCH)  
 fun yyQ64 (strm, lastMatch : yymatch) = yyAction54(strm, yyNO_MATCH)  
 fun yyQ63 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction61(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ64(strm', yyMATCH(strm, yyAction61, yyNO_MATCH))  
               else yyAction61(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ62 (strm, lastMatch : yymatch) = yyAction42(strm, yyNO_MATCH)  
 fun yyQ48 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction56(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #">"  
               then yyQ63(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))  
             else if inp < #">"  
               then if inp = #"="  
                   then yyQ62(strm', yyMATCH(strm, yyAction56, yyNO_MATCH))  
                   else yyAction56(strm, yyNO_MATCH)  
               else yyAction56(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ65 (strm, lastMatch : yymatch) = yyAction43(strm, yyNO_MATCH)  
 fun yyQ47 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction44(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ65(strm', yyMATCH(strm, yyAction44, yyNO_MATCH))  
               else yyAction44(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ67 (strm, lastMatch : yymatch) = yyAction41(strm, yyNO_MATCH)  
 fun yyQ68 (strm, lastMatch : yymatch) = yyAction53(strm, yyNO_MATCH)  
 fun yyQ66 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction60(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ68(strm', yyMATCH(strm, yyAction60, yyNO_MATCH))  
               else yyAction60(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ46 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction55(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ67(strm', yyMATCH(strm, yyAction55, yyNO_MATCH))  
             else if inp < #"="  
               then if inp = #"<"  
                   then yyQ66(strm', yyMATCH(strm, yyAction55, yyNO_MATCH))  
                   else yyAction55(strm, yyNO_MATCH)  
               else yyAction55(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ45 (strm, lastMatch : yymatch) = yyAction17(strm, yyNO_MATCH)  
 fun yyQ44 (strm, lastMatch : yymatch) = yyAction16(strm, yyNO_MATCH)  
 fun yyQ74 (strm, lastMatch : yymatch) = yyAction64(strm, yyNO_MATCH)  
 fun yyQ73 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction64(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"V"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"V"  
               then if inp = #"M"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"M"  
                   then if inp = #"L"  
                       then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"U"  
                   then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
               else yyAction64(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ72 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction64(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"V"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"V"  
               then if inp = #"M"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"M"  
                   then if inp = #"L"  
                       then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"U"  
                   then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ74(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
               else yyAction64(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ77 (strm, lastMatch : yymatch) = yyAction65(strm, yyNO_MATCH)  
 fun yyQ76 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction65(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"L"  
               then yyQ77(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
             else if inp < #"L"  
               then if inp = #"0"  
                   then yyQ76(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                 else if inp < #"0"  
                   then yyAction65(strm, yyNO_MATCH)  
                 else if inp <= #"9"  
                   then yyQ76(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                   else yyAction65(strm, yyNO_MATCH)  
             else if inp = #"l"  
               then yyQ77(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
               else yyAction65(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ75 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ76(strm', lastMatch)  
             else if inp < #"0"  
               then yystuck(lastMatch)  
             else if inp <= #"9"  
               then yyQ76(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ71 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"-"  
               then yyQ75(strm', lastMatch)  
             else if inp < #"-"  
               then if inp = #"+"  
                   then yyQ75(strm', lastMatch)  
                   else yystuck(lastMatch)  
             else if inp = #"0"  
               then yyQ76(strm', lastMatch)  
             else if inp < #"0"  
               then yystuck(lastMatch)  
             else if inp <= #"9"  
               then yyQ76(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ78 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction65(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"L"  
               then yyQ77(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
             else if inp < #"L"  
               then if inp = #":"  
                   then yyAction65(strm, yyNO_MATCH)  
                 else if inp < #":"  
                   then if inp <= #"/"  
                       then yyAction65(strm, yyNO_MATCH)  
                       else yyQ78(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                 else if inp = #"E"  
                   then yyQ71(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                   else yyAction65(strm, yyNO_MATCH)  
             else if inp = #"f"  
               then yyAction65(strm, yyNO_MATCH)  
             else if inp < #"f"  
               then if inp = #"e"  
                   then yyQ71(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                   else yyAction65(strm, yyNO_MATCH)  
             else if inp = #"l"  
               then yyQ77(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
               else yyAction65(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ69 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ78(strm', lastMatch)  
             else if inp < #"0"  
               then yystuck(lastMatch)  
             else if inp <= #"9"  
               then yyQ78(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ70 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction64(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"M"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"M"  
               then if inp = #":"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #":"  
                   then if inp = #"/"  
                       then yyAction64(strm, yyNO_MATCH)  
                     else if inp < #"/"  
                       then if inp = #"."  
                           then yyQ69(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                           else yyAction64(strm, yyNO_MATCH)  
                       else yyQ70(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                 else if inp = #"F"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"F"  
                   then if inp = #"E"  
                       then yyQ71(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"L"  
                   then yyQ72(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"f"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"f"  
               then if inp = #"V"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"V"  
                   then if inp = #"U"  
                       then yyQ73(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"e"  
                   then yyQ71(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ72(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ73(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
               else yyAction64(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ43 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction64(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"M"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"M"  
               then if inp = #":"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #":"  
                   then if inp = #"/"  
                       then yyAction64(strm, yyNO_MATCH)  
                     else if inp < #"/"  
                       then if inp = #"."  
                           then yyQ69(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                           else yyAction64(strm, yyNO_MATCH)  
                       else yyQ70(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                 else if inp = #"F"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"F"  
                   then if inp = #"E"  
                       then yyQ71(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"L"  
                   then yyQ72(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"f"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"f"  
               then if inp = #"V"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"V"  
                   then if inp = #"U"  
                       then yyQ73(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"e"  
                   then yyQ71(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ72(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ73(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
               else yyAction64(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ84 (strm, lastMatch : yymatch) = yyAction63(strm, yyNO_MATCH)  
 fun yyQ83 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction63(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"V"  
               then yyAction63(strm, yyNO_MATCH)  
             else if inp < #"V"  
               then if inp = #"M"  
                   then yyAction63(strm, yyNO_MATCH)  
                 else if inp < #"M"  
                   then if inp = #"L"  
                       then yyQ84(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                       else yyAction63(strm, yyNO_MATCH)  
                 else if inp = #"U"  
                   then yyQ84(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                   else yyAction63(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction63(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ84(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                   else yyAction63(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ84(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
               else yyAction63(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ82 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction63(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"U"  
               then yyQ83(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
             else if inp < #"U"  
               then if inp = #"A"  
                   then yyQ82(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                 else if inp < #"A"  
                   then if inp = #"0"  
                       then yyQ82(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                     else if inp < #"0"  
                       then yyAction63(strm, yyNO_MATCH)  
                     else if inp <= #"9"  
                       then yyQ82(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                       else yyAction63(strm, yyNO_MATCH)  
                 else if inp = #"L"  
                   then yyQ83(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                 else if inp < #"L"  
                   then if inp <= #"F"  
                       then yyQ82(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                       else yyAction63(strm, yyNO_MATCH)  
                   else yyAction63(strm, yyNO_MATCH)  
             else if inp = #"l"  
               then yyQ83(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
             else if inp < #"l"  
               then if inp = #"a"  
                   then yyQ82(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                 else if inp < #"a"  
                   then yyAction63(strm, yyNO_MATCH)  
                 else if inp <= #"f"  
                   then yyQ82(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
                   else yyAction63(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ83(strm', yyMATCH(strm, yyAction63, yyNO_MATCH))  
               else yyAction63(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ81 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"A"  
               then yyQ82(strm', lastMatch)  
             else if inp < #"A"  
               then if inp = #"0"  
                   then yyQ82(strm', lastMatch)  
                 else if inp < #"0"  
                   then yystuck(lastMatch)  
                 else if inp <= #"9"  
                   then yyQ82(strm', lastMatch)  
                   else yystuck(lastMatch)  
             else if inp = #"a"  
               then yyQ82(strm', lastMatch)  
             else if inp < #"a"  
               then if inp <= #"F"  
                   then yyQ82(strm', lastMatch)  
                   else yystuck(lastMatch)  
             else if inp <= #"f"  
               then yyQ82(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ80 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction65(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"F"  
               then yyAction65(strm, yyNO_MATCH)  
             else if inp < #"F"  
               then if inp = #"0"  
                   then yyQ80(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                 else if inp < #"0"  
                   then if inp = #"."  
                       then yyQ69(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                       else yyAction65(strm, yyNO_MATCH)  
                 else if inp = #":"  
                   then yyAction65(strm, yyNO_MATCH)  
                 else if inp < #":"  
                   then yyQ80(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                 else if inp = #"E"  
                   then yyQ71(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                   else yyAction65(strm, yyNO_MATCH)  
             else if inp = #"e"  
               then yyQ71(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
             else if inp < #"e"  
               then if inp = #"L"  
                   then yyQ77(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
                   else yyAction65(strm, yyNO_MATCH)  
             else if inp = #"l"  
               then yyQ77(strm', yyMATCH(strm, yyAction65, yyNO_MATCH))  
               else yyAction65(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ87 (strm, lastMatch : yymatch) = yyAction62(strm, yyNO_MATCH)  
 fun yyQ86 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction62(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"V"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"V"  
               then if inp = #"M"  
                   then yyAction62(strm, yyNO_MATCH)  
                 else if inp < #"M"  
                   then if inp = #"L"  
                       then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                       else yyAction62(strm, yyNO_MATCH)  
                 else if inp = #"U"  
                   then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
               else yyAction62(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ85 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction62(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"V"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"V"  
               then if inp = #"M"  
                   then yyAction62(strm, yyNO_MATCH)  
                 else if inp < #"M"  
                   then if inp = #"L"  
                       then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                       else yyAction62(strm, yyNO_MATCH)  
                 else if inp = #"U"  
                   then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ87(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
               else yyAction62(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ79 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction62(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"M"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"M"  
               then if inp = #"8"  
                   then yyQ80(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                 else if inp < #"8"  
                   then if inp = #"/"  
                       then yyAction62(strm, yyNO_MATCH)  
                     else if inp < #"/"  
                       then if inp = #"."  
                           then yyQ69(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                           else yyAction62(strm, yyNO_MATCH)  
                       else yyQ79(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                 else if inp = #"E"  
                   then yyQ71(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                 else if inp < #"E"  
                   then if inp <= #"9"  
                       then yyQ80(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                       else yyAction62(strm, yyNO_MATCH)  
                 else if inp = #"L"  
                   then yyQ85(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"f"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"f"  
               then if inp = #"V"  
                   then yyAction62(strm, yyNO_MATCH)  
                 else if inp < #"V"  
                   then if inp = #"U"  
                       then yyQ86(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                       else yyAction62(strm, yyNO_MATCH)  
                 else if inp = #"e"  
                   then yyQ71(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"m"  
               then yyAction62(strm, yyNO_MATCH)  
             else if inp < #"m"  
               then if inp = #"l"  
                   then yyQ85(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
                   else yyAction62(strm, yyNO_MATCH)  
             else if inp = #"u"  
               then yyQ86(strm', yyMATCH(strm, yyAction62, yyNO_MATCH))  
               else yyAction62(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ42 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction64(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"V"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"V"  
               then if inp = #":"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #":"  
                   then if inp = #"/"  
                       then yyAction64(strm, yyNO_MATCH)  
                     else if inp < #"/"  
                       then if inp = #"."  
                           then yyQ69(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                           else yyAction64(strm, yyNO_MATCH)  
                     else if inp <= #"7"  
                       then yyQ79(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyQ80(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                 else if inp = #"L"  
                   then yyQ72(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                 else if inp < #"L"  
                   then if inp = #"E"  
                       then yyQ71(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"U"  
                   then yyQ73(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"l"  
               then yyQ72(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
             else if inp < #"l"  
               then if inp = #"Y"  
                   then yyAction64(strm, yyNO_MATCH)  
                 else if inp < #"Y"  
                   then if inp = #"X"  
                       then yyQ81(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                       else yyAction64(strm, yyNO_MATCH)  
                 else if inp = #"e"  
                   then yyQ71(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"v"  
               then yyAction64(strm, yyNO_MATCH)  
             else if inp < #"v"  
               then if inp = #"u"  
                   then yyQ73(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
                   else yyAction64(strm, yyNO_MATCH)  
             else if inp = #"x"  
               then yyQ81(strm', yyMATCH(strm, yyAction64, yyNO_MATCH))  
               else yyAction64(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ89 (strm, lastMatch : yymatch) = yyAction50(strm, yyNO_MATCH)  
 fun yyQ88 (strm, lastMatch : yymatch) = yyAction3(strm, yyNO_MATCH)  
 fun yyQ41 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction35(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"+"  
               then yyAction35(strm, yyNO_MATCH)  
             else if inp < #"+"  
               then if inp = #"*"  
                   then yyQ88(strm', yyMATCH(strm, yyAction35, yyNO_MATCH))  
                   else yyAction35(strm, yyNO_MATCH)  
             else if inp = #"="  
               then yyQ89(strm', yyMATCH(strm, yyAction35, yyNO_MATCH))  
               else yyAction35(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ91 (strm, lastMatch : yymatch) = yyAction25(strm, yyNO_MATCH)  
 fun yyQ90 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"."  
               then yyQ91(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ40 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction24(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"/"  
               then yyAction24(strm, yyNO_MATCH)  
             else if inp < #"/"  
               then if inp = #"."  
                   then yyQ90(strm', yyMATCH(strm, yyAction24, yyNO_MATCH))  
                   else yyAction24(strm, yyNO_MATCH)  
             else if inp <= #"9"  
               then yyQ78(strm', yyMATCH(strm, yyAction24, yyNO_MATCH))  
               else yyAction24(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ94 (strm, lastMatch : yymatch) = yyAction34(strm, yyNO_MATCH)  
 fun yyQ93 (strm, lastMatch : yymatch) = yyAction46(strm, yyNO_MATCH)  
 fun yyQ92 (strm, lastMatch : yymatch) = yyAction33(strm, yyNO_MATCH)  
 fun yyQ39 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction31(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ93(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))  
             else if inp < #"="  
               then if inp = #"-"  
                   then yyQ92(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))  
                   else yyAction31(strm, yyNO_MATCH)  
             else if inp = #">"  
               then yyQ94(strm', yyMATCH(strm, yyAction31, yyNO_MATCH))  
               else yyAction31(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ38 (strm, lastMatch : yymatch) = yyAction26(strm, yyNO_MATCH)  
 fun yyQ96 (strm, lastMatch : yymatch) = yyAction45(strm, yyNO_MATCH)  
 fun yyQ95 (strm, lastMatch : yymatch) = yyAction32(strm, yyNO_MATCH)  
 fun yyQ37 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction30(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #","  
               then yyAction30(strm, yyNO_MATCH)  
             else if inp < #","  
               then if inp = #"+"  
                   then yyQ95(strm', yyMATCH(strm, yyAction30, yyNO_MATCH))  
                   else yyAction30(strm, yyNO_MATCH)  
             else if inp = #"="  
               then yyQ96(strm', yyMATCH(strm, yyAction30, yyNO_MATCH))  
               else yyAction30(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ97 (strm, lastMatch : yymatch) = yyAction49(strm, yyNO_MATCH)  
 fun yyQ36 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction27(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ97(strm', yyMATCH(strm, yyAction27, yyNO_MATCH))  
               else yyAction27(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ35 (strm, lastMatch : yymatch) = yyAction19(strm, yyNO_MATCH)  
 fun yyQ34 (strm, lastMatch : yymatch) = yyAction18(strm, yyNO_MATCH)  
 fun yyQ105 (strm, lastMatch : yymatch) = yyAction67(strm, yyNO_MATCH)  
 fun yyQ104 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #":"  
               then yystuck(lastMatch)  
             else if inp < #":"  
               then if inp = #"("  
                   then yystuck(lastMatch)  
                 else if inp < #"("  
                   then if inp = #"'"  
                       then yyQ105(strm', lastMatch)  
                       else yystuck(lastMatch)  
                 else if inp <= #"/"  
                   then yystuck(lastMatch)  
                   else yyQ104(strm', lastMatch)  
             else if inp = #"G"  
               then yystuck(lastMatch)  
             else if inp < #"G"  
               then if inp <= #"@"  
                   then yystuck(lastMatch)  
                   else yyQ104(strm', lastMatch)  
             else if inp = #"a"  
               then yyQ104(strm', lastMatch)  
             else if inp < #"a"  
               then yystuck(lastMatch)  
             else if inp <= #"f"  
               then yyQ104(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ103 (strm, lastMatch : yymatch) = yyAction69(strm, yyNO_MATCH)  
 fun yyQ102 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #":"  
               then yystuck(lastMatch)  
             else if inp < #":"  
               then if inp = #"("  
                   then yystuck(lastMatch)  
                 else if inp < #"("  
                   then if inp = #"'"  
                       then yyQ103(strm', lastMatch)  
                       else yystuck(lastMatch)  
                 else if inp <= #"/"  
                   then yystuck(lastMatch)  
                   else yyQ104(strm', lastMatch)  
             else if inp = #"G"  
               then yystuck(lastMatch)  
             else if inp < #"G"  
               then if inp <= #"@"  
                   then yystuck(lastMatch)  
                   else yyQ104(strm', lastMatch)  
             else if inp = #"a"  
               then yyQ104(strm', lastMatch)  
             else if inp < #"a"  
               then yystuck(lastMatch)  
             else if inp <= #"f"  
               then yyQ104(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ108 (strm, lastMatch : yymatch) = yyAction66(strm, yyNO_MATCH)  
 fun yyQ109 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"'"  
               then yyQ108(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ107 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"("  
               then yystuck(lastMatch)  
             else if inp < #"("  
               then if inp = #"'"  
                   then yyQ108(strm', lastMatch)  
                   else yystuck(lastMatch)  
             else if inp = #"0"  
               then yyQ109(strm', lastMatch)  
             else if inp < #"0"  
               then yystuck(lastMatch)  
             else if inp <= #"7"  
               then yyQ109(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ106 (strm, lastMatch : yymatch) = yyAction66(strm, yyNO_MATCH)  
 fun yyQ101 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"("  
               then yystuck(lastMatch)  
             else if inp < #"("  
               then if inp = #"'"  
                   then yyQ106(strm', lastMatch)  
                   else yystuck(lastMatch)  
             else if inp = #"0"  
               then yyQ107(strm', lastMatch)  
             else if inp < #"0"  
               then yystuck(lastMatch)  
             else if inp <= #"7"  
               then yyQ107(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ100 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"'"  
               then yyQ103(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ99 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ101(strm', lastMatch)  
             else if inp < #"0"  
               then if inp = #"\n"  
                   then yystuck(lastMatch)  
                   else yyQ100(strm', lastMatch)  
             else if inp = #"x"  
               then yyQ102(strm', lastMatch)  
             else if inp < #"x"  
               then if inp <= #"7"  
                   then yyQ101(strm', lastMatch)  
                   else yyQ100(strm', lastMatch)  
               else yyQ100(strm', lastMatch)  
       (* end case *))  
 fun yyQ110 (strm, lastMatch : yymatch) = yyAction68(strm, yyNO_MATCH)  
 fun yyQ98 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"'"  
               then yyQ110(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ33 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction71(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\v"  
               then yyQ98(strm', yyMATCH(strm, yyAction71, yyNO_MATCH))  
             else if inp < #"\v"  
               then if inp = #"\n"  
                   then yyAction71(strm, yyNO_MATCH)  
                   else yyQ98(strm', yyMATCH(strm, yyAction71, yyNO_MATCH))  
             else if inp = #"\\"  
               then yyQ99(strm', yyMATCH(strm, yyAction71, yyNO_MATCH))  
               else yyQ98(strm', yyMATCH(strm, yyAction71, yyNO_MATCH))  
       (* end case *))  
 fun yyQ112 (strm, lastMatch : yymatch) = yyAction52(strm, yyNO_MATCH)  
 fun yyQ111 (strm, lastMatch : yymatch) = yyAction59(strm, yyNO_MATCH)  
 fun yyQ32 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction39(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"'"  
               then yyAction39(strm, yyNO_MATCH)  
             else if inp < #"'"  
               then if inp = #"&"  
                   then yyQ111(strm', yyMATCH(strm, yyAction39, yyNO_MATCH))  
                   else yyAction39(strm, yyNO_MATCH)  
             else if inp = #"="  
               then yyQ112(strm', yyMATCH(strm, yyAction39, yyNO_MATCH))  
               else yyAction39(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ113 (strm, lastMatch : yymatch) = yyAction48(strm, yyNO_MATCH)  
 fun yyQ31 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction40(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ113(strm', yyMATCH(strm, yyAction40, yyNO_MATCH))  
               else yyAction40(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ10 (strm, lastMatch : yymatch) = yyAction0(strm, lastMatch)  
 fun yyQ9 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"\n"  
               then yyQ10(strm', lastMatch)  
               else yyQ9(strm', lastMatch)  
       (* end case *))  
 fun yyQ30 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction71(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\n"  
               then yyQ10(strm', yyMATCH(strm, yyAction71, yyNO_MATCH))  
               else yyQ9(strm', yyMATCH(strm, yyAction71, yyNO_MATCH))  
       (* end case *))  
 fun yyQ29 (strm, lastMatch : yymatch) = yyAction6(strm, yyNO_MATCH)  
 fun yyQ114 (strm, lastMatch : yymatch) = yyAction57(strm, yyNO_MATCH)  
 fun yyQ28 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction28(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"="  
               then yyQ114(strm', yyMATCH(strm, yyAction28, yyNO_MATCH))  
               else yyAction28(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ5 (strm, lastMatch : yymatch) = yyAction1(strm, yyNO_MATCH)  
 fun yyQ11 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction2(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\r"  
               then yyAction2(strm, yyNO_MATCH)  
             else if inp < #"\r"  
               then if inp = #"\n"  
                   then yyAction2(strm, yyNO_MATCH)  
                 else if inp < #"\n"  
                   then if inp = #"\t"  
                       then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyAction2(strm, yyNO_MATCH)  
                 else if inp = #"\f"  
                   then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyAction2(strm, yyNO_MATCH)  
             else if inp = #"!"  
               then yyAction2(strm, yyNO_MATCH)  
             else if inp < #"!"  
               then if inp = #" "  
                   then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyAction2(strm, yyNO_MATCH)  
             else if inp = #"#"  
               then yyQ9(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
               else yyAction2(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ27 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction2(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\r"  
               then yyAction2(strm, yyNO_MATCH)  
             else if inp < #"\r"  
               then if inp = #"\n"  
                   then yyAction2(strm, yyNO_MATCH)  
                 else if inp < #"\n"  
                   then if inp = #"\t"  
                       then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyAction2(strm, yyNO_MATCH)  
                 else if inp = #"\f"  
                   then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyAction2(strm, yyNO_MATCH)  
             else if inp = #"!"  
               then yyAction2(strm, yyNO_MATCH)  
             else if inp < #"!"  
               then if inp = #" "  
                   then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyAction2(strm, yyNO_MATCH)  
             else if inp = #"#"  
               then yyQ9(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
               else yyAction2(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ26 (strm, lastMatch : yymatch) = yyAction71(strm, yyNO_MATCH)  
 fun yyQ2 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE =>  
             if yyInput.eof(!(yystrm))  
               then UserDeclarations.eof(yyarg)  
               else yyAction2(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ42(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp < #"0"  
               then if inp = #"%"  
                   then yyQ31(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #"%"  
                   then if inp = #"\r"  
                       then yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp < #"\r"  
                       then if inp = #"\n"  
                           then yyQ5(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                         else if inp < #"\n"  
                           then if inp = #"\t"  
                               then yyQ27(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                               else yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                         else if inp = #"\v"  
                           then yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                           else yyQ27(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp = #"\""  
                       then yyQ29(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp < #"\""  
                       then if inp = #" "  
                           then yyQ27(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                         else if inp = #"!"  
                           then yyQ28(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                           else yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp = #"#"  
                       then yyQ30(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp = #"+"  
                   then yyQ37(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #"+"  
                   then if inp = #"("  
                       then yyQ34(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp < #"("  
                       then if inp = #"&"  
                           then yyQ32(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                           else yyQ33(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp = #")"  
                       then yyQ35(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ36(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp = #"."  
                   then yyQ40(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #"."  
                   then if inp = #","  
                       then yyQ38(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ39(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyQ41(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp = #"\\"  
               then yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp < #"\\"  
               then if inp = #">"  
                   then yyQ48(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #">"  
                   then if inp = #";"  
                       then yyQ45(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp < #";"  
                       then if inp = #":"  
                           then yyQ44(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                           else yyQ43(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp = #"<"  
                       then yyQ46(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ47(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp = #"A"  
                   then yyQ50(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #"A"  
                   then if inp = #"?"  
                       then yyQ49(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp = #"["  
                   then yyQ51(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyQ50(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp = #"{"  
               then yyQ54(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp < #"{"  
               then if inp = #"_"  
                   then yyQ50(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #"_"  
                   then if inp = #"]"  
                       then yyQ52(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ53(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp = #"`"  
                   then yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyQ50(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp = #"~"  
               then yyQ57(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp < #"~"  
               then if inp = #"|"  
                   then yyQ55(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyQ56(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
               else yyQ26(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
       (* end case *))  
 fun yyQ22 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction13(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"A"  
               then yyQ22(strm', yyMATCH(strm, yyAction13, yyNO_MATCH))  
             else if inp < #"A"  
               then if inp = #"0"  
                   then yyQ22(strm', yyMATCH(strm, yyAction13, yyNO_MATCH))  
                 else if inp < #"0"  
                   then yyAction13(strm, yyNO_MATCH)  
                 else if inp <= #"9"  
                   then yyQ22(strm', yyMATCH(strm, yyAction13, yyNO_MATCH))  
                   else yyAction13(strm, yyNO_MATCH)  
             else if inp = #"a"  
               then yyQ22(strm', yyMATCH(strm, yyAction13, yyNO_MATCH))  
             else if inp < #"a"  
               then if inp <= #"F"  
                   then yyQ22(strm', yyMATCH(strm, yyAction13, yyNO_MATCH))  
                   else yyAction13(strm, yyNO_MATCH)  
             else if inp <= #"f"  
               then yyQ22(strm', yyMATCH(strm, yyAction13, yyNO_MATCH))  
               else yyAction13(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ21 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction15(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"A"  
               then yyQ22(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
             else if inp < #"A"  
               then if inp = #"0"  
                   then yyQ22(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
                 else if inp < #"0"  
                   then yyAction15(strm, yyNO_MATCH)  
                 else if inp <= #"9"  
                   then yyQ22(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
                   else yyAction15(strm, yyNO_MATCH)  
             else if inp = #"a"  
               then yyQ22(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
             else if inp < #"a"  
               then if inp <= #"F"  
                   then yyQ22(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
                   else yyAction15(strm, yyNO_MATCH)  
             else if inp <= #"f"  
               then yyQ22(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
               else yyAction15(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ23 (strm, lastMatch : yymatch) = yyAction14(strm, yyNO_MATCH)  
 fun yyQ20 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction15(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"@"  
               then yyQ23(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
             else if inp < #"@"  
               then yyAction15(strm, yyNO_MATCH)  
             else if inp <= #"_"  
               then yyQ23(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
               else yyAction15(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ25 (strm, lastMatch : yymatch) = yyAction12(strm, yyNO_MATCH)  
 fun yyQ24 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ25(strm', lastMatch)  
             else if inp < #"0"  
               then yystuck(lastMatch)  
             else if inp <= #"7"  
               then yyQ25(strm', lastMatch)  
               else yystuck(lastMatch)  
       (* end case *))  
 fun yyQ19 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction15(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ24(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
             else if inp < #"0"  
               then yyAction15(strm, yyNO_MATCH)  
             else if inp <= #"7"  
               then yyQ24(strm', yyMATCH(strm, yyAction15, yyNO_MATCH))  
               else yyAction15(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ18 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction11(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"0"  
               then yyQ24(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))  
             else if inp < #"0"  
               then yyAction11(strm, yyNO_MATCH)  
             else if inp <= #"7"  
               then yyQ24(strm', yyMATCH(strm, yyAction11, yyNO_MATCH))  
               else yyAction11(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ17 (strm, lastMatch : yymatch) = yyAction10(strm, yyNO_MATCH)  
 fun yyQ16 (strm, lastMatch : yymatch) = yyAction15(strm, yyNO_MATCH)  
 fun yyQ15 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yystuck(lastMatch)  
         | SOME(inp, strm') =>  
             if inp = #"8"  
               then yyQ16(strm', lastMatch)  
             else if inp < #"8"  
               then if inp = #"\v"  
                   then yyQ16(strm', lastMatch)  
                 else if inp < #"\v"  
                   then if inp = #"\n"  
                       then yyQ17(strm', lastMatch)  
                       else yyQ16(strm', lastMatch)  
                 else if inp = #"0"  
                   then yyQ18(strm', lastMatch)  
                 else if inp <= #"/"  
                   then yyQ16(strm', lastMatch)  
                   else yyQ19(strm', lastMatch)  
             else if inp = #"_"  
               then yyQ16(strm', lastMatch)  
             else if inp < #"_"  
               then if inp = #"^"  
                   then yyQ20(strm', lastMatch)  
                   else yyQ16(strm', lastMatch)  
             else if inp = #"x"  
               then yyQ21(strm', lastMatch)  
               else yyQ16(strm', lastMatch)  
       (* end case *))  
 fun yyQ14 (strm, lastMatch : yymatch) = yyAction7(strm, yyNO_MATCH)  
 fun yyQ13 (strm, lastMatch : yymatch) = yyAction8(strm, yyNO_MATCH)  
 fun yyQ12 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction9(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\""  
               then yyAction9(strm, yyNO_MATCH)  
             else if inp < #"\""  
               then if inp = #"\n"  
                   then yyAction9(strm, yyNO_MATCH)  
                   else yyQ12(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
             else if inp = #"\\"  
               then yyAction9(strm, yyNO_MATCH)  
               else yyQ12(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
       (* end case *))  
 fun yyQ1 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE =>  
             if yyInput.eof(!(yystrm))  
               then UserDeclarations.eof(yyarg)  
               else yyAction9(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\""  
               then yyQ14(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
             else if inp < #"\""  
               then if inp = #"\n"  
                   then yyQ13(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
                   else yyQ12(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
             else if inp = #"\\"  
               then yyQ15(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
               else yyQ12(strm', yyMATCH(strm, yyAction9, yyNO_MATCH))  
       (* end case *))  
 fun yyQ8 (strm, lastMatch : yymatch) = yyAction4(strm, yyNO_MATCH)  
 fun yyQ7 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction5(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"/"  
               then yyQ8(strm', yyMATCH(strm, yyAction5, yyNO_MATCH))  
               else yyAction5(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ6 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction5(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\n"  
               then yyQ10(strm', yyMATCH(strm, yyAction5, yyNO_MATCH))  
               else yyQ9(strm', yyMATCH(strm, yyAction5, yyNO_MATCH))  
       (* end case *))  
 fun yyQ4 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE => yyAction2(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #"\r"  
               then yyAction2(strm, yyNO_MATCH)  
             else if inp < #"\r"  
               then if inp = #"\n"  
                   then yyAction2(strm, yyNO_MATCH)  
                 else if inp < #"\n"  
                   then if inp = #"\t"  
                       then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyAction2(strm, yyNO_MATCH)  
                 else if inp = #"\f"  
                   then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyAction2(strm, yyNO_MATCH)  
             else if inp = #"!"  
               then yyAction2(strm, yyNO_MATCH)  
             else if inp < #"!"  
               then if inp = #" "  
                   then yyQ11(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyAction2(strm, yyNO_MATCH)  
             else if inp = #"#"  
               then yyQ9(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
               else yyAction2(strm, yyNO_MATCH)  
       (* end case *))  
 fun yyQ3 (strm, lastMatch : yymatch) = yyAction5(strm, yyNO_MATCH)  
 fun yyQ0 (strm, lastMatch : yymatch) = (case (yygetc(strm))  
        of NONE =>  
             if yyInput.eof(!(yystrm))  
               then UserDeclarations.eof(yyarg)  
               else yyAction2(strm, yyNO_MATCH)  
         | SOME(inp, strm') =>  
             if inp = #" "  
               then yyQ4(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp < #" "  
               then if inp = #"\v"  
                   then yyQ3(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp < #"\v"  
                   then if inp = #"\t"  
                       then yyQ4(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                     else if inp = #"\n"  
                       then yyQ5(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                       else yyQ3(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                 else if inp = #"\f"  
                   then yyQ4(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyQ3(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp = #"$"  
               then yyQ3(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp < #"$"  
               then if inp = #"#"  
                   then yyQ6(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
                   else yyQ3(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
             else if inp = #"*"  
               then yyQ7(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
               else yyQ3(strm', yyMATCH(strm, yyAction2, yyNO_MATCH))  
       (* end case *))  
 in  
   (case (!(yyss))  
    of C => yyQ0(!(yystrm), yyNO_MATCH)  
     | S => yyQ1(!(yystrm), yyNO_MATCH)  
     | INITIAL => yyQ2(!(yystrm), yyNO_MATCH)  
   (* end case *))  
 end  
             end  
           in  
             continue()  
             handle IO.Io{cause, ...} => raise cause  
           end  
         in  
           lex  
1153          end          end
1154      in  in continue end
1155      fun makeLexer yyinputN = mk (yyInput.mkStream yyinputN)    in lex
     fun makeLexer' ins = mk (yyInput.mkStream ins)  
1156      end      end
   
1157    end    end

Legend:
Removed from v.3743  
changed lines
  Added in v.3744

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