1 
2 (* lexical analyzer template (TP Lex V3.0), V1.0 3-2-91 AG *)
3 
4 (* global definitions: *)
5 {
6     $Id$
7     Copyright (c) 1993-98 by Florian Klaempfl
8 
9     This program is free software; you can redistribute it and/or modify
10     it under the terms of the GNU General Public License as published by
11     the Free Software Foundation; either version 2 of the License, or
12     (at your option) any later version.
13 
14     This program is distributed in the hope that it will be useful,
15     but WITHOUT ANY WARRANTY; without even the implied warranty of
16     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17     GNU General Public License for more details.
18 
19     You should have received a copy of the GNU General Public License
20     along with this program; if not, write to the Free Software
21     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 
23  ****************************************************************************}
24 
25 
26 unit scan;
27 
28   interface
29 
30   uses
31    strings,
32    lexlib,yacclib;
33 
34     type
35        Char=system.char;
36        ttyp = (
37           t_id,
38           { p contains the string }
39           t_arraydef,
40           { }
41           t_pointerdef,
42           { p1 contains the definition
43             if in type overrider
44             or nothing for args
45           }
46           t_addrdef,
47 
48           t_void,
49           { no field }
50           t_dec,
51           { }
52           t_declist,
53           { p1 is t_dec
54             next if exists }
55           t_memberdec,
56           { p1 is type specifier
57             p2 is declarator_list }
58           t_structdef,
59           { }
60           t_memberdeclist,
61           { p1 is memberdec
62             next is next if it exist }
63           t_procdef,
64           { }
65           t_uniondef,
66           { }
67           t_enumdef,
68           { }
69           t_enumlist,
70           { }
71           t_preop,
72           { p contains the operator string
73             p1 contains the right expr }
74           t_bop,
75           { p contains the operator string
76             p1 contains the left expr
77             p2 contains the right expr }
78           t_arg,
79           {
80             p1 contain the typedef
81             p2 the declarator (t_dec)
82           }
83           t_arglist,
84           { }
85           t_funexprlist,
86           { }
87           t_exprlist,
88           { p1 contains the expr
89             next contains the next if it exists }
90           t_ifexpr,
91           { p1 contains the condition expr
92             p2 contains the if branch
93             p3 contains the else branch }
94           t_funcname,
95           { p1 contains the function dname
96             p2 contains the funexprlist
97             p3 possibly contains the return type }
98           t_typespec,
99           { p1 is the type itself
100             p2 the typecast expr }
101           t_size_specifier,
102           { p1 expr for size }
103           t_default_value
104           { p1 expr for value }
105           );
106 
107        {tdtyp = (dt_id,dt_one,dt_two,dt_three,dt_no,dt_uop,dt_bop);
108         obsolete removed }
109 
110        presobject = ^tresobject;
111 
112        tresobject = object
113           typ : ttyp;
114           p : pchar;
115           next : presobject;
116           p1,p2,p3 : presobject;
117           { dtyp : tdtyp; }
118           constructor init_no(t : ttyp);
119           constructor init_one(t : ttyp;_p1 : presobject);
120           constructor init_two(t : ttyp;_p1,_p2 : presobject);
121           constructor init_three(t : ttyp;_p1,_p2,_p3 : presobject);
122           constructor init_id(const s : string);
123           constructor init_bop(const s : string;_p1,_p2 : presobject);
124           constructor init_preop(const s : string;_p1 : presobject);
strnull125           function str : string;
strlengthnull126           function strlength : byte;
get_copynull127           function get_copy : presobject;
128           { can this ve considered as a constant ? }
is_constnull129           function is_const : boolean;
130           destructor done;
131        end;
132 
133      tblocktype = (bt_type,bt_const,bt_var,bt_func,bt_no);
134 
135 
136     var
137        infile : string;
138        textinfile,outfile : text;
139        c : char;
140        aktspace : string;
141        block_type : tblocktype;
142 
143     const
144        in_define : boolean = false;
145        { 1 after define; 2 after the ID to print the first
146        separating space }
147        in_space_define : byte = 0;
148        arglevel : longint = 0;
149        prev_line : string = '';
150        last_source_line : string = 'Line number 0';
151 
yylexnull152     function yylex : integer;
act_tokennull153     function act_token : string;
154     procedure internalerror(i : integer);
155 
156     procedure next_line;
157 
strpnewnull158     function strpnew(const s : string) : pchar;
159 
160   implementation
161     uses options,converu;
162 
163     procedure internalerror(i : integer);
164       begin
165          writeln('Internal error ',i,' in line ',line_no);
166          halt(1);
167       end;
168 
169     { keep the last source line }
170     procedure next_line;
171 
172       begin
173          inc(line_no);
174          prev_line:=last_source_line;
175          readln(textinfile,last_source_line);
176       end;
177 
178     procedure commenteof;
179       begin
180          writeln('unexpected EOF inside comment at line ',line_no);
181       end;
182 
183     var         p : pchar;
strpnewnull184     function strpnew(const s : string) : pchar;
185       begin
186          getmem(p,length(s)+1);
187          strpcopy(p,s);
188          strpnew:=p;
189       end;
190 
191     const
192        newline = #10;
193 
194     constructor tresobject.init_preop(const s : string;_p1 : presobject);
195       begin
196          typ:=t_preop;
197          p:=strpnew(s);
198          p1:=_p1;
199          p2:=nil;
200          p3:=nil;
201          next:=nil;
202       end;
203 
204     constructor tresobject.init_bop(const s : string;_p1,_p2 : presobject);
205       begin
206          typ:=t_bop;
207          p:=strpnew(s);
208          p1:=_p1;
209          p2:=_p2;
210          p3:=nil;
211          next:=nil;
212       end;
213 
214     constructor tresobject.init_id(const s : string);
215       begin
216          typ:=t_id;
217          p:=strpnew(s);
218          p1:=nil;
219          p2:=nil;
220          p3:=nil;
221          next:=nil;
222       end;
223 
224     constructor tresobject.init_two(t : ttyp;_p1,_p2 : presobject);
225       begin
226          typ:=t;
227          p1:=_p1;
228          p2:=_p2;
229          p3:=nil;
230          p:=nil;
231          next:=nil;
232       end;
233 
234     constructor tresobject.init_three(t : ttyp;_p1,_p2,_p3 : presobject);
235       begin
236          typ:=t;
237          p1:=_p1;
238          p2:=_p2;
239          p3:=_p3;
240          p:=nil;
241          next:=nil;
242       end;
243 
244     constructor tresobject.init_one(t : ttyp;_p1 : presobject);
245       begin
246          typ:=t;
247          p1:=_p1;
248          p2:=nil;
249          p3:=nil;
250          next:=nil;
251          p:=nil;
252       end;
253 
254     constructor tresobject.init_no(t : ttyp);
255       begin
256          typ:=t;
257          p:=nil;
258          p1:=nil;
259          p2:=nil;
260          p3:=nil;
261          next:=nil;
262       end;
263 
tresobject.strnull264     function tresobject.str : string;
265 
266       begin
267          str:=strpas(p);
268       end;
269 
tresobject.strlengthnull270     function tresobject.strlength : byte;
271 
272       begin
273          if assigned(p) then
274            strlength:=strlen(p)
275          else
276            strlength:=0;
277       end;
278 
279           { can this ve considered as a constant ? }
tresobject.is_constnull280     function tresobject.is_const : boolean;
281 
282       begin
283          case typ of
284            t_id,t_void :
285              is_const:=true;
286            t_preop  :
287              is_const:= ((str='-') or (str=' not ')) and p1^.is_const;
288            t_bop  :
289              is_const:= p2^.is_const and p1^.is_const;
290          else
291            is_const:=false;
292          end;
293       end;
294 
tresobject.get_copynull295     function tresobject.get_copy : presobject;
296       var
297          newres : presobject;
298       begin
299          newres:=new(presobject,init_no(typ));
300          if assigned(p) then
301            newres^.p:=strnew(p);
302          if assigned(p1) then
303            newres^.p1:=p1^.get_copy;
304          if assigned(p2) then
305            newres^.p2:=p2^.get_copy;
306          if assigned(p3) then
307            newres^.p3:=p3^.get_copy;
308          if assigned(next) then
309            newres^.next:=next^.get_copy;
310          get_copy:=newres;
311       end;
312 
313     destructor tresobject.done;
314       begin
315          (* writeln('disposing ',byte(typ)); *)
316          if assigned(p)then strdispose(p);
317          if assigned(p1) then
318            dispose(p1,done);
319          if assigned(p2) then
320            dispose(p2,done);
321          if assigned(p3) then
322            dispose(p3,done);
323          if assigned(next) then
324            dispose(next,done);
325       end;
326 
327 
yylexnull328 function yylex : Integer;
329 
330 procedure yyaction ( yyruleno : Integer );
331   (* local definitions: *)
332 
333 begin
334   (* actions: *)
335   case yyruleno of
336   1:
337                        begin
338                           if not stripcomment then
339                             write(outfile,aktspace,'{');
340                           repeat
341                             c:=get_char;
342                             case c of
343                                '*' : begin
344                                          c:=get_char;
345                                          if c='/' then
346                                            begin
347                                               if not stripcomment then
348                                                 writeln(outfile,' }');
349                                               flush(outfile);
350                                               exit;
351                                            end
352                                          else
353                                            begin
354                                               if not stripcomment then
355                                                 write(outfile,' ');
356                                               unget_char(c)
357                                            end;
358                                       end;
359                                newline : begin
360                                             next_line;
361                                             if not stripcomment then
362                                                begin
363                                                writeln(outfile);
364                                                write(outfile,aktspace);
365                                                end;
366                                          end;
367                                #0 : commenteof;
368                                else if not stripcomment then
369                                     write(outfile,c);
370                             end;
371                           until false;
372                           flush(outfile);
373                         end;
374 
375   2:
376                        begin
377                           If not stripcomment then
378                              write(outfile,aktspace,'{');
379                           repeat
380                             c:=get_char;
381                             case c of
382                               newline : begin
383                                         unget_char(c);
384                                         if not stripcomment then
385                                           writeln(outfile,' }');
386                                         flush(outfile);
387                                         exit;
388                                         end;
389                                #0 : commenteof;
390                                else if not stripcomment then
391                                     write(outfile,c);
392                             flush(outfile);
393                             end;
394                           until false;
395                           flush(outfile);
396                         end;
397   3:
398                         return(CSTRING);
399   4:
400                         return(CSTRING);
401   5:
402                         if win32headers then
403                           return(CSTRING)
404                         else
405                           return(256);
406   6:
407                         if win32headers then
408                           return(CSTRING)
409                         else
410                           return(256);
411   7:
412                           begin
413                            if yytext[length(yytext)]='L' then
414                              dec(byte(yytext[0]));
415                            if yytext[length(yytext)]='U' then
416                              dec(byte(yytext[0]));
417                            return(NUMBER);
418                         end;
419   8:
420                             begin
421                            (* handle pre- and postfixes *)
422                            if copy(yytext,1,2)='0x' then
423                              begin
424                                 delete(yytext,1,2);
425                                 yytext:='$'+yytext;
426                              end;
427                            if yytext[length(yytext)]='L' then
428                              dec(byte(yytext[0]));
429                            if yytext[length(yytext)]='U' then
430                              dec(byte(yytext[0]));
431                            return(NUMBER);
432                         end;
433 
434   9:
435 
436                        begin
437                        return(NUMBER);
438                        end;
439 
440   10:
441                         if in_define then
442                           return(DEREF)
443                         else
444                           return(256);
445   11:
446                         return(MINUS);
447   12:
448                         return(EQUAL);
449   13:
450                         return(UNEQUAL);
451   14:
452                         return(GTE);
453   15:
454                         return(LTE);
455   16:
456                         return(_SHR);
457   17:
458                         return(STICK);
459   18:
460                         return(_SHL);
461   19:
462                         return(GT);
463   20:
464                         return(LT);
465   21:
466                         return(_OR);
467   22:
468                         return(_AND);
469   23:
470                         return(_NOT);
471   24:
472                         return(_SLASH);
473   25:
474                         return(_PLUS);
475   26:
476                         return(QUESTIONMARK);
477   27:
478                         return(COLON);
479   28:
480                         return(COMMA);
481   29:
482                         return(LECKKLAMMER);
483   30:
484                         return(RECKKLAMMER);
485   31:
486                         begin
487                            inc(arglevel);
488                            return(LKLAMMER);
489                         end;
490   32:
491                         begin
492                            dec(arglevel);
493                            return(RKLAMMER);
494                         end;
495   33:
496                         return(STAR);
497   34:
498                         return(ELLIPSIS);
499   35:
500                         if in_define then
501                           return(POINT)
502                         else
503                           return(256);
504   36:
505                         return(_ASSIGN);
506   37:
507                         return(EXTERN);
508   38:
509                         if Win32headers then
510                           return(STDCALL)
511                         else
512                           return(ID);
513   39:
514                         if not Win32headers then
515                           return(ID)
516                         else
517                           return(CDECL);
518   40:
519                                     if not Win32headers then
520                           return(ID)
521                         else
522                           return(PASCAL);
523   41:
524                                     if not Win32headers then
525                           return(ID)
526                         else
527                           return(_PACKED);
528   42:
529                         if not Win32headers then
530                           return(ID)
531                         else
532                           return(WINAPI);
533   43:
534                         if not palmpilot then
535                           return(ID)
536                         else
537                           return(SYS_TRAP);
538   44:
539                         if not Win32headers then
540                           return(ID)
541                         else
542                           return(WINGDIAPI);
543   45:
544                                  if not Win32headers then
545                           return(ID)
546                         else
547                           return(CALLBACK);
548   46:
549                                  if not Win32headers then
550                           return(ID)
551                         else
552                           return(CALLBACK);
553 
554   47:
555                         return(VOID);
556   48:
557                         return(VOID);
558   49:
559 
560                         writeln(outfile,'{ C++ extern C conditionnal removed }');
561   50:
562 
563                         writeln(outfile,'{ C++ end of extern C conditionnal removed }');
564 
565   51:
566                         begin
567                            writeln(outfile,'{$else}');
568                            block_type:=bt_no;
569                            flush(outfile);
570                         end;
571   52:
572                         begin
573                            writeln(outfile,'{$endif}');
574                            block_type:=bt_no;
575                            flush(outfile);
576                         end;
577   53:
578                        begin
579                            write(outfile,'(*** was #elif ****)');
580                            write(outfile,'{$else');
581                                           c:=get_char;
582                            while c<>newline do
583                              begin write(outfile,c);c:=get_char;end;
584                            writeln(outfile,'}');
585                            block_type:=bt_no;
586                            flush(outfile);
587                            next_line;
588                         end;
589   54:
590                         begin
591                            write(outfile,'{$undef');
592                                           c:=get_char;
593                            while c<>newline do
594                              begin write(outfile,c);c:=get_char;end;
595                            writeln(outfile,'}');
596                            flush(outfile);
597                            next_line;
598                         end;
599   55:
600                         begin
601                            write(outfile,'{$error');
602                            c:=get_char;
603                            while c<>newline do
604                              begin
605                                 write(outfile,c);
606                                 c:=get_char;
607                              end;
608                            writeln(outfile,'}');
609                            flush(outfile);
610                            next_line;
611                         end;
612 
613   56:
614                         begin
615                            write(outfile,'{$include');
616                                           c:=get_char;
617                            while c<>newline do
618                              begin write(outfile,c);c:=get_char;end;
619                            writeln(outfile,'}');
620                            flush(outfile);
621                            block_type:=bt_no;
622                            next_line;
623                         end;
624   57:
625                         begin
626                            write(outfile,'{$if');
627                                           c:=get_char;
628                            while c<>newline do
629                              begin write(outfile,c);c:=get_char;end;
630                            writeln(outfile,'}');
631                            flush(outfile);
632                            block_type:=bt_no;
633                            next_line;
634                         end;
635   58:
636                         begin
637                            write(outfile,'(** unsupported pragma');
638                            write(outfile,'#pragma');
639                                           c:=get_char;
640                            while c<>newline do
641                              begin write(outfile,c);c:=get_char;end;
642                            writeln(outfile,'*)');
643                            flush(outfile);
644                            block_type:=bt_no;
645                            next_line;
646                         end;
647   59:
648                         begin
649                            in_define:=true;
650                            in_space_define:=1;
651                            return(DEFINE);
652                         end;
653   60:
654                         return(_CHAR);
655   61:
656                         return(UNION);
657   62:
658                         return(ENUM);
659   63:
660                         return(STRUCT);
661   64:
662                         return(LGKLAMMER);
663   65:
664                         return(RGKLAMMER);
665   66:
666                         return(TYPEDEF);
667   67:
668                         return(INT);
669   68:
670                         return(SHORT);
671   69:
672                         return(LONG);
673   70:
674                         return(UNSIGNED);
675   71:
676                         return(REAL);
677   72:
678                         return(_CONST);
679   73:
680                         return(_CONST);
681   74:
682                         return(_FAR);
683   75:
684                         return(_FAR);
685   76:
686                          return(_NEAR);
687   77:
688                          return(_NEAR);
689   78:
690                          return(_HUGE);
691   79:
692                          return(_HUGE);
693   80:
694                         begin
695                            if in_space_define=1 then
696                              in_space_define:=2;
697                            return(ID);
698                         end;
699   81:
700                         return(SEMICOLON);
701   82:
702                         if arglevel=0 then
703                           if in_space_define=2 then
704                             begin
705                                in_space_define:=0;
706                                return(SPACE_DEFINE);
707                             end;
708   83:
709                         begin
710                            next_line;
711                            if arglevel=0 then
712                              if in_space_define=2 then
713                                begin
714                                   in_space_define:=0;
715                                   return(SPACE_DEFINE);
716                                end;
717                         end;
718   84:
719                         begin
720                            next_line;
721                            if in_define then
722                              begin
723                                  in_define:=false;
724                                  in_space_define:=0;
725                                  return(NEW_LINE);
726                              end;
727                         end;
728   85:
729                         begin
730                            writeln('Illegal character in line ',line_no);
731                            writeln(last_source_line);
732                            return(256 { error });
733                         end;
734   end;
735 end(*yyaction*);
736 
737 (* DFA table: *)
738 
739 type YYTRec = record
740                 cc : set of Char;
741                 s  : Integer;
742               end;
743 
744 const
745 
746 yynmarks   = 301;
747 yynmatches = 301;
748 yyntrans   = 522;
749 yynstates  = 297;
750 
751 yyk : array [1..yynmarks] of Integer = (
752   { 0: }
753   7,
754   { 1: }
755   7,
756   { 2: }
757   24,
758   85,
759   { 3: }
760   85,
761   { 4: }
762   85,
763   { 5: }
764   7,
765   80,
766   85,
767   { 6: }
768   7,
769   9,
770   85,
771   { 7: }
772   7,
773   80,
774   85,
775   { 8: }
776   7,
777   9,
778   85,
779   { 9: }
780   11,
781   85,
782   { 10: }
783   36,
784   85,
785   { 11: }
786   23,
787   85,
788   { 12: }
789   19,
790   85,
791   { 13: }
792   20,
793   85,
794   { 14: }
795   85,
796   { 15: }
797   21,
798   85,
799   { 16: }
800   22,
801   85,
802   { 17: }
803   25,
804   85,
805   { 18: }
806   26,
807   85,
808   { 19: }
809   27,
810   85,
811   { 20: }
812   28,
813   85,
814   { 21: }
815   29,
816   85,
817   { 22: }
818   30,
819   85,
820   { 23: }
821   31,
822   85,
823   { 24: }
824   32,
825   85,
826   { 25: }
827   33,
828   85,
829   { 26: }
830   35,
831   85,
832   { 27: }
833   80,
834   85,
835   { 28: }
836   80,
837   85,
838   { 29: }
839   80,
840   85,
841   { 30: }
842   80,
843   85,
844   { 31: }
845   80,
846   85,
847   { 32: }
848   80,
849   85,
850   { 33: }
851   80,
852   85,
853   { 34: }
854   80,
855   85,
856   { 35: }
857   80,
858   85,
859   { 36: }
860   80,
861   85,
862   { 37: }
863   80,
864   85,
865   { 38: }
866   64,
867   85,
868   { 39: }
869   65,
870   85,
871   { 40: }
872   80,
873   85,
874   { 41: }
875   80,
876   85,
877   { 42: }
878   80,
879   85,
880   { 43: }
881   80,
882   85,
883   { 44: }
884   80,
885   85,
886   { 45: }
887   80,
888   85,
889   { 46: }
890   80,
891   85,
892   { 47: }
893   80,
894   85,
895   { 48: }
896   80,
897   85,
898   { 49: }
899   80,
900   85,
901   { 50: }
902   81,
903   85,
904   { 51: }
905   82,
906   85,
907   { 52: }
908   85,
909   { 53: }
910   84,
911   { 54: }
912   85,
913   { 55: }
914   1,
915   { 56: }
916   2,
917   { 57: }
918   { 58: }
919   3,
920   { 59: }
921   { 60: }
922   4,
923   { 61: }
924   { 62: }
925   { 63: }
926   80,
927   { 64: }
928   7,
929   9,
930   { 65: }
931   7,
932   { 66: }
933   7,
934   { 67: }
935   { 68: }
936   { 69: }
937   7,
938   80,
939   { 70: }
940   8,
941   { 71: }
942   10,
943   { 72: }
944   12,
945   { 73: }
946   13,
947   { 74: }
948   14,
949   { 75: }
950   16,
951   { 76: }
952   15,
953   { 77: }
954   18,
955   { 78: }
956   17,
957   { 79: }
958   { 80: }
959   { 81: }
960   { 82: }
961   { 83: }
962   { 84: }
963   { 85: }
964   80,
965   { 86: }
966   80,
967   { 87: }
968   80,
969   { 88: }
970   80,
971   { 89: }
972   80,
973   { 90: }
974   80,
975   { 91: }
976   80,
977   { 92: }
978   80,
979   { 93: }
980   80,
981   { 94: }
982   80,
983   { 95: }
984   80,
985   { 96: }
986   80,
987   { 97: }
988   80,
989   { 98: }
990   80,
991   { 99: }
992   80,
993   { 100: }
994   80,
995   { 101: }
996   80,
997   { 102: }
998   80,
999   { 103: }
1000   80,
1001   { 104: }
1002   80,
1003   { 105: }
1004   80,
1005   { 106: }
1006   80,
1007   { 107: }
1008   80,
1009   { 108: }
1010   80,
1011   { 109: }
1012   80,
1013   { 110: }
1014   80,
1015   { 111: }
1016   80,
1017   { 112: }
1018   83,
1019   { 113: }
1020   5,
1021   { 114: }
1022   6,
1023   { 115: }
1024   9,
1025   { 116: }
1026   { 117: }
1027   9,
1028   { 118: }
1029   8,
1030   { 119: }
1031   8,
1032   { 120: }
1033   57,
1034   { 121: }
1035   { 122: }
1036   { 123: }
1037   { 124: }
1038   { 125: }
1039   { 126: }
1040   { 127: }
1041   { 128: }
1042   34,
1043   { 129: }
1044   80,
1045   { 130: }
1046   80,
1047   { 131: }
1048   80,
1049   { 132: }
1050   80,
1051   { 133: }
1052   80,
1053   { 134: }
1054   80,
1055   { 135: }
1056   80,
1057   { 136: }
1058   80,
1059   { 137: }
1060   80,
1061   { 138: }
1062   80,
1063   { 139: }
1064   80,
1065   { 140: }
1066   80,
1067   { 141: }
1068   80,
1069   { 142: }
1070   80,
1071   { 143: }
1072   80,
1073   { 144: }
1074   80,
1075   { 145: }
1076   80,
1077   { 146: }
1078   80,
1079   { 147: }
1080   80,
1081   { 148: }
1082   80,
1083   { 149: }
1084   67,
1085   80,
1086   { 150: }
1087   80,
1088   { 151: }
1089   80,
1090   { 152: }
1091   75,
1092   80,
1093   { 153: }
1094   74,
1095   80,
1096   { 154: }
1097   80,
1098   { 155: }
1099   80,
1100   { 156: }
1101   80,
1102   { 157: }
1103   80,
1104   { 158: }
1105   { 159: }
1106   { 160: }
1107   { 161: }
1108   { 162: }
1109   { 163: }
1110   { 164: }
1111   { 165: }
1112   { 166: }
1113   { 167: }
1114   80,
1115   { 168: }
1116   62,
1117   80,
1118   { 169: }
1119   80,
1120   { 170: }
1121   80,
1122   { 171: }
1123   80,
1124   { 172: }
1125   80,
1126   { 173: }
1127   80,
1128   { 174: }
1129   80,
1130   { 175: }
1131   80,
1132   { 176: }
1133   80,
1134   { 177: }
1135   80,
1136   { 178: }
1137   80,
1138   { 179: }
1139   47,
1140   80,
1141   { 180: }
1142   48,
1143   80,
1144   { 181: }
1145   60,
1146   80,
1147   { 182: }
1148   80,
1149   { 183: }
1150   80,
1151   { 184: }
1152   80,
1153   { 185: }
1154   80,
1155   { 186: }
1156   80,
1157   { 187: }
1158   80,
1159   { 188: }
1160   69,
1161   80,
1162   { 189: }
1163   80,
1164   { 190: }
1165   76,
1166   80,
1167   { 191: }
1168   77,
1169   80,
1170   { 192: }
1171   78,
1172   80,
1173   { 193: }
1174   79,
1175   80,
1176   { 194: }
1177   { 195: }
1178   { 196: }
1179   51,
1180   { 197: }
1181   53,
1182   { 198: }
1183   { 199: }
1184   { 200: }
1185   { 201: }
1186   { 202: }
1187   { 203: }
1188   80,
1189   { 204: }
1190   80,
1191   { 205: }
1192   80,
1193   { 206: }
1194   39,
1195   80,
1196   { 207: }
1197   80,
1198   { 208: }
1199   73,
1200   80,
1201   { 209: }
1202   80,
1203   { 210: }
1204   80,
1205   { 211: }
1206   80,
1207   { 212: }
1208   80,
1209   { 213: }
1210   80,
1211   { 214: }
1212   72,
1213   80,
1214   { 215: }
1215   61,
1216   80,
1217   { 216: }
1218   80,
1219   { 217: }
1220   80,
1221   { 218: }
1222   68,
1223   80,
1224   { 219: }
1225   80,
1226   { 220: }
1227   71,
1228   80,
1229   { 221: }
1230   { 222: }
1231   { 223: }
1232   52,
1233   { 224: }
1234   55,
1235   { 225: }
1236   54,
1237   { 226: }
1238   { 227: }
1239   { 228: }
1240   37,
1241   80,
1242   { 229: }
1243   80,
1244   { 230: }
1245   80,
1246   { 231: }
1247   80,
1248   { 232: }
1249   40,
1250   80,
1251   { 233: }
1252   41,
1253   80,
1254   { 234: }
1255   42,
1256   80,
1257   { 235: }
1258   80,
1259   { 236: }
1260   80,
1261   { 237: }
1262   80,
1263   { 238: }
1264   63,
1265   80,
1266   { 239: }
1267   80,
1268   { 240: }
1269   { 241: }
1270   { 242: }
1271   58,
1272   { 243: }
1273   59,
1274   { 244: }
1275   38,
1276   80,
1277   { 245: }
1278   80,
1279   { 246: }
1280   80,
1281   { 247: }
1282   80,
1283   { 248: }
1284   80,
1285   { 249: }
1286   80,
1287   { 250: }
1288   66,
1289   80,
1290   { 251: }
1291   { 252: }
1292   56,
1293   { 253: }
1294   43,
1295   80,
1296   { 254: }
1297   45,
1298   80,
1299   { 255: }
1300   80,
1301   { 256: }
1302   46,
1303   80,
1304   { 257: }
1305   70,
1306   80,
1307   { 258: }
1308   { 259: }
1309   44,
1310   80,
1311   { 260: }
1312   { 261: }
1313   { 262: }
1314   { 263: }
1315   { 264: }
1316   { 265: }
1317   { 266: }
1318   { 267: }
1319   { 268: }
1320   { 269: }
1321   { 270: }
1322   { 271: }
1323   { 272: }
1324   { 273: }
1325   { 274: }
1326   { 275: }
1327   { 276: }
1328   { 277: }
1329   { 278: }
1330   { 279: }
1331   { 280: }
1332   { 281: }
1333   { 282: }
1334   { 283: }
1335   { 284: }
1336   { 285: }
1337   50,
1338   { 286: }
1339   { 287: }
1340   { 288: }
1341   { 289: }
1342   { 290: }
1343   { 291: }
1344   { 292: }
1345   { 293: }
1346   { 294: }
1347   { 295: }
1348   { 296: }
1349   49
1350 );
1351 
1352 yym : array [1..yynmatches] of Integer = (
1353 { 0: }
1354   7,
1355 { 1: }
1356   7,
1357 { 2: }
1358   24,
1359   85,
1360 { 3: }
1361   85,
1362 { 4: }
1363   85,
1364 { 5: }
1365   7,
1366   80,
1367   85,
1368 { 6: }
1369   7,
1370   9,
1371   85,
1372 { 7: }
1373   7,
1374   80,
1375   85,
1376 { 8: }
1377   7,
1378   9,
1379   85,
1380 { 9: }
1381   11,
1382   85,
1383 { 10: }
1384   36,
1385   85,
1386 { 11: }
1387   23,
1388   85,
1389 { 12: }
1390   19,
1391   85,
1392 { 13: }
1393   20,
1394   85,
1395 { 14: }
1396   85,
1397 { 15: }
1398   21,
1399   85,
1400 { 16: }
1401   22,
1402   85,
1403 { 17: }
1404   25,
1405   85,
1406 { 18: }
1407   26,
1408   85,
1409 { 19: }
1410   27,
1411   85,
1412 { 20: }
1413   28,
1414   85,
1415 { 21: }
1416   29,
1417   85,
1418 { 22: }
1419   30,
1420   85,
1421 { 23: }
1422   31,
1423   85,
1424 { 24: }
1425   32,
1426   85,
1427 { 25: }
1428   33,
1429   85,
1430 { 26: }
1431   35,
1432   85,
1433 { 27: }
1434   80,
1435   85,
1436 { 28: }
1437   80,
1438   85,
1439 { 29: }
1440   80,
1441   85,
1442 { 30: }
1443   80,
1444   85,
1445 { 31: }
1446   80,
1447   85,
1448 { 32: }
1449   80,
1450   85,
1451 { 33: }
1452   80,
1453   85,
1454 { 34: }
1455   80,
1456   85,
1457 { 35: }
1458   80,
1459   85,
1460 { 36: }
1461   80,
1462   85,
1463 { 37: }
1464   80,
1465   85,
1466 { 38: }
1467   64,
1468   85,
1469 { 39: }
1470   65,
1471   85,
1472 { 40: }
1473   80,
1474   85,
1475 { 41: }
1476   80,
1477   85,
1478 { 42: }
1479   80,
1480   85,
1481 { 43: }
1482   80,
1483   85,
1484 { 44: }
1485   80,
1486   85,
1487 { 45: }
1488   80,
1489   85,
1490 { 46: }
1491   80,
1492   85,
1493 { 47: }
1494   80,
1495   85,
1496 { 48: }
1497   80,
1498   85,
1499 { 49: }
1500   80,
1501   85,
1502 { 50: }
1503   81,
1504   85,
1505 { 51: }
1506   82,
1507   85,
1508 { 52: }
1509   85,
1510 { 53: }
1511   84,
1512 { 54: }
1513   85,
1514 { 55: }
1515   1,
1516 { 56: }
1517   2,
1518 { 57: }
1519 { 58: }
1520   3,
1521 { 59: }
1522 { 60: }
1523   4,
1524 { 61: }
1525 { 62: }
1526 { 63: }
1527   80,
1528 { 64: }
1529   7,
1530   9,
1531 { 65: }
1532   7,
1533 { 66: }
1534   7,
1535 { 67: }
1536 { 68: }
1537 { 69: }
1538   7,
1539   80,
1540 { 70: }
1541   8,
1542 { 71: }
1543   10,
1544 { 72: }
1545   12,
1546 { 73: }
1547   13,
1548 { 74: }
1549   14,
1550 { 75: }
1551   16,
1552 { 76: }
1553   15,
1554 { 77: }
1555   18,
1556 { 78: }
1557   17,
1558 { 79: }
1559 { 80: }
1560 { 81: }
1561 { 82: }
1562 { 83: }
1563 { 84: }
1564 { 85: }
1565   80,
1566 { 86: }
1567   80,
1568 { 87: }
1569   80,
1570 { 88: }
1571   80,
1572 { 89: }
1573   80,
1574 { 90: }
1575   80,
1576 { 91: }
1577   80,
1578 { 92: }
1579   80,
1580 { 93: }
1581   80,
1582 { 94: }
1583   80,
1584 { 95: }
1585   80,
1586 { 96: }
1587   80,
1588 { 97: }
1589   80,
1590 { 98: }
1591   80,
1592 { 99: }
1593   80,
1594 { 100: }
1595   80,
1596 { 101: }
1597   80,
1598 { 102: }
1599   80,
1600 { 103: }
1601   80,
1602 { 104: }
1603   80,
1604 { 105: }
1605   80,
1606 { 106: }
1607   80,
1608 { 107: }
1609   80,
1610 { 108: }
1611   80,
1612 { 109: }
1613   80,
1614 { 110: }
1615   80,
1616 { 111: }
1617   80,
1618 { 112: }
1619   83,
1620 { 113: }
1621   5,
1622 { 114: }
1623   6,
1624 { 115: }
1625   9,
1626 { 116: }
1627 { 117: }
1628   9,
1629 { 118: }
1630   8,
1631 { 119: }
1632   8,
1633 { 120: }
1634   57,
1635 { 121: }
1636 { 122: }
1637 { 123: }
1638 { 124: }
1639 { 125: }
1640 { 126: }
1641 { 127: }
1642 { 128: }
1643   34,
1644 { 129: }
1645   80,
1646 { 130: }
1647   80,
1648 { 131: }
1649   80,
1650 { 132: }
1651   80,
1652 { 133: }
1653   80,
1654 { 134: }
1655   80,
1656 { 135: }
1657   80,
1658 { 136: }
1659   80,
1660 { 137: }
1661   80,
1662 { 138: }
1663   80,
1664 { 139: }
1665   80,
1666 { 140: }
1667   80,
1668 { 141: }
1669   80,
1670 { 142: }
1671   80,
1672 { 143: }
1673   80,
1674 { 144: }
1675   80,
1676 { 145: }
1677   80,
1678 { 146: }
1679   80,
1680 { 147: }
1681   80,
1682 { 148: }
1683   80,
1684 { 149: }
1685   67,
1686   80,
1687 { 150: }
1688   80,
1689 { 151: }
1690   80,
1691 { 152: }
1692   75,
1693   80,
1694 { 153: }
1695   74,
1696   80,
1697 { 154: }
1698   80,
1699 { 155: }
1700   80,
1701 { 156: }
1702   80,
1703 { 157: }
1704   80,
1705 { 158: }
1706 { 159: }
1707 { 160: }
1708 { 161: }
1709 { 162: }
1710 { 163: }
1711 { 164: }
1712 { 165: }
1713 { 166: }
1714 { 167: }
1715   80,
1716 { 168: }
1717   62,
1718   80,
1719 { 169: }
1720   80,
1721 { 170: }
1722   80,
1723 { 171: }
1724   80,
1725 { 172: }
1726   80,
1727 { 173: }
1728   80,
1729 { 174: }
1730   80,
1731 { 175: }
1732   80,
1733 { 176: }
1734   80,
1735 { 177: }
1736   80,
1737 { 178: }
1738   80,
1739 { 179: }
1740   47,
1741   80,
1742 { 180: }
1743   48,
1744   80,
1745 { 181: }
1746   60,
1747   80,
1748 { 182: }
1749   80,
1750 { 183: }
1751   80,
1752 { 184: }
1753   80,
1754 { 185: }
1755   80,
1756 { 186: }
1757   80,
1758 { 187: }
1759   80,
1760 { 188: }
1761   69,
1762   80,
1763 { 189: }
1764   80,
1765 { 190: }
1766   76,
1767   80,
1768 { 191: }
1769   77,
1770   80,
1771 { 192: }
1772   78,
1773   80,
1774 { 193: }
1775   79,
1776   80,
1777 { 194: }
1778 { 195: }
1779 { 196: }
1780   51,
1781 { 197: }
1782   53,
1783 { 198: }
1784 { 199: }
1785 { 200: }
1786 { 201: }
1787 { 202: }
1788 { 203: }
1789   80,
1790 { 204: }
1791   80,
1792 { 205: }
1793   80,
1794 { 206: }
1795   39,
1796   80,
1797 { 207: }
1798   80,
1799 { 208: }
1800   73,
1801   80,
1802 { 209: }
1803   80,
1804 { 210: }
1805   80,
1806 { 211: }
1807   80,
1808 { 212: }
1809   80,
1810 { 213: }
1811   80,
1812 { 214: }
1813   72,
1814   80,
1815 { 215: }
1816   61,
1817   80,
1818 { 216: }
1819   80,
1820 { 217: }
1821   80,
1822 { 218: }
1823   68,
1824   80,
1825 { 219: }
1826   80,
1827 { 220: }
1828   71,
1829   80,
1830 { 221: }
1831 { 222: }
1832 { 223: }
1833   52,
1834 { 224: }
1835   55,
1836 { 225: }
1837   54,
1838 { 226: }
1839 { 227: }
1840 { 228: }
1841   37,
1842   80,
1843 { 229: }
1844   80,
1845 { 230: }
1846   80,
1847 { 231: }
1848   80,
1849 { 232: }
1850   40,
1851   80,
1852 { 233: }
1853   41,
1854   80,
1855 { 234: }
1856   42,
1857   80,
1858 { 235: }
1859   80,
1860 { 236: }
1861   80,
1862 { 237: }
1863   80,
1864 { 238: }
1865   63,
1866   80,
1867 { 239: }
1868   80,
1869 { 240: }
1870 { 241: }
1871 { 242: }
1872   58,
1873 { 243: }
1874   59,
1875 { 244: }
1876   38,
1877   80,
1878 { 245: }
1879   80,
1880 { 246: }
1881   80,
1882 { 247: }
1883   80,
1884 { 248: }
1885   80,
1886 { 249: }
1887   80,
1888 { 250: }
1889   66,
1890   80,
1891 { 251: }
1892 { 252: }
1893   56,
1894 { 253: }
1895   43,
1896   80,
1897 { 254: }
1898   45,
1899   80,
1900 { 255: }
1901   80,
1902 { 256: }
1903   46,
1904   80,
1905 { 257: }
1906   70,
1907   80,
1908 { 258: }
1909 { 259: }
1910   44,
1911   80,
1912 { 260: }
1913 { 261: }
1914 { 262: }
1915 { 263: }
1916 { 264: }
1917 { 265: }
1918 { 266: }
1919 { 267: }
1920 { 268: }
1921 { 269: }
1922 { 270: }
1923 { 271: }
1924 { 272: }
1925 { 273: }
1926 { 274: }
1927 { 275: }
1928 { 276: }
1929 { 277: }
1930 { 278: }
1931 { 279: }
1932 { 280: }
1933 { 281: }
1934 { 282: }
1935 { 283: }
1936 { 284: }
1937 { 285: }
1938   50,
1939 { 286: }
1940 { 287: }
1941 { 288: }
1942 { 289: }
1943 { 290: }
1944 { 291: }
1945 { 292: }
1946 { 293: }
1947 { 294: }
1948 { 295: }
1949 { 296: }
1950   49
1951 );
1952 
1953 yyt : array [1..yyntrans] of YYTrec = (
1954 { 0: }
1955   ( cc: [ #1..#8,#11,#13..#31,'$','%','@','^','`','~'..#255 ]; s: 54),
1956   ( cc: [ #9,#12,' ' ]; s: 51),
1957   ( cc: [ #10 ]; s: 53),
1958   ( cc: [ '!' ]; s: 11),
1959   ( cc: [ '"' ]; s: 3),
1960   ( cc: [ '#' ]; s: 14),
1961   ( cc: [ '&' ]; s: 16),
1962   ( cc: [ '''' ]; s: 4),
1963   ( cc: [ '(' ]; s: 23),
1964   ( cc: [ ')' ]; s: 24),
1965   ( cc: [ '*' ]; s: 25),
1966   ( cc: [ '+' ]; s: 17),
1967   ( cc: [ ',' ]; s: 20),
1968   ( cc: [ '-' ]; s: 9),
1969   ( cc: [ '.' ]; s: 26),
1970   ( cc: [ '/' ]; s: 2),
1971   ( cc: [ '0' ]; s: 8),
1972   ( cc: [ '1'..'9' ]; s: 6),
1973   ( cc: [ ':' ]; s: 19),
1974   ( cc: [ ';' ]; s: 50),
1975   ( cc: [ '<' ]; s: 13),
1976   ( cc: [ '=' ]; s: 10),
1977   ( cc: [ '>' ]; s: 12),
1978   ( cc: [ '?' ]; s: 18),
1979   ( cc: [ 'A','B','D','G','I'..'K','M','O','Q','R',
1980             'T','X'..'Z','_','a','b','d','g','j','k',
1981             'm','o'..'r','w'..'z' ]; s: 49),
1982   ( cc: [ 'C' ]; s: 29),
1983   ( cc: [ 'E' ]; s: 32),
1984   ( cc: [ 'F' ]; s: 44),
1985   ( cc: [ 'H' ]; s: 47),
1986   ( cc: [ 'L' ]; s: 5),
1987   ( cc: [ 'N' ]; s: 45),
1988   ( cc: [ 'P' ]; s: 30),
1989   ( cc: [ 'S' ]; s: 28),
1990   ( cc: [ 'U' ]; s: 7),
1991   ( cc: [ 'V' ]; s: 34),
1992   ( cc: [ 'W' ]; s: 31),
1993   ( cc: [ '[' ]; s: 21),
1994   ( cc: [ '\' ]; s: 52),
1995   ( cc: [ ']' ]; s: 22),
1996   ( cc: [ 'c' ]; s: 35),
1997   ( cc: [ 'e' ]; s: 27),
1998   ( cc: [ 'f' ]; s: 43),
1999   ( cc: [ 'h' ]; s: 48),
2000   ( cc: [ 'i' ]; s: 41),
2001   ( cc: [ 'l' ]; s: 42),
2002   ( cc: [ 'n' ]; s: 46),
2003   ( cc: [ 's' ]; s: 37),
2004   ( cc: [ 't' ]; s: 40),
2005   ( cc: [ 'u' ]; s: 36),
2006   ( cc: [ 'v' ]; s: 33),
2007   ( cc: [ '{' ]; s: 38),
2008   ( cc: [ '|' ]; s: 15),
2009   ( cc: [ '}' ]; s: 39),
2010 { 1: }
2011   ( cc: [ #1..#8,#11,#13..#31,'$','%','@','^','`','~'..#255 ]; s: 54),
2012   ( cc: [ #9,#12,' ' ]; s: 51),
2013   ( cc: [ #10 ]; s: 53),
2014   ( cc: [ '!' ]; s: 11),
2015   ( cc: [ '"' ]; s: 3),
2016   ( cc: [ '#' ]; s: 14),
2017   ( cc: [ '&' ]; s: 16),
2018   ( cc: [ '''' ]; s: 4),
2019   ( cc: [ '(' ]; s: 23),
2020   ( cc: [ ')' ]; s: 24),
2021   ( cc: [ '*' ]; s: 25),
2022   ( cc: [ '+' ]; s: 17),
2023   ( cc: [ ',' ]; s: 20),
2024   ( cc: [ '-' ]; s: 9),
2025   ( cc: [ '.' ]; s: 26),
2026   ( cc: [ '/' ]; s: 2),
2027   ( cc: [ '0' ]; s: 8),
2028   ( cc: [ '1'..'9' ]; s: 6),
2029   ( cc: [ ':' ]; s: 19),
2030   ( cc: [ ';' ]; s: 50),
2031   ( cc: [ '<' ]; s: 13),
2032   ( cc: [ '=' ]; s: 10),
2033   ( cc: [ '>' ]; s: 12),
2034   ( cc: [ '?' ]; s: 18),
2035   ( cc: [ 'A','B','D','G','I'..'K','M','O','Q','R',
2036             'T','X'..'Z','_','a','b','d','g','j','k',
2037             'm','o'..'r','w'..'z' ]; s: 49),
2038   ( cc: [ 'C' ]; s: 29),
2039   ( cc: [ 'E' ]; s: 32),
2040   ( cc: [ 'F' ]; s: 44),
2041   ( cc: [ 'H' ]; s: 47),
2042   ( cc: [ 'L' ]; s: 5),
2043   ( cc: [ 'N' ]; s: 45),
2044   ( cc: [ 'P' ]; s: 30),
2045   ( cc: [ 'S' ]; s: 28),
2046   ( cc: [ 'U' ]; s: 7),
2047   ( cc: [ 'V' ]; s: 34),
2048   ( cc: [ 'W' ]; s: 31),
2049   ( cc: [ '[' ]; s: 21),
2050   ( cc: [ '\' ]; s: 52),
2051   ( cc: [ ']' ]; s: 22),
2052   ( cc: [ 'c' ]; s: 35),
2053   ( cc: [ 'e' ]; s: 27),
2054   ( cc: [ 'f' ]; s: 43),
2055   ( cc: [ 'h' ]; s: 48),
2056   ( cc: [ 'i' ]; s: 41),
2057   ( cc: [ 'l' ]; s: 42),
2058   ( cc: [ 'n' ]; s: 46),
2059   ( cc: [ 's' ]; s: 37),
2060   ( cc: [ 't' ]; s: 40),
2061   ( cc: [ 'u' ]; s: 36),
2062   ( cc: [ 'v' ]; s: 33),
2063   ( cc: [ '{' ]; s: 38),
2064   ( cc: [ '|' ]; s: 15),
2065   ( cc: [ '}' ]; s: 39),
2066 { 2: }
2067   ( cc: [ '*' ]; s: 55),
2068   ( cc: [ '/' ]; s: 56),
2069 { 3: }
2070   ( cc: [ #1..'!','#'..#255 ]; s: 57),
2071   ( cc: [ '"' ]; s: 58),
2072 { 4: }
2073   ( cc: [ #1..'&','('..#255 ]; s: 59),
2074   ( cc: [ '''' ]; s: 60),
2075 { 5: }
2076   ( cc: [ '"' ]; s: 61),
2077   ( cc: [ '''' ]; s: 62),
2078   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2079 { 6: }
2080   ( cc: [ '.' ]; s: 67),
2081   ( cc: [ '0'..'9' ]; s: 64),
2082   ( cc: [ 'E','e' ]; s: 68),
2083   ( cc: [ 'L' ]; s: 66),
2084   ( cc: [ 'U' ]; s: 65),
2085 { 7: }
2086   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2087   ( cc: [ 'L' ]; s: 69),
2088 { 8: }
2089   ( cc: [ '.' ]; s: 67),
2090   ( cc: [ '0'..'9' ]; s: 64),
2091   ( cc: [ 'E','e' ]; s: 68),
2092   ( cc: [ 'L' ]; s: 66),
2093   ( cc: [ 'U' ]; s: 65),
2094   ( cc: [ 'x' ]; s: 70),
2095 { 9: }
2096   ( cc: [ '>' ]; s: 71),
2097 { 10: }
2098   ( cc: [ '=' ]; s: 72),
2099 { 11: }
2100   ( cc: [ '=' ]; s: 73),
2101 { 12: }
2102   ( cc: [ '=' ]; s: 74),
2103   ( cc: [ '>' ]; s: 75),
2104 { 13: }
2105   ( cc: [ '<' ]; s: 77),
2106   ( cc: [ '=' ]; s: 76),
2107 { 14: }
2108   ( cc: [ '#' ]; s: 78),
2109   ( cc: [ 'd' ]; s: 83),
2110   ( cc: [ 'e' ]; s: 80),
2111   ( cc: [ 'i' ]; s: 79),
2112   ( cc: [ 'p' ]; s: 82),
2113   ( cc: [ 'u' ]; s: 81),
2114 { 15: }
2115 { 16: }
2116 { 17: }
2117 { 18: }
2118 { 19: }
2119 { 20: }
2120 { 21: }
2121 { 22: }
2122 { 23: }
2123 { 24: }
2124 { 25: }
2125 { 26: }
2126   ( cc: [ '.' ]; s: 84),
2127 { 27: }
2128   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'w','y','z' ]; s: 63),
2129   ( cc: [ 'n' ]; s: 86),
2130   ( cc: [ 'x' ]; s: 85),
2131 { 28: }
2132   ( cc: [ '0'..'9','A'..'S','U'..'X','Z','_','a'..'z' ]; s: 63),
2133   ( cc: [ 'T' ]; s: 87),
2134   ( cc: [ 'Y' ]; s: 88),
2135 { 29: }
2136   ( cc: [ '0'..'9','B','C','E'..'N','P'..'Z','_','a'..'z' ]; s: 63),
2137   ( cc: [ 'A' ]; s: 90),
2138   ( cc: [ 'D' ]; s: 89),
2139   ( cc: [ 'O' ]; s: 91),
2140 { 30: }
2141   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2142   ( cc: [ 'A' ]; s: 92),
2143 { 31: }
2144   ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 63),
2145   ( cc: [ 'I' ]; s: 93),
2146 { 32: }
2147   ( cc: [ '0'..'9','A'..'W','Y','Z','_','a'..'z' ]; s: 63),
2148   ( cc: [ 'X' ]; s: 94),
2149 { 33: }
2150   ( cc: [ '0'..'9','A'..'Z','_','a'..'n','p'..'z' ]; s: 63),
2151   ( cc: [ 'o' ]; s: 95),
2152 { 34: }
2153   ( cc: [ '0'..'9','A'..'N','P'..'Z','_','a'..'z' ]; s: 63),
2154   ( cc: [ 'O' ]; s: 96),
2155 { 35: }
2156   ( cc: [ '0'..'9','A'..'Z','_','a'..'g','i'..'n','p'..'z' ]; s: 63),
2157   ( cc: [ 'h' ]; s: 97),
2158   ( cc: [ 'o' ]; s: 98),
2159 { 36: }
2160   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2161   ( cc: [ 'n' ]; s: 99),
2162 { 37: }
2163   ( cc: [ '0'..'9','A'..'Z','_','a'..'g','i'..'s','u'..'z' ]; s: 63),
2164   ( cc: [ 'h' ]; s: 101),
2165   ( cc: [ 't' ]; s: 100),
2166 { 38: }
2167 { 39: }
2168 { 40: }
2169   ( cc: [ '0'..'9','A'..'Z','_','a'..'x','z' ]; s: 63),
2170   ( cc: [ 'y' ]; s: 102),
2171 { 41: }
2172   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2173   ( cc: [ 'n' ]; s: 103),
2174 { 42: }
2175   ( cc: [ '0'..'9','A'..'Z','_','a'..'n','p'..'z' ]; s: 63),
2176   ( cc: [ 'o' ]; s: 104),
2177 { 43: }
2178   ( cc: [ '0'..'9','A'..'Z','_','b'..'k','m'..'z' ]; s: 63),
2179   ( cc: [ 'a' ]; s: 106),
2180   ( cc: [ 'l' ]; s: 105),
2181 { 44: }
2182   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2183   ( cc: [ 'A' ]; s: 107),
2184 { 45: }
2185   ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 63),
2186   ( cc: [ 'E' ]; s: 108),
2187 { 46: }
2188   ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 63),
2189   ( cc: [ 'e' ]; s: 109),
2190 { 47: }
2191   ( cc: [ '0'..'9','A'..'T','V'..'Z','_','a'..'z' ]; s: 63),
2192   ( cc: [ 'U' ]; s: 110),
2193 { 48: }
2194   ( cc: [ '0'..'9','A'..'Z','_','a'..'t','v'..'z' ]; s: 63),
2195   ( cc: [ 'u' ]; s: 111),
2196 { 49: }
2197   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2198 { 50: }
2199 { 51: }
2200 { 52: }
2201   ( cc: [ #10 ]; s: 112),
2202 { 53: }
2203 { 54: }
2204 { 55: }
2205 { 56: }
2206 { 57: }
2207   ( cc: [ #1..'!','#'..#255 ]; s: 57),
2208   ( cc: [ '"' ]; s: 58),
2209 { 58: }
2210 { 59: }
2211   ( cc: [ #1..'&','('..#255 ]; s: 59),
2212   ( cc: [ '''' ]; s: 60),
2213 { 60: }
2214 { 61: }
2215   ( cc: [ #1..'!','#'..#255 ]; s: 61),
2216   ( cc: [ '"' ]; s: 113),
2217 { 62: }
2218   ( cc: [ #1..'&','('..#255 ]; s: 62),
2219   ( cc: [ '''' ]; s: 114),
2220 { 63: }
2221   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2222 { 64: }
2223   ( cc: [ '.' ]; s: 67),
2224   ( cc: [ '0'..'9' ]; s: 64),
2225   ( cc: [ 'E','e' ]; s: 68),
2226   ( cc: [ 'L' ]; s: 66),
2227   ( cc: [ 'U' ]; s: 65),
2228 { 65: }
2229   ( cc: [ 'L' ]; s: 66),
2230 { 66: }
2231 { 67: }
2232   ( cc: [ '0'..'9' ]; s: 115),
2233 { 68: }
2234   ( cc: [ '+','-' ]; s: 116),
2235   ( cc: [ '0'..'9' ]; s: 117),
2236 { 69: }
2237   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2238 { 70: }
2239   ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 70),
2240   ( cc: [ 'L' ]; s: 119),
2241   ( cc: [ 'U' ]; s: 118),
2242 { 71: }
2243 { 72: }
2244 { 73: }
2245 { 74: }
2246 { 75: }
2247 { 76: }
2248 { 77: }
2249 { 78: }
2250 { 79: }
2251   ( cc: [ 'f' ]; s: 120),
2252   ( cc: [ 'n' ]; s: 121),
2253 { 80: }
2254   ( cc: [ 'l' ]; s: 122),
2255   ( cc: [ 'n' ]; s: 123),
2256   ( cc: [ 'r' ]; s: 124),
2257 { 81: }
2258   ( cc: [ 'n' ]; s: 125),
2259 { 82: }
2260   ( cc: [ 'r' ]; s: 126),
2261 { 83: }
2262   ( cc: [ 'e' ]; s: 127),
2263 { 84: }
2264   ( cc: [ '.' ]; s: 128),
2265 { 85: }
2266   ( cc: [ '0'..'9','A'..'Z','_','a'..'s','u'..'z' ]; s: 63),
2267   ( cc: [ 't' ]; s: 129),
2268 { 86: }
2269   ( cc: [ '0'..'9','A'..'Z','_','a'..'t','v'..'z' ]; s: 63),
2270   ( cc: [ 'u' ]; s: 130),
2271 { 87: }
2272   ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 63),
2273   ( cc: [ 'D' ]; s: 131),
2274 { 88: }
2275   ( cc: [ '0'..'9','A'..'R','T'..'Z','_','a'..'z' ]; s: 63),
2276   ( cc: [ 'S' ]; s: 132),
2277 { 89: }
2278   ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 63),
2279   ( cc: [ 'E' ]; s: 133),
2280 { 90: }
2281   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2282   ( cc: [ 'L' ]; s: 134),
2283 { 91: }
2284   ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 63),
2285   ( cc: [ 'N' ]; s: 135),
2286 { 92: }
2287   ( cc: [ '0'..'9','A','B','D'..'R','T'..'Z','_','a'..'z' ]; s: 63),
2288   ( cc: [ 'C' ]; s: 137),
2289   ( cc: [ 'S' ]; s: 136),
2290 { 93: }
2291   ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 63),
2292   ( cc: [ 'N' ]; s: 138),
2293 { 94: }
2294   ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 63),
2295   ( cc: [ 'P' ]; s: 139),
2296 { 95: }
2297   ( cc: [ '0'..'9','A'..'Z','_','a'..'h','j'..'z' ]; s: 63),
2298   ( cc: [ 'i' ]; s: 140),
2299 { 96: }
2300   ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 63),
2301   ( cc: [ 'I' ]; s: 141),
2302 { 97: }
2303   ( cc: [ '0'..'9','A'..'Z','_','b'..'z' ]; s: 63),
2304   ( cc: [ 'a' ]; s: 142),
2305 { 98: }
2306   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2307   ( cc: [ 'n' ]; s: 143),
2308 { 99: }
2309   ( cc: [ '0'..'9','A'..'Z','_','a'..'h','j'..'r','t'..'z' ]; s: 63),
2310   ( cc: [ 'i' ]; s: 144),
2311   ( cc: [ 's' ]; s: 145),
2312 { 100: }
2313   ( cc: [ '0'..'9','A'..'Z','_','a'..'q','s'..'z' ]; s: 63),
2314   ( cc: [ 'r' ]; s: 146),
2315 { 101: }
2316   ( cc: [ '0'..'9','A'..'Z','_','a'..'n','p'..'z' ]; s: 63),
2317   ( cc: [ 'o' ]; s: 147),
2318 { 102: }
2319   ( cc: [ '0'..'9','A'..'Z','_','a'..'o','q'..'z' ]; s: 63),
2320   ( cc: [ 'p' ]; s: 148),
2321 { 103: }
2322   ( cc: [ '0'..'9','A'..'Z','_','a'..'s','u'..'z' ]; s: 63),
2323   ( cc: [ 't' ]; s: 149),
2324 { 104: }
2325   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2326   ( cc: [ 'n' ]; s: 150),
2327 { 105: }
2328   ( cc: [ '0'..'9','A'..'Z','_','a'..'n','p'..'z' ]; s: 63),
2329   ( cc: [ 'o' ]; s: 151),
2330 { 106: }
2331   ( cc: [ '0'..'9','A'..'Z','_','a'..'q','s'..'z' ]; s: 63),
2332   ( cc: [ 'r' ]; s: 152),
2333 { 107: }
2334   ( cc: [ '0'..'9','A'..'Q','S'..'Z','_','a'..'z' ]; s: 63),
2335   ( cc: [ 'R' ]; s: 153),
2336 { 108: }
2337   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2338   ( cc: [ 'A' ]; s: 154),
2339 { 109: }
2340   ( cc: [ '0'..'9','A'..'Z','_','b'..'z' ]; s: 63),
2341   ( cc: [ 'a' ]; s: 155),
2342 { 110: }
2343   ( cc: [ '0'..'9','A'..'F','H'..'Z','_','a'..'z' ]; s: 63),
2344   ( cc: [ 'G' ]; s: 156),
2345 { 111: }
2346   ( cc: [ '0'..'9','A'..'Z','_','a'..'f','h'..'z' ]; s: 63),
2347   ( cc: [ 'g' ]; s: 157),
2348 { 112: }
2349 { 113: }
2350 { 114: }
2351 { 115: }
2352   ( cc: [ '0'..'9' ]; s: 115),
2353   ( cc: [ 'E','e' ]; s: 68),
2354 { 116: }
2355   ( cc: [ '0'..'9' ]; s: 117),
2356 { 117: }
2357   ( cc: [ '0'..'9' ]; s: 117),
2358 { 118: }
2359   ( cc: [ 'L' ]; s: 119),
2360 { 119: }
2361 { 120: }
2362   ( cc: [ 'd' ]; s: 158),
2363 { 121: }
2364   ( cc: [ 'c' ]; s: 159),
2365 { 122: }
2366   ( cc: [ 'i' ]; s: 161),
2367   ( cc: [ 's' ]; s: 160),
2368 { 123: }
2369   ( cc: [ 'd' ]; s: 162),
2370 { 124: }
2371   ( cc: [ 'r' ]; s: 163),
2372 { 125: }
2373   ( cc: [ 'd' ]; s: 164),
2374 { 126: }
2375   ( cc: [ 'a' ]; s: 165),
2376 { 127: }
2377   ( cc: [ 'f' ]; s: 166),
2378 { 128: }
2379 { 129: }
2380   ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 63),
2381   ( cc: [ 'e' ]; s: 167),
2382 { 130: }
2383   ( cc: [ '0'..'9','A'..'Z','_','a'..'l','n'..'z' ]; s: 63),
2384   ( cc: [ 'm' ]; s: 168),
2385 { 131: }
2386   ( cc: [ '0'..'9','A','B','D'..'Z','_','a'..'z' ]; s: 63),
2387   ( cc: [ 'C' ]; s: 169),
2388 { 132: }
2389   ( cc: [ '0'..'9','A'..'Z','a'..'z' ]; s: 63),
2390   ( cc: [ '_' ]; s: 170),
2391 { 133: }
2392   ( cc: [ '0'..'9','A','B','D'..'Z','_','a'..'z' ]; s: 63),
2393   ( cc: [ 'C' ]; s: 171),
2394 { 134: }
2395   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2396   ( cc: [ 'L' ]; s: 172),
2397 { 135: }
2398   ( cc: [ '0'..'9','A'..'R','T'..'Z','_','a'..'z' ]; s: 63),
2399   ( cc: [ 'S' ]; s: 173),
2400 { 136: }
2401   ( cc: [ '0'..'9','A','B','D'..'Z','_','a'..'z' ]; s: 63),
2402   ( cc: [ 'C' ]; s: 174),
2403 { 137: }
2404   ( cc: [ '0'..'9','A'..'J','L'..'Z','_','a'..'z' ]; s: 63),
2405   ( cc: [ 'K' ]; s: 175),
2406 { 138: }
2407   ( cc: [ '0'..'9','B'..'F','H'..'Z','_','a'..'z' ]; s: 63),
2408   ( cc: [ 'A' ]; s: 176),
2409   ( cc: [ 'G' ]; s: 177),
2410 { 139: }
2411   ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 63),
2412   ( cc: [ 'E' ]; s: 178),
2413 { 140: }
2414   ( cc: [ '0'..'9','A'..'Z','_','a'..'c','e'..'z' ]; s: 63),
2415   ( cc: [ 'd' ]; s: 179),
2416 { 141: }
2417   ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 63),
2418   ( cc: [ 'D' ]; s: 180),
2419 { 142: }
2420   ( cc: [ '0'..'9','A'..'Z','_','a'..'q','s'..'z' ]; s: 63),
2421   ( cc: [ 'r' ]; s: 181),
2422 { 143: }
2423   ( cc: [ '0'..'9','A'..'Z','_','a'..'r','t'..'z' ]; s: 63),
2424   ( cc: [ 's' ]; s: 182),
2425 { 144: }
2426   ( cc: [ '0'..'9','A'..'Z','_','a'..'n','p'..'z' ]; s: 63),
2427   ( cc: [ 'o' ]; s: 183),
2428 { 145: }
2429   ( cc: [ '0'..'9','A'..'Z','_','a'..'h','j'..'z' ]; s: 63),
2430   ( cc: [ 'i' ]; s: 184),
2431 { 146: }
2432   ( cc: [ '0'..'9','A'..'Z','_','a'..'t','v'..'z' ]; s: 63),
2433   ( cc: [ 'u' ]; s: 185),
2434 { 147: }
2435   ( cc: [ '0'..'9','A'..'Z','_','a'..'q','s'..'z' ]; s: 63),
2436   ( cc: [ 'r' ]; s: 186),
2437 { 148: }
2438   ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 63),
2439   ( cc: [ 'e' ]; s: 187),
2440 { 149: }
2441   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2442 { 150: }
2443   ( cc: [ '0'..'9','A'..'Z','_','a'..'f','h'..'z' ]; s: 63),
2444   ( cc: [ 'g' ]; s: 188),
2445 { 151: }
2446   ( cc: [ '0'..'9','A'..'Z','_','b'..'z' ]; s: 63),
2447   ( cc: [ 'a' ]; s: 189),
2448 { 152: }
2449   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2450 { 153: }
2451   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2452 { 154: }
2453   ( cc: [ '0'..'9','A'..'Q','S'..'Z','_','a'..'z' ]; s: 63),
2454   ( cc: [ 'R' ]; s: 190),
2455 { 155: }
2456   ( cc: [ '0'..'9','A'..'Z','_','a'..'q','s'..'z' ]; s: 63),
2457   ( cc: [ 'r' ]; s: 191),
2458 { 156: }
2459   ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 63),
2460   ( cc: [ 'E' ]; s: 192),
2461 { 157: }
2462   ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 63),
2463   ( cc: [ 'e' ]; s: 193),
2464 { 158: }
2465   ( cc: [ 'e' ]; s: 194),
2466 { 159: }
2467   ( cc: [ 'l' ]; s: 195),
2468 { 160: }
2469   ( cc: [ 'e' ]; s: 196),
2470 { 161: }
2471   ( cc: [ 'f' ]; s: 197),
2472 { 162: }
2473   ( cc: [ 'i' ]; s: 198),
2474 { 163: }
2475   ( cc: [ 'o' ]; s: 199),
2476 { 164: }
2477   ( cc: [ 'e' ]; s: 200),
2478 { 165: }
2479   ( cc: [ 'g' ]; s: 201),
2480 { 166: }
2481   ( cc: [ 'i' ]; s: 202),
2482 { 167: }
2483   ( cc: [ '0'..'9','A'..'Z','_','a'..'q','s'..'z' ]; s: 63),
2484   ( cc: [ 'r' ]; s: 203),
2485 { 168: }
2486   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2487 { 169: }
2488   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2489   ( cc: [ 'A' ]; s: 204),
2490 { 170: }
2491   ( cc: [ '0'..'9','A'..'S','U'..'Z','_','a'..'z' ]; s: 63),
2492   ( cc: [ 'T' ]; s: 205),
2493 { 171: }
2494   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2495   ( cc: [ 'L' ]; s: 206),
2496 { 172: }
2497   ( cc: [ '0'..'9','A','C'..'Z','_','a'..'z' ]; s: 63),
2498   ( cc: [ 'B' ]; s: 207),
2499 { 173: }
2500   ( cc: [ '0'..'9','A'..'S','U'..'Z','_','a'..'z' ]; s: 63),
2501   ( cc: [ 'T' ]; s: 208),
2502 { 174: }
2503   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2504   ( cc: [ 'A' ]; s: 209),
2505 { 175: }
2506   ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 63),
2507   ( cc: [ 'E' ]; s: 210),
2508 { 176: }
2509   ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 63),
2510   ( cc: [ 'P' ]; s: 211),
2511 { 177: }
2512   ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 63),
2513   ( cc: [ 'D' ]; s: 212),
2514 { 178: }
2515   ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 63),
2516   ( cc: [ 'N' ]; s: 213),
2517 { 179: }
2518   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2519 { 180: }
2520   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2521 { 181: }
2522   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2523 { 182: }
2524   ( cc: [ '0'..'9','A'..'Z','_','a'..'s','u'..'z' ]; s: 63),
2525   ( cc: [ 't' ]; s: 214),
2526 { 183: }
2527   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2528   ( cc: [ 'n' ]; s: 215),
2529 { 184: }
2530   ( cc: [ '0'..'9','A'..'Z','_','a'..'f','h'..'z' ]; s: 63),
2531   ( cc: [ 'g' ]; s: 216),
2532 { 185: }
2533   ( cc: [ '0'..'9','A'..'Z','_','a','b','d'..'z' ]; s: 63),
2534   ( cc: [ 'c' ]; s: 217),
2535 { 186: }
2536   ( cc: [ '0'..'9','A'..'Z','_','a'..'s','u'..'z' ]; s: 63),
2537   ( cc: [ 't' ]; s: 218),
2538 { 187: }
2539   ( cc: [ '0'..'9','A'..'Z','_','a'..'c','e'..'z' ]; s: 63),
2540   ( cc: [ 'd' ]; s: 219),
2541 { 188: }
2542   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2543 { 189: }
2544   ( cc: [ '0'..'9','A'..'Z','_','a'..'s','u'..'z' ]; s: 63),
2545   ( cc: [ 't' ]; s: 220),
2546 { 190: }
2547   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2548 { 191: }
2549   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2550 { 192: }
2551   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2552 { 193: }
2553   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2554 { 194: }
2555   ( cc: [ 'f' ]; s: 221),
2556 { 195: }
2557   ( cc: [ 'u' ]; s: 222),
2558 { 196: }
2559 { 197: }
2560 { 198: }
2561   ( cc: [ 'f' ]; s: 223),
2562 { 199: }
2563   ( cc: [ 'r' ]; s: 224),
2564 { 200: }
2565   ( cc: [ 'f' ]; s: 225),
2566 { 201: }
2567   ( cc: [ 'm' ]; s: 226),
2568 { 202: }
2569   ( cc: [ 'n' ]; s: 227),
2570 { 203: }
2571   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2572   ( cc: [ 'n' ]; s: 228),
2573 { 204: }
2574   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2575   ( cc: [ 'L' ]; s: 229),
2576 { 205: }
2577   ( cc: [ '0'..'9','A'..'Q','S'..'Z','_','a'..'z' ]; s: 63),
2578   ( cc: [ 'R' ]; s: 230),
2579 { 206: }
2580   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2581 { 207: }
2582   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2583   ( cc: [ 'A' ]; s: 231),
2584 { 208: }
2585   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2586 { 209: }
2587   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2588   ( cc: [ 'L' ]; s: 232),
2589 { 210: }
2590   ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 63),
2591   ( cc: [ 'D' ]; s: 233),
2592 { 211: }
2593   ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 63),
2594   ( cc: [ 'I' ]; s: 234),
2595 { 212: }
2596   ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 63),
2597   ( cc: [ 'I' ]; s: 235),
2598 { 213: }
2599   ( cc: [ '0'..'9','A'..'S','U'..'Z','_','a'..'z' ]; s: 63),
2600   ( cc: [ 'T' ]; s: 236),
2601 { 214: }
2602   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2603 { 215: }
2604   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2605 { 216: }
2606   ( cc: [ '0'..'9','A'..'Z','_','a'..'m','o'..'z' ]; s: 63),
2607   ( cc: [ 'n' ]; s: 237),
2608 { 217: }
2609   ( cc: [ '0'..'9','A'..'Z','_','a'..'s','u'..'z' ]; s: 63),
2610   ( cc: [ 't' ]; s: 238),
2611 { 218: }
2612   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2613 { 219: }
2614   ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 63),
2615   ( cc: [ 'e' ]; s: 239),
2616 { 220: }
2617   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2618 { 221: }
2619   ( cc: [ ' ' ]; s: 240),
2620 { 222: }
2621   ( cc: [ 'd' ]; s: 241),
2622 { 223: }
2623 { 224: }
2624 { 225: }
2625 { 226: }
2626   ( cc: [ 'a' ]; s: 242),
2627 { 227: }
2628   ( cc: [ 'e' ]; s: 243),
2629 { 228: }
2630   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2631 { 229: }
2632   ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 63),
2633   ( cc: [ 'L' ]; s: 244),
2634 { 230: }
2635   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2636   ( cc: [ 'A' ]; s: 245),
2637 { 231: }
2638   ( cc: [ '0'..'9','A','B','D'..'Z','_','a'..'z' ]; s: 63),
2639   ( cc: [ 'C' ]; s: 246),
2640 { 232: }
2641   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2642 { 233: }
2643   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2644 { 234: }
2645   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2646 { 235: }
2647   ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 63),
2648   ( cc: [ 'A' ]; s: 247),
2649 { 236: }
2650   ( cc: [ '0'..'9','A'..'Q','S'..'Z','_','a'..'z' ]; s: 63),
2651   ( cc: [ 'R' ]; s: 248),
2652 { 237: }
2653   ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 63),
2654   ( cc: [ 'e' ]; s: 249),
2655 { 238: }
2656   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2657 { 239: }
2658   ( cc: [ '0'..'9','A'..'Z','_','a'..'e','g'..'z' ]; s: 63),
2659   ( cc: [ 'f' ]; s: 250),
2660 { 240: }
2661   ( cc: [ '_' ]; s: 251),
2662 { 241: }
2663   ( cc: [ 'e' ]; s: 252),
2664 { 242: }
2665 { 243: }
2666 { 244: }
2667   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2668 { 245: }
2669   ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 63),
2670   ( cc: [ 'P' ]; s: 253),
2671 { 246: }
2672   ( cc: [ '0'..'9','A'..'J','L'..'Z','_','a'..'z' ]; s: 63),
2673   ( cc: [ 'K' ]; s: 254),
2674 { 247: }
2675   ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 63),
2676   ( cc: [ 'P' ]; s: 255),
2677 { 248: }
2678   ( cc: [ '0'..'9','A'..'X','Z','_','a'..'z' ]; s: 63),
2679   ( cc: [ 'Y' ]; s: 256),
2680 { 249: }
2681   ( cc: [ '0'..'9','A'..'Z','_','a'..'c','e'..'z' ]; s: 63),
2682   ( cc: [ 'd' ]; s: 257),
2683 { 250: }
2684   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2685 { 251: }
2686   ( cc: [ '_' ]; s: 258),
2687 { 252: }
2688 { 253: }
2689   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2690 { 254: }
2691   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2692 { 255: }
2693   ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 63),
2694   ( cc: [ 'I' ]; s: 259),
2695 { 256: }
2696   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2697 { 257: }
2698   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2699 { 258: }
2700   ( cc: [ 'c' ]; s: 260),
2701 { 259: }
2702   ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 63),
2703 { 260: }
2704   ( cc: [ 'p' ]; s: 261),
2705 { 261: }
2706   ( cc: [ 'l' ]; s: 262),
2707 { 262: }
2708   ( cc: [ 'u' ]; s: 263),
2709 { 263: }
2710   ( cc: [ 's' ]; s: 264),
2711 { 264: }
2712   ( cc: [ 'p' ]; s: 265),
2713 { 265: }
2714   ( cc: [ 'l' ]; s: 266),
2715 { 266: }
2716   ( cc: [ 'u' ]; s: 267),
2717 { 267: }
2718   ( cc: [ 's' ]; s: 268),
2719 { 268: }
2720   ( cc: [ #9,' ' ]; s: 268),
2721   ( cc: [ #10 ]; s: 269),
2722 { 269: }
2723   ( cc: [ 'e' ]; s: 270),
2724   ( cc: [ '}' ]; s: 271),
2725 { 270: }
2726   ( cc: [ 'x' ]; s: 272),
2727 { 271: }
2728   ( cc: [ #10 ]; s: 273),
2729 { 272: }
2730   ( cc: [ 't' ]; s: 274),
2731 { 273: }
2732   ( cc: [ '#' ]; s: 275),
2733 { 274: }
2734   ( cc: [ 'e' ]; s: 276),
2735 { 275: }
2736   ( cc: [ 'e' ]; s: 277),
2737 { 276: }
2738   ( cc: [ 'r' ]; s: 278),
2739 { 277: }
2740   ( cc: [ 'n' ]; s: 279),
2741 { 278: }
2742   ( cc: [ 'n' ]; s: 280),
2743 { 279: }
2744   ( cc: [ 'd' ]; s: 281),
2745 { 280: }
2746   ( cc: [ ' ' ]; s: 282),
2747 { 281: }
2748   ( cc: [ 'i' ]; s: 283),
2749 { 282: }
2750   ( cc: [ '"' ]; s: 284),
2751 { 283: }
2752   ( cc: [ 'f' ]; s: 285),
2753 { 284: }
2754   ( cc: [ 'C' ]; s: 286),
2755 { 285: }
2756 { 286: }
2757   ( cc: [ '"' ]; s: 287),
2758 { 287: }
2759   ( cc: [ ' ' ]; s: 288),
2760 { 288: }
2761   ( cc: [ '{' ]; s: 289),
2762 { 289: }
2763   ( cc: [ #10 ]; s: 290),
2764 { 290: }
2765   ( cc: [ '#' ]; s: 291),
2766 { 291: }
2767   ( cc: [ 'e' ]; s: 292),
2768 { 292: }
2769   ( cc: [ 'n' ]; s: 293),
2770 { 293: }
2771   ( cc: [ 'd' ]; s: 294),
2772 { 294: }
2773   ( cc: [ 'i' ]; s: 295),
2774 { 295: }
2775   ( cc: [ 'f' ]; s: 296)
2776 { 296: }
2777 );
2778 
2779 yykl : array [0..yynstates-1] of Integer = (
2780 { 0: } 1,
2781 { 1: } 2,
2782 { 2: } 3,
2783 { 3: } 5,
2784 { 4: } 6,
2785 { 5: } 7,
2786 { 6: } 10,
2787 { 7: } 13,
2788 { 8: } 16,
2789 { 9: } 19,
2790 { 10: } 21,
2791 { 11: } 23,
2792 { 12: } 25,
2793 { 13: } 27,
2794 { 14: } 29,
2795 { 15: } 30,
2796 { 16: } 32,
2797 { 17: } 34,
2798 { 18: } 36,
2799 { 19: } 38,
2800 { 20: } 40,
2801 { 21: } 42,
2802 { 22: } 44,
2803 { 23: } 46,
2804 { 24: } 48,
2805 { 25: } 50,
2806 { 26: } 52,
2807 { 27: } 54,
2808 { 28: } 56,
2809 { 29: } 58,
2810 { 30: } 60,
2811 { 31: } 62,
2812 { 32: } 64,
2813 { 33: } 66,
2814 { 34: } 68,
2815 { 35: } 70,
2816 { 36: } 72,
2817 { 37: } 74,
2818 { 38: } 76,
2819 { 39: } 78,
2820 { 40: } 80,
2821 { 41: } 82,
2822 { 42: } 84,
2823 { 43: } 86,
2824 { 44: } 88,
2825 { 45: } 90,
2826 { 46: } 92,
2827 { 47: } 94,
2828 { 48: } 96,
2829 { 49: } 98,
2830 { 50: } 100,
2831 { 51: } 102,
2832 { 52: } 104,
2833 { 53: } 105,
2834 { 54: } 106,
2835 { 55: } 107,
2836 { 56: } 108,
2837 { 57: } 109,
2838 { 58: } 109,
2839 { 59: } 110,
2840 { 60: } 110,
2841 { 61: } 111,
2842 { 62: } 111,
2843 { 63: } 111,
2844 { 64: } 112,
2845 { 65: } 114,
2846 { 66: } 115,
2847 { 67: } 116,
2848 { 68: } 116,
2849 { 69: } 116,
2850 { 70: } 118,
2851 { 71: } 119,
2852 { 72: } 120,
2853 { 73: } 121,
2854 { 74: } 122,
2855 { 75: } 123,
2856 { 76: } 124,
2857 { 77: } 125,
2858 { 78: } 126,
2859 { 79: } 127,
2860 { 80: } 127,
2861 { 81: } 127,
2862 { 82: } 127,
2863 { 83: } 127,
2864 { 84: } 127,
2865 { 85: } 127,
2866 { 86: } 128,
2867 { 87: } 129,
2868 { 88: } 130,
2869 { 89: } 131,
2870 { 90: } 132,
2871 { 91: } 133,
2872 { 92: } 134,
2873 { 93: } 135,
2874 { 94: } 136,
2875 { 95: } 137,
2876 { 96: } 138,
2877 { 97: } 139,
2878 { 98: } 140,
2879 { 99: } 141,
2880 { 100: } 142,
2881 { 101: } 143,
2882 { 102: } 144,
2883 { 103: } 145,
2884 { 104: } 146,
2885 { 105: } 147,
2886 { 106: } 148,
2887 { 107: } 149,
2888 { 108: } 150,
2889 { 109: } 151,
2890 { 110: } 152,
2891 { 111: } 153,
2892 { 112: } 154,
2893 { 113: } 155,
2894 { 114: } 156,
2895 { 115: } 157,
2896 { 116: } 158,
2897 { 117: } 158,
2898 { 118: } 159,
2899 { 119: } 160,
2900 { 120: } 161,
2901 { 121: } 162,
2902 { 122: } 162,
2903 { 123: } 162,
2904 { 124: } 162,
2905 { 125: } 162,
2906 { 126: } 162,
2907 { 127: } 162,
2908 { 128: } 162,
2909 { 129: } 163,
2910 { 130: } 164,
2911 { 131: } 165,
2912 { 132: } 166,
2913 { 133: } 167,
2914 { 134: } 168,
2915 { 135: } 169,
2916 { 136: } 170,
2917 { 137: } 171,
2918 { 138: } 172,
2919 { 139: } 173,
2920 { 140: } 174,
2921 { 141: } 175,
2922 { 142: } 176,
2923 { 143: } 177,
2924 { 144: } 178,
2925 { 145: } 179,
2926 { 146: } 180,
2927 { 147: } 181,
2928 { 148: } 182,
2929 { 149: } 183,
2930 { 150: } 185,
2931 { 151: } 186,
2932 { 152: } 187,
2933 { 153: } 189,
2934 { 154: } 191,
2935 { 155: } 192,
2936 { 156: } 193,
2937 { 157: } 194,
2938 { 158: } 195,
2939 { 159: } 195,
2940 { 160: } 195,
2941 { 161: } 195,
2942 { 162: } 195,
2943 { 163: } 195,
2944 { 164: } 195,
2945 { 165: } 195,
2946 { 166: } 195,
2947 { 167: } 195,
2948 { 168: } 196,
2949 { 169: } 198,
2950 { 170: } 199,
2951 { 171: } 200,
2952 { 172: } 201,
2953 { 173: } 202,
2954 { 174: } 203,
2955 { 175: } 204,
2956 { 176: } 205,
2957 { 177: } 206,
2958 { 178: } 207,
2959 { 179: } 208,
2960 { 180: } 210,
2961 { 181: } 212,
2962 { 182: } 214,
2963 { 183: } 215,
2964 { 184: } 216,
2965 { 185: } 217,
2966 { 186: } 218,
2967 { 187: } 219,
2968 { 188: } 220,
2969 { 189: } 222,
2970 { 190: } 223,
2971 { 191: } 225,
2972 { 192: } 227,
2973 { 193: } 229,
2974 { 194: } 231,
2975 { 195: } 231,
2976 { 196: } 231,
2977 { 197: } 232,
2978 { 198: } 233,
2979 { 199: } 233,
2980 { 200: } 233,
2981 { 201: } 233,
2982 { 202: } 233,
2983 { 203: } 233,
2984 { 204: } 234,
2985 { 205: } 235,
2986 { 206: } 236,
2987 { 207: } 238,
2988 { 208: } 239,
2989 { 209: } 241,
2990 { 210: } 242,
2991 { 211: } 243,
2992 { 212: } 244,
2993 { 213: } 245,
2994 { 214: } 246,
2995 { 215: } 248,
2996 { 216: } 250,
2997 { 217: } 251,
2998 { 218: } 252,
2999 { 219: } 254,
3000 { 220: } 255,
3001 { 221: } 257,
3002 { 222: } 257,
3003 { 223: } 257,
3004 { 224: } 258,
3005 { 225: } 259,
3006 { 226: } 260,
3007 { 227: } 260,
3008 { 228: } 260,
3009 { 229: } 262,
3010 { 230: } 263,
3011 { 231: } 264,
3012 { 232: } 265,
3013 { 233: } 267,
3014 { 234: } 269,
3015 { 235: } 271,
3016 { 236: } 272,
3017 { 237: } 273,
3018 { 238: } 274,
3019 { 239: } 276,
3020 { 240: } 277,
3021 { 241: } 277,
3022 { 242: } 277,
3023 { 243: } 278,
3024 { 244: } 279,
3025 { 245: } 281,
3026 { 246: } 282,
3027 { 247: } 283,
3028 { 248: } 284,
3029 { 249: } 285,
3030 { 250: } 286,
3031 { 251: } 288,
3032 { 252: } 288,
3033 { 253: } 289,
3034 { 254: } 291,
3035 { 255: } 293,
3036 { 256: } 294,
3037 { 257: } 296,
3038 { 258: } 298,
3039 { 259: } 298,
3040 { 260: } 300,
3041 { 261: } 300,
3042 { 262: } 300,
3043 { 263: } 300,
3044 { 264: } 300,
3045 { 265: } 300,
3046 { 266: } 300,
3047 { 267: } 300,
3048 { 268: } 300,
3049 { 269: } 300,
3050 { 270: } 300,
3051 { 271: } 300,
3052 { 272: } 300,
3053 { 273: } 300,
3054 { 274: } 300,
3055 { 275: } 300,
3056 { 276: } 300,
3057 { 277: } 300,
3058 { 278: } 300,
3059 { 279: } 300,
3060 { 280: } 300,
3061 { 281: } 300,
3062 { 282: } 300,
3063 { 283: } 300,
3064 { 284: } 300,
3065 { 285: } 300,
3066 { 286: } 301,
3067 { 287: } 301,
3068 { 288: } 301,
3069 { 289: } 301,
3070 { 290: } 301,
3071 { 291: } 301,
3072 { 292: } 301,
3073 { 293: } 301,
3074 { 294: } 301,
3075 { 295: } 301,
3076 { 296: } 301
3077 );
3078 
3079 yykh : array [0..yynstates-1] of Integer = (
3080 { 0: } 1,
3081 { 1: } 2,
3082 { 2: } 4,
3083 { 3: } 5,
3084 { 4: } 6,
3085 { 5: } 9,
3086 { 6: } 12,
3087 { 7: } 15,
3088 { 8: } 18,
3089 { 9: } 20,
3090 { 10: } 22,
3091 { 11: } 24,
3092 { 12: } 26,
3093 { 13: } 28,
3094 { 14: } 29,
3095 { 15: } 31,
3096 { 16: } 33,
3097 { 17: } 35,
3098 { 18: } 37,
3099 { 19: } 39,
3100 { 20: } 41,
3101 { 21: } 43,
3102 { 22: } 45,
3103 { 23: } 47,
3104 { 24: } 49,
3105 { 25: } 51,
3106 { 26: } 53,
3107 { 27: } 55,
3108 { 28: } 57,
3109 { 29: } 59,
3110 { 30: } 61,
3111 { 31: } 63,
3112 { 32: } 65,
3113 { 33: } 67,
3114 { 34: } 69,
3115 { 35: } 71,
3116 { 36: } 73,
3117 { 37: } 75,
3118 { 38: } 77,
3119 { 39: } 79,
3120 { 40: } 81,
3121 { 41: } 83,
3122 { 42: } 85,
3123 { 43: } 87,
3124 { 44: } 89,
3125 { 45: } 91,
3126 { 46: } 93,
3127 { 47: } 95,
3128 { 48: } 97,
3129 { 49: } 99,
3130 { 50: } 101,
3131 { 51: } 103,
3132 { 52: } 104,
3133 { 53: } 105,
3134 { 54: } 106,
3135 { 55: } 107,
3136 { 56: } 108,
3137 { 57: } 108,
3138 { 58: } 109,
3139 { 59: } 109,
3140 { 60: } 110,
3141 { 61: } 110,
3142 { 62: } 110,
3143 { 63: } 111,
3144 { 64: } 113,
3145 { 65: } 114,
3146 { 66: } 115,
3147 { 67: } 115,
3148 { 68: } 115,
3149 { 69: } 117,
3150 { 70: } 118,
3151 { 71: } 119,
3152 { 72: } 120,
3153 { 73: } 121,
3154 { 74: } 122,
3155 { 75: } 123,
3156 { 76: } 124,
3157 { 77: } 125,
3158 { 78: } 126,
3159 { 79: } 126,
3160 { 80: } 126,
3161 { 81: } 126,
3162 { 82: } 126,
3163 { 83: } 126,
3164 { 84: } 126,
3165 { 85: } 127,
3166 { 86: } 128,
3167 { 87: } 129,
3168 { 88: } 130,
3169 { 89: } 131,
3170 { 90: } 132,
3171 { 91: } 133,
3172 { 92: } 134,
3173 { 93: } 135,
3174 { 94: } 136,
3175 { 95: } 137,
3176 { 96: } 138,
3177 { 97: } 139,
3178 { 98: } 140,
3179 { 99: } 141,
3180 { 100: } 142,
3181 { 101: } 143,
3182 { 102: } 144,
3183 { 103: } 145,
3184 { 104: } 146,
3185 { 105: } 147,
3186 { 106: } 148,
3187 { 107: } 149,
3188 { 108: } 150,
3189 { 109: } 151,
3190 { 110: } 152,
3191 { 111: } 153,
3192 { 112: } 154,
3193 { 113: } 155,
3194 { 114: } 156,
3195 { 115: } 157,
3196 { 116: } 157,
3197 { 117: } 158,
3198 { 118: } 159,
3199 { 119: } 160,
3200 { 120: } 161,
3201 { 121: } 161,
3202 { 122: } 161,
3203 { 123: } 161,
3204 { 124: } 161,
3205 { 125: } 161,
3206 { 126: } 161,
3207 { 127: } 161,
3208 { 128: } 162,
3209 { 129: } 163,
3210 { 130: } 164,
3211 { 131: } 165,
3212 { 132: } 166,
3213 { 133: } 167,
3214 { 134: } 168,
3215 { 135: } 169,
3216 { 136: } 170,
3217 { 137: } 171,
3218 { 138: } 172,
3219 { 139: } 173,
3220 { 140: } 174,
3221 { 141: } 175,
3222 { 142: } 176,
3223 { 143: } 177,
3224 { 144: } 178,
3225 { 145: } 179,
3226 { 146: } 180,
3227 { 147: } 181,
3228 { 148: } 182,
3229 { 149: } 184,
3230 { 150: } 185,
3231 { 151: } 186,
3232 { 152: } 188,
3233 { 153: } 190,
3234 { 154: } 191,
3235 { 155: } 192,
3236 { 156: } 193,
3237 { 157: } 194,
3238 { 158: } 194,
3239 { 159: } 194,
3240 { 160: } 194,
3241 { 161: } 194,
3242 { 162: } 194,
3243 { 163: } 194,
3244 { 164: } 194,
3245 { 165: } 194,
3246 { 166: } 194,
3247 { 167: } 195,
3248 { 168: } 197,
3249 { 169: } 198,
3250 { 170: } 199,
3251 { 171: } 200,
3252 { 172: } 201,
3253 { 173: } 202,
3254 { 174: } 203,
3255 { 175: } 204,
3256 { 176: } 205,
3257 { 177: } 206,
3258 { 178: } 207,
3259 { 179: } 209,
3260 { 180: } 211,
3261 { 181: } 213,
3262 { 182: } 214,
3263 { 183: } 215,
3264 { 184: } 216,
3265 { 185: } 217,
3266 { 186: } 218,
3267 { 187: } 219,
3268 { 188: } 221,
3269 { 189: } 222,
3270 { 190: } 224,
3271 { 191: } 226,
3272 { 192: } 228,
3273 { 193: } 230,
3274 { 194: } 230,
3275 { 195: } 230,
3276 { 196: } 231,
3277 { 197: } 232,
3278 { 198: } 232,
3279 { 199: } 232,
3280 { 200: } 232,
3281 { 201: } 232,
3282 { 202: } 232,
3283 { 203: } 233,
3284 { 204: } 234,
3285 { 205: } 235,
3286 { 206: } 237,
3287 { 207: } 238,
3288 { 208: } 240,
3289 { 209: } 241,
3290 { 210: } 242,
3291 { 211: } 243,
3292 { 212: } 244,
3293 { 213: } 245,
3294 { 214: } 247,
3295 { 215: } 249,
3296 { 216: } 250,
3297 { 217: } 251,
3298 { 218: } 253,
3299 { 219: } 254,
3300 { 220: } 256,
3301 { 221: } 256,
3302 { 222: } 256,
3303 { 223: } 257,
3304 { 224: } 258,
3305 { 225: } 259,
3306 { 226: } 259,
3307 { 227: } 259,
3308 { 228: } 261,
3309 { 229: } 262,
3310 { 230: } 263,
3311 { 231: } 264,
3312 { 232: } 266,
3313 { 233: } 268,
3314 { 234: } 270,
3315 { 235: } 271,
3316 { 236: } 272,
3317 { 237: } 273,
3318 { 238: } 275,
3319 { 239: } 276,
3320 { 240: } 276,
3321 { 241: } 276,
3322 { 242: } 277,
3323 { 243: } 278,
3324 { 244: } 280,
3325 { 245: } 281,
3326 { 246: } 282,
3327 { 247: } 283,
3328 { 248: } 284,
3329 { 249: } 285,
3330 { 250: } 287,
3331 { 251: } 287,
3332 { 252: } 288,
3333 { 253: } 290,
3334 { 254: } 292,
3335 { 255: } 293,
3336 { 256: } 295,
3337 { 257: } 297,
3338 { 258: } 297,
3339 { 259: } 299,
3340 { 260: } 299,
3341 { 261: } 299,
3342 { 262: } 299,
3343 { 263: } 299,
3344 { 264: } 299,
3345 { 265: } 299,
3346 { 266: } 299,
3347 { 267: } 299,
3348 { 268: } 299,
3349 { 269: } 299,
3350 { 270: } 299,
3351 { 271: } 299,
3352 { 272: } 299,
3353 { 273: } 299,
3354 { 274: } 299,
3355 { 275: } 299,
3356 { 276: } 299,
3357 { 277: } 299,
3358 { 278: } 299,
3359 { 279: } 299,
3360 { 280: } 299,
3361 { 281: } 299,
3362 { 282: } 299,
3363 { 283: } 299,
3364 { 284: } 299,
3365 { 285: } 300,
3366 { 286: } 300,
3367 { 287: } 300,
3368 { 288: } 300,
3369 { 289: } 300,
3370 { 290: } 300,
3371 { 291: } 300,
3372 { 292: } 300,
3373 { 293: } 300,
3374 { 294: } 300,
3375 { 295: } 300,
3376 { 296: } 301
3377 );
3378 
3379 yyml : array [0..yynstates-1] of Integer = (
3380 { 0: } 1,
3381 { 1: } 2,
3382 { 2: } 3,
3383 { 3: } 5,
3384 { 4: } 6,
3385 { 5: } 7,
3386 { 6: } 10,
3387 { 7: } 13,
3388 { 8: } 16,
3389 { 9: } 19,
3390 { 10: } 21,
3391 { 11: } 23,
3392 { 12: } 25,
3393 { 13: } 27,
3394 { 14: } 29,
3395 { 15: } 30,
3396 { 16: } 32,
3397 { 17: } 34,
3398 { 18: } 36,
3399 { 19: } 38,
3400 { 20: } 40,
3401 { 21: } 42,
3402 { 22: } 44,
3403 { 23: } 46,
3404 { 24: } 48,
3405 { 25: } 50,
3406 { 26: } 52,
3407 { 27: } 54,
3408 { 28: } 56,
3409 { 29: } 58,
3410 { 30: } 60,
3411 { 31: } 62,
3412 { 32: } 64,
3413 { 33: } 66,
3414 { 34: } 68,
3415 { 35: } 70,
3416 { 36: } 72,
3417 { 37: } 74,
3418 { 38: } 76,
3419 { 39: } 78,
3420 { 40: } 80,
3421 { 41: } 82,
3422 { 42: } 84,
3423 { 43: } 86,
3424 { 44: } 88,
3425 { 45: } 90,
3426 { 46: } 92,
3427 { 47: } 94,
3428 { 48: } 96,
3429 { 49: } 98,
3430 { 50: } 100,
3431 { 51: } 102,
3432 { 52: } 104,
3433 { 53: } 105,
3434 { 54: } 106,
3435 { 55: } 107,
3436 { 56: } 108,
3437 { 57: } 109,
3438 { 58: } 109,
3439 { 59: } 110,
3440 { 60: } 110,
3441 { 61: } 111,
3442 { 62: } 111,
3443 { 63: } 111,
3444 { 64: } 112,
3445 { 65: } 114,
3446 { 66: } 115,
3447 { 67: } 116,
3448 { 68: } 116,
3449 { 69: } 116,
3450 { 70: } 118,
3451 { 71: } 119,
3452 { 72: } 120,
3453 { 73: } 121,
3454 { 74: } 122,
3455 { 75: } 123,
3456 { 76: } 124,
3457 { 77: } 125,
3458 { 78: } 126,
3459 { 79: } 127,
3460 { 80: } 127,
3461 { 81: } 127,
3462 { 82: } 127,
3463 { 83: } 127,
3464 { 84: } 127,
3465 { 85: } 127,
3466 { 86: } 128,
3467 { 87: } 129,
3468 { 88: } 130,
3469 { 89: } 131,
3470 { 90: } 132,
3471 { 91: } 133,
3472 { 92: } 134,
3473 { 93: } 135,
3474 { 94: } 136,
3475 { 95: } 137,
3476 { 96: } 138,
3477 { 97: } 139,
3478 { 98: } 140,
3479 { 99: } 141,
3480 { 100: } 142,
3481 { 101: } 143,
3482 { 102: } 144,
3483 { 103: } 145,
3484 { 104: } 146,
3485 { 105: } 147,
3486 { 106: } 148,
3487 { 107: } 149,
3488 { 108: } 150,
3489 { 109: } 151,
3490 { 110: } 152,
3491 { 111: } 153,
3492 { 112: } 154,
3493 { 113: } 155,
3494 { 114: } 156,
3495 { 115: } 157,
3496 { 116: } 158,
3497 { 117: } 158,
3498 { 118: } 159,
3499 { 119: } 160,
3500 { 120: } 161,
3501 { 121: } 162,
3502 { 122: } 162,
3503 { 123: } 162,
3504 { 124: } 162,
3505 { 125: } 162,
3506 { 126: } 162,
3507 { 127: } 162,
3508 { 128: } 162,
3509 { 129: } 163,
3510 { 130: } 164,
3511 { 131: } 165,
3512 { 132: } 166,
3513 { 133: } 167,
3514 { 134: } 168,
3515 { 135: } 169,
3516 { 136: } 170,
3517 { 137: } 171,
3518 { 138: } 172,
3519 { 139: } 173,
3520 { 140: } 174,
3521 { 141: } 175,
3522 { 142: } 176,
3523 { 143: } 177,
3524 { 144: } 178,
3525 { 145: } 179,
3526 { 146: } 180,
3527 { 147: } 181,
3528 { 148: } 182,
3529 { 149: } 183,
3530 { 150: } 185,
3531 { 151: } 186,
3532 { 152: } 187,
3533 { 153: } 189,
3534 { 154: } 191,
3535 { 155: } 192,
3536 { 156: } 193,
3537 { 157: } 194,
3538 { 158: } 195,
3539 { 159: } 195,
3540 { 160: } 195,
3541 { 161: } 195,
3542 { 162: } 195,
3543 { 163: } 195,
3544 { 164: } 195,
3545 { 165: } 195,
3546 { 166: } 195,
3547 { 167: } 195,
3548 { 168: } 196,
3549 { 169: } 198,
3550 { 170: } 199,
3551 { 171: } 200,
3552 { 172: } 201,
3553 { 173: } 202,
3554 { 174: } 203,
3555 { 175: } 204,
3556 { 176: } 205,
3557 { 177: } 206,
3558 { 178: } 207,
3559 { 179: } 208,
3560 { 180: } 210,
3561 { 181: } 212,
3562 { 182: } 214,
3563 { 183: } 215,
3564 { 184: } 216,
3565 { 185: } 217,
3566 { 186: } 218,
3567 { 187: } 219,
3568 { 188: } 220,
3569 { 189: } 222,
3570 { 190: } 223,
3571 { 191: } 225,
3572 { 192: } 227,
3573 { 193: } 229,
3574 { 194: } 231,
3575 { 195: } 231,
3576 { 196: } 231,
3577 { 197: } 232,
3578 { 198: } 233,
3579 { 199: } 233,
3580 { 200: } 233,
3581 { 201: } 233,
3582 { 202: } 233,
3583 { 203: } 233,
3584 { 204: } 234,
3585 { 205: } 235,
3586 { 206: } 236,
3587 { 207: } 238,
3588 { 208: } 239,
3589 { 209: } 241,
3590 { 210: } 242,
3591 { 211: } 243,
3592 { 212: } 244,
3593 { 213: } 245,
3594 { 214: } 246,
3595 { 215: } 248,
3596 { 216: } 250,
3597 { 217: } 251,
3598 { 218: } 252,
3599 { 219: } 254,
3600 { 220: } 255,
3601 { 221: } 257,
3602 { 222: } 257,
3603 { 223: } 257,
3604 { 224: } 258,
3605 { 225: } 259,
3606 { 226: } 260,
3607 { 227: } 260,
3608 { 228: } 260,
3609 { 229: } 262,
3610 { 230: } 263,
3611 { 231: } 264,
3612 { 232: } 265,
3613 { 233: } 267,
3614 { 234: } 269,
3615 { 235: } 271,
3616 { 236: } 272,
3617 { 237: } 273,
3618 { 238: } 274,
3619 { 239: } 276,
3620 { 240: } 277,
3621 { 241: } 277,
3622 { 242: } 277,
3623 { 243: } 278,
3624 { 244: } 279,
3625 { 245: } 281,
3626 { 246: } 282,
3627 { 247: } 283,
3628 { 248: } 284,
3629 { 249: } 285,
3630 { 250: } 286,
3631 { 251: } 288,
3632 { 252: } 288,
3633 { 253: } 289,
3634 { 254: } 291,
3635 { 255: } 293,
3636 { 256: } 294,
3637 { 257: } 296,
3638 { 258: } 298,
3639 { 259: } 298,
3640 { 260: } 300,
3641 { 261: } 300,
3642 { 262: } 300,
3643 { 263: } 300,
3644 { 264: } 300,
3645 { 265: } 300,
3646 { 266: } 300,
3647 { 267: } 300,
3648 { 268: } 300,
3649 { 269: } 300,
3650 { 270: } 300,
3651 { 271: } 300,
3652 { 272: } 300,
3653 { 273: } 300,
3654 { 274: } 300,
3655 { 275: } 300,
3656 { 276: } 300,
3657 { 277: } 300,
3658 { 278: } 300,
3659 { 279: } 300,
3660 { 280: } 300,
3661 { 281: } 300,
3662 { 282: } 300,
3663 { 283: } 300,
3664 { 284: } 300,
3665 { 285: } 300,
3666 { 286: } 301,
3667 { 287: } 301,
3668 { 288: } 301,
3669 { 289: } 301,
3670 { 290: } 301,
3671 { 291: } 301,
3672 { 292: } 301,
3673 { 293: } 301,
3674 { 294: } 301,
3675 { 295: } 301,
3676 { 296: } 301
3677 );
3678 
3679 yymh : array [0..yynstates-1] of Integer = (
3680 { 0: } 1,
3681 { 1: } 2,
3682 { 2: } 4,
3683 { 3: } 5,
3684 { 4: } 6,
3685 { 5: } 9,
3686 { 6: } 12,
3687 { 7: } 15,
3688 { 8: } 18,
3689 { 9: } 20,
3690 { 10: } 22,
3691 { 11: } 24,
3692 { 12: } 26,
3693 { 13: } 28,
3694 { 14: } 29,
3695 { 15: } 31,
3696 { 16: } 33,
3697 { 17: } 35,
3698 { 18: } 37,
3699 { 19: } 39,
3700 { 20: } 41,
3701 { 21: } 43,
3702 { 22: } 45,
3703 { 23: } 47,
3704 { 24: } 49,
3705 { 25: } 51,
3706 { 26: } 53,
3707 { 27: } 55,
3708 { 28: } 57,
3709 { 29: } 59,
3710 { 30: } 61,
3711 { 31: } 63,
3712 { 32: } 65,
3713 { 33: } 67,
3714 { 34: } 69,
3715 { 35: } 71,
3716 { 36: } 73,
3717 { 37: } 75,
3718 { 38: } 77,
3719 { 39: } 79,
3720 { 40: } 81,
3721 { 41: } 83,
3722 { 42: } 85,
3723 { 43: } 87,
3724 { 44: } 89,
3725 { 45: } 91,
3726 { 46: } 93,
3727 { 47: } 95,
3728 { 48: } 97,
3729 { 49: } 99,
3730 { 50: } 101,
3731 { 51: } 103,
3732 { 52: } 104,
3733 { 53: } 105,
3734 { 54: } 106,
3735 { 55: } 107,
3736 { 56: } 108,
3737 { 57: } 108,
3738 { 58: } 109,
3739 { 59: } 109,
3740 { 60: } 110,
3741 { 61: } 110,
3742 { 62: } 110,
3743 { 63: } 111,
3744 { 64: } 113,
3745 { 65: } 114,
3746 { 66: } 115,
3747 { 67: } 115,
3748 { 68: } 115,
3749 { 69: } 117,
3750 { 70: } 118,
3751 { 71: } 119,
3752 { 72: } 120,
3753 { 73: } 121,
3754 { 74: } 122,
3755 { 75: } 123,
3756 { 76: } 124,
3757 { 77: } 125,
3758 { 78: } 126,
3759 { 79: } 126,
3760 { 80: } 126,
3761 { 81: } 126,
3762 { 82: } 126,
3763 { 83: } 126,
3764 { 84: } 126,
3765 { 85: } 127,
3766 { 86: } 128,
3767 { 87: } 129,
3768 { 88: } 130,
3769 { 89: } 131,
3770 { 90: } 132,
3771 { 91: } 133,
3772 { 92: } 134,
3773 { 93: } 135,
3774 { 94: } 136,
3775 { 95: } 137,
3776 { 96: } 138,
3777 { 97: } 139,
3778 { 98: } 140,
3779 { 99: } 141,
3780 { 100: } 142,
3781 { 101: } 143,
3782 { 102: } 144,
3783 { 103: } 145,
3784 { 104: } 146,
3785 { 105: } 147,
3786 { 106: } 148,
3787 { 107: } 149,
3788 { 108: } 150,
3789 { 109: } 151,
3790 { 110: } 152,
3791 { 111: } 153,
3792 { 112: } 154,
3793 { 113: } 155,
3794 { 114: } 156,
3795 { 115: } 157,
3796 { 116: } 157,
3797 { 117: } 158,
3798 { 118: } 159,
3799 { 119: } 160,
3800 { 120: } 161,
3801 { 121: } 161,
3802 { 122: } 161,
3803 { 123: } 161,
3804 { 124: } 161,
3805 { 125: } 161,
3806 { 126: } 161,
3807 { 127: } 161,
3808 { 128: } 162,
3809 { 129: } 163,
3810 { 130: } 164,
3811 { 131: } 165,
3812 { 132: } 166,
3813 { 133: } 167,
3814 { 134: } 168,
3815 { 135: } 169,
3816 { 136: } 170,
3817 { 137: } 171,
3818 { 138: } 172,
3819 { 139: } 173,
3820 { 140: } 174,
3821 { 141: } 175,
3822 { 142: } 176,
3823 { 143: } 177,
3824 { 144: } 178,
3825 { 145: } 179,
3826 { 146: } 180,
3827 { 147: } 181,
3828 { 148: } 182,
3829 { 149: } 184,
3830 { 150: } 185,
3831 { 151: } 186,
3832 { 152: } 188,
3833 { 153: } 190,
3834 { 154: } 191,
3835 { 155: } 192,
3836 { 156: } 193,
3837 { 157: } 194,
3838 { 158: } 194,
3839 { 159: } 194,
3840 { 160: } 194,
3841 { 161: } 194,
3842 { 162: } 194,
3843 { 163: } 194,
3844 { 164: } 194,
3845 { 165: } 194,
3846 { 166: } 194,
3847 { 167: } 195,
3848 { 168: } 197,
3849 { 169: } 198,
3850 { 170: } 199,
3851 { 171: } 200,
3852 { 172: } 201,
3853 { 173: } 202,
3854 { 174: } 203,
3855 { 175: } 204,
3856 { 176: } 205,
3857 { 177: } 206,
3858 { 178: } 207,
3859 { 179: } 209,
3860 { 180: } 211,
3861 { 181: } 213,
3862 { 182: } 214,
3863 { 183: } 215,
3864 { 184: } 216,
3865 { 185: } 217,
3866 { 186: } 218,
3867 { 187: } 219,
3868 { 188: } 221,
3869 { 189: } 222,
3870 { 190: } 224,
3871 { 191: } 226,
3872 { 192: } 228,
3873 { 193: } 230,
3874 { 194: } 230,
3875 { 195: } 230,
3876 { 196: } 231,
3877 { 197: } 232,
3878 { 198: } 232,
3879 { 199: } 232,
3880 { 200: } 232,
3881 { 201: } 232,
3882 { 202: } 232,
3883 { 203: } 233,
3884 { 204: } 234,
3885 { 205: } 235,
3886 { 206: } 237,
3887 { 207: } 238,
3888 { 208: } 240,
3889 { 209: } 241,
3890 { 210: } 242,
3891 { 211: } 243,
3892 { 212: } 244,
3893 { 213: } 245,
3894 { 214: } 247,
3895 { 215: } 249,
3896 { 216: } 250,
3897 { 217: } 251,
3898 { 218: } 253,
3899 { 219: } 254,
3900 { 220: } 256,
3901 { 221: } 256,
3902 { 222: } 256,
3903 { 223: } 257,
3904 { 224: } 258,
3905 { 225: } 259,
3906 { 226: } 259,
3907 { 227: } 259,
3908 { 228: } 261,
3909 { 229: } 262,
3910 { 230: } 263,
3911 { 231: } 264,
3912 { 232: } 266,
3913 { 233: } 268,
3914 { 234: } 270,
3915 { 235: } 271,
3916 { 236: } 272,
3917 { 237: } 273,
3918 { 238: } 275,
3919 { 239: } 276,
3920 { 240: } 276,
3921 { 241: } 276,
3922 { 242: } 277,
3923 { 243: } 278,
3924 { 244: } 280,
3925 { 245: } 281,
3926 { 246: } 282,
3927 { 247: } 283,
3928 { 248: } 284,
3929 { 249: } 285,
3930 { 250: } 287,
3931 { 251: } 287,
3932 { 252: } 288,
3933 { 253: } 290,
3934 { 254: } 292,
3935 { 255: } 293,
3936 { 256: } 295,
3937 { 257: } 297,
3938 { 258: } 297,
3939 { 259: } 299,
3940 { 260: } 299,
3941 { 261: } 299,
3942 { 262: } 299,
3943 { 263: } 299,
3944 { 264: } 299,
3945 { 265: } 299,
3946 { 266: } 299,
3947 { 267: } 299,
3948 { 268: } 299,
3949 { 269: } 299,
3950 { 270: } 299,
3951 { 271: } 299,
3952 { 272: } 299,
3953 { 273: } 299,
3954 { 274: } 299,
3955 { 275: } 299,
3956 { 276: } 299,
3957 { 277: } 299,
3958 { 278: } 299,
3959 { 279: } 299,
3960 { 280: } 299,
3961 { 281: } 299,
3962 { 282: } 299,
3963 { 283: } 299,
3964 { 284: } 299,
3965 { 285: } 300,
3966 { 286: } 300,
3967 { 287: } 300,
3968 { 288: } 300,
3969 { 289: } 300,
3970 { 290: } 300,
3971 { 291: } 300,
3972 { 292: } 300,
3973 { 293: } 300,
3974 { 294: } 300,
3975 { 295: } 300,
3976 { 296: } 301
3977 );
3978 
3979 yytl : array [0..yynstates-1] of Integer = (
3980 { 0: } 1,
3981 { 1: } 54,
3982 { 2: } 107,
3983 { 3: } 109,
3984 { 4: } 111,
3985 { 5: } 113,
3986 { 6: } 116,
3987 { 7: } 121,
3988 { 8: } 123,
3989 { 9: } 129,
3990 { 10: } 130,
3991 { 11: } 131,
3992 { 12: } 132,
3993 { 13: } 134,
3994 { 14: } 136,
3995 { 15: } 142,
3996 { 16: } 142,
3997 { 17: } 142,
3998 { 18: } 142,
3999 { 19: } 142,
4000 { 20: } 142,
4001 { 21: } 142,
4002 { 22: } 142,
4003 { 23: } 142,
4004 { 24: } 142,
4005 { 25: } 142,
4006 { 26: } 142,
4007 { 27: } 143,
4008 { 28: } 146,
4009 { 29: } 149,
4010 { 30: } 153,
4011 { 31: } 155,
4012 { 32: } 157,
4013 { 33: } 159,
4014 { 34: } 161,
4015 { 35: } 163,
4016 { 36: } 166,
4017 { 37: } 168,
4018 { 38: } 171,
4019 { 39: } 171,
4020 { 40: } 171,
4021 { 41: } 173,
4022 { 42: } 175,
4023 { 43: } 177,
4024 { 44: } 180,
4025 { 45: } 182,
4026 { 46: } 184,
4027 { 47: } 186,
4028 { 48: } 188,
4029 { 49: } 190,
4030 { 50: } 191,
4031 { 51: } 191,
4032 { 52: } 191,
4033 { 53: } 192,
4034 { 54: } 192,
4035 { 55: } 192,
4036 { 56: } 192,
4037 { 57: } 192,
4038 { 58: } 194,
4039 { 59: } 194,
4040 { 60: } 196,
4041 { 61: } 196,
4042 { 62: } 198,
4043 { 63: } 200,
4044 { 64: } 201,
4045 { 65: } 206,
4046 { 66: } 207,
4047 { 67: } 207,
4048 { 68: } 208,
4049 { 69: } 210,
4050 { 70: } 211,
4051 { 71: } 214,
4052 { 72: } 214,
4053 { 73: } 214,
4054 { 74: } 214,
4055 { 75: } 214,
4056 { 76: } 214,
4057 { 77: } 214,
4058 { 78: } 214,
4059 { 79: } 214,
4060 { 80: } 216,
4061 { 81: } 219,
4062 { 82: } 220,
4063 { 83: } 221,
4064 { 84: } 222,
4065 { 85: } 223,
4066 { 86: } 225,
4067 { 87: } 227,
4068 { 88: } 229,
4069 { 89: } 231,
4070 { 90: } 233,
4071 { 91: } 235,
4072 { 92: } 237,
4073 { 93: } 240,
4074 { 94: } 242,
4075 { 95: } 244,
4076 { 96: } 246,
4077 { 97: } 248,
4078 { 98: } 250,
4079 { 99: } 252,
4080 { 100: } 255,
4081 { 101: } 257,
4082 { 102: } 259,
4083 { 103: } 261,
4084 { 104: } 263,
4085 { 105: } 265,
4086 { 106: } 267,
4087 { 107: } 269,
4088 { 108: } 271,
4089 { 109: } 273,
4090 { 110: } 275,
4091 { 111: } 277,
4092 { 112: } 279,
4093 { 113: } 279,
4094 { 114: } 279,
4095 { 115: } 279,
4096 { 116: } 281,
4097 { 117: } 282,
4098 { 118: } 283,
4099 { 119: } 284,
4100 { 120: } 284,
4101 { 121: } 285,
4102 { 122: } 286,
4103 { 123: } 288,
4104 { 124: } 289,
4105 { 125: } 290,
4106 { 126: } 291,
4107 { 127: } 292,
4108 { 128: } 293,
4109 { 129: } 293,
4110 { 130: } 295,
4111 { 131: } 297,
4112 { 132: } 299,
4113 { 133: } 301,
4114 { 134: } 303,
4115 { 135: } 305,
4116 { 136: } 307,
4117 { 137: } 309,
4118 { 138: } 311,
4119 { 139: } 314,
4120 { 140: } 316,
4121 { 141: } 318,
4122 { 142: } 320,
4123 { 143: } 322,
4124 { 144: } 324,
4125 { 145: } 326,
4126 { 146: } 328,
4127 { 147: } 330,
4128 { 148: } 332,
4129 { 149: } 334,
4130 { 150: } 335,
4131 { 151: } 337,
4132 { 152: } 339,
4133 { 153: } 340,
4134 { 154: } 341,
4135 { 155: } 343,
4136 { 156: } 345,
4137 { 157: } 347,
4138 { 158: } 349,
4139 { 159: } 350,
4140 { 160: } 351,
4141 { 161: } 352,
4142 { 162: } 353,
4143 { 163: } 354,
4144 { 164: } 355,
4145 { 165: } 356,
4146 { 166: } 357,
4147 { 167: } 358,
4148 { 168: } 360,
4149 { 169: } 361,
4150 { 170: } 363,
4151 { 171: } 365,
4152 { 172: } 367,
4153 { 173: } 369,
4154 { 174: } 371,
4155 { 175: } 373,
4156 { 176: } 375,
4157 { 177: } 377,
4158 { 178: } 379,
4159 { 179: } 381,
4160 { 180: } 382,
4161 { 181: } 383,
4162 { 182: } 384,
4163 { 183: } 386,
4164 { 184: } 388,
4165 { 185: } 390,
4166 { 186: } 392,
4167 { 187: } 394,
4168 { 188: } 396,
4169 { 189: } 397,
4170 { 190: } 399,
4171 { 191: } 400,
4172 { 192: } 401,
4173 { 193: } 402,
4174 { 194: } 403,
4175 { 195: } 404,
4176 { 196: } 405,
4177 { 197: } 405,
4178 { 198: } 405,
4179 { 199: } 406,
4180 { 200: } 407,
4181 { 201: } 408,
4182 { 202: } 409,
4183 { 203: } 410,
4184 { 204: } 412,
4185 { 205: } 414,
4186 { 206: } 416,
4187 { 207: } 417,
4188 { 208: } 419,
4189 { 209: } 420,
4190 { 210: } 422,
4191 { 211: } 424,
4192 { 212: } 426,
4193 { 213: } 428,
4194 { 214: } 430,
4195 { 215: } 431,
4196 { 216: } 432,
4197 { 217: } 434,
4198 { 218: } 436,
4199 { 219: } 437,
4200 { 220: } 439,
4201 { 221: } 440,
4202 { 222: } 441,
4203 { 223: } 442,
4204 { 224: } 442,
4205 { 225: } 442,
4206 { 226: } 442,
4207 { 227: } 443,
4208 { 228: } 444,
4209 { 229: } 445,
4210 { 230: } 447,
4211 { 231: } 449,
4212 { 232: } 451,
4213 { 233: } 452,
4214 { 234: } 453,
4215 { 235: } 454,
4216 { 236: } 456,
4217 { 237: } 458,
4218 { 238: } 460,
4219 { 239: } 461,
4220 { 240: } 463,
4221 { 241: } 464,
4222 { 242: } 465,
4223 { 243: } 465,
4224 { 244: } 465,
4225 { 245: } 466,
4226 { 246: } 468,
4227 { 247: } 470,
4228 { 248: } 472,
4229 { 249: } 474,
4230 { 250: } 476,
4231 { 251: } 477,
4232 { 252: } 478,
4233 { 253: } 478,
4234 { 254: } 479,
4235 { 255: } 480,
4236 { 256: } 482,
4237 { 257: } 483,
4238 { 258: } 484,
4239 { 259: } 485,
4240 { 260: } 486,
4241 { 261: } 487,
4242 { 262: } 488,
4243 { 263: } 489,
4244 { 264: } 490,
4245 { 265: } 491,
4246 { 266: } 492,
4247 { 267: } 493,
4248 { 268: } 494,
4249 { 269: } 496,
4250 { 270: } 498,
4251 { 271: } 499,
4252 { 272: } 500,
4253 { 273: } 501,
4254 { 274: } 502,
4255 { 275: } 503,
4256 { 276: } 504,
4257 { 277: } 505,
4258 { 278: } 506,
4259 { 279: } 507,
4260 { 280: } 508,
4261 { 281: } 509,
4262 { 282: } 510,
4263 { 283: } 511,
4264 { 284: } 512,
4265 { 285: } 513,
4266 { 286: } 513,
4267 { 287: } 514,
4268 { 288: } 515,
4269 { 289: } 516,
4270 { 290: } 517,
4271 { 291: } 518,
4272 { 292: } 519,
4273 { 293: } 520,
4274 { 294: } 521,
4275 { 295: } 522,
4276 { 296: } 523
4277 );
4278 
4279 yyth : array [0..yynstates-1] of Integer = (
4280 { 0: } 53,
4281 { 1: } 106,
4282 { 2: } 108,
4283 { 3: } 110,
4284 { 4: } 112,
4285 { 5: } 115,
4286 { 6: } 120,
4287 { 7: } 122,
4288 { 8: } 128,
4289 { 9: } 129,
4290 { 10: } 130,
4291 { 11: } 131,
4292 { 12: } 133,
4293 { 13: } 135,
4294 { 14: } 141,
4295 { 15: } 141,
4296 { 16: } 141,
4297 { 17: } 141,
4298 { 18: } 141,
4299 { 19: } 141,
4300 { 20: } 141,
4301 { 21: } 141,
4302 { 22: } 141,
4303 { 23: } 141,
4304 { 24: } 141,
4305 { 25: } 141,
4306 { 26: } 142,
4307 { 27: } 145,
4308 { 28: } 148,
4309 { 29: } 152,
4310 { 30: } 154,
4311 { 31: } 156,
4312 { 32: } 158,
4313 { 33: } 160,
4314 { 34: } 162,
4315 { 35: } 165,
4316 { 36: } 167,
4317 { 37: } 170,
4318 { 38: } 170,
4319 { 39: } 170,
4320 { 40: } 172,
4321 { 41: } 174,
4322 { 42: } 176,
4323 { 43: } 179,
4324 { 44: } 181,
4325 { 45: } 183,
4326 { 46: } 185,
4327 { 47: } 187,
4328 { 48: } 189,
4329 { 49: } 190,
4330 { 50: } 190,
4331 { 51: } 190,
4332 { 52: } 191,
4333 { 53: } 191,
4334 { 54: } 191,
4335 { 55: } 191,
4336 { 56: } 191,
4337 { 57: } 193,
4338 { 58: } 193,
4339 { 59: } 195,
4340 { 60: } 195,
4341 { 61: } 197,
4342 { 62: } 199,
4343 { 63: } 200,
4344 { 64: } 205,
4345 { 65: } 206,
4346 { 66: } 206,
4347 { 67: } 207,
4348 { 68: } 209,
4349 { 69: } 210,
4350 { 70: } 213,
4351 { 71: } 213,
4352 { 72: } 213,
4353 { 73: } 213,
4354 { 74: } 213,
4355 { 75: } 213,
4356 { 76: } 213,
4357 { 77: } 213,
4358 { 78: } 213,
4359 { 79: } 215,
4360 { 80: } 218,
4361 { 81: } 219,
4362 { 82: } 220,
4363 { 83: } 221,
4364 { 84: } 222,
4365 { 85: } 224,
4366 { 86: } 226,
4367 { 87: } 228,
4368 { 88: } 230,
4369 { 89: } 232,
4370 { 90: } 234,
4371 { 91: } 236,
4372 { 92: } 239,
4373 { 93: } 241,
4374 { 94: } 243,
4375 { 95: } 245,
4376 { 96: } 247,
4377 { 97: } 249,
4378 { 98: } 251,
4379 { 99: } 254,
4380 { 100: } 256,
4381 { 101: } 258,
4382 { 102: } 260,
4383 { 103: } 262,
4384 { 104: } 264,
4385 { 105: } 266,
4386 { 106: } 268,
4387 { 107: } 270,
4388 { 108: } 272,
4389 { 109: } 274,
4390 { 110: } 276,
4391 { 111: } 278,
4392 { 112: } 278,
4393 { 113: } 278,
4394 { 114: } 278,
4395 { 115: } 280,
4396 { 116: } 281,
4397 { 117: } 282,
4398 { 118: } 283,
4399 { 119: } 283,
4400 { 120: } 284,
4401 { 121: } 285,
4402 { 122: } 287,
4403 { 123: } 288,
4404 { 124: } 289,
4405 { 125: } 290,
4406 { 126: } 291,
4407 { 127: } 292,
4408 { 128: } 292,
4409 { 129: } 294,
4410 { 130: } 296,
4411 { 131: } 298,
4412 { 132: } 300,
4413 { 133: } 302,
4414 { 134: } 304,
4415 { 135: } 306,
4416 { 136: } 308,
4417 { 137: } 310,
4418 { 138: } 313,
4419 { 139: } 315,
4420 { 140: } 317,
4421 { 141: } 319,
4422 { 142: } 321,
4423 { 143: } 323,
4424 { 144: } 325,
4425 { 145: } 327,
4426 { 146: } 329,
4427 { 147: } 331,
4428 { 148: } 333,
4429 { 149: } 334,
4430 { 150: } 336,
4431 { 151: } 338,
4432 { 152: } 339,
4433 { 153: } 340,
4434 { 154: } 342,
4435 { 155: } 344,
4436 { 156: } 346,
4437 { 157: } 348,
4438 { 158: } 349,
4439 { 159: } 350,
4440 { 160: } 351,
4441 { 161: } 352,
4442 { 162: } 353,
4443 { 163: } 354,
4444 { 164: } 355,
4445 { 165: } 356,
4446 { 166: } 357,
4447 { 167: } 359,
4448 { 168: } 360,
4449 { 169: } 362,
4450 { 170: } 364,
4451 { 171: } 366,
4452 { 172: } 368,
4453 { 173: } 370,
4454 { 174: } 372,
4455 { 175: } 374,
4456 { 176: } 376,
4457 { 177: } 378,
4458 { 178: } 380,
4459 { 179: } 381,
4460 { 180: } 382,
4461 { 181: } 383,
4462 { 182: } 385,
4463 { 183: } 387,
4464 { 184: } 389,
4465 { 185: } 391,
4466 { 186: } 393,
4467 { 187: } 395,
4468 { 188: } 396,
4469 { 189: } 398,
4470 { 190: } 399,
4471 { 191: } 400,
4472 { 192: } 401,
4473 { 193: } 402,
4474 { 194: } 403,
4475 { 195: } 404,
4476 { 196: } 404,
4477 { 197: } 404,
4478 { 198: } 405,
4479 { 199: } 406,
4480 { 200: } 407,
4481 { 201: } 408,
4482 { 202: } 409,
4483 { 203: } 411,
4484 { 204: } 413,
4485 { 205: } 415,
4486 { 206: } 416,
4487 { 207: } 418,
4488 { 208: } 419,
4489 { 209: } 421,
4490 { 210: } 423,
4491 { 211: } 425,
4492 { 212: } 427,
4493 { 213: } 429,
4494 { 214: } 430,
4495 { 215: } 431,
4496 { 216: } 433,
4497 { 217: } 435,
4498 { 218: } 436,
4499 { 219: } 438,
4500 { 220: } 439,
4501 { 221: } 440,
4502 { 222: } 441,
4503 { 223: } 441,
4504 { 224: } 441,
4505 { 225: } 441,
4506 { 226: } 442,
4507 { 227: } 443,
4508 { 228: } 444,
4509 { 229: } 446,
4510 { 230: } 448,
4511 { 231: } 450,
4512 { 232: } 451,
4513 { 233: } 452,
4514 { 234: } 453,
4515 { 235: } 455,
4516 { 236: } 457,
4517 { 237: } 459,
4518 { 238: } 460,
4519 { 239: } 462,
4520 { 240: } 463,
4521 { 241: } 464,
4522 { 242: } 464,
4523 { 243: } 464,
4524 { 244: } 465,
4525 { 245: } 467,
4526 { 246: } 469,
4527 { 247: } 471,
4528 { 248: } 473,
4529 { 249: } 475,
4530 { 250: } 476,
4531 { 251: } 477,
4532 { 252: } 477,
4533 { 253: } 478,
4534 { 254: } 479,
4535 { 255: } 481,
4536 { 256: } 482,
4537 { 257: } 483,
4538 { 258: } 484,
4539 { 259: } 485,
4540 { 260: } 486,
4541 { 261: } 487,
4542 { 262: } 488,
4543 { 263: } 489,
4544 { 264: } 490,
4545 { 265: } 491,
4546 { 266: } 492,
4547 { 267: } 493,
4548 { 268: } 495,
4549 { 269: } 497,
4550 { 270: } 498,
4551 { 271: } 499,
4552 { 272: } 500,
4553 { 273: } 501,
4554 { 274: } 502,
4555 { 275: } 503,
4556 { 276: } 504,
4557 { 277: } 505,
4558 { 278: } 506,
4559 { 279: } 507,
4560 { 280: } 508,
4561 { 281: } 509,
4562 { 282: } 510,
4563 { 283: } 511,
4564 { 284: } 512,
4565 { 285: } 512,
4566 { 286: } 513,
4567 { 287: } 514,
4568 { 288: } 515,
4569 { 289: } 516,
4570 { 290: } 517,
4571 { 291: } 518,
4572 { 292: } 519,
4573 { 293: } 520,
4574 { 294: } 521,
4575 { 295: } 522,
4576 { 296: } 522
4577 );
4578 
4579 
4580 var yyn : Integer;
4581 
4582 label start, scan, action;
4583 
4584 begin
4585 
4586 start:
4587 
4588   (* initialize: *)
4589 
4590   yynew;
4591 
4592 scan:
4593 
4594   (* mark positions and matches: *)
4595 
4596   for yyn := yykl[yystate] to     yykh[yystate] do yymark(yyk[yyn]);
4597   for yyn := yymh[yystate] downto yyml[yystate] do yymatch(yym[yyn]);
4598 
4599   if yytl[yystate]>yyth[yystate] then goto action; (* dead state *)
4600 
4601   (* get next character: *)
4602 
4603   yyscan;
4604 
4605   (* determine action: *)
4606 
4607   yyn := yytl[yystate];
4608   while (yyn<=yyth[yystate]) and not (yyactchar in yyt[yyn].cc) do inc(yyn);
4609   if yyn>yyth[yystate] then goto action;
4610     (* no transition on yyactchar in this state *)
4611 
4612   (* switch to new state: *)
4613 
4614   yystate := yyt[yyn].s;
4615 
4616   goto scan;
4617 
4618 action:
4619 
4620   (* execute action: *)
4621 
4622   if yyfind(yyrule) then
4623     begin
4624       yyaction(yyrule);
4625       if yyreject then goto action;
4626     end
4627   else if not yydefault and yywrap then
4628     begin
4629       yyclear;
4630       return(0);
4631     end;
4632 
4633   if not yydone then goto start;
4634 
4635   yylex := yyretval;
4636 
4637 end(*yylex*);
4638 
4639 
4640 
act_tokennull4641     function act_token : string;
4642       begin
4643          act_token:=yytext;
4644       end;
4645 
ForceExtensionnull4646 Function ForceExtension(Const HStr,ext:String):String;
4647 {
4648   Return a filename which certainly has the extension ext
4649   (no dot in ext !!)
4650 }
4651 var
4652   j : longint;
4653 begin
4654   j:=length(Hstr);
4655   while (j>0) and (Hstr[j]<>'.') do
4656    dec(j);
4657   if j=0 then
4658    j:=255;
4659   ForceExtension:=Copy(Hstr,1,j-1)+'.'+Ext;
4660 end;
4661 
4662   begin
4663      ProcessOptions;
4664      line_no := 1;
4665      assign(yyinput, inputfilename);
4666      reset(yyinput);
4667      assign(textinfile, inputfilename);
4668      reset(textinfile);
4669      readln(textinfile,last_source_line);
4670      assign(outfile, outputfilename);
4671      rewrite(outfile);
4672      if not(includefile) then
4673        begin
4674           writeln(outfile,'unit ',unitname,';');
4675           writeln(outfile);
4676           writeln(outfile,'{  Automatically converted by H2PAS.EXE from '+inputfilename);
4677           writeln(outfile,'   Utility made by Florian Klaempfl 25th-28th september 96');
4678           writeln(outfile,'   Improvements made by Mark A. Malakanov 22nd-25th may 97 ');
4679           writeln(outfile,'   Further improvements by Michael Van Canneyt, April 1998 ');
4680           writeln(outfile,'   define handling and error recovery by Pierre Muller, June 1998 }');
4681           writeln(outfile);
4682           writeln(outfile);
4683           writeln(outfile,'  interface');
4684           writeln(outfile);
4685           writeln(outfile,'  { C default packing is dword }');
4686           writeln(outfile);
4687           writeln(outfile,'{$PACKRECORDS 4}');
4688        end;
4689      if UsePPointers then
4690        begin
4691        { Define some pointers to basic pascal types }
4692        writeln(outfile);
4693        Writeln(outfile,' { Pointers to basic pascal types, inserted by h2pas conversion program.}');
4694        Writeln(outfile,'  Type');
4695        Writeln(outfile,'     PLongint  = ^Longint;');
4696        Writeln(outfile,'     PByte     = ^Byte;');
4697        Writeln(outfile,'     PWord     = ^Word;');
4698        Writeln(outfile,'     PInteger  = ^Integer;');
4699        Writeln(outfile,'     PCardinal = ^Cardinal;');
4700        Writeln(outfile,'     PReal     = ^Real;');
4701        Writeln(outfile,'     PDouble   = ^Double;');
4702        Writeln(outfile);
4703        end;
4704   end.
4705 
4706