|
@@ -2,10 +2,32 @@
|
|
(* lexical analyzer template (TP Lex V3.0), V1.0 3-2-91 AG *)
|
|
(* lexical analyzer template (TP Lex V3.0), V1.0 3-2-91 AG *)
|
|
|
|
|
|
(* global definitions: *)
|
|
(* global definitions: *)
|
|
|
|
+var
|
|
|
|
+ kwtmp: integer;
|
|
|
|
+ strbuf: string;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ KeywordDefs: array [0..0] of TIdentMapEntry = (
|
|
|
|
+ (Value: _LANGUAGE; Name: 'LANGUAGE')
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+function KeywordToInt(k: string; out kw: integer): boolean;
|
|
|
|
+var
|
|
|
|
+ i: integer;
|
|
|
|
+begin
|
|
|
|
+ Result:= False;
|
|
|
|
+ for i:= low(KeywordDefs) to high(KeywordDefs) do begin
|
|
|
|
+ if k = KeywordDefs[i].Name then begin
|
|
|
|
+ kw:= KeywordDefs[i].Value;
|
|
|
|
+ Exit(True);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+end;
|
|
|
|
|
|
const INCOMLINE = 2;
|
|
const INCOMLINE = 2;
|
|
const INCOMMENT = 4;
|
|
const INCOMMENT = 4;
|
|
const INSTRING = 6;
|
|
const INSTRING = 6;
|
|
|
|
+const INSTRINGL = 8;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -31,34 +53,54 @@ begin
|
|
6:
|
|
6:
|
|
start(0);
|
|
start(0);
|
|
7:
|
|
7:
|
|
- return(ILLEGAL);
|
|
|
|
|
|
+ return(_ILLEGAL);
|
|
|
|
|
|
8:
|
|
8:
|
|
- begin
|
|
|
|
- if ypreproc.isdefine(yytext) then begin
|
|
|
|
- unget_char(' ');
|
|
|
|
- unget_string(ypreproc.getdefine(yytext));
|
|
|
|
- end else
|
|
|
|
- return(ID);
|
|
|
|
- end;
|
|
|
|
|
|
+ return(_NUMDECIMAL);
|
|
9:
|
|
9:
|
|
- return(ID);
|
|
|
|
-(*
|
|
|
|
-[ \t\n\f] ;
|
|
|
|
-#define
|
|
|
|
-#else
|
|
|
|
-#endif
|
|
|
|
-#ifdef
|
|
|
|
-#ifndef
|
|
|
|
-#include
|
|
|
|
-#undef
|
|
|
|
-
|
|
|
|
-. begin
|
|
|
|
- writeln(erroutput, 'Illegal character in line ',yylineno, ' col ', yycolno);
|
|
|
|
- writeln(erroutput, '"',yyline,'"');
|
|
|
|
- return(ILLEGAL);
|
|
|
|
- end;
|
|
|
|
-*)
|
|
|
|
|
|
+ return(_NUMHEX);
|
|
|
|
+ 10:
|
|
|
|
+ return(_NUMDECIMALL);
|
|
|
|
+ 11:
|
|
|
|
+ return(_NUMHEXL);
|
|
|
|
+ 12:
|
|
|
|
+ begin start(INSTRING); strbuf:= ''; end;
|
|
|
|
+ 13:
|
|
|
|
+ strbuf:= strbuf + '"';
|
|
|
|
+ 14:
|
|
|
|
+ begin
|
|
|
|
+ start(0);
|
|
|
|
+ yytext:= strbuf;
|
|
|
|
+ return(_QUOTEDSTR);
|
|
|
|
+ end;
|
|
|
|
+ 15:
|
|
|
|
+ ;
|
|
|
|
+ 16:
|
|
|
|
+ return(_ILLEGAL);
|
|
|
|
+ 17:
|
|
|
|
+ strbuf:= strbuf + yytext;
|
|
|
|
+
|
|
|
|
+ 18:
|
|
|
|
+ return(_BEGIN);
|
|
|
|
+ 19:
|
|
|
|
+ return(_END);
|
|
|
|
+ 20:
|
|
|
|
+ begin
|
|
|
|
+ if ypreproc.isdefine(yytext) then begin
|
|
|
|
+ unget_char(' ');
|
|
|
|
+ unget_string(ypreproc.getdefine(yytext));
|
|
|
|
+ end else
|
|
|
|
+ if KeywordToInt(yytext, kwtmp) then
|
|
|
|
+ return(kwtmp)
|
|
|
|
+ else
|
|
|
|
+ return(_ID);
|
|
|
|
+ end;
|
|
|
|
+ 21:
|
|
|
|
+ ;
|
|
|
|
+ 22:
|
|
|
|
+ returnc(',');
|
|
|
|
+ 23:
|
|
|
|
+ return(_ILLEGAL);
|
|
end;
|
|
end;
|
|
end(*yyaction*);
|
|
end(*yyaction*);
|
|
|
|
|
|
@@ -71,10 +113,10 @@ type YYTRec = record
|
|
|
|
|
|
const
|
|
const
|
|
|
|
|
|
-yynmarks = 13;
|
|
|
|
-yynmatches = 13;
|
|
|
|
-yyntrans = 21;
|
|
|
|
-yynstates = 20;
|
|
|
|
|
|
+yynmarks = 50;
|
|
|
|
+yynmatches = 50;
|
|
|
|
+yyntrans = 72;
|
|
|
|
+yynstates = 48;
|
|
|
|
|
|
yyk : array [1..yynmarks] of Integer = (
|
|
yyk : array [1..yynmarks] of Integer = (
|
|
{ 0: }
|
|
{ 0: }
|
|
@@ -86,30 +128,95 @@ yyk : array [1..yynmarks] of Integer = (
|
|
{ 6: }
|
|
{ 6: }
|
|
{ 7: }
|
|
{ 7: }
|
|
{ 8: }
|
|
{ 8: }
|
|
- 9,
|
|
|
|
{ 9: }
|
|
{ 9: }
|
|
- 8,
|
|
|
|
- 9,
|
|
|
|
{ 10: }
|
|
{ 10: }
|
|
- 9,
|
|
|
|
|
|
+ 23,
|
|
{ 11: }
|
|
{ 11: }
|
|
- 2,
|
|
|
|
|
|
+ 8,
|
|
|
|
+ 23,
|
|
{ 12: }
|
|
{ 12: }
|
|
- 3,
|
|
|
|
|
|
+ 23,
|
|
{ 13: }
|
|
{ 13: }
|
|
- 5,
|
|
|
|
|
|
+ 12,
|
|
|
|
+ 23,
|
|
{ 14: }
|
|
{ 14: }
|
|
- 5,
|
|
|
|
|
|
+ 20,
|
|
|
|
+ 23,
|
|
{ 15: }
|
|
{ 15: }
|
|
- 7,
|
|
|
|
|
|
+ 18,
|
|
|
|
+ 23,
|
|
{ 16: }
|
|
{ 16: }
|
|
- 1,
|
|
|
|
|
|
+ 20,
|
|
|
|
+ 23,
|
|
{ 17: }
|
|
{ 17: }
|
|
- 4,
|
|
|
|
|
|
+ 19,
|
|
|
|
+ 23,
|
|
{ 18: }
|
|
{ 18: }
|
|
- 8,
|
|
|
|
|
|
+ 20,
|
|
|
|
+ 23,
|
|
{ 19: }
|
|
{ 19: }
|
|
- 6
|
|
|
|
|
|
+ 21,
|
|
|
|
+ { 20: }
|
|
|
|
+ 22,
|
|
|
|
+ 23,
|
|
|
|
+ { 21: }
|
|
|
|
+ 21,
|
|
|
|
+ 23,
|
|
|
|
+ { 22: }
|
|
|
|
+ 23,
|
|
|
|
+ { 23: }
|
|
|
|
+ 2,
|
|
|
|
+ { 24: }
|
|
|
|
+ 3,
|
|
|
|
+ { 25: }
|
|
|
|
+ 5,
|
|
|
|
+ { 26: }
|
|
|
|
+ 5,
|
|
|
|
+ { 27: }
|
|
|
|
+ 7,
|
|
|
|
+ { 28: }
|
|
|
|
+ 14,
|
|
|
|
+ 17,
|
|
|
|
+ { 29: }
|
|
|
|
+ 17,
|
|
|
|
+ { 30: }
|
|
|
|
+ 16,
|
|
|
|
+ { 31: }
|
|
|
|
+ 17,
|
|
|
|
+ { 32: }
|
|
|
|
+ 1,
|
|
|
|
+ { 33: }
|
|
|
|
+ 4,
|
|
|
|
+ { 34: }
|
|
|
|
+ 8,
|
|
|
|
+ { 35: }
|
|
|
|
+ 10,
|
|
|
|
+ { 36: }
|
|
|
|
+ 9,
|
|
|
|
+ { 37: }
|
|
|
|
+ 20,
|
|
|
|
+ { 38: }
|
|
|
|
+ 20,
|
|
|
|
+ { 39: }
|
|
|
|
+ 20,
|
|
|
|
+ { 40: }
|
|
|
|
+ 6,
|
|
|
|
+ { 41: }
|
|
|
|
+ 13,
|
|
|
|
+ { 42: }
|
|
|
|
+ 15,
|
|
|
|
+ { 43: }
|
|
|
|
+ 11,
|
|
|
|
+ { 44: }
|
|
|
|
+ 20,
|
|
|
|
+ { 45: }
|
|
|
|
+ 19,
|
|
|
|
+ 20,
|
|
|
|
+ { 46: }
|
|
|
|
+ 20,
|
|
|
|
+ { 47: }
|
|
|
|
+ 18,
|
|
|
|
+ 20
|
|
);
|
|
);
|
|
|
|
|
|
yym : array [1..yynmatches] of Integer = (
|
|
yym : array [1..yynmatches] of Integer = (
|
|
@@ -122,74 +229,220 @@ yym : array [1..yynmatches] of Integer = (
|
|
{ 6: }
|
|
{ 6: }
|
|
{ 7: }
|
|
{ 7: }
|
|
{ 8: }
|
|
{ 8: }
|
|
- 9,
|
|
|
|
{ 9: }
|
|
{ 9: }
|
|
- 8,
|
|
|
|
- 9,
|
|
|
|
{ 10: }
|
|
{ 10: }
|
|
- 9,
|
|
|
|
|
|
+ 23,
|
|
{ 11: }
|
|
{ 11: }
|
|
- 2,
|
|
|
|
|
|
+ 8,
|
|
|
|
+ 23,
|
|
{ 12: }
|
|
{ 12: }
|
|
- 3,
|
|
|
|
|
|
+ 23,
|
|
{ 13: }
|
|
{ 13: }
|
|
- 5,
|
|
|
|
|
|
+ 12,
|
|
|
|
+ 23,
|
|
{ 14: }
|
|
{ 14: }
|
|
- 5,
|
|
|
|
|
|
+ 20,
|
|
|
|
+ 23,
|
|
{ 15: }
|
|
{ 15: }
|
|
- 7,
|
|
|
|
|
|
+ 18,
|
|
|
|
+ 23,
|
|
{ 16: }
|
|
{ 16: }
|
|
- 1,
|
|
|
|
|
|
+ 20,
|
|
|
|
+ 23,
|
|
{ 17: }
|
|
{ 17: }
|
|
- 4,
|
|
|
|
|
|
+ 19,
|
|
|
|
+ 23,
|
|
{ 18: }
|
|
{ 18: }
|
|
- 8,
|
|
|
|
|
|
+ 20,
|
|
|
|
+ 23,
|
|
{ 19: }
|
|
{ 19: }
|
|
- 6
|
|
|
|
|
|
+ 21,
|
|
|
|
+{ 20: }
|
|
|
|
+ 22,
|
|
|
|
+ 23,
|
|
|
|
+{ 21: }
|
|
|
|
+ 21,
|
|
|
|
+ 23,
|
|
|
|
+{ 22: }
|
|
|
|
+ 23,
|
|
|
|
+{ 23: }
|
|
|
|
+ 2,
|
|
|
|
+{ 24: }
|
|
|
|
+ 3,
|
|
|
|
+{ 25: }
|
|
|
|
+ 5,
|
|
|
|
+{ 26: }
|
|
|
|
+ 5,
|
|
|
|
+{ 27: }
|
|
|
|
+ 7,
|
|
|
|
+{ 28: }
|
|
|
|
+ 14,
|
|
|
|
+ 17,
|
|
|
|
+{ 29: }
|
|
|
|
+ 17,
|
|
|
|
+{ 30: }
|
|
|
|
+ 16,
|
|
|
|
+{ 31: }
|
|
|
|
+ 17,
|
|
|
|
+{ 32: }
|
|
|
|
+ 1,
|
|
|
|
+{ 33: }
|
|
|
|
+ 4,
|
|
|
|
+{ 34: }
|
|
|
|
+ 8,
|
|
|
|
+{ 35: }
|
|
|
|
+ 10,
|
|
|
|
+{ 36: }
|
|
|
|
+ 9,
|
|
|
|
+{ 37: }
|
|
|
|
+ 20,
|
|
|
|
+{ 38: }
|
|
|
|
+ 20,
|
|
|
|
+{ 39: }
|
|
|
|
+ 20,
|
|
|
|
+{ 40: }
|
|
|
|
+ 6,
|
|
|
|
+{ 41: }
|
|
|
|
+ 13,
|
|
|
|
+{ 42: }
|
|
|
|
+ 15,
|
|
|
|
+{ 43: }
|
|
|
|
+ 11,
|
|
|
|
+{ 44: }
|
|
|
|
+ 20,
|
|
|
|
+{ 45: }
|
|
|
|
+ 19,
|
|
|
|
+ 20,
|
|
|
|
+{ 46: }
|
|
|
|
+ 20,
|
|
|
|
+{ 47: }
|
|
|
|
+ 18,
|
|
|
|
+ 20
|
|
);
|
|
);
|
|
|
|
|
|
yyt : array [1..yyntrans] of YYTrec = (
|
|
yyt : array [1..yyntrans] of YYTrec = (
|
|
{ 0: }
|
|
{ 0: }
|
|
- ( cc: [ #1..#9,#11..'.','0'..'@','['..'^','`','{'..#255 ]; s: 10),
|
|
|
|
- ( cc: [ '/' ]; s: 8),
|
|
|
|
- ( cc: [ 'A'..'Z','_','a'..'z' ]; s: 9),
|
|
|
|
|
|
+ ( cc: [ #1..#8,#11,#13..#31,'!','#'..'+','-','.',
|
|
|
|
+ ':'..'@','['..'^','`','|','~'..#255 ]; s: 22),
|
|
|
|
+ ( cc: [ #9,#12,' ' ]; s: 21),
|
|
|
|
+ ( cc: [ #10 ]; s: 19),
|
|
|
|
+ ( cc: [ '"' ]; s: 13),
|
|
|
|
+ ( cc: [ ',' ]; s: 20),
|
|
|
|
+ ( cc: [ '/' ]; s: 10),
|
|
|
|
+ ( cc: [ '0' ]; s: 12),
|
|
|
|
+ ( cc: [ '1'..'9' ]; s: 11),
|
|
|
|
+ ( cc: [ 'A','C','D','F'..'Z','_','a'..'z' ]; s: 18),
|
|
|
|
+ ( cc: [ 'B' ]; s: 14),
|
|
|
|
+ ( cc: [ 'E' ]; s: 16),
|
|
|
|
+ ( cc: [ '{' ]; s: 15),
|
|
|
|
+ ( cc: [ '}' ]; s: 17),
|
|
{ 1: }
|
|
{ 1: }
|
|
- ( cc: [ #1..#9,#11..'.','0'..'@','['..'^','`','{'..#255 ]; s: 10),
|
|
|
|
- ( cc: [ '/' ]; s: 8),
|
|
|
|
- ( cc: [ 'A'..'Z','_','a'..'z' ]; s: 9),
|
|
|
|
|
|
+ ( cc: [ #1..#8,#11,#13..#31,'!','#'..'+','-','.',
|
|
|
|
+ ':'..'@','['..'^','`','|','~'..#255 ]; s: 22),
|
|
|
|
+ ( cc: [ #9,#12,' ' ]; s: 21),
|
|
|
|
+ ( cc: [ #10 ]; s: 19),
|
|
|
|
+ ( cc: [ '"' ]; s: 13),
|
|
|
|
+ ( cc: [ ',' ]; s: 20),
|
|
|
|
+ ( cc: [ '/' ]; s: 10),
|
|
|
|
+ ( cc: [ '0' ]; s: 12),
|
|
|
|
+ ( cc: [ '1'..'9' ]; s: 11),
|
|
|
|
+ ( cc: [ 'A','C','D','F'..'Z','_','a'..'z' ]; s: 18),
|
|
|
|
+ ( cc: [ 'B' ]; s: 14),
|
|
|
|
+ ( cc: [ 'E' ]; s: 16),
|
|
|
|
+ ( cc: [ '{' ]; s: 15),
|
|
|
|
+ ( cc: [ '}' ]; s: 17),
|
|
{ 2: }
|
|
{ 2: }
|
|
- ( cc: [ #1..#9,#11..#255 ]; s: 12),
|
|
|
|
- ( cc: [ #10 ]; s: 11),
|
|
|
|
|
|
+ ( cc: [ #1..#9,#11..#255 ]; s: 24),
|
|
|
|
+ ( cc: [ #10 ]; s: 23),
|
|
{ 3: }
|
|
{ 3: }
|
|
- ( cc: [ #1..#9,#11..#255 ]; s: 12),
|
|
|
|
- ( cc: [ #10 ]; s: 11),
|
|
|
|
|
|
+ ( cc: [ #1..#9,#11..#255 ]; s: 24),
|
|
|
|
+ ( cc: [ #10 ]; s: 23),
|
|
{ 4: }
|
|
{ 4: }
|
|
- ( cc: [ #0 ]; s: 15),
|
|
|
|
- ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 13),
|
|
|
|
- ( cc: [ '*' ]; s: 14),
|
|
|
|
|
|
+ ( cc: [ #0 ]; s: 27),
|
|
|
|
+ ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 25),
|
|
|
|
+ ( cc: [ '*' ]; s: 26),
|
|
{ 5: }
|
|
{ 5: }
|
|
- ( cc: [ #0 ]; s: 15),
|
|
|
|
- ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 13),
|
|
|
|
- ( cc: [ '*' ]; s: 14),
|
|
|
|
|
|
+ ( cc: [ #0 ]; s: 27),
|
|
|
|
+ ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 25),
|
|
|
|
+ ( cc: [ '*' ]; s: 26),
|
|
{ 6: }
|
|
{ 6: }
|
|
|
|
+ ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 31),
|
|
|
|
+ ( cc: [ #10 ]; s: 30),
|
|
|
|
+ ( cc: [ '"' ]; s: 28),
|
|
|
|
+ ( cc: [ '\' ]; s: 29),
|
|
{ 7: }
|
|
{ 7: }
|
|
|
|
+ ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 31),
|
|
|
|
+ ( cc: [ #10 ]; s: 30),
|
|
|
|
+ ( cc: [ '"' ]; s: 28),
|
|
|
|
+ ( cc: [ '\' ]; s: 29),
|
|
{ 8: }
|
|
{ 8: }
|
|
- ( cc: [ '*' ]; s: 17),
|
|
|
|
- ( cc: [ '/' ]; s: 16),
|
|
|
|
{ 9: }
|
|
{ 9: }
|
|
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 18),
|
|
|
|
{ 10: }
|
|
{ 10: }
|
|
|
|
+ ( cc: [ '*' ]; s: 33),
|
|
|
|
+ ( cc: [ '/' ]; s: 32),
|
|
{ 11: }
|
|
{ 11: }
|
|
|
|
+ ( cc: [ '0'..'9' ]; s: 34),
|
|
|
|
+ ( cc: [ 'L' ]; s: 35),
|
|
{ 12: }
|
|
{ 12: }
|
|
|
|
+ ( cc: [ 'x' ]; s: 36),
|
|
{ 13: }
|
|
{ 13: }
|
|
{ 14: }
|
|
{ 14: }
|
|
- ( cc: [ '/' ]; s: 19),
|
|
|
|
|
|
+ ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+ ( cc: [ 'E' ]; s: 37),
|
|
{ 15: }
|
|
{ 15: }
|
|
{ 16: }
|
|
{ 16: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+ ( cc: [ 'N' ]; s: 39),
|
|
{ 17: }
|
|
{ 17: }
|
|
{ 18: }
|
|
{ 18: }
|
|
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 18)
|
|
|
|
|
|
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 38),
|
|
{ 19: }
|
|
{ 19: }
|
|
|
|
+{ 20: }
|
|
|
|
+{ 21: }
|
|
|
|
+{ 22: }
|
|
|
|
+{ 23: }
|
|
|
|
+{ 24: }
|
|
|
|
+{ 25: }
|
|
|
|
+{ 26: }
|
|
|
|
+ ( cc: [ '/' ]; s: 40),
|
|
|
|
+{ 27: }
|
|
|
|
+{ 28: }
|
|
|
|
+ ( cc: [ '"' ]; s: 41),
|
|
|
|
+{ 29: }
|
|
|
|
+ ( cc: [ #10 ]; s: 42),
|
|
|
|
+{ 30: }
|
|
|
|
+{ 31: }
|
|
|
|
+{ 32: }
|
|
|
|
+{ 33: }
|
|
|
|
+{ 34: }
|
|
|
|
+ ( cc: [ '0'..'9' ]; s: 34),
|
|
|
|
+ ( cc: [ 'L' ]; s: 35),
|
|
|
|
+{ 35: }
|
|
|
|
+{ 36: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 36),
|
|
|
|
+ ( cc: [ 'L' ]; s: 43),
|
|
|
|
+{ 37: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'F','H'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+ ( cc: [ 'G' ]; s: 44),
|
|
|
|
+{ 38: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+{ 39: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+ ( cc: [ 'D' ]; s: 45),
|
|
|
|
+{ 40: }
|
|
|
|
+{ 41: }
|
|
|
|
+{ 42: }
|
|
|
|
+{ 43: }
|
|
|
|
+{ 44: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+ ( cc: [ 'I' ]; s: 46),
|
|
|
|
+{ 45: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+{ 46: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 38),
|
|
|
|
+ ( cc: [ 'N' ]; s: 47),
|
|
|
|
+{ 47: }
|
|
|
|
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 38)
|
|
);
|
|
);
|
|
|
|
|
|
yykl : array [0..yynstates-1] of Integer = (
|
|
yykl : array [0..yynstates-1] of Integer = (
|
|
@@ -202,17 +455,45 @@ yykl : array [0..yynstates-1] of Integer = (
|
|
{ 6: } 1,
|
|
{ 6: } 1,
|
|
{ 7: } 1,
|
|
{ 7: } 1,
|
|
{ 8: } 1,
|
|
{ 8: } 1,
|
|
-{ 9: } 2,
|
|
|
|
-{ 10: } 4,
|
|
|
|
-{ 11: } 5,
|
|
|
|
-{ 12: } 6,
|
|
|
|
-{ 13: } 7,
|
|
|
|
-{ 14: } 8,
|
|
|
|
|
|
+{ 9: } 1,
|
|
|
|
+{ 10: } 1,
|
|
|
|
+{ 11: } 2,
|
|
|
|
+{ 12: } 4,
|
|
|
|
+{ 13: } 5,
|
|
|
|
+{ 14: } 7,
|
|
{ 15: } 9,
|
|
{ 15: } 9,
|
|
-{ 16: } 10,
|
|
|
|
-{ 17: } 11,
|
|
|
|
-{ 18: } 12,
|
|
|
|
-{ 19: } 13
|
|
|
|
|
|
+{ 16: } 11,
|
|
|
|
+{ 17: } 13,
|
|
|
|
+{ 18: } 15,
|
|
|
|
+{ 19: } 17,
|
|
|
|
+{ 20: } 18,
|
|
|
|
+{ 21: } 20,
|
|
|
|
+{ 22: } 22,
|
|
|
|
+{ 23: } 23,
|
|
|
|
+{ 24: } 24,
|
|
|
|
+{ 25: } 25,
|
|
|
|
+{ 26: } 26,
|
|
|
|
+{ 27: } 27,
|
|
|
|
+{ 28: } 28,
|
|
|
|
+{ 29: } 30,
|
|
|
|
+{ 30: } 31,
|
|
|
|
+{ 31: } 32,
|
|
|
|
+{ 32: } 33,
|
|
|
|
+{ 33: } 34,
|
|
|
|
+{ 34: } 35,
|
|
|
|
+{ 35: } 36,
|
|
|
|
+{ 36: } 37,
|
|
|
|
+{ 37: } 38,
|
|
|
|
+{ 38: } 39,
|
|
|
|
+{ 39: } 40,
|
|
|
|
+{ 40: } 41,
|
|
|
|
+{ 41: } 42,
|
|
|
|
+{ 42: } 43,
|
|
|
|
+{ 43: } 44,
|
|
|
|
+{ 44: } 45,
|
|
|
|
+{ 45: } 46,
|
|
|
|
+{ 46: } 48,
|
|
|
|
+{ 47: } 49
|
|
);
|
|
);
|
|
|
|
|
|
yykh : array [0..yynstates-1] of Integer = (
|
|
yykh : array [0..yynstates-1] of Integer = (
|
|
@@ -224,18 +505,46 @@ yykh : array [0..yynstates-1] of Integer = (
|
|
{ 5: } 0,
|
|
{ 5: } 0,
|
|
{ 6: } 0,
|
|
{ 6: } 0,
|
|
{ 7: } 0,
|
|
{ 7: } 0,
|
|
-{ 8: } 1,
|
|
|
|
-{ 9: } 3,
|
|
|
|
-{ 10: } 4,
|
|
|
|
-{ 11: } 5,
|
|
|
|
-{ 12: } 6,
|
|
|
|
-{ 13: } 7,
|
|
|
|
|
|
+{ 8: } 0,
|
|
|
|
+{ 9: } 0,
|
|
|
|
+{ 10: } 1,
|
|
|
|
+{ 11: } 3,
|
|
|
|
+{ 12: } 4,
|
|
|
|
+{ 13: } 6,
|
|
{ 14: } 8,
|
|
{ 14: } 8,
|
|
-{ 15: } 9,
|
|
|
|
-{ 16: } 10,
|
|
|
|
-{ 17: } 11,
|
|
|
|
-{ 18: } 12,
|
|
|
|
-{ 19: } 13
|
|
|
|
|
|
+{ 15: } 10,
|
|
|
|
+{ 16: } 12,
|
|
|
|
+{ 17: } 14,
|
|
|
|
+{ 18: } 16,
|
|
|
|
+{ 19: } 17,
|
|
|
|
+{ 20: } 19,
|
|
|
|
+{ 21: } 21,
|
|
|
|
+{ 22: } 22,
|
|
|
|
+{ 23: } 23,
|
|
|
|
+{ 24: } 24,
|
|
|
|
+{ 25: } 25,
|
|
|
|
+{ 26: } 26,
|
|
|
|
+{ 27: } 27,
|
|
|
|
+{ 28: } 29,
|
|
|
|
+{ 29: } 30,
|
|
|
|
+{ 30: } 31,
|
|
|
|
+{ 31: } 32,
|
|
|
|
+{ 32: } 33,
|
|
|
|
+{ 33: } 34,
|
|
|
|
+{ 34: } 35,
|
|
|
|
+{ 35: } 36,
|
|
|
|
+{ 36: } 37,
|
|
|
|
+{ 37: } 38,
|
|
|
|
+{ 38: } 39,
|
|
|
|
+{ 39: } 40,
|
|
|
|
+{ 40: } 41,
|
|
|
|
+{ 41: } 42,
|
|
|
|
+{ 42: } 43,
|
|
|
|
+{ 43: } 44,
|
|
|
|
+{ 44: } 45,
|
|
|
|
+{ 45: } 47,
|
|
|
|
+{ 46: } 48,
|
|
|
|
+{ 47: } 50
|
|
);
|
|
);
|
|
|
|
|
|
yyml : array [0..yynstates-1] of Integer = (
|
|
yyml : array [0..yynstates-1] of Integer = (
|
|
@@ -248,17 +557,45 @@ yyml : array [0..yynstates-1] of Integer = (
|
|
{ 6: } 1,
|
|
{ 6: } 1,
|
|
{ 7: } 1,
|
|
{ 7: } 1,
|
|
{ 8: } 1,
|
|
{ 8: } 1,
|
|
-{ 9: } 2,
|
|
|
|
-{ 10: } 4,
|
|
|
|
-{ 11: } 5,
|
|
|
|
-{ 12: } 6,
|
|
|
|
-{ 13: } 7,
|
|
|
|
-{ 14: } 8,
|
|
|
|
|
|
+{ 9: } 1,
|
|
|
|
+{ 10: } 1,
|
|
|
|
+{ 11: } 2,
|
|
|
|
+{ 12: } 4,
|
|
|
|
+{ 13: } 5,
|
|
|
|
+{ 14: } 7,
|
|
{ 15: } 9,
|
|
{ 15: } 9,
|
|
-{ 16: } 10,
|
|
|
|
-{ 17: } 11,
|
|
|
|
-{ 18: } 12,
|
|
|
|
-{ 19: } 13
|
|
|
|
|
|
+{ 16: } 11,
|
|
|
|
+{ 17: } 13,
|
|
|
|
+{ 18: } 15,
|
|
|
|
+{ 19: } 17,
|
|
|
|
+{ 20: } 18,
|
|
|
|
+{ 21: } 20,
|
|
|
|
+{ 22: } 22,
|
|
|
|
+{ 23: } 23,
|
|
|
|
+{ 24: } 24,
|
|
|
|
+{ 25: } 25,
|
|
|
|
+{ 26: } 26,
|
|
|
|
+{ 27: } 27,
|
|
|
|
+{ 28: } 28,
|
|
|
|
+{ 29: } 30,
|
|
|
|
+{ 30: } 31,
|
|
|
|
+{ 31: } 32,
|
|
|
|
+{ 32: } 33,
|
|
|
|
+{ 33: } 34,
|
|
|
|
+{ 34: } 35,
|
|
|
|
+{ 35: } 36,
|
|
|
|
+{ 36: } 37,
|
|
|
|
+{ 37: } 38,
|
|
|
|
+{ 38: } 39,
|
|
|
|
+{ 39: } 40,
|
|
|
|
+{ 40: } 41,
|
|
|
|
+{ 41: } 42,
|
|
|
|
+{ 42: } 43,
|
|
|
|
+{ 43: } 44,
|
|
|
|
+{ 44: } 45,
|
|
|
|
+{ 45: } 46,
|
|
|
|
+{ 46: } 48,
|
|
|
|
+{ 47: } 49
|
|
);
|
|
);
|
|
|
|
|
|
yymh : array [0..yynstates-1] of Integer = (
|
|
yymh : array [0..yynstates-1] of Integer = (
|
|
@@ -270,64 +607,148 @@ yymh : array [0..yynstates-1] of Integer = (
|
|
{ 5: } 0,
|
|
{ 5: } 0,
|
|
{ 6: } 0,
|
|
{ 6: } 0,
|
|
{ 7: } 0,
|
|
{ 7: } 0,
|
|
-{ 8: } 1,
|
|
|
|
-{ 9: } 3,
|
|
|
|
-{ 10: } 4,
|
|
|
|
-{ 11: } 5,
|
|
|
|
-{ 12: } 6,
|
|
|
|
-{ 13: } 7,
|
|
|
|
|
|
+{ 8: } 0,
|
|
|
|
+{ 9: } 0,
|
|
|
|
+{ 10: } 1,
|
|
|
|
+{ 11: } 3,
|
|
|
|
+{ 12: } 4,
|
|
|
|
+{ 13: } 6,
|
|
{ 14: } 8,
|
|
{ 14: } 8,
|
|
-{ 15: } 9,
|
|
|
|
-{ 16: } 10,
|
|
|
|
-{ 17: } 11,
|
|
|
|
-{ 18: } 12,
|
|
|
|
-{ 19: } 13
|
|
|
|
|
|
+{ 15: } 10,
|
|
|
|
+{ 16: } 12,
|
|
|
|
+{ 17: } 14,
|
|
|
|
+{ 18: } 16,
|
|
|
|
+{ 19: } 17,
|
|
|
|
+{ 20: } 19,
|
|
|
|
+{ 21: } 21,
|
|
|
|
+{ 22: } 22,
|
|
|
|
+{ 23: } 23,
|
|
|
|
+{ 24: } 24,
|
|
|
|
+{ 25: } 25,
|
|
|
|
+{ 26: } 26,
|
|
|
|
+{ 27: } 27,
|
|
|
|
+{ 28: } 29,
|
|
|
|
+{ 29: } 30,
|
|
|
|
+{ 30: } 31,
|
|
|
|
+{ 31: } 32,
|
|
|
|
+{ 32: } 33,
|
|
|
|
+{ 33: } 34,
|
|
|
|
+{ 34: } 35,
|
|
|
|
+{ 35: } 36,
|
|
|
|
+{ 36: } 37,
|
|
|
|
+{ 37: } 38,
|
|
|
|
+{ 38: } 39,
|
|
|
|
+{ 39: } 40,
|
|
|
|
+{ 40: } 41,
|
|
|
|
+{ 41: } 42,
|
|
|
|
+{ 42: } 43,
|
|
|
|
+{ 43: } 44,
|
|
|
|
+{ 44: } 45,
|
|
|
|
+{ 45: } 47,
|
|
|
|
+{ 46: } 48,
|
|
|
|
+{ 47: } 50
|
|
);
|
|
);
|
|
|
|
|
|
yytl : array [0..yynstates-1] of Integer = (
|
|
yytl : array [0..yynstates-1] of Integer = (
|
|
{ 0: } 1,
|
|
{ 0: } 1,
|
|
-{ 1: } 4,
|
|
|
|
-{ 2: } 7,
|
|
|
|
-{ 3: } 9,
|
|
|
|
-{ 4: } 11,
|
|
|
|
-{ 5: } 14,
|
|
|
|
-{ 6: } 17,
|
|
|
|
-{ 7: } 17,
|
|
|
|
-{ 8: } 17,
|
|
|
|
-{ 9: } 19,
|
|
|
|
-{ 10: } 20,
|
|
|
|
-{ 11: } 20,
|
|
|
|
-{ 12: } 20,
|
|
|
|
-{ 13: } 20,
|
|
|
|
-{ 14: } 20,
|
|
|
|
-{ 15: } 21,
|
|
|
|
-{ 16: } 21,
|
|
|
|
-{ 17: } 21,
|
|
|
|
-{ 18: } 21,
|
|
|
|
-{ 19: } 22
|
|
|
|
|
|
+{ 1: } 14,
|
|
|
|
+{ 2: } 27,
|
|
|
|
+{ 3: } 29,
|
|
|
|
+{ 4: } 31,
|
|
|
|
+{ 5: } 34,
|
|
|
|
+{ 6: } 37,
|
|
|
|
+{ 7: } 41,
|
|
|
|
+{ 8: } 45,
|
|
|
|
+{ 9: } 45,
|
|
|
|
+{ 10: } 45,
|
|
|
|
+{ 11: } 47,
|
|
|
|
+{ 12: } 49,
|
|
|
|
+{ 13: } 50,
|
|
|
|
+{ 14: } 50,
|
|
|
|
+{ 15: } 52,
|
|
|
|
+{ 16: } 52,
|
|
|
|
+{ 17: } 54,
|
|
|
|
+{ 18: } 54,
|
|
|
|
+{ 19: } 55,
|
|
|
|
+{ 20: } 55,
|
|
|
|
+{ 21: } 55,
|
|
|
|
+{ 22: } 55,
|
|
|
|
+{ 23: } 55,
|
|
|
|
+{ 24: } 55,
|
|
|
|
+{ 25: } 55,
|
|
|
|
+{ 26: } 55,
|
|
|
|
+{ 27: } 56,
|
|
|
|
+{ 28: } 56,
|
|
|
|
+{ 29: } 57,
|
|
|
|
+{ 30: } 58,
|
|
|
|
+{ 31: } 58,
|
|
|
|
+{ 32: } 58,
|
|
|
|
+{ 33: } 58,
|
|
|
|
+{ 34: } 58,
|
|
|
|
+{ 35: } 60,
|
|
|
|
+{ 36: } 60,
|
|
|
|
+{ 37: } 62,
|
|
|
|
+{ 38: } 64,
|
|
|
|
+{ 39: } 65,
|
|
|
|
+{ 40: } 67,
|
|
|
|
+{ 41: } 67,
|
|
|
|
+{ 42: } 67,
|
|
|
|
+{ 43: } 67,
|
|
|
|
+{ 44: } 67,
|
|
|
|
+{ 45: } 69,
|
|
|
|
+{ 46: } 70,
|
|
|
|
+{ 47: } 72
|
|
);
|
|
);
|
|
|
|
|
|
yyth : array [0..yynstates-1] of Integer = (
|
|
yyth : array [0..yynstates-1] of Integer = (
|
|
-{ 0: } 3,
|
|
|
|
-{ 1: } 6,
|
|
|
|
-{ 2: } 8,
|
|
|
|
-{ 3: } 10,
|
|
|
|
-{ 4: } 13,
|
|
|
|
-{ 5: } 16,
|
|
|
|
-{ 6: } 16,
|
|
|
|
-{ 7: } 16,
|
|
|
|
-{ 8: } 18,
|
|
|
|
-{ 9: } 19,
|
|
|
|
-{ 10: } 19,
|
|
|
|
-{ 11: } 19,
|
|
|
|
-{ 12: } 19,
|
|
|
|
-{ 13: } 19,
|
|
|
|
-{ 14: } 20,
|
|
|
|
-{ 15: } 20,
|
|
|
|
-{ 16: } 20,
|
|
|
|
-{ 17: } 20,
|
|
|
|
-{ 18: } 21,
|
|
|
|
-{ 19: } 21
|
|
|
|
|
|
+{ 0: } 13,
|
|
|
|
+{ 1: } 26,
|
|
|
|
+{ 2: } 28,
|
|
|
|
+{ 3: } 30,
|
|
|
|
+{ 4: } 33,
|
|
|
|
+{ 5: } 36,
|
|
|
|
+{ 6: } 40,
|
|
|
|
+{ 7: } 44,
|
|
|
|
+{ 8: } 44,
|
|
|
|
+{ 9: } 44,
|
|
|
|
+{ 10: } 46,
|
|
|
|
+{ 11: } 48,
|
|
|
|
+{ 12: } 49,
|
|
|
|
+{ 13: } 49,
|
|
|
|
+{ 14: } 51,
|
|
|
|
+{ 15: } 51,
|
|
|
|
+{ 16: } 53,
|
|
|
|
+{ 17: } 53,
|
|
|
|
+{ 18: } 54,
|
|
|
|
+{ 19: } 54,
|
|
|
|
+{ 20: } 54,
|
|
|
|
+{ 21: } 54,
|
|
|
|
+{ 22: } 54,
|
|
|
|
+{ 23: } 54,
|
|
|
|
+{ 24: } 54,
|
|
|
|
+{ 25: } 54,
|
|
|
|
+{ 26: } 55,
|
|
|
|
+{ 27: } 55,
|
|
|
|
+{ 28: } 56,
|
|
|
|
+{ 29: } 57,
|
|
|
|
+{ 30: } 57,
|
|
|
|
+{ 31: } 57,
|
|
|
|
+{ 32: } 57,
|
|
|
|
+{ 33: } 57,
|
|
|
|
+{ 34: } 59,
|
|
|
|
+{ 35: } 59,
|
|
|
|
+{ 36: } 61,
|
|
|
|
+{ 37: } 63,
|
|
|
|
+{ 38: } 64,
|
|
|
|
+{ 39: } 66,
|
|
|
|
+{ 40: } 66,
|
|
|
|
+{ 41: } 66,
|
|
|
|
+{ 42: } 66,
|
|
|
|
+{ 43: } 66,
|
|
|
|
+{ 44: } 68,
|
|
|
|
+{ 45: } 69,
|
|
|
|
+{ 46: } 71,
|
|
|
|
+{ 47: } 72
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|