summaryrefslogtreecommitdiff
path: root/packages/fcl-res
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-08-12 19:05:21 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-08-12 19:05:21 +0000
commitb488c95e03a5f8e9031553f9f9e1a7ce6c26b6a2 (patch)
tree6667a371f0259a95c4fdb0a98bc0a626e8e13230 /packages/fcl-res
parenteed0bd6d7fa96e8148b44516a574ed89233bdf78 (diff)
downloadfpc-b488c95e03a5f8e9031553f9f9e1a7ce6c26b6a2.tar.gz
fcl-res: numeric expressions
Reintegrate fpcres-rc branch by Martok git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@46379 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-res')
-rw-r--r--packages/fcl-res/src/rclex.inc534
-rw-r--r--packages/fcl-res/src/rclex.l6
-rw-r--r--packages/fcl-res/src/rcparser.pas2791
-rw-r--r--packages/fcl-res/src/rcparser.y30
4 files changed, 1971 insertions, 1390 deletions
diff --git a/packages/fcl-res/src/rclex.inc b/packages/fcl-res/src/rclex.inc
index bdd6d15abd..0c7de18023 100644
--- a/packages/fcl-res/src/rclex.inc
+++ b/packages/fcl-res/src/rclex.inc
@@ -92,9 +92,9 @@ begin
return(_ILLEGAL);
8:
- return(_NUMDECIMAL);
+ return(_NUMBER);
9:
- return(_NUMHEX);
+ return(_NUMBER);
10:
begin start(INSTRING); strbuf:= ''; end;
11:
@@ -151,8 +151,8 @@ type YYTRec = record
const
-yynmarks = 59;
-yynmatches = 59;
+yynmarks = 60;
+yynmatches = 60;
yyntrans = 116;
yynstates = 88;
@@ -170,6 +170,7 @@ yyk : array [1..yynmarks] of Integer = (
{ 8: }
{ 9: }
{ 10: }
+ 23,
24,
{ 11: }
8,
@@ -320,6 +321,7 @@ yym : array [1..yynmatches] of Integer = (
{ 8: }
{ 9: }
{ 10: }
+ 23,
24,
{ 11: }
8,
@@ -458,12 +460,12 @@ yym : array [1..yynmatches] of Integer = (
yyt : array [1..yyntrans] of YYTrec = (
{ 0: }
- ( cc: [ #1..#8,#11,#13..#31,'!','#'..'''','*','+',
- '-','.',':'..'@','['..'^','`','|','~'..#255 ]; s: 23),
+ ( cc: [ #1..#8,#11,#13..#31,'!','#','$','''','*','+',
+ '-','.',':'..'@','['..']','`',#127..#255 ]; s: 23),
( cc: [ #9,#12,' ' ]; s: 22),
( cc: [ #10 ]; s: 20),
( cc: [ '"' ]; s: 14),
- ( cc: [ '(',')',',' ]; s: 21),
+ ( cc: [ '%','&','(',')',',','^','|','~' ]; s: 21),
( cc: [ '/' ]; s: 10),
( cc: [ '0' ]; s: 13),
( cc: [ '1'..'9' ]; s: 11),
@@ -474,12 +476,12 @@ yyt : array [1..yyntrans] of YYTrec = (
( cc: [ '{' ]; s: 16),
( cc: [ '}' ]; s: 18),
{ 1: }
- ( cc: [ #1..#8,#11,#13..#31,'!','#'..'''','*','+',
- '-','.',':'..'@','['..'^','`','|','~'..#255 ]; s: 23),
+ ( cc: [ #1..#8,#11,#13..#31,'!','#','$','''','*','+',
+ '-','.',':'..'@','['..']','`',#127..#255 ]; s: 23),
( cc: [ #9,#12,' ' ]; s: 22),
( cc: [ #10 ]; s: 20),
( cc: [ '"' ]; s: 14),
- ( cc: [ '(',')',',' ]; s: 21),
+ ( cc: [ '%','&','(',')',',','^','|','~' ]; s: 21),
( cc: [ '/' ]; s: 10),
( cc: [ '0' ]; s: 13),
( cc: [ '1'..'9' ]; s: 11),
@@ -677,52 +679,143 @@ yykl : array [0..yynstates-1] of Integer = (
{ 8: } 3,
{ 9: } 3,
{ 10: } 3,
-{ 11: } 4,
-{ 12: } 6,
-{ 13: } 9,
-{ 14: } 11,
-{ 15: } 13,
-{ 16: } 15,
-{ 17: } 17,
-{ 18: } 19,
-{ 19: } 21,
-{ 20: } 23,
-{ 21: } 24,
-{ 22: } 26,
-{ 23: } 28,
-{ 24: } 29,
-{ 25: } 30,
-{ 26: } 31,
-{ 27: } 32,
-{ 28: } 33,
-{ 29: } 34,
-{ 30: } 36,
-{ 31: } 37,
-{ 32: } 38,
-{ 33: } 39,
-{ 34: } 40,
-{ 35: } 41,
-{ 36: } 42,
-{ 37: } 43,
-{ 38: } 44,
+{ 11: } 5,
+{ 12: } 7,
+{ 13: } 10,
+{ 14: } 12,
+{ 15: } 14,
+{ 16: } 16,
+{ 17: } 18,
+{ 18: } 20,
+{ 19: } 22,
+{ 20: } 24,
+{ 21: } 25,
+{ 22: } 27,
+{ 23: } 29,
+{ 24: } 30,
+{ 25: } 31,
+{ 26: } 32,
+{ 27: } 33,
+{ 28: } 34,
+{ 29: } 35,
+{ 30: } 37,
+{ 31: } 38,
+{ 32: } 39,
+{ 33: } 40,
+{ 34: } 41,
+{ 35: } 42,
+{ 36: } 43,
+{ 37: } 44,
+{ 38: } 45,
+{ 39: } 46,
+{ 40: } 46,
+{ 41: } 46,
+{ 42: } 46,
+{ 43: } 47,
+{ 44: } 48,
+{ 45: } 49,
+{ 46: } 50,
+{ 47: } 51,
+{ 48: } 52,
+{ 49: } 52,
+{ 50: } 53,
+{ 51: } 55,
+{ 52: } 55,
+{ 53: } 55,
+{ 54: } 55,
+{ 55: } 56,
+{ 56: } 56,
+{ 57: } 58,
+{ 58: } 58,
+{ 59: } 58,
+{ 60: } 58,
+{ 61: } 58,
+{ 62: } 58,
+{ 63: } 58,
+{ 64: } 58,
+{ 65: } 58,
+{ 66: } 58,
+{ 67: } 59,
+{ 68: } 60,
+{ 69: } 61,
+{ 70: } 61,
+{ 71: } 61,
+{ 72: } 61,
+{ 73: } 61,
+{ 74: } 61,
+{ 75: } 61,
+{ 76: } 61,
+{ 77: } 61,
+{ 78: } 61,
+{ 79: } 61,
+{ 80: } 61,
+{ 81: } 61,
+{ 82: } 61,
+{ 83: } 61,
+{ 84: } 61,
+{ 85: } 61,
+{ 86: } 61,
+{ 87: } 61
+);
+
+yykh : array [0..yynstates-1] of Integer = (
+{ 0: } 1,
+{ 1: } 2,
+{ 2: } 2,
+{ 3: } 2,
+{ 4: } 2,
+{ 5: } 2,
+{ 6: } 2,
+{ 7: } 2,
+{ 8: } 2,
+{ 9: } 2,
+{ 10: } 4,
+{ 11: } 6,
+{ 12: } 9,
+{ 13: } 11,
+{ 14: } 13,
+{ 15: } 15,
+{ 16: } 17,
+{ 17: } 19,
+{ 18: } 21,
+{ 19: } 23,
+{ 20: } 24,
+{ 21: } 26,
+{ 22: } 28,
+{ 23: } 29,
+{ 24: } 30,
+{ 25: } 31,
+{ 26: } 32,
+{ 27: } 33,
+{ 28: } 34,
+{ 29: } 36,
+{ 30: } 37,
+{ 31: } 38,
+{ 32: } 39,
+{ 33: } 40,
+{ 34: } 41,
+{ 35: } 42,
+{ 36: } 43,
+{ 37: } 44,
+{ 38: } 45,
{ 39: } 45,
{ 40: } 45,
{ 41: } 45,
-{ 42: } 45,
-{ 43: } 46,
-{ 44: } 47,
-{ 45: } 48,
-{ 46: } 49,
-{ 47: } 50,
+{ 42: } 46,
+{ 43: } 47,
+{ 44: } 48,
+{ 45: } 49,
+{ 46: } 50,
+{ 47: } 51,
{ 48: } 51,
-{ 49: } 51,
-{ 50: } 52,
+{ 49: } 52,
+{ 50: } 54,
{ 51: } 54,
{ 52: } 54,
{ 53: } 54,
-{ 54: } 54,
+{ 54: } 55,
{ 55: } 55,
-{ 56: } 55,
+{ 56: } 57,
{ 57: } 57,
{ 58: } 57,
{ 59: } 57,
@@ -732,9 +825,9 @@ yykl : array [0..yynstates-1] of Integer = (
{ 63: } 57,
{ 64: } 57,
{ 65: } 57,
-{ 66: } 57,
-{ 67: } 58,
-{ 68: } 59,
+{ 66: } 58,
+{ 67: } 59,
+{ 68: } 60,
{ 69: } 60,
{ 70: } 60,
{ 71: } 60,
@@ -756,20 +849,20 @@ yykl : array [0..yynstates-1] of Integer = (
{ 87: } 60
);
-yykh : array [0..yynstates-1] of Integer = (
+yyml : array [0..yynstates-1] of Integer = (
{ 0: } 1,
{ 1: } 2,
-{ 2: } 2,
-{ 3: } 2,
-{ 4: } 2,
-{ 5: } 2,
-{ 6: } 2,
-{ 7: } 2,
-{ 8: } 2,
-{ 9: } 2,
+{ 2: } 3,
+{ 3: } 3,
+{ 4: } 3,
+{ 5: } 3,
+{ 6: } 3,
+{ 7: } 3,
+{ 8: } 3,
+{ 9: } 3,
{ 10: } 3,
{ 11: } 5,
-{ 12: } 8,
+{ 12: } 7,
{ 13: } 10,
{ 14: } 12,
{ 15: } 14,
@@ -777,134 +870,134 @@ yykh : array [0..yynstates-1] of Integer = (
{ 17: } 18,
{ 18: } 20,
{ 19: } 22,
-{ 20: } 23,
+{ 20: } 24,
{ 21: } 25,
{ 22: } 27,
-{ 23: } 28,
-{ 24: } 29,
-{ 25: } 30,
-{ 26: } 31,
-{ 27: } 32,
-{ 28: } 33,
+{ 23: } 29,
+{ 24: } 30,
+{ 25: } 31,
+{ 26: } 32,
+{ 27: } 33,
+{ 28: } 34,
{ 29: } 35,
-{ 30: } 36,
-{ 31: } 37,
-{ 32: } 38,
-{ 33: } 39,
-{ 34: } 40,
-{ 35: } 41,
-{ 36: } 42,
-{ 37: } 43,
-{ 38: } 44,
-{ 39: } 44,
-{ 40: } 44,
-{ 41: } 44,
-{ 42: } 45,
-{ 43: } 46,
-{ 44: } 47,
-{ 45: } 48,
-{ 46: } 49,
-{ 47: } 50,
-{ 48: } 50,
-{ 49: } 51,
+{ 30: } 37,
+{ 31: } 38,
+{ 32: } 39,
+{ 33: } 40,
+{ 34: } 41,
+{ 35: } 42,
+{ 36: } 43,
+{ 37: } 44,
+{ 38: } 45,
+{ 39: } 46,
+{ 40: } 46,
+{ 41: } 46,
+{ 42: } 46,
+{ 43: } 47,
+{ 44: } 48,
+{ 45: } 49,
+{ 46: } 50,
+{ 47: } 51,
+{ 48: } 52,
+{ 49: } 52,
{ 50: } 53,
-{ 51: } 53,
-{ 52: } 53,
-{ 53: } 53,
-{ 54: } 54,
-{ 55: } 54,
+{ 51: } 55,
+{ 52: } 55,
+{ 53: } 55,
+{ 54: } 55,
+{ 55: } 56,
{ 56: } 56,
-{ 57: } 56,
-{ 58: } 56,
-{ 59: } 56,
-{ 60: } 56,
-{ 61: } 56,
-{ 62: } 56,
-{ 63: } 56,
-{ 64: } 56,
-{ 65: } 56,
-{ 66: } 57,
-{ 67: } 58,
-{ 68: } 59,
-{ 69: } 59,
-{ 70: } 59,
-{ 71: } 59,
-{ 72: } 59,
-{ 73: } 59,
-{ 74: } 59,
-{ 75: } 59,
-{ 76: } 59,
-{ 77: } 59,
-{ 78: } 59,
-{ 79: } 59,
-{ 80: } 59,
-{ 81: } 59,
-{ 82: } 59,
-{ 83: } 59,
-{ 84: } 59,
-{ 85: } 59,
-{ 86: } 59,
-{ 87: } 59
+{ 57: } 58,
+{ 58: } 58,
+{ 59: } 58,
+{ 60: } 58,
+{ 61: } 58,
+{ 62: } 58,
+{ 63: } 58,
+{ 64: } 58,
+{ 65: } 58,
+{ 66: } 58,
+{ 67: } 59,
+{ 68: } 60,
+{ 69: } 61,
+{ 70: } 61,
+{ 71: } 61,
+{ 72: } 61,
+{ 73: } 61,
+{ 74: } 61,
+{ 75: } 61,
+{ 76: } 61,
+{ 77: } 61,
+{ 78: } 61,
+{ 79: } 61,
+{ 80: } 61,
+{ 81: } 61,
+{ 82: } 61,
+{ 83: } 61,
+{ 84: } 61,
+{ 85: } 61,
+{ 86: } 61,
+{ 87: } 61
);
-yyml : array [0..yynstates-1] of Integer = (
+yymh : array [0..yynstates-1] of Integer = (
{ 0: } 1,
{ 1: } 2,
-{ 2: } 3,
-{ 3: } 3,
-{ 4: } 3,
-{ 5: } 3,
-{ 6: } 3,
-{ 7: } 3,
-{ 8: } 3,
-{ 9: } 3,
-{ 10: } 3,
-{ 11: } 4,
-{ 12: } 6,
-{ 13: } 9,
-{ 14: } 11,
-{ 15: } 13,
-{ 16: } 15,
-{ 17: } 17,
-{ 18: } 19,
-{ 19: } 21,
-{ 20: } 23,
-{ 21: } 24,
-{ 22: } 26,
-{ 23: } 28,
-{ 24: } 29,
-{ 25: } 30,
-{ 26: } 31,
-{ 27: } 32,
-{ 28: } 33,
-{ 29: } 34,
-{ 30: } 36,
-{ 31: } 37,
-{ 32: } 38,
-{ 33: } 39,
-{ 34: } 40,
-{ 35: } 41,
-{ 36: } 42,
-{ 37: } 43,
-{ 38: } 44,
+{ 2: } 2,
+{ 3: } 2,
+{ 4: } 2,
+{ 5: } 2,
+{ 6: } 2,
+{ 7: } 2,
+{ 8: } 2,
+{ 9: } 2,
+{ 10: } 4,
+{ 11: } 6,
+{ 12: } 9,
+{ 13: } 11,
+{ 14: } 13,
+{ 15: } 15,
+{ 16: } 17,
+{ 17: } 19,
+{ 18: } 21,
+{ 19: } 23,
+{ 20: } 24,
+{ 21: } 26,
+{ 22: } 28,
+{ 23: } 29,
+{ 24: } 30,
+{ 25: } 31,
+{ 26: } 32,
+{ 27: } 33,
+{ 28: } 34,
+{ 29: } 36,
+{ 30: } 37,
+{ 31: } 38,
+{ 32: } 39,
+{ 33: } 40,
+{ 34: } 41,
+{ 35: } 42,
+{ 36: } 43,
+{ 37: } 44,
+{ 38: } 45,
{ 39: } 45,
{ 40: } 45,
{ 41: } 45,
-{ 42: } 45,
-{ 43: } 46,
-{ 44: } 47,
-{ 45: } 48,
-{ 46: } 49,
-{ 47: } 50,
+{ 42: } 46,
+{ 43: } 47,
+{ 44: } 48,
+{ 45: } 49,
+{ 46: } 50,
+{ 47: } 51,
{ 48: } 51,
-{ 49: } 51,
-{ 50: } 52,
+{ 49: } 52,
+{ 50: } 54,
{ 51: } 54,
{ 52: } 54,
{ 53: } 54,
-{ 54: } 54,
+{ 54: } 55,
{ 55: } 55,
-{ 56: } 55,
+{ 56: } 57,
{ 57: } 57,
{ 58: } 57,
{ 59: } 57,
@@ -914,9 +1007,9 @@ yyml : array [0..yynstates-1] of Integer = (
{ 63: } 57,
{ 64: } 57,
{ 65: } 57,
-{ 66: } 57,
-{ 67: } 58,
-{ 68: } 59,
+{ 66: } 58,
+{ 67: } 59,
+{ 68: } 60,
{ 69: } 60,
{ 70: } 60,
{ 71: } 60,
@@ -938,97 +1031,6 @@ yyml : array [0..yynstates-1] of Integer = (
{ 87: } 60
);
-yymh : array [0..yynstates-1] of Integer = (
-{ 0: } 1,
-{ 1: } 2,
-{ 2: } 2,
-{ 3: } 2,
-{ 4: } 2,
-{ 5: } 2,
-{ 6: } 2,
-{ 7: } 2,
-{ 8: } 2,
-{ 9: } 2,
-{ 10: } 3,
-{ 11: } 5,
-{ 12: } 8,
-{ 13: } 10,
-{ 14: } 12,
-{ 15: } 14,
-{ 16: } 16,
-{ 17: } 18,
-{ 18: } 20,
-{ 19: } 22,
-{ 20: } 23,
-{ 21: } 25,
-{ 22: } 27,
-{ 23: } 28,
-{ 24: } 29,
-{ 25: } 30,
-{ 26: } 31,
-{ 27: } 32,
-{ 28: } 33,
-{ 29: } 35,
-{ 30: } 36,
-{ 31: } 37,
-{ 32: } 38,
-{ 33: } 39,
-{ 34: } 40,
-{ 35: } 41,
-{ 36: } 42,
-{ 37: } 43,
-{ 38: } 44,
-{ 39: } 44,
-{ 40: } 44,
-{ 41: } 44,
-{ 42: } 45,
-{ 43: } 46,
-{ 44: } 47,
-{ 45: } 48,
-{ 46: } 49,
-{ 47: } 50,
-{ 48: } 50,
-{ 49: } 51,
-{ 50: } 53,
-{ 51: } 53,
-{ 52: } 53,
-{ 53: } 53,
-{ 54: } 54,
-{ 55: } 54,
-{ 56: } 56,
-{ 57: } 56,
-{ 58: } 56,
-{ 59: } 56,
-{ 60: } 56,
-{ 61: } 56,
-{ 62: } 56,
-{ 63: } 56,
-{ 64: } 56,
-{ 65: } 56,
-{ 66: } 57,
-{ 67: } 58,
-{ 68: } 59,
-{ 69: } 59,
-{ 70: } 59,
-{ 71: } 59,
-{ 72: } 59,
-{ 73: } 59,
-{ 74: } 59,
-{ 75: } 59,
-{ 76: } 59,
-{ 77: } 59,
-{ 78: } 59,
-{ 79: } 59,
-{ 80: } 59,
-{ 81: } 59,
-{ 82: } 59,
-{ 83: } 59,
-{ 84: } 59,
-{ 85: } 59,
-{ 86: } 59,
-{ 87: } 59
-);
-
yytl : array [0..yynstates-1] of Integer = (
{ 0: } 1,
{ 1: } 15,
diff --git a/packages/fcl-res/src/rclex.l b/packages/fcl-res/src/rclex.l
index b41959093e..d58bf1b080 100644
--- a/packages/fcl-res/src/rclex.l
+++ b/packages/fcl-res/src/rclex.l
@@ -75,8 +75,8 @@ IDENT [a-zA-Z_]([a-zA-Z0-9_])*
<INCOMMENT>"*/" start(0);
<INCOMMENT>\0 return(_ILLEGAL);
-{D}*L? return(_NUMDECIMAL);
-0x{H}*L? return(_NUMHEX);
+{D}*L? return(_NUMBER);
+0x{H}*L? return(_NUMBER);
\" begin start(INSTRING); strbuf:= ''; end;
<INSTRING>\"\" strbuf:= strbuf + '"';
<INSTRING>\" begin
@@ -104,7 +104,7 @@ END|} return(_END);
return(_ID);
end;
[ \t\n\f] ;
-[,()] returnc(yytext[1]);
+[,()|^&+-*/%~] returnc(yytext[1]);
. return(_ILLEGAL);
%%
diff --git a/packages/fcl-res/src/rcparser.pas b/packages/fcl-res/src/rcparser.pas
index f67ce4b064..4faef52eda 100644
--- a/packages/fcl-res/src/rcparser.pas
+++ b/packages/fcl-res/src/rcparser.pas
@@ -130,6 +130,14 @@ begin
Result.v:= StrToInt(s);
end;
+function Max(a, b: LongWord): LongWord; inline;
+begin
+ if a > b then
+ Result:= a
+ else
+ Result:= b;
+end;
+
var
aktresource: TAbstractResource;
language: TLangID;
@@ -233,54 +241,54 @@ end;
var
yycapture: AnsiString;
const _ILLEGAL = 257;
-const _NUMDECIMAL = 258;
-const _NUMHEX = 259;
-const _QUOTEDSTR = 260;
-const _STR_StringFileInfo = 261;
-const _STR_VarFileInfo = 262;
-const _STR_Translation = 263;
-const _BEGIN = 264;
-const _END = 265;
-const _ID = 266;
-const _LANGUAGE = 267;
-const _CHARACTERISTICS = 268;
-const _VERSION = 269;
-const _MOVEABLE = 270;
-const _FIXED = 271;
-const _PURE = 272;
-const _IMPURE = 273;
-const _PRELOAD = 274;
-const _LOADONCALL = 275;
-const _DISCARDABLE = 276;
-const _BITMAP = 277;
-const _CURSOR = 278;
-const _ICON = 279;
-const _STRINGTABLE = 280;
-const _VERSIONINFO = 281;
-const _ANICURSOR = 282;
-const _ANIICON = 283;
-const _DLGINCLUDE = 284;
-const _DLGINIT = 285;
-const _HTML = 286;
-const _MANIFEST = 287;
-const _MESSAGETABLE = 288;
-const _PLUGPLAY = 289;
-const _RCDATA = 290;
-const _VXD = 291;
-const _FILEVERSION = 292;
-const _PRODUCTVERSION = 293;
-const _FILEFLAGSMASK = 294;
-const _FILEFLAGS = 295;
-const _FILEOS = 296;
-const _FILETYPE = 297;
-const _FILESUBTYPE = 298;
-const _BLOCK = 299;
-const _VALUE = 300;
-const _ACCELERATORS = 301;
-const _DIALOG = 302;
-const _DIALOGEX = 303;
-const _MENU = 304;
-const _MENUEX = 305;
+const _NUMBER = 258;
+const _QUOTEDSTR = 259;
+const _STR_StringFileInfo = 260;
+const _STR_VarFileInfo = 261;
+const _STR_Translation = 262;
+const _BEGIN = 263;
+const _END = 264;
+const _ID = 265;
+const _LANGUAGE = 266;
+const _CHARACTERISTICS = 267;
+const _VERSION = 268;
+const _MOVEABLE = 269;
+const _FIXED = 270;
+const _PURE = 271;
+const _IMPURE = 272;
+const _PRELOAD = 273;
+const _LOADONCALL = 274;
+const _DISCARDABLE = 275;
+const _BITMAP = 276;
+const _CURSOR = 277;
+const _ICON = 278;
+const _STRINGTABLE = 279;
+const _VERSIONINFO = 280;
+const _ANICURSOR = 281;
+const _ANIICON = 282;
+const _DLGINCLUDE = 283;
+const _DLGINIT = 284;
+const _HTML = 285;
+const _MANIFEST = 286;
+const _MESSAGETABLE = 287;
+const _PLUGPLAY = 288;
+const _RCDATA = 289;
+const _VXD = 290;
+const _FILEVERSION = 291;
+const _PRODUCTVERSION = 292;
+const _FILEFLAGSMASK = 293;
+const _FILEFLAGS = 294;
+const _FILEOS = 295;
+const _FILETYPE = 296;
+const _FILESUBTYPE = 297;
+const _BLOCK = 298;
+const _VALUE = 299;
+const _ACCELERATORS = 300;
+const _DIALOG = 301;
+const _DIALOGEX = 302;
+const _MENU = 303;
+const _MENUEX = 304;
+const _NUMNEG = 305;
type YYSType = record case Integer of
1 : ( yyString : String );
@@ -525,54 +533,81 @@ begin
yyval.yyrcnumtype:= str_to_num(yytext);
end;
76 : begin
- yyval.yyrcnumtype:= str_to_num(yytext);
+ yyval := yyv[yysp-0];
end;
77 : begin
- yyval := yyv[yysp-0];
+ yyval.yyrcnumtype:= yyv[yysp-1].yyrcnumtype;
end;
78 : begin
- yyval.yyrcnumtype:= yyv[yysp-1].yyrcnumtype;
+ yyval.yyrcnumtype.v:= not yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-0].yyrcnumtype.long;
end;
79 : begin
- yyval.yyString:= yytext;
+ yyval.yyrcnumtype.v:= -yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-0].yyrcnumtype.long;
end;
80 : begin
- yyval := yyv[yysp-0];
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v * yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
81 : begin
- yyval.yyTFileStream:= TFileStream.Create(yytext, fmOpenRead or fmShareDenyWrite);
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v div Max(1, yyv[yysp-0].yyrcnumtype.v); yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
82 : begin
- yyval.yyString:= yytext;
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v mod Max(1, yyv[yysp-0].yyrcnumtype.v); yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
83 : begin
- yyval.yyString:= yytext;
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v + yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
84 : begin
- yyval.yyString:= yytext;
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v - yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
85 : begin
- yyval.yyString:= yytext;
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v and yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
86 : begin
- yyval.yyTMemoryStream:= TMemoryStream.Create;
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v xor yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
87 : begin
- yyval := yyv[yysp-1];
+ yyval.yyrcnumtype.v:= yyv[yysp-2].yyrcnumtype.v or yyv[yysp-0].yyrcnumtype.v; yyval.yyrcnumtype.long:= yyv[yysp-2].yyrcnumtype.long or yyv[yysp-0].yyrcnumtype.long;
end;
88 : begin
- yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
+ yyval.yyString:= yytext;
end;
89 : begin
- yyval := yyv[yysp-3];
+ yyval := yyv[yysp-0];
end;
90 : begin
+ yyval.yyTFileStream:= TFileStream.Create(yytext, fmOpenRead or fmShareDenyWrite);
+ end;
+ 91 : begin
+ yyval.yyString:= yytext;
+ end;
+ 92 : begin
+ yyval.yyString:= yytext;
+ end;
+ 93 : begin
+ yyval.yyString:= yytext;
+ end;
+ 94 : begin
+ yyval.yyString:= yytext;
+ end;
+ 95 : begin
+ yyval.yyTMemoryStream:= TMemoryStream.Create;
+ end;
+ 96 : begin
+ yyval := yyv[yysp-1];
+ end;
+ 97 : begin
+ yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
+ end;
+ 98 : begin
+ yyval := yyv[yysp-3];
+ end;
+ 99 : begin
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
yyval.yyTMemoryStream.WriteBuffer(yyv[yysp-0].yyString[1], Length(yyv[yysp-0].yyString));
end;
- 91 : begin
+ 100 : begin
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
if yyv[yysp-0].yyrcnumtype.long then
@@ -595,25 +630,26 @@ type YYARec = record
const
-yynacts = 261;
-yyngotos = 121;
-yynstates = 160;
-yynrules = 91;
+yynacts = 619;
+yyngotos = 141;
+yynstates = 179;
+yynrules = 100;
yya : array [1..yynacts] of YYARec = (
{ 0: }
{ 1: }
( sym: 0; act: 0 ),
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
- ( sym: 266; act: 24 ),
- ( sym: 267; act: 25 ),
- ( sym: 280; act: 26 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+ ( sym: 265; act: 25 ),
+ ( sym: 266; act: 26 ),
+ ( sym: 279; act: 27 ),
{ 2: }
{ 3: }
{ 4: }
@@ -625,53 +661,117 @@ yya : array [1..yynacts] of YYARec = (
{ 10: }
{ 11: }
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
- ( sym: 266; act: 24 ),
- ( sym: 277; act: 29 ),
- ( sym: 278; act: 30 ),
- ( sym: 279; act: 31 ),
- ( sym: 281; act: 32 ),
- ( sym: 282; act: 33 ),
- ( sym: 283; act: 34 ),
- ( sym: 284; act: 35 ),
- ( sym: 285; act: 36 ),
- ( sym: 286; act: 37 ),
- ( sym: 287; act: 38 ),
- ( sym: 288; act: 39 ),
- ( sym: 289; act: 40 ),
- ( sym: 290; act: 41 ),
- ( sym: 291; act: 42 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+ ( sym: 265; act: 25 ),
+ ( sym: 276; act: 30 ),
+ ( sym: 277; act: 31 ),
+ ( sym: 278; act: 32 ),
+ ( sym: 280; act: 33 ),
+ ( sym: 281; act: 34 ),
+ ( sym: 282; act: 35 ),
+ ( sym: 283; act: 36 ),
+ ( sym: 284; act: 37 ),
+ ( sym: 285; act: 38 ),
+ ( sym: 286; act: 39 ),
+ ( sym: 287; act: 40 ),
+ ( sym: 288; act: 41 ),
+ ( sym: 289; act: 42 ),
+ ( sym: 290; act: 43 ),
{ 12: }
{ 13: }
{ 14: }
{ 15: }
+ ( sym: 37; act: 44 ),
+ ( sym: 38; act: 45 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 43; act: 47 ),
+ ( sym: 45; act: 48 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 94; act: 50 ),
+ ( sym: 124; act: 51 ),
+ ( sym: 0; act: -74 ),
+ ( sym: 40; act: -74 ),
+ ( sym: 44; act: -74 ),
+ ( sym: 126; act: -74 ),
+ ( sym: 258; act: -74 ),
+ ( sym: 259; act: -74 ),
+ ( sym: 260; act: -74 ),
+ ( sym: 261; act: -74 ),
+ ( sym: 262; act: -74 ),
+ ( sym: 263; act: -74 ),
+ ( sym: 265; act: -74 ),
+ ( sym: 266; act: -74 ),
+ ( sym: 267; act: -74 ),
+ ( sym: 268; act: -74 ),
+ ( sym: 269; act: -74 ),
+ ( sym: 270; act: -74 ),
+ ( sym: 271; act: -74 ),
+ ( sym: 272; act: -74 ),
+ ( sym: 273; act: -74 ),
+ ( sym: 274; act: -74 ),
+ ( sym: 275; act: -74 ),
+ ( sym: 276; act: -74 ),
+ ( sym: 277; act: -74 ),
+ ( sym: 278; act: -74 ),
+ ( sym: 279; act: -74 ),
+ ( sym: 280; act: -74 ),
+ ( sym: 281; act: -74 ),
+ ( sym: 282; act: -74 ),
+ ( sym: 283; act: -74 ),
+ ( sym: 284; act: -74 ),
+ ( sym: 285; act: -74 ),
+ ( sym: 286; act: -74 ),
+ ( sym: 287; act: -74 ),
+ ( sym: 288; act: -74 ),
+ ( sym: 289; act: -74 ),
+ ( sym: 290; act: -74 ),
+ ( sym: 291; act: -74 ),
+ ( sym: 292; act: -74 ),
+ ( sym: 293; act: -74 ),
+ ( sym: 294; act: -74 ),
+ ( sym: 295; act: -74 ),
+ ( sym: 296; act: -74 ),
+ ( sym: 297; act: -74 ),
{ 16: }
{ 17: }
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 18: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 19: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 20: }
{ 21: }
{ 22: }
{ 23: }
{ 24: }
{ 25: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 26: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 27: }
+{ 28: }
+ ( sym: 259; act: -38 ),
( sym: 260; act: -38 ),
( sym: 261; act: -38 ),
( sym: 262; act: -38 ),
- ( sym: 263; act: -38 ),
+ ( sym: 266; act: -38 ),
( sym: 267; act: -38 ),
( sym: 268; act: -38 ),
( sym: 269; act: -38 ),
@@ -681,9 +781,7 @@ yya : array [1..yynacts] of YYARec = (
( sym: 273; act: -38 ),
( sym: 274; act: -38 ),
( sym: 275; act: -38 ),
- ( sym: 276; act: -38 ),
- ( sym: 264; act: -40 ),
-{ 28: }
+ ( sym: 263; act: -40 ),
{ 29: }
{ 30: }
{ 31: }
@@ -699,329 +797,643 @@ yya : array [1..yynacts] of YYARec = (
{ 41: }
{ 42: }
{ 43: }
- ( sym: 41; act: 52 ),
{ 44: }
- ( sym: 44; act: 53 ),
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 45: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 46: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 47: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 48: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 49: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 50: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 51: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 52: }
+ ( sym: 37; act: 44 ),
+ ( sym: 38; act: 45 ),
+ ( sym: 41; act: 71 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 43; act: 47 ),
+ ( sym: 45; act: 48 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 94; act: 50 ),
+ ( sym: 124; act: 51 ),
{ 53: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 54: }
- ( sym: 264; act: 63 ),
- ( sym: 267; act: 64 ),
- ( sym: 268; act: 65 ),
- ( sym: 269; act: 66 ),
- ( sym: 270; act: 67 ),
- ( sym: 271; act: 68 ),
- ( sym: 272; act: 69 ),
- ( sym: 273; act: 70 ),
- ( sym: 274; act: 71 ),
- ( sym: 275; act: 72 ),
- ( sym: 276; act: 73 ),
{ 55: }
- ( sym: 264; act: 74 ),
- ( sym: 267; act: 64 ),
- ( sym: 268; act: 65 ),
- ( sym: 269; act: 66 ),
- ( sym: 270; act: 67 ),
- ( sym: 271; act: 68 ),
- ( sym: 272; act: 69 ),
- ( sym: 273; act: 70 ),
- ( sym: 274; act: 71 ),
- ( sym: 275; act: 72 ),
- ( sym: 276; act: 73 ),
+ ( sym: 44; act: 72 ),
{ 56: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
- ( sym: 267; act: 64 ),
- ( sym: 268; act: 65 ),
- ( sym: 269; act: 66 ),
- ( sym: 270; act: 67 ),
- ( sym: 271; act: 68 ),
- ( sym: 272; act: 69 ),
- ( sym: 273; act: 70 ),
- ( sym: 274; act: 71 ),
- ( sym: 275; act: 72 ),
- ( sym: 276; act: 73 ),
{ 57: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
- ( sym: 267; act: 64 ),
- ( sym: 268; act: 65 ),
- ( sym: 269; act: 66 ),
- ( sym: 270; act: 67 ),
- ( sym: 271; act: 68 ),
- ( sym: 272; act: 69 ),
- ( sym: 273; act: 70 ),
- ( sym: 274; act: 71 ),
- ( sym: 275; act: 72 ),
- ( sym: 276; act: 73 ),
{ 58: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
- ( sym: 267; act: 64 ),
- ( sym: 268; act: 65 ),
- ( sym: 269; act: 66 ),
- ( sym: 270; act: 67 ),
- ( sym: 271; act: 68 ),
- ( sym: 272; act: 69 ),
- ( sym: 273; act: 70 ),
- ( sym: 274; act: 71 ),
- ( sym: 275; act: 72 ),
- ( sym: 276; act: 73 ),
{ 59: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
- ( sym: 267; act: 64 ),
- ( sym: 268; act: 65 ),
- ( sym: 269; act: 66 ),
- ( sym: 270; act: 67 ),
- ( sym: 271; act: 68 ),
- ( sym: 272; act: 69 ),
- ( sym: 273; act: 70 ),
- ( sym: 274; act: 71 ),
- ( sym: 275; act: 72 ),
- ( sym: 276; act: 73 ),
{ 60: }
- ( sym: 264; act: 80 ),
- ( sym: 292; act: 81 ),
- ( sym: 293; act: 82 ),
- ( sym: 294; act: 83 ),
- ( sym: 295; act: 84 ),
- ( sym: 296; act: 85 ),
- ( sym: 297; act: 86 ),
- ( sym: 298; act: 87 ),
{ 61: }
{ 62: }
{ 63: }
{ 64: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 37; act: 44 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 43; act: 47 ),
+ ( sym: 45; act: 48 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 0; act: -85 ),
+ ( sym: 38; act: -85 ),
+ ( sym: 40; act: -85 ),
+ ( sym: 41; act: -85 ),
+ ( sym: 44; act: -85 ),
+ ( sym: 94; act: -85 ),
+ ( sym: 124; act: -85 ),
+ ( sym: 126; act: -85 ),
+ ( sym: 258; act: -85 ),
+ ( sym: 259; act: -85 ),
+ ( sym: 260; act: -85 ),
+ ( sym: 261; act: -85 ),
+ ( sym: 262; act: -85 ),
+ ( sym: 263; act: -85 ),
+ ( sym: 265; act: -85 ),
+ ( sym: 266; act: -85 ),
+ ( sym: 267; act: -85 ),
+ ( sym: 268; act: -85 ),
+ ( sym: 269; act: -85 ),
+ ( sym: 270; act: -85 ),
+ ( sym: 271; act: -85 ),
+ ( sym: 272; act: -85 ),
+ ( sym: 273; act: -85 ),
+ ( sym: 274; act: -85 ),
+ ( sym: 275; act: -85 ),
+ ( sym: 276; act: -85 ),
+ ( sym: 277; act: -85 ),
+ ( sym: 278; act: -85 ),
+ ( sym: 279; act: -85 ),
+ ( sym: 280; act: -85 ),
+ ( sym: 281; act: -85 ),
+ ( sym: 282; act: -85 ),
+ ( sym: 283; act: -85 ),
+ ( sym: 284; act: -85 ),
+ ( sym: 285; act: -85 ),
+ ( sym: 286; act: -85 ),
+ ( sym: 287; act: -85 ),
+ ( sym: 288; act: -85 ),
+ ( sym: 289; act: -85 ),
+ ( sym: 290; act: -85 ),
+ ( sym: 291; act: -85 ),
+ ( sym: 292; act: -85 ),
+ ( sym: 293; act: -85 ),
+ ( sym: 294; act: -85 ),
+ ( sym: 295; act: -85 ),
+ ( sym: 296; act: -85 ),
+ ( sym: 297; act: -85 ),
{ 65: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 66: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 37; act: 44 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 0; act: -83 ),
+ ( sym: 38; act: -83 ),
+ ( sym: 40; act: -83 ),
+ ( sym: 41; act: -83 ),
+ ( sym: 43; act: -83 ),
+ ( sym: 44; act: -83 ),
+ ( sym: 45; act: -83 ),
+ ( sym: 94; act: -83 ),
+ ( sym: 124; act: -83 ),
+ ( sym: 126; act: -83 ),
+ ( sym: 258; act: -83 ),
+ ( sym: 259; act: -83 ),
+ ( sym: 260; act: -83 ),
+ ( sym: 261; act: -83 ),
+ ( sym: 262; act: -83 ),
+ ( sym: 263; act: -83 ),
+ ( sym: 265; act: -83 ),
+ ( sym: 266; act: -83 ),
+ ( sym: 267; act: -83 ),
+ ( sym: 268; act: -83 ),
+ ( sym: 269; act: -83 ),
+ ( sym: 270; act: -83 ),
+ ( sym: 271; act: -83 ),
+ ( sym: 272; act: -83 ),
+ ( sym: 273; act: -83 ),
+ ( sym: 274; act: -83 ),
+ ( sym: 275; act: -83 ),
+ ( sym: 276; act: -83 ),
+ ( sym: 277; act: -83 ),
+ ( sym: 278; act: -83 ),
+ ( sym: 279; act: -83 ),
+ ( sym: 280; act: -83 ),
+ ( sym: 281; act: -83 ),
+ ( sym: 282; act: -83 ),
+ ( sym: 283; act: -83 ),
+ ( sym: 284; act: -83 ),
+ ( sym: 285; act: -83 ),
+ ( sym: 286; act: -83 ),
+ ( sym: 287; act: -83 ),
+ ( sym: 288; act: -83 ),
+ ( sym: 289; act: -83 ),
+ ( sym: 290; act: -83 ),
+ ( sym: 291; act: -83 ),
+ ( sym: 292; act: -83 ),
+ ( sym: 293; act: -83 ),
+ ( sym: 294; act: -83 ),
+ ( sym: 295; act: -83 ),
+ ( sym: 296; act: -83 ),
+ ( sym: 297; act: -83 ),
{ 67: }
+ ( sym: 37; act: 44 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 0; act: -84 ),
+ ( sym: 38; act: -84 ),
+ ( sym: 40; act: -84 ),
+ ( sym: 41; act: -84 ),
+ ( sym: 43; act: -84 ),
+ ( sym: 44; act: -84 ),
+ ( sym: 45; act: -84 ),
+ ( sym: 94; act: -84 ),
+ ( sym: 124; act: -84 ),
+ ( sym: 126; act: -84 ),
+ ( sym: 258; act: -84 ),
+ ( sym: 259; act: -84 ),
+ ( sym: 260; act: -84 ),
+ ( sym: 261; act: -84 ),
+ ( sym: 262; act: -84 ),
+ ( sym: 263; act: -84 ),
+ ( sym: 265; act: -84 ),
+ ( sym: 266; act: -84 ),
+ ( sym: 267; act: -84 ),
+ ( sym: 268; act: -84 ),
+ ( sym: 269; act: -84 ),
+ ( sym: 270; act: -84 ),
+ ( sym: 271; act: -84 ),
+ ( sym: 272; act: -84 ),
+ ( sym: 273; act: -84 ),
+ ( sym: 274; act: -84 ),
+ ( sym: 275; act: -84 ),
+ ( sym: 276; act: -84 ),
+ ( sym: 277; act: -84 ),
+ ( sym: 278; act: -84 ),
+ ( sym: 279; act: -84 ),
+ ( sym: 280; act: -84 ),
+ ( sym: 281; act: -84 ),
+ ( sym: 282; act: -84 ),
+ ( sym: 283; act: -84 ),
+ ( sym: 284; act: -84 ),
+ ( sym: 285; act: -84 ),
+ ( sym: 286; act: -84 ),
+ ( sym: 287; act: -84 ),
+ ( sym: 288; act: -84 ),
+ ( sym: 289; act: -84 ),
+ ( sym: 290; act: -84 ),
+ ( sym: 291; act: -84 ),
+ ( sym: 292; act: -84 ),
+ ( sym: 293; act: -84 ),
+ ( sym: 294; act: -84 ),
+ ( sym: 295; act: -84 ),
+ ( sym: 296; act: -84 ),
+ ( sym: 297; act: -84 ),
{ 68: }
{ 69: }
+ ( sym: 37; act: 44 ),
+ ( sym: 38; act: 45 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 43; act: 47 ),
+ ( sym: 45; act: 48 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 0; act: -86 ),
+ ( sym: 40; act: -86 ),
+ ( sym: 41; act: -86 ),
+ ( sym: 44; act: -86 ),
+ ( sym: 94; act: -86 ),
+ ( sym: 124; act: -86 ),
+ ( sym: 126; act: -86 ),
+ ( sym: 258; act: -86 ),
+ ( sym: 259; act: -86 ),
+ ( sym: 260; act: -86 ),
+ ( sym: 261; act: -86 ),
+ ( sym: 262; act: -86 ),
+ ( sym: 263; act: -86 ),
+ ( sym: 265; act: -86 ),
+ ( sym: 266; act: -86 ),
+ ( sym: 267; act: -86 ),
+ ( sym: 268; act: -86 ),
+ ( sym: 269; act: -86 ),
+ ( sym: 270; act: -86 ),
+ ( sym: 271; act: -86 ),
+ ( sym: 272; act: -86 ),
+ ( sym: 273; act: -86 ),
+ ( sym: 274; act: -86 ),
+ ( sym: 275; act: -86 ),
+ ( sym: 276; act: -86 ),
+ ( sym: 277; act: -86 ),
+ ( sym: 278; act: -86 ),
+ ( sym: 279; act: -86 ),
+ ( sym: 280; act: -86 ),
+ ( sym: 281; act: -86 ),
+ ( sym: 282; act: -86 ),
+ ( sym: 283; act: -86 ),
+ ( sym: 284; act: -86 ),
+ ( sym: 285; act: -86 ),
+ ( sym: 286; act: -86 ),
+ ( sym: 287; act: -86 ),
+ ( sym: 288; act: -86 ),
+ ( sym: 289; act: -86 ),
+ ( sym: 290; act: -86 ),
+ ( sym: 291; act: -86 ),
+ ( sym: 292; act: -86 ),
+ ( sym: 293; act: -86 ),
+ ( sym: 294; act: -86 ),
+ ( sym: 295; act: -86 ),
+ ( sym: 296; act: -86 ),
+ ( sym: 297; act: -86 ),
{ 70: }
+ ( sym: 37; act: 44 ),
+ ( sym: 38; act: 45 ),
+ ( sym: 42; act: 46 ),
+ ( sym: 43; act: 47 ),
+ ( sym: 45; act: 48 ),
+ ( sym: 47; act: 49 ),
+ ( sym: 94; act: 50 ),
+ ( sym: 0; act: -87 ),
+ ( sym: 40; act: -87 ),
+ ( sym: 41; act: -87 ),
+ ( sym: 44; act: -87 ),
+ ( sym: 124; act: -87 ),
+ ( sym: 126; act: -87 ),
+ ( sym: 258; act: -87 ),
+ ( sym: 259; act: -87 ),
+ ( sym: 260; act: -87 ),
+ ( sym: 261; act: -87 ),
+ ( sym: 262; act: -87 ),
+ ( sym: 263; act: -87 ),
+ ( sym: 265; act: -87 ),
+ ( sym: 266; act: -87 ),
+ ( sym: 267; act: -87 ),
+ ( sym: 268; act: -87 ),
+ ( sym: 269; act: -87 ),
+ ( sym: 270; act: -87 ),
+ ( sym: 271; act: -87 ),
+ ( sym: 272; act: -87 ),
+ ( sym: 273; act: -87 ),
+ ( sym: 274; act: -87 ),
+ ( sym: 275; act: -87 ),
+ ( sym: 276; act: -87 ),
+ ( sym: 277; act: -87 ),
+ ( sym: 278; act: -87 ),
+ ( sym: 279; act: -87 ),
+ ( sym: 280; act: -87 ),
+ ( sym: 281; act: -87 ),
+ ( sym: 282; act: -87 ),
+ ( sym: 283; act: -87 ),
+ ( sym: 284; act: -87 ),
+ ( sym: 285; act: -87 ),
+ ( sym: 286; act: -87 ),
+ ( sym: 287; act: -87 ),
+ ( sym: 288; act: -87 ),
+ ( sym: 289; act: -87 ),
+ ( sym: 290; act: -87 ),
+ ( sym: 291; act: -87 ),
+ ( sym: 292; act: -87 ),
+ ( sym: 293; act: -87 ),
+ ( sym: 294; act: -87 ),
+ ( sym: 295; act: -87 ),
+ ( sym: 296; act: -87 ),
+ ( sym: 297; act: -87 ),
{ 71: }
{ 72: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 73: }
+ ( sym: 263; act: 82 ),
+ ( sym: 266; act: 83 ),
+ ( sym: 267; act: 84 ),
+ ( sym: 268; act: 85 ),
+ ( sym: 269; act: 86 ),
+ ( sym: 270; act: 87 ),
+ ( sym: 271; act: 88 ),
+ ( sym: 272; act: 89 ),
+ ( sym: 273; act: 90 ),
+ ( sym: 274; act: 91 ),
+ ( sym: 275; act: 92 ),
{ 74: }
+ ( sym: 263; act: 93 ),
+ ( sym: 266; act: 83 ),
+ ( sym: 267; act: 84 ),
+ ( sym: 268; act: 85 ),
+ ( sym: 269; act: 86 ),
+ ( sym: 270; act: 87 ),
+ ( sym: 271; act: 88 ),
+ ( sym: 272; act: 89 ),
+ ( sym: 273; act: 90 ),
+ ( sym: 274; act: 91 ),
+ ( sym: 275; act: 92 ),
{ 75: }
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+ ( sym: 266; act: 83 ),
+ ( sym: 267; act: 84 ),
+ ( sym: 268; act: 85 ),
+ ( sym: 269; act: 86 ),
+ ( sym: 270; act: 87 ),
+ ( sym: 271; act: 88 ),
+ ( sym: 272; act: 89 ),
+ ( sym: 273; act: 90 ),
+ ( sym: 274; act: 91 ),
+ ( sym: 275; act: 92 ),
{ 76: }
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+ ( sym: 266; act: 83 ),
+ ( sym: 267; act: 84 ),
+ ( sym: 268; act: 85 ),
+ ( sym: 269; act: 86 ),
+ ( sym: 270; act: 87 ),
+ ( sym: 271; act: 88 ),
+ ( sym: 272; act: 89 ),
+ ( sym: 273; act: 90 ),
+ ( sym: 274; act: 91 ),
+ ( sym: 275; act: 92 ),
{ 77: }
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+ ( sym: 266; act: 83 ),
+ ( sym: 267; act: 84 ),
+ ( sym: 268; act: 85 ),
+ ( sym: 269; act: 86 ),
+ ( sym: 270; act: 87 ),
+ ( sym: 271; act: 88 ),
+ ( sym: 272; act: 89 ),
+ ( sym: 273; act: 90 ),
+ ( sym: 274; act: 91 ),
+ ( sym: 275; act: 92 ),
{ 78: }
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+ ( sym: 266; act: 83 ),
+ ( sym: 267; act: 84 ),
+ ( sym: 268; act: 85 ),
+ ( sym: 269; act: 86 ),
+ ( sym: 270; act: 87 ),
+ ( sym: 271; act: 88 ),
+ ( sym: 272; act: 89 ),
+ ( sym: 273; act: 90 ),
+ ( sym: 274; act: 91 ),
+ ( sym: 275; act: 92 ),
{ 79: }
+ ( sym: 263; act: 99 ),
+ ( sym: 291; act: 100 ),
+ ( sym: 292; act: 101 ),
+ ( sym: 293; act: 102 ),
+ ( sym: 294; act: 103 ),
+ ( sym: 295; act: 104 ),
+ ( sym: 296; act: 105 ),
+ ( sym: 297; act: 106 ),
{ 80: }
{ 81: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 82: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 83: }
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 84: }
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 85: }
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 86: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 87: }
- ( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 88: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
- ( sym: 265; act: 104 ),
{ 89: }
- ( sym: 44; act: 105 ),
{ 90: }
{ 91: }
{ 92: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
{ 93: }
- ( sym: 44; act: 109 ),
- ( sym: 265; act: 110 ),
{ 94: }
- ( sym: 265; act: 111 ),
- ( sym: 299; act: 112 ),
{ 95: }
- ( sym: 44; act: 113 ),
{ 96: }
- ( sym: 44; act: 114 ),
{ 97: }
{ 98: }
{ 99: }
{ 100: }
+ ( sym: 258; act: 20 ),
{ 101: }
+ ( sym: 258; act: 20 ),
{ 102: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 103: }
- ( sym: 44; act: 116 ),
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 104: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 105: }
( sym: 40; act: 17 ),
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 106: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 107: }
+ ( sym: 258; act: 20 ),
+ ( sym: 264; act: 123 ),
{ 108: }
+ ( sym: 44; act: 124 ),
{ 109: }
{ 110: }
{ 111: }
+ ( sym: 258; act: 20 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
{ 112: }
- ( sym: 261; act: 119 ),
- ( sym: 262; act: 120 ),
+ ( sym: 44; act: 128 ),
+ ( sym: 264; act: 129 ),
{ 113: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 264; act: 130 ),
+ ( sym: 298; act: 131 ),
{ 114: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 44; act: 132 ),
{ 115: }
+ ( sym: 44; act: 133 ),
{ 116: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
{ 117: }
{ 118: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
{ 119: }
- ( sym: 264; act: 125 ),
{ 120: }
- ( sym: 264; act: 126 ),
{ 121: }
- ( sym: 44; act: 127 ),
{ 122: }
- ( sym: 44; act: 128 ),
+ ( sym: 44; act: 135 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
{ 123: }
{ 124: }
+ ( sym: 40; act: 17 ),
+ ( sym: 45; act: 18 ),
+ ( sym: 126; act: 19 ),
+ ( sym: 258; act: 20 ),
{ 125: }
{ 126: }
- ( sym: 300; act: 131 ),
{ 127: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 128: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 129: }
- ( sym: 265; act: 134 ),
- ( sym: 299; act: 135 ),
{ 130: }
- ( sym: 265; act: 136 ),
{ 131: }
- ( sym: 263; act: 137 ),
+ ( sym: 260; act: 138 ),
+ ( sym: 261; act: 139 ),
{ 132: }
- ( sym: 44; act: 138 ),
+ ( sym: 258; act: 20 ),
{ 133: }
- ( sym: 44; act: 139 ),
+ ( sym: 258; act: 20 ),
{ 134: }
{ 135: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
{ 136: }
{ 137: }
- ( sym: 44; act: 141 ),
+ ( sym: 258; act: 20 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
{ 138: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 263; act: 144 ),
{ 139: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 263; act: 145 ),
{ 140: }
- ( sym: 264; act: 144 ),
+ ( sym: 44; act: 146 ),
{ 141: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 44; act: 147 ),
{ 142: }
{ 143: }
{ 144: }
{ 145: }
- ( sym: 44; act: 148 ),
- ( sym: 265; act: -35 ),
+ ( sym: 299; act: 150 ),
{ 146: }
- ( sym: 44; act: 149 ),
+ ( sym: 258; act: 20 ),
{ 147: }
+ ( sym: 258; act: 20 ),
{ 148: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 264; act: 153 ),
+ ( sym: 298; act: 154 ),
{ 149: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
+ ( sym: 264; act: 155 ),
{ 150: }
- ( sym: 265; act: 153 ),
- ( sym: 300; act: 154 ),
+ ( sym: 262; act: 156 ),
{ 151: }
- ( sym: 44; act: 155 ),
+ ( sym: 44; act: 157 ),
{ 152: }
+ ( sym: 44; act: 158 ),
{ 153: }
{ 154: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 ),
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
{ 155: }
- ( sym: 258; act: 18 ),
- ( sym: 259; act: 19 ),
{ 156: }
- ( sym: 44; act: 158 ),
+ ( sym: 44; act: 160 ),
{ 157: }
+ ( sym: 258; act: 20 ),
{ 158: }
- ( sym: 260; act: 20 ),
- ( sym: 261; act: 21 ),
- ( sym: 262; act: 22 ),
- ( sym: 263; act: 23 )
+ ( sym: 258; act: 20 ),
{ 159: }
+ ( sym: 263; act: 163 ),
+{ 160: }
+ ( sym: 258; act: 20 ),
+{ 161: }
+{ 162: }
+{ 163: }
+{ 164: }
+ ( sym: 44; act: 167 ),
+ ( sym: 264; act: -35 ),
+{ 165: }
+ ( sym: 44; act: 168 ),
+{ 166: }
+{ 167: }
+ ( sym: 258; act: 20 ),
+{ 168: }
+ ( sym: 258; act: 20 ),
+{ 169: }
+ ( sym: 264; act: 172 ),
+ ( sym: 299; act: 173 ),
+{ 170: }
+ ( sym: 44; act: 174 ),
+{ 171: }
+{ 172: }
+{ 173: }
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 ),
+{ 174: }
+ ( sym: 258; act: 20 ),
+{ 175: }
+ ( sym: 44; act: 177 ),
+{ 176: }
+{ 177: }
+ ( sym: 259; act: 21 ),
+ ( sym: 260; act: 22 ),
+ ( sym: 261; act: 23 ),
+ ( sym: 262; act: 24 )
+{ 178: }
);
yyg : array [1..yyngotos] of YYARec = (
@@ -1053,8 +1465,8 @@ yyg : array [1..yyngotos] of YYARec = (
{ 9: }
{ 10: }
{ 11: }
- ( sym: -9; act: 27 ),
- ( sym: -8; act: 28 ),
+ ( sym: -9; act: 28 ),
+ ( sym: -8; act: 29 ),
( sym: -7; act: 12 ),
( sym: -5; act: 13 ),
( sym: -4; act: 14 ),
@@ -1067,33 +1479,37 @@ yyg : array [1..yyngotos] of YYARec = (
{ 16: }
{ 17: }
( sym: -4; act: 14 ),
- ( sym: -3; act: 43 ),
+ ( sym: -3; act: 52 ),
{ 18: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 53 ),
{ 19: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 54 ),
{ 20: }
{ 21: }
{ 22: }
{ 23: }
{ 24: }
{ 25: }
+{ 26: }
( sym: -4; act: 14 ),
( sym: -3; act: 15 ),
- ( sym: -2; act: 44 ),
-{ 26: }
- ( sym: -36; act: 45 ),
+ ( sym: -2; act: 55 ),
{ 27: }
- ( sym: -35; act: 46 ),
- ( sym: -34; act: 47 ),
+ ( sym: -36; act: 56 ),
{ 28: }
+ ( sym: -35; act: 57 ),
+ ( sym: -34; act: 58 ),
{ 29: }
- ( sym: -23; act: 48 ),
{ 30: }
- ( sym: -24; act: 49 ),
+ ( sym: -23; act: 59 ),
{ 31: }
- ( sym: -25; act: 50 ),
+ ( sym: -24; act: 60 ),
{ 32: }
- ( sym: -27; act: 51 ),
+ ( sym: -25; act: 61 ),
{ 33: }
+ ( sym: -27; act: 62 ),
{ 34: }
{ 35: }
{ 36: }
@@ -1105,207 +1521,242 @@ yyg : array [1..yyngotos] of YYARec = (
{ 42: }
{ 43: }
{ 44: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 63 ),
{ 45: }
- ( sym: -22; act: 54 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 64 ),
{ 46: }
- ( sym: -22; act: 55 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 65 ),
{ 47: }
- ( sym: -22; act: 56 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 66 ),
{ 48: }
- ( sym: -22; act: 57 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 67 ),
{ 49: }
- ( sym: -22; act: 58 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 68 ),
{ 50: }
- ( sym: -22; act: 59 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 69 ),
{ 51: }
- ( sym: -26; act: 60 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 70 ),
{ 52: }
{ 53: }
- ( sym: -4; act: 14 ),
- ( sym: -3; act: 15 ),
- ( sym: -2; act: 61 ),
{ 54: }
- ( sym: -39; act: 62 ),
{ 55: }
- ( sym: -39; act: 62 ),
{ 56: }
- ( sym: -39; act: 62 ),
- ( sym: -7; act: 75 ),
- ( sym: -6; act: 76 ),
+ ( sym: -22; act: 73 ),
{ 57: }
- ( sym: -39; act: 62 ),
- ( sym: -7; act: 75 ),
- ( sym: -6; act: 77 ),
+ ( sym: -22; act: 74 ),
{ 58: }
- ( sym: -39; act: 62 ),
- ( sym: -7; act: 75 ),
- ( sym: -6; act: 78 ),
+ ( sym: -22; act: 75 ),
{ 59: }
- ( sym: -39; act: 62 ),
- ( sym: -7; act: 75 ),
- ( sym: -6; act: 79 ),
+ ( sym: -22; act: 76 ),
{ 60: }
+ ( sym: -22; act: 77 ),
{ 61: }
+ ( sym: -22; act: 78 ),
{ 62: }
+ ( sym: -26; act: 79 ),
{ 63: }
- ( sym: -37; act: 88 ),
{ 64: }
- ( sym: -4; act: 14 ),
- ( sym: -3; act: 15 ),
- ( sym: -2; act: 89 ),
{ 65: }
- ( sym: -4; act: 14 ),
- ( sym: -3; act: 15 ),
- ( sym: -2; act: 90 ),
{ 66: }
- ( sym: -4; act: 14 ),
- ( sym: -3; act: 15 ),
- ( sym: -2; act: 91 ),
{ 67: }
{ 68: }
{ 69: }
{ 70: }
{ 71: }
{ 72: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 15 ),
+ ( sym: -2; act: 80 ),
{ 73: }
+ ( sym: -39; act: 81 ),
{ 74: }
- ( sym: -40; act: 92 ),
- ( sym: -10; act: 93 ),
+ ( sym: -39; act: 81 ),
{ 75: }
+ ( sym: -39; act: 81 ),
+ ( sym: -7; act: 94 ),
+ ( sym: -6; act: 95 ),
{ 76: }
+ ( sym: -39; act: 81 ),
+ ( sym: -7; act: 94 ),
+ ( sym: -6; act: 96 ),
{ 77: }
+ ( sym: -39; act: 81 ),
+ ( sym: -7; act: 94 ),
+ ( sym: -6; act: 97 ),
{ 78: }
+ ( sym: -39; act: 81 ),
+ ( sym: -7; act: 94 ),
+ ( sym: -6; act: 98 ),
{ 79: }
{ 80: }
- ( sym: -28; act: 94 ),
{ 81: }
- ( sym: -4; act: 95 ),
{ 82: }
- ( sym: -4; act: 96 ),
+ ( sym: -37; act: 107 ),
{ 83: }
( sym: -4; act: 14 ),
( sym: -3; act: 15 ),
- ( sym: -2; act: 97 ),
+ ( sym: -2; act: 108 ),
{ 84: }
( sym: -4; act: 14 ),
( sym: -3; act: 15 ),
- ( sym: -2; act: 98 ),
+ ( sym: -2; act: 109 ),
{ 85: }
( sym: -4; act: 14 ),
( sym: -3; act: 15 ),
- ( sym: -2; act: 99 ),
+ ( sym: -2; act: 110 ),
{ 86: }
- ( sym: -4; act: 14 ),
- ( sym: -3; act: 15 ),
- ( sym: -2; act: 100 ),
{ 87: }
- ( sym: -4; act: 14 ),
- ( sym: -3; act: 15 ),
- ( sym: -2; act: 101 ),
{ 88: }
- ( sym: -38; act: 102 ),
- ( sym: -4; act: 103 ),
{ 89: }
{ 90: }
{ 91: }
{ 92: }
- ( sym: -11; act: 106 ),
- ( sym: -7; act: 107 ),
- ( sym: -4; act: 108 ),
{ 93: }
+ ( sym: -40; act: 111 ),
+ ( sym: -10; act: 112 ),
{ 94: }
{ 95: }
{ 96: }
{ 97: }
{ 98: }
{ 99: }
+ ( sym: -28; act: 113 ),
{ 100: }
+ ( sym: -4; act: 114 ),
{ 101: }
+ ( sym: -4; act: 115 ),
{ 102: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 15 ),
+ ( sym: -2; act: 116 ),
{ 103: }
- ( sym: -7; act: 115 ),
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 15 ),
+ ( sym: -2; act: 117 ),
{ 104: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 15 ),
+ ( sym: -2; act: 118 ),
{ 105: }
( sym: -4; act: 14 ),
( sym: -3; act: 15 ),
- ( sym: -2; act: 117 ),
+ ( sym: -2; act: 119 ),
{ 106: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 15 ),
+ ( sym: -2; act: 120 ),
{ 107: }
+ ( sym: -38; act: 121 ),
+ ( sym: -4; act: 122 ),
{ 108: }
{ 109: }
- ( sym: -41; act: 118 ),
{ 110: }
{ 111: }
+ ( sym: -11; act: 125 ),
+ ( sym: -7; act: 126 ),
+ ( sym: -4; act: 127 ),
{ 112: }
{ 113: }
- ( sym: -4; act: 121 ),
{ 114: }
- ( sym: -4; act: 122 ),
{ 115: }
{ 116: }
- ( sym: -7; act: 123 ),
{ 117: }
{ 118: }
- ( sym: -11; act: 124 ),
- ( sym: -7; act: 107 ),
- ( sym: -4; act: 108 ),
{ 119: }
{ 120: }
{ 121: }
{ 122: }
+ ( sym: -7; act: 134 ),
{ 123: }
{ 124: }
+ ( sym: -4; act: 14 ),
+ ( sym: -3; act: 15 ),
+ ( sym: -2; act: 136 ),
{ 125: }
- ( sym: -29; act: 129 ),
{ 126: }
- ( sym: -30; act: 130 ),
{ 127: }
- ( sym: -4; act: 132 ),
{ 128: }
- ( sym: -4; act: 133 ),
+ ( sym: -41; act: 137 ),
{ 129: }
{ 130: }
{ 131: }
{ 132: }
+ ( sym: -4; act: 140 ),
{ 133: }
+ ( sym: -4; act: 141 ),
{ 134: }
{ 135: }
- ( sym: -7; act: 140 ),
+ ( sym: -7; act: 142 ),
{ 136: }
{ 137: }
+ ( sym: -11; act: 143 ),
+ ( sym: -7; act: 126 ),
+ ( sym: -4; act: 127 ),
{ 138: }
- ( sym: -4; act: 142 ),
{ 139: }
- ( sym: -4; act: 143 ),
{ 140: }
{ 141: }
- ( sym: -33; act: 145 ),
- ( sym: -4; act: 146 ),
{ 142: }
{ 143: }
{ 144: }
- ( sym: -32; act: 147 ),
+ ( sym: -29; act: 148 ),
{ 145: }
+ ( sym: -30; act: 149 ),
{ 146: }
+ ( sym: -4; act: 151 ),
{ 147: }
- ( sym: -31; act: 150 ),
+ ( sym: -4; act: 152 ),
{ 148: }
- ( sym: -4; act: 151 ),
{ 149: }
- ( sym: -4; act: 152 ),
{ 150: }
{ 151: }
{ 152: }
{ 153: }
{ 154: }
- ( sym: -7; act: 156 ),
+ ( sym: -7; act: 159 ),
{ 155: }
- ( sym: -4; act: 157 ),
{ 156: }
{ 157: }
+ ( sym: -4; act: 161 ),
{ 158: }
- ( sym: -7; act: 159 )
+ ( sym: -4; act: 162 ),
{ 159: }
+{ 160: }
+ ( sym: -33; act: 164 ),
+ ( sym: -4; act: 165 ),
+{ 161: }
+{ 162: }
+{ 163: }
+ ( sym: -32; act: 166 ),
+{ 164: }
+{ 165: }
+{ 166: }
+ ( sym: -31; act: 169 ),
+{ 167: }
+ ( sym: -4; act: 170 ),
+{ 168: }
+ ( sym: -4; act: 171 ),
+{ 169: }
+{ 170: }
+{ 171: }
+{ 172: }
+{ 173: }
+ ( sym: -7; act: 175 ),
+{ 174: }
+ ( sym: -4; act: 176 ),
+{ 175: }
+{ 176: }
+{ 177: }
+ ( sym: -7; act: 178 )
+{ 178: }
);
yyd : array [0..yynstates-1] of Integer = (
@@ -1321,159 +1772,360 @@ yyd : array [0..yynstates-1] of Integer = (
{ 9: } -3,
{ 10: } -2,
{ 11: } 0,
-{ 12: } -80,
+{ 12: } -89,
{ 13: } -60,
-{ 14: } -77,
-{ 15: } -74,
+{ 14: } -76,
+{ 15: } 0,
{ 16: } -59,
{ 17: } 0,
-{ 18: } -75,
-{ 19: } -76,
-{ 20: } -82,
-{ 21: } -83,
-{ 22: } -84,
-{ 23: } -85,
-{ 24: } -79,
-{ 25: } 0,
-{ 26: } -42,
-{ 27: } 0,
-{ 28: } -58,
-{ 29: } -11,
-{ 30: } -13,
-{ 31: } -15,
-{ 32: } -17,
-{ 33: } -48,
-{ 34: } -49,
-{ 35: } -50,
-{ 36: } -51,
-{ 37: } -52,
-{ 38: } -53,
-{ 39: } -54,
-{ 40: } -55,
-{ 41: } -56,
-{ 42: } -57,
-{ 43: } 0,
+{ 18: } 0,
+{ 19: } 0,
+{ 20: } -75,
+{ 21: } -91,
+{ 22: } -92,
+{ 23: } -93,
+{ 24: } -94,
+{ 25: } -88,
+{ 26: } 0,
+{ 27: } -42,
+{ 28: } 0,
+{ 29: } -58,
+{ 30: } -11,
+{ 31: } -13,
+{ 32: } -15,
+{ 33: } -17,
+{ 34: } -48,
+{ 35: } -49,
+{ 36: } -50,
+{ 37: } -51,
+{ 38: } -52,
+{ 39: } -53,
+{ 40: } -54,
+{ 41: } -55,
+{ 42: } -56,
+{ 43: } -57,
{ 44: } 0,
-{ 45: } -61,
-{ 46: } -61,
-{ 47: } -61,
-{ 48: } -61,
-{ 49: } -61,
-{ 50: } -61,
-{ 51: } -19,
-{ 52: } -78,
-{ 53: } 0,
-{ 54: } 0,
+{ 45: } 0,
+{ 46: } 0,
+{ 47: } 0,
+{ 48: } 0,
+{ 49: } 0,
+{ 50: } 0,
+{ 51: } 0,
+{ 52: } 0,
+{ 53: } -79,
+{ 54: } -78,
{ 55: } 0,
-{ 56: } 0,
-{ 57: } 0,
-{ 58: } 0,
-{ 59: } 0,
-{ 60: } 0,
-{ 61: } -73,
-{ 62: } -62,
-{ 63: } -44,
+{ 56: } -61,
+{ 57: } -61,
+{ 58: } -61,
+{ 59: } -61,
+{ 60: } -61,
+{ 61: } -61,
+{ 62: } -19,
+{ 63: } -82,
{ 64: } 0,
-{ 65: } 0,
+{ 65: } -80,
{ 66: } 0,
-{ 67: } -66,
-{ 68: } -67,
-{ 69: } -68,
-{ 70: } -69,
-{ 71: } -70,
-{ 72: } -71,
-{ 73: } -72,
-{ 74: } -86,
-{ 75: } -81,
-{ 76: } -39,
-{ 77: } -12,
-{ 78: } -14,
-{ 79: } -16,
-{ 80: } -27,
-{ 81: } 0,
-{ 82: } 0,
+{ 67: } 0,
+{ 68: } -81,
+{ 69: } 0,
+{ 70: } 0,
+{ 71: } -77,
+{ 72: } 0,
+{ 73: } 0,
+{ 74: } 0,
+{ 75: } 0,
+{ 76: } 0,
+{ 77: } 0,
+{ 78: } 0,
+{ 79: } 0,
+{ 80: } -73,
+{ 81: } -62,
+{ 82: } -44,
{ 83: } 0,
{ 84: } 0,
{ 85: } 0,
-{ 86: } 0,
-{ 87: } 0,
-{ 88: } 0,
-{ 89: } 0,
-{ 90: } -64,
-{ 91: } -65,
-{ 92: } 0,
-{ 93: } 0,
-{ 94: } 0,
-{ 95: } 0,
-{ 96: } 0,
-{ 97: } -22,
-{ 98: } -23,
-{ 99: } -24,
-{ 100: } -25,
-{ 101: } -26,
-{ 102: } -45,
+{ 86: } -66,
+{ 87: } -67,
+{ 88: } -68,
+{ 89: } -69,
+{ 90: } -70,
+{ 91: } -71,
+{ 92: } -72,
+{ 93: } -95,
+{ 94: } -90,
+{ 95: } -39,
+{ 96: } -12,
+{ 97: } -14,
+{ 98: } -16,
+{ 99: } -27,
+{ 100: } 0,
+{ 101: } 0,
+{ 102: } 0,
{ 103: } 0,
-{ 104: } -43,
+{ 104: } 0,
{ 105: } 0,
-{ 106: } -87,
-{ 107: } -90,
-{ 108: } -91,
-{ 109: } -88,
-{ 110: } -41,
-{ 111: } -18,
+{ 106: } 0,
+{ 107: } 0,
+{ 108: } 0,
+{ 109: } -64,
+{ 110: } -65,
+{ 111: } 0,
{ 112: } 0,
{ 113: } 0,
{ 114: } 0,
-{ 115: } -47,
-{ 116: } 0,
-{ 117: } -63,
-{ 118: } 0,
-{ 119: } 0,
-{ 120: } 0,
-{ 121: } 0,
+{ 115: } 0,
+{ 116: } -22,
+{ 117: } -23,
+{ 118: } -24,
+{ 119: } -25,
+{ 120: } -26,
+{ 121: } -45,
{ 122: } 0,
-{ 123: } -46,
-{ 124: } -89,
-{ 125: } -30,
-{ 126: } 0,
-{ 127: } 0,
-{ 128: } 0,
-{ 129: } 0,
-{ 130: } 0,
+{ 123: } -43,
+{ 124: } 0,
+{ 125: } -96,
+{ 126: } -99,
+{ 127: } -100,
+{ 128: } -97,
+{ 129: } -41,
+{ 130: } -18,
{ 131: } 0,
{ 132: } 0,
{ 133: } 0,
-{ 134: } -28,
+{ 134: } -47,
{ 135: } 0,
-{ 136: } -29,
+{ 136: } -63,
{ 137: } 0,
{ 138: } 0,
{ 139: } 0,
{ 140: } 0,
{ 141: } 0,
-{ 142: } -20,
-{ 143: } -21,
-{ 144: } -31,
+{ 142: } -46,
+{ 143: } -98,
+{ 144: } -30,
{ 145: } 0,
{ 146: } 0,
-{ 147: } -33,
+{ 147: } 0,
{ 148: } 0,
{ 149: } 0,
{ 150: } 0,
{ 151: } 0,
-{ 152: } -36,
-{ 153: } -32,
+{ 152: } 0,
+{ 153: } -28,
{ 154: } 0,
-{ 155: } 0,
+{ 155: } -29,
{ 156: } 0,
-{ 157: } -37,
+{ 157: } 0,
{ 158: } 0,
-{ 159: } -34
+{ 159: } 0,
+{ 160: } 0,
+{ 161: } -20,
+{ 162: } -21,
+{ 163: } -31,
+{ 164: } 0,
+{ 165: } 0,
+{ 166: } -33,
+{ 167: } 0,
+{ 168: } 0,
+{ 169: } 0,
+{ 170: } 0,
+{ 171: } -36,
+{ 172: } -32,
+{ 173: } 0,
+{ 174: } 0,
+{ 175: } 0,
+{ 176: } -37,
+{ 177: } 0,
+{ 178: } -34
);
yyal : array [0..yynstates-1] of Integer = (
{ 0: } 1,
{ 1: } 1,
+{ 2: } 13,
+{ 3: } 13,
+{ 4: } 13,
+{ 5: } 13,
+{ 6: } 13,
+{ 7: } 13,
+{ 8: } 13,
+{ 9: } 13,
+{ 10: } 13,
+{ 11: } 13,
+{ 12: } 36,
+{ 13: } 36,
+{ 14: } 36,
+{ 15: } 36,
+{ 16: } 87,
+{ 17: } 87,
+{ 18: } 91,
+{ 19: } 95,
+{ 20: } 99,
+{ 21: } 99,
+{ 22: } 99,
+{ 23: } 99,
+{ 24: } 99,
+{ 25: } 99,
+{ 26: } 99,
+{ 27: } 103,
+{ 28: } 103,
+{ 29: } 118,
+{ 30: } 118,
+{ 31: } 118,
+{ 32: } 118,
+{ 33: } 118,
+{ 34: } 118,
+{ 35: } 118,
+{ 36: } 118,
+{ 37: } 118,
+{ 38: } 118,
+{ 39: } 118,
+{ 40: } 118,
+{ 41: } 118,
+{ 42: } 118,
+{ 43: } 118,
+{ 44: } 118,
+{ 45: } 122,
+{ 46: } 126,
+{ 47: } 130,
+{ 48: } 134,
+{ 49: } 138,
+{ 50: } 142,
+{ 51: } 146,
+{ 52: } 150,
+{ 53: } 159,
+{ 54: } 159,
+{ 55: } 159,
+{ 56: } 160,
+{ 57: } 160,
+{ 58: } 160,
+{ 59: } 160,
+{ 60: } 160,
+{ 61: } 160,
+{ 62: } 160,
+{ 63: } 160,
+{ 64: } 160,
+{ 65: } 212,
+{ 66: } 212,
+{ 67: } 264,
+{ 68: } 316,
+{ 69: } 316,
+{ 70: } 368,
+{ 71: } 420,
+{ 72: } 420,
+{ 73: } 424,
+{ 74: } 435,
+{ 75: } 446,
+{ 76: } 460,
+{ 77: } 474,
+{ 78: } 488,
+{ 79: } 502,
+{ 80: } 510,
+{ 81: } 510,
+{ 82: } 510,
+{ 83: } 510,
+{ 84: } 514,
+{ 85: } 518,
+{ 86: } 522,
+{ 87: } 522,
+{ 88: } 522,
+{ 89: } 522,
+{ 90: } 522,
+{ 91: } 522,
+{ 92: } 522,
+{ 93: } 522,
+{ 94: } 522,
+{ 95: } 522,
+{ 96: } 522,
+{ 97: } 522,
+{ 98: } 522,
+{ 99: } 522,
+{ 100: } 522,
+{ 101: } 523,
+{ 102: } 524,
+{ 103: } 528,
+{ 104: } 532,
+{ 105: } 536,
+{ 106: } 540,
+{ 107: } 544,
+{ 108: } 546,
+{ 109: } 547,
+{ 110: } 547,
+{ 111: } 547,
+{ 112: } 552,
+{ 113: } 554,
+{ 114: } 556,
+{ 115: } 557,
+{ 116: } 558,
+{ 117: } 558,
+{ 118: } 558,
+{ 119: } 558,
+{ 120: } 558,
+{ 121: } 558,
+{ 122: } 558,
+{ 123: } 563,
+{ 124: } 563,
+{ 125: } 567,
+{ 126: } 567,
+{ 127: } 567,
+{ 128: } 567,
+{ 129: } 567,
+{ 130: } 567,
+{ 131: } 567,
+{ 132: } 569,
+{ 133: } 570,
+{ 134: } 571,
+{ 135: } 571,
+{ 136: } 575,
+{ 137: } 575,
+{ 138: } 580,
+{ 139: } 581,
+{ 140: } 582,
+{ 141: } 583,
+{ 142: } 584,
+{ 143: } 584,
+{ 144: } 584,
+{ 145: } 584,
+{ 146: } 585,
+{ 147: } 586,
+{ 148: } 587,
+{ 149: } 589,
+{ 150: } 590,
+{ 151: } 591,
+{ 152: } 592,
+{ 153: } 593,
+{ 154: } 593,
+{ 155: } 597,
+{ 156: } 597,
+{ 157: } 598,
+{ 158: } 599,
+{ 159: } 600,
+{ 160: } 601,
+{ 161: } 602,
+{ 162: } 602,
+{ 163: } 602,
+{ 164: } 602,
+{ 165: } 604,
+{ 166: } 605,
+{ 167: } 605,
+{ 168: } 606,
+{ 169: } 607,
+{ 170: } 609,
+{ 171: } 610,
+{ 172: } 610,
+{ 173: } 610,
+{ 174: } 614,
+{ 175: } 615,
+{ 176: } 616,
+{ 177: } 616,
+{ 178: } 620
+);
+
+yyah : array [0..yynstates-1] of Integer = (
+{ 0: } 0,
+{ 1: } 12,
{ 2: } 12,
{ 3: } 12,
{ 4: } 12,
@@ -1483,318 +2135,174 @@ yyal : array [0..yynstates-1] of Integer = (
{ 8: } 12,
{ 9: } 12,
{ 10: } 12,
-{ 11: } 12,
-{ 12: } 34,
-{ 13: } 34,
-{ 14: } 34,
-{ 15: } 34,
-{ 16: } 34,
-{ 17: } 34,
-{ 18: } 37,
-{ 19: } 37,
-{ 20: } 37,
-{ 21: } 37,
-{ 22: } 37,
-{ 23: } 37,
-{ 24: } 37,
-{ 25: } 37,
-{ 26: } 40,
-{ 27: } 40,
-{ 28: } 55,
-{ 29: } 55,
-{ 30: } 55,
-{ 31: } 55,
-{ 32: } 55,
-{ 33: } 55,
-{ 34: } 55,
-{ 35: } 55,
-{ 36: } 55,
-{ 37: } 55,
-{ 38: } 55,
-{ 39: } 55,
-{ 40: } 55,
-{ 41: } 55,
-{ 42: } 55,
-{ 43: } 55,
-{ 44: } 56,
-{ 45: } 57,
-{ 46: } 57,
-{ 47: } 57,
-{ 48: } 57,
-{ 49: } 57,
-{ 50: } 57,
-{ 51: } 57,
-{ 52: } 57,
-{ 53: } 57,
-{ 54: } 60,
-{ 55: } 71,
-{ 56: } 82,
-{ 57: } 96,
-{ 58: } 110,
-{ 59: } 124,
-{ 60: } 138,
-{ 61: } 146,
-{ 62: } 146,
-{ 63: } 146,
-{ 64: } 146,
-{ 65: } 149,
-{ 66: } 152,
-{ 67: } 155,
-{ 68: } 155,
-{ 69: } 155,
-{ 70: } 155,
-{ 71: } 155,
-{ 72: } 155,
-{ 73: } 155,
-{ 74: } 155,
-{ 75: } 155,
-{ 76: } 155,
-{ 77: } 155,
-{ 78: } 155,
-{ 79: } 155,
-{ 80: } 155,
-{ 81: } 155,
-{ 82: } 157,
-{ 83: } 159,
-{ 84: } 162,
-{ 85: } 165,
-{ 86: } 168,
-{ 87: } 171,
-{ 88: } 174,
-{ 89: } 177,
-{ 90: } 178,
-{ 91: } 178,
-{ 92: } 178,
-{ 93: } 184,
-{ 94: } 186,
-{ 95: } 188,
-{ 96: } 189,
-{ 97: } 190,
-{ 98: } 190,
-{ 99: } 190,
-{ 100: } 190,
-{ 101: } 190,
-{ 102: } 190,
-{ 103: } 190,
-{ 104: } 195,
-{ 105: } 195,
-{ 106: } 198,
-{ 107: } 198,
-{ 108: } 198,
-{ 109: } 198,
-{ 110: } 198,
-{ 111: } 198,
-{ 112: } 198,
-{ 113: } 200,
-{ 114: } 202,
-{ 115: } 204,
-{ 116: } 204,
-{ 117: } 208,
-{ 118: } 208,
-{ 119: } 214,
-{ 120: } 215,
-{ 121: } 216,
-{ 122: } 217,
-{ 123: } 218,
-{ 124: } 218,
-{ 125: } 218,
-{ 126: } 218,
-{ 127: } 219,
-{ 128: } 221,
-{ 129: } 223,
-{ 130: } 225,
-{ 131: } 226,
-{ 132: } 227,
-{ 133: } 228,
-{ 134: } 229,
-{ 135: } 229,
-{ 136: } 233,
-{ 137: } 233,
-{ 138: } 234,
-{ 139: } 236,
-{ 140: } 238,
-{ 141: } 239,
-{ 142: } 241,
-{ 143: } 241,
-{ 144: } 241,
-{ 145: } 241,
-{ 146: } 243,
-{ 147: } 244,
-{ 148: } 244,
-{ 149: } 246,
-{ 150: } 248,
-{ 151: } 250,
-{ 152: } 251,
-{ 153: } 251,
-{ 154: } 251,
-{ 155: } 255,
-{ 156: } 257,
-{ 157: } 258,
-{ 158: } 258,
-{ 159: } 262
-);
-
-yyah : array [0..yynstates-1] of Integer = (
-{ 0: } 0,
-{ 1: } 11,
-{ 2: } 11,
-{ 3: } 11,
-{ 4: } 11,
-{ 5: } 11,
-{ 6: } 11,
-{ 7: } 11,
-{ 8: } 11,
-{ 9: } 11,
-{ 10: } 11,
-{ 11: } 33,
-{ 12: } 33,
-{ 13: } 33,
-{ 14: } 33,
-{ 15: } 33,
-{ 16: } 33,
-{ 17: } 36,
-{ 18: } 36,
-{ 19: } 36,
-{ 20: } 36,
-{ 21: } 36,
-{ 22: } 36,
-{ 23: } 36,
-{ 24: } 36,
-{ 25: } 39,
-{ 26: } 39,
-{ 27: } 54,
-{ 28: } 54,
-{ 29: } 54,
-{ 30: } 54,
-{ 31: } 54,
-{ 32: } 54,
-{ 33: } 54,
-{ 34: } 54,
-{ 35: } 54,
-{ 36: } 54,
-{ 37: } 54,
-{ 38: } 54,
-{ 39: } 54,
-{ 40: } 54,
-{ 41: } 54,
-{ 42: } 54,
-{ 43: } 55,
-{ 44: } 56,
-{ 45: } 56,
-{ 46: } 56,
-{ 47: } 56,
-{ 48: } 56,
-{ 49: } 56,
-{ 50: } 56,
-{ 51: } 56,
-{ 52: } 56,
-{ 53: } 59,
-{ 54: } 70,
-{ 55: } 81,
-{ 56: } 95,
-{ 57: } 109,
-{ 58: } 123,
-{ 59: } 137,
-{ 60: } 145,
-{ 61: } 145,
-{ 62: } 145,
-{ 63: } 145,
-{ 64: } 148,
-{ 65: } 151,
-{ 66: } 154,
-{ 67: } 154,
-{ 68: } 154,
-{ 69: } 154,
-{ 70: } 154,
-{ 71: } 154,
-{ 72: } 154,
-{ 73: } 154,
-{ 74: } 154,
-{ 75: } 154,
-{ 76: } 154,
-{ 77: } 154,
-{ 78: } 154,
-{ 79: } 154,
-{ 80: } 154,
-{ 81: } 156,
-{ 82: } 158,
-{ 83: } 161,
-{ 84: } 164,
-{ 85: } 167,
-{ 86: } 170,
-{ 87: } 173,
-{ 88: } 176,
-{ 89: } 177,
-{ 90: } 177,
-{ 91: } 177,
-{ 92: } 183,
-{ 93: } 185,
-{ 94: } 187,
-{ 95: } 188,
-{ 96: } 189,
-{ 97: } 189,
-{ 98: } 189,
-{ 99: } 189,
-{ 100: } 189,
-{ 101: } 189,
-{ 102: } 189,
-{ 103: } 194,
-{ 104: } 194,
-{ 105: } 197,
-{ 106: } 197,
-{ 107: } 197,
-{ 108: } 197,
-{ 109: } 197,
-{ 110: } 197,
-{ 111: } 197,
-{ 112: } 199,
-{ 113: } 201,
-{ 114: } 203,
-{ 115: } 203,
-{ 116: } 207,
-{ 117: } 207,
-{ 118: } 213,
-{ 119: } 214,
-{ 120: } 215,
-{ 121: } 216,
-{ 122: } 217,
-{ 123: } 217,
-{ 124: } 217,
-{ 125: } 217,
-{ 126: } 218,
-{ 127: } 220,
-{ 128: } 222,
-{ 129: } 224,
-{ 130: } 225,
-{ 131: } 226,
-{ 132: } 227,
-{ 133: } 228,
-{ 134: } 228,
-{ 135: } 232,
-{ 136: } 232,
-{ 137: } 233,
-{ 138: } 235,
-{ 139: } 237,
-{ 140: } 238,
-{ 141: } 240,
-{ 142: } 240,
-{ 143: } 240,
-{ 144: } 240,
-{ 145: } 242,
-{ 146: } 243,
-{ 147: } 243,
-{ 148: } 245,
-{ 149: } 247,
-{ 150: } 249,
-{ 151: } 250,
-{ 152: } 250,
-{ 153: } 250,
-{ 154: } 254,
-{ 155: } 256,
-{ 156: } 257,
-{ 157: } 257,
-{ 158: } 261,
-{ 159: } 261
+{ 11: } 35,
+{ 12: } 35,
+{ 13: } 35,
+{ 14: } 35,
+{ 15: } 86,
+{ 16: } 86,
+{ 17: } 90,
+{ 18: } 94,
+{ 19: } 98,
+{ 20: } 98,
+{ 21: } 98,
+{ 22: } 98,
+{ 23: } 98,
+{ 24: } 98,
+{ 25: } 98,
+{ 26: } 102,
+{ 27: } 102,
+{ 28: } 117,
+{ 29: } 117,
+{ 30: } 117,
+{ 31: } 117,
+{ 32: } 117,
+{ 33: } 117,
+{ 34: } 117,
+{ 35: } 117,
+{ 36: } 117,
+{ 37: } 117,
+{ 38: } 117,
+{ 39: } 117,
+{ 40: } 117,
+{ 41: } 117,
+{ 42: } 117,
+{ 43: } 117,
+{ 44: } 121,
+{ 45: } 125,
+{ 46: } 129,
+{ 47: } 133,
+{ 48: } 137,
+{ 49: } 141,
+{ 50: } 145,
+{ 51: } 149,
+{ 52: } 158,
+{ 53: } 158,
+{ 54: } 158,
+{ 55: } 159,
+{ 56: } 159,
+{ 57: } 159,
+{ 58: } 159,
+{ 59: } 159,
+{ 60: } 159,
+{ 61: } 159,
+{ 62: } 159,
+{ 63: } 159,
+{ 64: } 211,
+{ 65: } 211,
+{ 66: } 263,
+{ 67: } 315,
+{ 68: } 315,
+{ 69: } 367,
+{ 70: } 419,
+{ 71: } 419,
+{ 72: } 423,
+{ 73: } 434,
+{ 74: } 445,
+{ 75: } 459,
+{ 76: } 473,
+{ 77: } 487,
+{ 78: } 501,
+{ 79: } 509,
+{ 80: } 509,
+{ 81: } 509,
+{ 82: } 509,
+{ 83: } 513,
+{ 84: } 517,
+{ 85: } 521,
+{ 86: } 521,
+{ 87: } 521,
+{ 88: } 521,
+{ 89: } 521,
+{ 90: } 521,
+{ 91: } 521,
+{ 92: } 521,
+{ 93: } 521,
+{ 94: } 521,
+{ 95: } 521,
+{ 96: } 521,
+{ 97: } 521,
+{ 98: } 521,
+{ 99: } 521,
+{ 100: } 522,
+{ 101: } 523,
+{ 102: } 527,
+{ 103: } 531,
+{ 104: } 535,
+{ 105: } 539,
+{ 106: } 543,
+{ 107: } 545,
+{ 108: } 546,
+{ 109: } 546,
+{ 110: } 546,
+{ 111: } 551,
+{ 112: } 553,
+{ 113: } 555,
+{ 114: } 556,
+{ 115: } 557,
+{ 116: } 557,
+{ 117: } 557,
+{ 118: } 557,
+{ 119: } 557,
+{ 120: } 557,
+{ 121: } 557,
+{ 122: } 562,
+{ 123: } 562,
+{ 124: } 566,
+{ 125: } 566,
+{ 126: } 566,
+{ 127: } 566,
+{ 128: } 566,
+{ 129: } 566,
+{ 130: } 566,
+{ 131: } 568,
+{ 132: } 569,
+{ 133: } 570,
+{ 134: } 570,
+{ 135: } 574,
+{ 136: } 574,
+{ 137: } 579,
+{ 138: } 580,
+{ 139: } 581,
+{ 140: } 582,
+{ 141: } 583,
+{ 142: } 583,
+{ 143: } 583,
+{ 144: } 583,
+{ 145: } 584,
+{ 146: } 585,
+{ 147: } 586,
+{ 148: } 588,
+{ 149: } 589,
+{ 150: } 590,
+{ 151: } 591,
+{ 152: } 592,
+{ 153: } 592,
+{ 154: } 596,
+{ 155: } 596,
+{ 156: } 597,
+{ 157: } 598,
+{ 158: } 599,
+{ 159: } 600,
+{ 160: } 601,
+{ 161: } 601,
+{ 162: } 601,
+{ 163: } 601,
+{ 164: } 603,
+{ 165: } 604,
+{ 166: } 604,
+{ 167: } 605,
+{ 168: } 606,
+{ 169: } 608,
+{ 170: } 609,
+{ 171: } 609,
+{ 172: } 609,
+{ 173: } 613,
+{ 174: } 614,
+{ 175: } 615,
+{ 176: } 615,
+{ 177: } 619,
+{ 178: } 619
);
yygl : array [0..yynstates-1] of Integer = (
@@ -1817,147 +2325,166 @@ yygl : array [0..yynstates-1] of Integer = (
{ 16: } 24,
{ 17: } 24,
{ 18: } 26,
-{ 19: } 26,
-{ 20: } 26,
-{ 21: } 26,
-{ 22: } 26,
-{ 23: } 26,
-{ 24: } 26,
-{ 25: } 26,
-{ 26: } 29,
-{ 27: } 30,
-{ 28: } 32,
-{ 29: } 32,
-{ 30: } 33,
-{ 31: } 34,
-{ 32: } 35,
-{ 33: } 36,
-{ 34: } 36,
-{ 35: } 36,
-{ 36: } 36,
-{ 37: } 36,
-{ 38: } 36,
-{ 39: } 36,
-{ 40: } 36,
-{ 41: } 36,
-{ 42: } 36,
-{ 43: } 36,
-{ 44: } 36,
-{ 45: } 36,
-{ 46: } 37,
-{ 47: } 38,
-{ 48: } 39,
-{ 49: } 40,
-{ 50: } 41,
-{ 51: } 42,
-{ 52: } 43,
-{ 53: } 43,
-{ 54: } 46,
-{ 55: } 47,
-{ 56: } 48,
-{ 57: } 51,
-{ 58: } 54,
-{ 59: } 57,
+{ 19: } 28,
+{ 20: } 30,
+{ 21: } 30,
+{ 22: } 30,
+{ 23: } 30,
+{ 24: } 30,
+{ 25: } 30,
+{ 26: } 30,
+{ 27: } 33,
+{ 28: } 34,
+{ 29: } 36,
+{ 30: } 36,
+{ 31: } 37,
+{ 32: } 38,
+{ 33: } 39,
+{ 34: } 40,
+{ 35: } 40,
+{ 36: } 40,
+{ 37: } 40,
+{ 38: } 40,
+{ 39: } 40,
+{ 40: } 40,
+{ 41: } 40,
+{ 42: } 40,
+{ 43: } 40,
+{ 44: } 40,
+{ 45: } 42,
+{ 46: } 44,
+{ 47: } 46,
+{ 48: } 48,
+{ 49: } 50,
+{ 50: } 52,
+{ 51: } 54,
+{ 52: } 56,
+{ 53: } 56,
+{ 54: } 56,
+{ 55: } 56,
+{ 56: } 56,
+{ 57: } 57,
+{ 58: } 58,
+{ 59: } 59,
{ 60: } 60,
-{ 61: } 60,
-{ 62: } 60,
-{ 63: } 60,
-{ 64: } 61,
-{ 65: } 64,
-{ 66: } 67,
-{ 67: } 70,
-{ 68: } 70,
-{ 69: } 70,
-{ 70: } 70,
-{ 71: } 70,
-{ 72: } 70,
-{ 73: } 70,
-{ 74: } 70,
-{ 75: } 72,
-{ 76: } 72,
-{ 77: } 72,
-{ 78: } 72,
-{ 79: } 72,
-{ 80: } 72,
-{ 81: } 73,
-{ 82: } 74,
-{ 83: } 75,
-{ 84: } 78,
-{ 85: } 81,
-{ 86: } 84,
-{ 87: } 87,
+{ 61: } 61,
+{ 62: } 62,
+{ 63: } 63,
+{ 64: } 63,
+{ 65: } 63,
+{ 66: } 63,
+{ 67: } 63,
+{ 68: } 63,
+{ 69: } 63,
+{ 70: } 63,
+{ 71: } 63,
+{ 72: } 63,
+{ 73: } 66,
+{ 74: } 67,
+{ 75: } 68,
+{ 76: } 71,
+{ 77: } 74,
+{ 78: } 77,
+{ 79: } 80,
+{ 80: } 80,
+{ 81: } 80,
+{ 82: } 80,
+{ 83: } 81,
+{ 84: } 84,
+{ 85: } 87,
+{ 86: } 90,
+{ 87: } 90,
{ 88: } 90,
-{ 89: } 92,
-{ 90: } 92,
-{ 91: } 92,
-{ 92: } 92,
-{ 93: } 95,
-{ 94: } 95,
-{ 95: } 95,
-{ 96: } 95,
-{ 97: } 95,
-{ 98: } 95,
-{ 99: } 95,
-{ 100: } 95,
-{ 101: } 95,
+{ 89: } 90,
+{ 90: } 90,
+{ 91: } 90,
+{ 92: } 90,
+{ 93: } 90,
+{ 94: } 92,
+{ 95: } 92,
+{ 96: } 92,
+{ 97: } 92,
+{ 98: } 92,
+{ 99: } 92,
+{ 100: } 93,
+{ 101: } 94,
{ 102: } 95,
-{ 103: } 95,
-{ 104: } 96,
-{ 105: } 96,
-{ 106: } 99,
-{ 107: } 99,
-{ 108: } 99,
-{ 109: } 99,
-{ 110: } 100,
-{ 111: } 100,
-{ 112: } 100,
-{ 113: } 100,
-{ 114: } 101,
-{ 115: } 102,
-{ 116: } 102,
-{ 117: } 103,
-{ 118: } 103,
-{ 119: } 106,
-{ 120: } 106,
-{ 121: } 106,
-{ 122: } 106,
-{ 123: } 106,
-{ 124: } 106,
-{ 125: } 106,
-{ 126: } 107,
-{ 127: } 108,
-{ 128: } 109,
-{ 129: } 110,
-{ 130: } 110,
-{ 131: } 110,
-{ 132: } 110,
-{ 133: } 110,
-{ 134: } 110,
-{ 135: } 110,
-{ 136: } 111,
-{ 137: } 111,
-{ 138: } 111,
-{ 139: } 112,
-{ 140: } 113,
-{ 141: } 113,
-{ 142: } 115,
-{ 143: } 115,
-{ 144: } 115,
-{ 145: } 116,
-{ 146: } 116,
-{ 147: } 116,
-{ 148: } 117,
-{ 149: } 118,
-{ 150: } 119,
-{ 151: } 119,
-{ 152: } 119,
-{ 153: } 119,
-{ 154: } 119,
-{ 155: } 120,
-{ 156: } 121,
-{ 157: } 121,
-{ 158: } 121,
-{ 159: } 122
+{ 103: } 98,
+{ 104: } 101,
+{ 105: } 104,
+{ 106: } 107,
+{ 107: } 110,
+{ 108: } 112,
+{ 109: } 112,
+{ 110: } 112,
+{ 111: } 112,
+{ 112: } 115,
+{ 113: } 115,
+{ 114: } 115,
+{ 115: } 115,
+{ 116: } 115,
+{ 117: } 115,
+{ 118: } 115,
+{ 119: } 115,
+{ 120: } 115,
+{ 121: } 115,
+{ 122: } 115,
+{ 123: } 116,
+{ 124: } 116,
+{ 125: } 119,
+{ 126: } 119,
+{ 127: } 119,
+{ 128: } 119,
+{ 129: } 120,
+{ 130: } 120,
+{ 131: } 120,
+{ 132: } 120,
+{ 133: } 121,
+{ 134: } 122,
+{ 135: } 122,
+{ 136: } 123,
+{ 137: } 123,
+{ 138: } 126,
+{ 139: } 126,
+{ 140: } 126,
+{ 141: } 126,
+{ 142: } 126,
+{ 143: } 126,
+{ 144: } 126,
+{ 145: } 127,
+{ 146: } 128,
+{ 147: } 129,
+{ 148: } 130,
+{ 149: } 130,
+{ 150: } 130,
+{ 151: } 130,
+{ 152: } 130,
+{ 153: } 130,
+{ 154: } 130,
+{ 155: } 131,
+{ 156: } 131,
+{ 157: } 131,
+{ 158: } 132,
+{ 159: } 133,
+{ 160: } 133,
+{ 161: } 135,
+{ 162: } 135,
+{ 163: } 135,
+{ 164: } 136,
+{ 165: } 136,
+{ 166: } 136,
+{ 167: } 137,
+{ 168: } 138,
+{ 169: } 139,
+{ 170: } 139,
+{ 171: } 139,
+{ 172: } 139,
+{ 173: } 139,
+{ 174: } 140,
+{ 175: } 141,
+{ 176: } 141,
+{ 177: } 141,
+{ 178: } 142
);
yygh : array [0..yynstates-1] of Integer = (
@@ -1979,148 +2506,167 @@ yygh : array [0..yynstates-1] of Integer = (
{ 15: } 23,
{ 16: } 23,
{ 17: } 25,
-{ 18: } 25,
-{ 19: } 25,
-{ 20: } 25,
-{ 21: } 25,
-{ 22: } 25,
-{ 23: } 25,
-{ 24: } 25,
-{ 25: } 28,
-{ 26: } 29,
-{ 27: } 31,
-{ 28: } 31,
-{ 29: } 32,
-{ 30: } 33,
-{ 31: } 34,
-{ 32: } 35,
-{ 33: } 35,
-{ 34: } 35,
-{ 35: } 35,
-{ 36: } 35,
-{ 37: } 35,
-{ 38: } 35,
-{ 39: } 35,
-{ 40: } 35,
-{ 41: } 35,
-{ 42: } 35,
-{ 43: } 35,
-{ 44: } 35,
-{ 45: } 36,
-{ 46: } 37,
-{ 47: } 38,
-{ 48: } 39,
-{ 49: } 40,
-{ 50: } 41,
-{ 51: } 42,
-{ 52: } 42,
-{ 53: } 45,
-{ 54: } 46,
-{ 55: } 47,
-{ 56: } 50,
-{ 57: } 53,
-{ 58: } 56,
+{ 18: } 27,
+{ 19: } 29,
+{ 20: } 29,
+{ 21: } 29,
+{ 22: } 29,
+{ 23: } 29,
+{ 24: } 29,
+{ 25: } 29,
+{ 26: } 32,
+{ 27: } 33,
+{ 28: } 35,
+{ 29: } 35,
+{ 30: } 36,
+{ 31: } 37,
+{ 32: } 38,
+{ 33: } 39,
+{ 34: } 39,
+{ 35: } 39,
+{ 36: } 39,
+{ 37: } 39,
+{ 38: } 39,
+{ 39: } 39,
+{ 40: } 39,
+{ 41: } 39,
+{ 42: } 39,
+{ 43: } 39,
+{ 44: } 41,
+{ 45: } 43,
+{ 46: } 45,
+{ 47: } 47,
+{ 48: } 49,
+{ 49: } 51,
+{ 50: } 53,
+{ 51: } 55,
+{ 52: } 55,
+{ 53: } 55,
+{ 54: } 55,
+{ 55: } 55,
+{ 56: } 56,
+{ 57: } 57,
+{ 58: } 58,
{ 59: } 59,
-{ 60: } 59,
-{ 61: } 59,
-{ 62: } 59,
-{ 63: } 60,
-{ 64: } 63,
-{ 65: } 66,
-{ 66: } 69,
-{ 67: } 69,
-{ 68: } 69,
-{ 69: } 69,
-{ 70: } 69,
-{ 71: } 69,
-{ 72: } 69,
-{ 73: } 69,
-{ 74: } 71,
-{ 75: } 71,
-{ 76: } 71,
-{ 77: } 71,
-{ 78: } 71,
-{ 79: } 71,
-{ 80: } 72,
-{ 81: } 73,
-{ 82: } 74,
-{ 83: } 77,
-{ 84: } 80,
-{ 85: } 83,
-{ 86: } 86,
+{ 60: } 60,
+{ 61: } 61,
+{ 62: } 62,
+{ 63: } 62,
+{ 64: } 62,
+{ 65: } 62,
+{ 66: } 62,
+{ 67: } 62,
+{ 68: } 62,
+{ 69: } 62,
+{ 70: } 62,
+{ 71: } 62,
+{ 72: } 65,
+{ 73: } 66,
+{ 74: } 67,
+{ 75: } 70,
+{ 76: } 73,
+{ 77: } 76,
+{ 78: } 79,
+{ 79: } 79,
+{ 80: } 79,
+{ 81: } 79,
+{ 82: } 80,
+{ 83: } 83,
+{ 84: } 86,
+{ 85: } 89,
+{ 86: } 89,
{ 87: } 89,
-{ 88: } 91,
-{ 89: } 91,
-{ 90: } 91,
-{ 91: } 91,
-{ 92: } 94,
-{ 93: } 94,
-{ 94: } 94,
-{ 95: } 94,
-{ 96: } 94,
-{ 97: } 94,
-{ 98: } 94,
-{ 99: } 94,
-{ 100: } 94,
+{ 88: } 89,
+{ 89: } 89,
+{ 90: } 89,
+{ 91: } 89,
+{ 92: } 89,
+{ 93: } 91,
+{ 94: } 91,
+{ 95: } 91,
+{ 96: } 91,
+{ 97: } 91,
+{ 98: } 91,
+{ 99: } 92,
+{ 100: } 93,
{ 101: } 94,
-{ 102: } 94,
-{ 103: } 95,
-{ 104: } 95,
-{ 105: } 98,
-{ 106: } 98,
-{ 107: } 98,
-{ 108: } 98,
-{ 109: } 99,
-{ 110: } 99,
-{ 111: } 99,
-{ 112: } 99,
-{ 113: } 100,
-{ 114: } 101,
-{ 115: } 101,
-{ 116: } 102,
-{ 117: } 102,
-{ 118: } 105,
-{ 119: } 105,
-{ 120: } 105,
-{ 121: } 105,
-{ 122: } 105,
-{ 123: } 105,
-{ 124: } 105,
-{ 125: } 106,
-{ 126: } 107,
-{ 127: } 108,
-{ 128: } 109,
-{ 129: } 109,
-{ 130: } 109,
-{ 131: } 109,
-{ 132: } 109,
-{ 133: } 109,
-{ 134: } 109,
-{ 135: } 110,
-{ 136: } 110,
-{ 137: } 110,
-{ 138: } 111,
-{ 139: } 112,
-{ 140: } 112,
-{ 141: } 114,
-{ 142: } 114,
-{ 143: } 114,
-{ 144: } 115,
-{ 145: } 115,
-{ 146: } 115,
-{ 147: } 116,
-{ 148: } 117,
-{ 149: } 118,
-{ 150: } 118,
-{ 151: } 118,
-{ 152: } 118,
-{ 153: } 118,
-{ 154: } 119,
-{ 155: } 120,
-{ 156: } 120,
-{ 157: } 120,
-{ 158: } 121,
-{ 159: } 121
+{ 102: } 97,
+{ 103: } 100,
+{ 104: } 103,
+{ 105: } 106,
+{ 106: } 109,
+{ 107: } 111,
+{ 108: } 111,
+{ 109: } 111,
+{ 110: } 111,
+{ 111: } 114,
+{ 112: } 114,
+{ 113: } 114,
+{ 114: } 114,
+{ 115: } 114,
+{ 116: } 114,
+{ 117: } 114,
+{ 118: } 114,
+{ 119: } 114,
+{ 120: } 114,
+{ 121: } 114,
+{ 122: } 115,
+{ 123: } 115,
+{ 124: } 118,
+{ 125: } 118,
+{ 126: } 118,
+{ 127: } 118,
+{ 128: } 119,
+{ 129: } 119,
+{ 130: } 119,
+{ 131: } 119,
+{ 132: } 120,
+{ 133: } 121,
+{ 134: } 121,
+{ 135: } 122,
+{ 136: } 122,
+{ 137: } 125,
+{ 138: } 125,
+{ 139: } 125,
+{ 140: } 125,
+{ 141: } 125,
+{ 142: } 125,
+{ 143: } 125,
+{ 144: } 126,
+{ 145: } 127,
+{ 146: } 128,
+{ 147: } 129,
+{ 148: } 129,
+{ 149: } 129,
+{ 150: } 129,
+{ 151: } 129,
+{ 152: } 129,
+{ 153: } 129,
+{ 154: } 130,
+{ 155: } 130,
+{ 156: } 130,
+{ 157: } 131,
+{ 158: } 132,
+{ 159: } 132,
+{ 160: } 134,
+{ 161: } 134,
+{ 162: } 134,
+{ 163: } 135,
+{ 164: } 135,
+{ 165: } 135,
+{ 166: } 136,
+{ 167: } 137,
+{ 168: } 138,
+{ 169: } 138,
+{ 170: } 138,
+{ 171: } 138,
+{ 172: } 138,
+{ 173: } 139,
+{ 174: } 140,
+{ 175: } 140,
+{ 176: } 140,
+{ 177: } 141,
+{ 178: } 141
);
yyr : array [1..yynrules] of YYRRec = (
@@ -2199,22 +2745,31 @@ yyr : array [1..yynrules] of YYRRec = (
{ 73: } ( len: 4; sym: -15 ),
{ 74: } ( len: 1; sym: -2 ),
{ 75: } ( len: 1; sym: -4 ),
-{ 76: } ( len: 1; sym: -4 ),
-{ 77: } ( len: 1; sym: -3 ),
-{ 78: } ( len: 3; sym: -3 ),
-{ 79: } ( len: 1; sym: -5 ),
-{ 80: } ( len: 1; sym: -5 ),
-{ 81: } ( len: 1; sym: -6 ),
-{ 82: } ( len: 1; sym: -7 ),
-{ 83: } ( len: 1; sym: -7 ),
-{ 84: } ( len: 1; sym: -7 ),
-{ 85: } ( len: 1; sym: -7 ),
-{ 86: } ( len: 0; sym: -40 ),
-{ 87: } ( len: 2; sym: -10 ),
-{ 88: } ( len: 0; sym: -41 ),
-{ 89: } ( len: 4; sym: -10 ),
-{ 90: } ( len: 1; sym: -11 ),
-{ 91: } ( len: 1; sym: -11 )
+{ 76: } ( len: 1; sym: -3 ),
+{ 77: } ( len: 3; sym: -3 ),
+{ 78: } ( len: 2; sym: -3 ),
+{ 79: } ( len: 2; sym: -3 ),
+{ 80: } ( len: 3; sym: -3 ),
+{ 81: } ( len: 3; sym: -3 ),
+{ 82: } ( len: 3; sym: -3 ),
+{ 83: } ( len: 3; sym: -3 ),
+{ 84: } ( len: 3; sym: -3 ),
+{ 85: } ( len: 3; sym: -3 ),
+{ 86: } ( len: 3; sym: -3 ),
+{ 87: } ( len: 3; sym: -3 ),
+{ 88: } ( len: 1; sym: -5 ),
+{ 89: } ( len: 1; sym: -5 ),
+{ 90: } ( len: 1; sym: -6 ),
+{ 91: } ( len: 1; sym: -7 ),
+{ 92: } ( len: 1; sym: -7 ),
+{ 93: } ( len: 1; sym: -7 ),
+{ 94: } ( len: 1; sym: -7 ),
+{ 95: } ( len: 0; sym: -40 ),
+{ 96: } ( len: 2; sym: -10 ),
+{ 97: } ( len: 0; sym: -41 ),
+{ 98: } ( len: 4; sym: -10 ),
+{ 99: } ( len: 1; sym: -11 ),
+{ 100: } ( len: 1; sym: -11 )
);
diff --git a/packages/fcl-res/src/rcparser.y b/packages/fcl-res/src/rcparser.y
index e5a9929b79..e2aaf2f0e0 100644
--- a/packages/fcl-res/src/rcparser.y
+++ b/packages/fcl-res/src/rcparser.y
@@ -126,6 +126,14 @@ begin
Result.v:= StrToInt(s);
end;
+function Max(a, b: LongWord): LongWord; inline;
+begin
+ if a > b then
+ Result:= a
+ else
+ Result:= b;
+end;
+
var
aktresource: TAbstractResource;
language: TLangID;
@@ -231,7 +239,7 @@ var
%}
%token _ILLEGAL
-%token _NUMDECIMAL _NUMHEX _QUOTEDSTR
+%token _NUMBER _QUOTEDSTR
%token _STR_StringFileInfo _STR_VarFileInfo _STR_Translation
%token _BEGIN _END _ID
%token _LANGUAGE _CHARACTERISTICS _VERSION _MOVEABLE _FIXED _PURE _IMPURE _PRELOAD _LOADONCALL _DISCARDABLE
@@ -246,6 +254,13 @@ var
%type <TMemoryStream> raw_data raw_item
%type <TFileStream> filename_string
+%left '|'
+%left '^'
+%left '&'
+%left '+' '-'
+%left '*' '/' '%'
+%right '~' _NUMNEG
+
%%
rcfile
@@ -379,13 +394,22 @@ numpos
;
numeral
- : _NUMDECIMAL { $$:= str_to_num(yytext); }
- | _NUMHEX { $$:= str_to_num(yytext); }
+ : _NUMBER { $$:= str_to_num(yytext); }
;
numexpr
: numeral
| '(' numexpr ')' { $$:= $2; }
+ | '~' numexpr %prec '~' { $$.v:= not $2.v; $$.long:= $2.long; }
+ | '-' numexpr %prec _NUMNEG { $$.v:= -$2.v; $$.long:= $2.long; }
+ | numexpr '*' numexpr { $$.v:= $1.v * $3.v; $$.long:= $1.long or $3.long; }
+ | numexpr '/' numexpr { $$.v:= $1.v div Max(1, $3.v); $$.long:= $1.long or $3.long; }
+ | numexpr '%' numexpr { $$.v:= $1.v mod Max(1, $3.v); $$.long:= $1.long or $3.long; }
+ | numexpr '+' numexpr { $$.v:= $1.v + $3.v; $$.long:= $1.long or $3.long; }
+ | numexpr '-' numexpr { $$.v:= $1.v - $3.v; $$.long:= $1.long or $3.long; }
+ | numexpr '&' numexpr { $$.v:= $1.v and $3.v; $$.long:= $1.long or $3.long; }
+ | numexpr '^' numexpr { $$.v:= $1.v xor $3.v; $$.long:= $1.long or $3.long; }
+ | numexpr '|' numexpr { $$.v:= $1.v or $3.v; $$.long:= $1.long or $3.long; }
;
ident_string