diff options
author | Eugene Sandulenko | 2017-01-15 17:30:31 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-01-15 17:33:25 +0100 |
commit | 03765dbf183e0cea8bc5edbd336f2be280d6df43 (patch) | |
tree | bda82023c7f0b297971acf1876fd544425434fd3 /engines/director/lingo/lingo-gr.cpp | |
parent | 0a507b39d01e23574bc3093278bc48691dcbc838 (diff) | |
download | scummvm-rg350-03765dbf183e0cea8bc5edbd336f2be280d6df43.tar.gz scummvm-rg350-03765dbf183e0cea8bc5edbd336f2be280d6df43.tar.bz2 scummvm-rg350-03765dbf183e0cea8bc5edbd336f2be280d6df43.zip |
DIRECTOR: Lingo: Implemented immediate mode used for 'playAccel'
In this mode we treat every parameter as a string, not a keyword
or built-in name
Diffstat (limited to 'engines/director/lingo/lingo-gr.cpp')
-rw-r--r-- | engines/director/lingo/lingo-gr.cpp | 1179 |
1 files changed, 597 insertions, 582 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index 03ac16c6a8..d741fe1d17 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -89,36 +89,36 @@ HANDLER = 278, SYMBOL = 279, ENDCLAUSE = 280, - tDOWN = 281, - tELSE = 282, - tNLELSIF = 283, - tEXIT = 284, - tFRAME = 285, - tGLOBAL = 286, - tGO = 287, - tIF = 288, - tINTO = 289, - tLOOP = 290, - tMACRO = 291, - tMOVIE = 292, - tNEXT = 293, - tOF = 294, - tPREVIOUS = 295, - tPUT = 296, - tREPEAT = 297, - tSET = 298, - tTHEN = 299, - tTO = 300, - tWHEN = 301, - tWITH = 302, - tWHILE = 303, - tNLELSE = 304, - tFACTORY = 305, - tMETHOD = 306, - tOPEN = 307, - tPLAY = 308, - tDONE = 309, - tPLAYACCEL = 310, + tPLAYACCEL = 281, + tDOWN = 282, + tELSE = 283, + tNLELSIF = 284, + tEXIT = 285, + tFRAME = 286, + tGLOBAL = 287, + tGO = 288, + tIF = 289, + tINTO = 290, + tLOOP = 291, + tMACRO = 292, + tMOVIE = 293, + tNEXT = 294, + tOF = 295, + tPREVIOUS = 296, + tPUT = 297, + tREPEAT = 298, + tSET = 299, + tTHEN = 300, + tTO = 301, + tWHEN = 302, + tWITH = 303, + tWHILE = 304, + tNLELSE = 305, + tFACTORY = 306, + tMETHOD = 307, + tOPEN = 308, + tPLAY = 309, + tDONE = 310, tINSTANCE = 311, tGE = 312, tLE = 313, @@ -170,36 +170,36 @@ #define HANDLER 278 #define SYMBOL 279 #define ENDCLAUSE 280 -#define tDOWN 281 -#define tELSE 282 -#define tNLELSIF 283 -#define tEXIT 284 -#define tFRAME 285 -#define tGLOBAL 286 -#define tGO 287 -#define tIF 288 -#define tINTO 289 -#define tLOOP 290 -#define tMACRO 291 -#define tMOVIE 292 -#define tNEXT 293 -#define tOF 294 -#define tPREVIOUS 295 -#define tPUT 296 -#define tREPEAT 297 -#define tSET 298 -#define tTHEN 299 -#define tTO 300 -#define tWHEN 301 -#define tWITH 302 -#define tWHILE 303 -#define tNLELSE 304 -#define tFACTORY 305 -#define tMETHOD 306 -#define tOPEN 307 -#define tPLAY 308 -#define tDONE 309 -#define tPLAYACCEL 310 +#define tPLAYACCEL 281 +#define tDOWN 282 +#define tELSE 283 +#define tNLELSIF 284 +#define tEXIT 285 +#define tFRAME 286 +#define tGLOBAL 287 +#define tGO 288 +#define tIF 289 +#define tINTO 290 +#define tLOOP 291 +#define tMACRO 292 +#define tMOVIE 293 +#define tNEXT 294 +#define tOF 295 +#define tPREVIOUS 296 +#define tPUT 297 +#define tREPEAT 298 +#define tSET 299 +#define tTHEN 300 +#define tTO 301 +#define tWHEN 302 +#define tWITH 303 +#define tWHILE 304 +#define tNLELSE 305 +#define tFACTORY 306 +#define tMETHOD 307 +#define tOPEN 308 +#define tPLAY 309 +#define tDONE 310 #define tINSTANCE 311 #define tGE 312 #define tLE 313 @@ -518,18 +518,18 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 110 +#define YYFINAL 112 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1648 +#define YYLAST 1631 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 96 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 39 +#define YYNNTS 40 /* YYNRULES -- Number of rules. */ -#define YYNRULES 150 +#define YYNRULES 152 /* YYNRULES -- Number of states. */ -#define YYNSTATES 329 +#define YYNSTATES 332 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -595,40 +595,40 @@ static const yytype_uint16 yyprhs[] = 408, 410, 412, 415, 417, 420, 423, 426, 429, 431, 436, 439, 444, 451, 456, 459, 463, 465, 469, 471, 475, 478, 481, 484, 487, 491, 494, 497, 499, 503, - 506, 509, 512, 516, 519, 520, 529, 532, 533, 542, - 543, 544, 555, 556, 558, 562, 567, 568, 572, 573, - 575 + 506, 509, 512, 516, 519, 520, 524, 525, 534, 537, + 538, 547, 548, 549, 560, 561, 563, 567, 572, 573, + 577, 578, 580 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 97, 0, -1, 97, 98, 99, -1, 99, -1, 1, - 98, -1, 88, -1, -1, 126, -1, 119, -1, 133, - -1, 100, -1, 102, -1, 41, 118, 34, 21, -1, - 41, 118, 67, 118, -1, 41, 118, 68, 118, -1, - 43, 21, 81, 118, -1, 43, 12, 81, 118, -1, - 43, 13, 118, 81, 118, -1, 43, 21, 45, 118, - -1, 43, 12, 45, 118, -1, 43, 13, 118, 45, + 98, -1, 88, -1, -1, 127, -1, 119, -1, 134, + -1, 100, -1, 102, -1, 42, 118, 35, 21, -1, + 42, 118, 67, 118, -1, 42, 118, 68, 118, -1, + 44, 21, 81, 118, -1, 44, 12, 81, 118, -1, + 44, 13, 118, 81, 118, -1, 44, 21, 46, 118, + -1, 44, 12, 46, 118, -1, 44, 13, 118, 46, 118, -1, 118, -1, 119, -1, 101, -1, 103, -1, 110, 89, 109, 90, 116, 115, 25, -1, 111, 81, - 118, 115, 45, 118, 115, 116, 115, 25, -1, 111, - 81, 118, 115, 26, 45, 118, 115, 116, 115, 25, - -1, 117, 118, 115, -1, 112, 109, 44, 98, 116, - 115, 25, -1, 112, 109, 44, 98, 116, 115, 49, - 116, 115, 25, -1, 112, 109, 44, 98, 116, 115, - 114, 105, 115, 25, -1, 112, 109, 44, 114, 101, - 115, -1, 112, 109, 44, 114, 101, 115, 49, 114, - 101, 115, -1, 112, 109, 44, 114, 101, 115, 106, - 115, 104, 115, -1, -1, 49, 114, 101, -1, 105, + 118, 115, 46, 118, 115, 116, 115, 25, -1, 111, + 81, 118, 115, 27, 46, 118, 115, 116, 115, 25, + -1, 117, 118, 115, -1, 112, 109, 45, 98, 116, + 115, 25, -1, 112, 109, 45, 98, 116, 115, 50, + 116, 115, 25, -1, 112, 109, 45, 98, 116, 115, + 114, 105, 115, 25, -1, 112, 109, 45, 114, 101, + 115, -1, 112, 109, 45, 114, 101, 115, 50, 114, + 101, 115, -1, 112, 109, 45, 114, 101, 115, 106, + 115, 104, 115, -1, -1, 50, 114, 101, -1, 105, 108, -1, 108, -1, 106, 107, -1, 107, -1, 113, - 109, 44, 114, 102, 115, -1, 106, -1, 113, 109, - 44, 116, 115, -1, 118, -1, 118, 81, 118, -1, - 89, 109, 90, -1, 42, 48, -1, 42, 47, 21, - -1, 33, -1, 28, -1, -1, -1, -1, 116, 98, - -1, 116, 102, -1, 46, 21, 44, -1, 11, -1, + 109, 45, 114, 102, 115, -1, 106, -1, 113, 109, + 45, 116, 115, -1, 118, -1, 118, 81, 118, -1, + 89, 109, 90, -1, 43, 49, -1, 43, 48, 21, + -1, 34, -1, 29, -1, -1, -1, -1, 116, 98, + -1, 116, 102, -1, 47, 21, 45, -1, 11, -1, 14, -1, 24, -1, 22, -1, 16, -1, 21, 89, - 134, 90, -1, 21, -1, 12, -1, 13, 118, -1, + 135, 90, -1, 21, -1, 12, -1, 13, 118, -1, 100, -1, 118, 83, 118, -1, 118, 84, 118, -1, 118, 85, 118, -1, 118, 86, 118, -1, 118, 66, 118, -1, 118, 91, 118, -1, 118, 92, 118, -1, @@ -637,30 +637,31 @@ static const yytype_int16 yyrhs[] = 65, 118, -1, 118, 82, 118, -1, 118, 67, 118, -1, 118, 69, 118, -1, 118, 70, 118, -1, 118, 71, 118, -1, 83, 118, -1, 84, 118, -1, 89, - 118, 90, -1, 93, 134, 94, -1, 76, 118, 77, - 118, -1, 76, 118, 78, 118, -1, 72, 118, 39, - 118, -1, 72, 118, 45, 118, 39, 118, -1, 73, - 118, 39, 118, -1, 73, 118, 45, 118, 39, 118, - -1, 74, 118, 39, 118, -1, 74, 118, 45, 118, - 39, 118, -1, 75, 118, 39, 118, -1, 75, 118, - 45, 118, 39, 118, -1, 41, 118, -1, 122, -1, - 125, -1, 29, 42, -1, 29, -1, 31, 120, -1, + 118, 90, -1, 93, 135, 94, -1, 76, 118, 77, + 118, -1, 76, 118, 78, 118, -1, 72, 118, 40, + 118, -1, 72, 118, 46, 118, 40, 118, -1, 73, + 118, 40, 118, -1, 73, 118, 46, 118, 40, 118, + -1, 74, 118, 40, 118, -1, 74, 118, 46, 118, + 40, 118, -1, 75, 118, 40, 118, -1, 75, 118, + 46, 118, 40, 118, -1, 42, 118, -1, 122, -1, + 125, -1, 30, 43, -1, 30, -1, 32, 120, -1, 56, 121, -1, 18, 118, -1, 17, 118, -1, 17, - -1, 19, 89, 134, 90, -1, 19, 134, -1, 80, - 89, 21, 90, -1, 80, 89, 21, 95, 134, 90, - -1, 52, 118, 47, 118, -1, 52, 118, -1, 20, - 21, 134, -1, 21, -1, 120, 95, 21, -1, 21, - -1, 121, 95, 21, -1, 32, 35, -1, 32, 38, - -1, 32, 40, -1, 32, 123, -1, 32, 123, 124, - -1, 32, 124, -1, 30, 118, -1, 118, -1, 39, - 37, 118, -1, 37, 118, -1, 53, 54, -1, 53, - 123, -1, 53, 123, 124, -1, 53, 124, -1, -1, - 36, 21, 127, 114, 131, 98, 132, 116, -1, 50, - 21, -1, -1, 51, 21, 128, 114, 131, 98, 132, - 116, -1, -1, -1, 79, 21, 129, 114, 130, 131, - 98, 132, 116, 25, -1, -1, 21, -1, 131, 95, - 21, -1, 131, 98, 95, 21, -1, -1, 21, 114, - 134, -1, -1, 118, -1, 134, 95, 118, -1 + -1, 19, 89, 135, 90, -1, 19, 135, -1, 80, + 89, 21, 90, -1, 80, 89, 21, 95, 135, 90, + -1, 53, 118, 48, 118, -1, 53, 118, -1, 20, + 21, 135, -1, 21, -1, 120, 95, 21, -1, 21, + -1, 121, 95, 21, -1, 33, 36, -1, 33, 39, + -1, 33, 41, -1, 33, 123, -1, 33, 123, 124, + -1, 33, 124, -1, 31, 118, -1, 118, -1, 40, + 38, 118, -1, 38, 118, -1, 54, 55, -1, 54, + 123, -1, 54, 123, 124, -1, 54, 124, -1, -1, + 26, 126, 135, -1, -1, 37, 21, 128, 114, 132, + 98, 133, 116, -1, 51, 21, -1, -1, 52, 21, + 129, 114, 132, 98, 133, 116, -1, -1, -1, 79, + 21, 130, 114, 131, 132, 98, 133, 116, 25, -1, + -1, 21, -1, 132, 95, 21, -1, 132, 98, 95, + 21, -1, -1, 21, 114, 135, -1, -1, 118, -1, + 135, 95, 118, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -679,9 +680,9 @@ static const yytype_uint16 yyrline[] = 453, 454, 455, 456, 458, 459, 460, 463, 466, 469, 470, 471, 472, 473, 474, 475, 478, 479, 482, 483, 494, 495, 496, 497, 500, 503, 508, 509, 512, 513, - 516, 517, 520, 523, 553, 553, 559, 562, 562, 567, - 568, 567, 578, 579, 580, 581, 583, 587, 595, 596, - 597 + 516, 517, 520, 523, 526, 526, 556, 556, 562, 565, + 565, 570, 571, 570, 581, 582, 583, 584, 586, 590, + 598, 599, 600 }; #endif @@ -694,22 +695,23 @@ static const char *const yytname[] = "POINT", "RECT", "ARRAY", "OBJECT", "INT", "THEENTITY", "THEENTITYWITHID", "FLOAT", "BLTIN", "BLTINNOARGS", "BLTINNOARGSORONE", "BLTINONEARG", "BLTINARGLIST", "TWOWORDBUILTIN", "ID", "STRING", - "HANDLER", "SYMBOL", "ENDCLAUSE", "tDOWN", "tELSE", "tNLELSIF", "tEXIT", - "tFRAME", "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP", "tMACRO", "tMOVIE", - "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", - "tWHEN", "tWITH", "tWHILE", "tNLELSE", "tFACTORY", "tMETHOD", "tOPEN", - "tPLAY", "tDONE", "tPLAYACCEL", "tINSTANCE", "tGE", "tLE", "tGT", "tLT", - "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", - "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", - "tSPRITE", "tINTERSECTS", "tWITHIN", "tON", "tME", "'='", "'&'", "'+'", - "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "'>'", "'<'", "'['", - "']'", "','", "$accept", "program", "nl", "programline", "asgn", - "stmtoneliner", "stmt", "ifstmt", "elsestmtoneliner", "elseifstmt", - "elseifstmtoneliner", "elseifstmtoneliner1", "elseifstmt1", "cond", - "repeatwhile", "repeatwith", "if", "elseif", "begin", "end", "stmtlist", - "when", "expr", "func", "globallist", "instancelist", "gotofunc", - "gotoframe", "gotomovie", "playfunc", "defn", "@1", "@2", "@3", "@4", - "argdef", "argstore", "macro", "arglist", 0 + "HANDLER", "SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tDOWN", "tELSE", + "tNLELSIF", "tEXIT", "tFRAME", "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP", + "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", + "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE", + "tFACTORY", "tMETHOD", "tOPEN", "tPLAY", "tDONE", "tINSTANCE", "tGE", + "tLE", "tGT", "tLT", "tEQ", "tNEQ", "tAND", "tOR", "tNOT", "tMOD", + "tAFTER", "tBEFORE", "tCONCAT", "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", + "tLINE", "tWORD", "tSPRITE", "tINTERSECTS", "tWITHIN", "tON", "tME", + "'='", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", + "'>'", "'<'", "'['", "']'", "','", "$accept", "program", "nl", + "programline", "asgn", "stmtoneliner", "stmt", "ifstmt", + "elsestmtoneliner", "elseifstmt", "elseifstmtoneliner", + "elseifstmtoneliner1", "elseifstmt1", "cond", "repeatwhile", + "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when", "expr", + "func", "globallist", "instancelist", "gotofunc", "gotoframe", + "gotomovie", "playfunc", "@1", "defn", "@2", "@3", "@4", "@5", "argdef", + "argstore", "macro", "arglist", 0 }; #endif @@ -747,9 +749,9 @@ static const yytype_uint8 yyr1[] = 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 121, 121, 122, 122, 122, 122, 122, 122, 123, 123, 124, 124, - 125, 125, 125, 125, 127, 126, 126, 128, 126, 129, - 130, 126, 131, 131, 131, 131, 132, 133, 134, 134, - 134 + 125, 125, 125, 125, 126, 125, 128, 127, 127, 129, + 127, 130, 131, 127, 132, 132, 132, 132, 133, 134, + 135, 135, 135 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -768,9 +770,9 @@ static const yytype_uint8 yyr2[] = 1, 1, 2, 1, 2, 2, 2, 2, 1, 4, 2, 4, 6, 4, 2, 3, 1, 3, 1, 3, 2, 2, 2, 2, 3, 2, 2, 1, 3, 2, - 2, 2, 3, 2, 0, 8, 2, 0, 8, 0, - 0, 10, 0, 1, 3, 4, 0, 3, 0, 1, - 3 + 2, 2, 3, 2, 0, 3, 0, 8, 2, 0, + 8, 0, 0, 10, 0, 1, 3, 4, 0, 3, + 0, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -778,97 +780,99 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 0, 57, 64, 0, 58, 61, 108, 0, 148, - 0, 51, 60, 59, 103, 0, 0, 49, 0, 0, + 0, 0, 57, 64, 0, 58, 61, 108, 0, 150, + 0, 51, 60, 59, 134, 103, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, - 0, 3, 66, 23, 11, 24, 0, 0, 0, 0, - 21, 8, 100, 101, 7, 9, 5, 4, 63, 0, - 66, 65, 107, 106, 148, 149, 110, 148, 148, 148, - 102, 116, 104, 0, 120, 0, 121, 0, 122, 127, - 123, 125, 134, 99, 0, 47, 0, 0, 0, 0, - 136, 137, 114, 130, 131, 133, 118, 105, 79, 0, - 0, 0, 0, 0, 139, 0, 85, 86, 0, 0, - 1, 6, 0, 0, 0, 0, 44, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 0, 0, 115, - 0, 147, 0, 126, 129, 0, 124, 51, 0, 0, - 0, 48, 0, 0, 0, 0, 0, 56, 51, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 0, 87, 88, 2, 0, 52, 0, - 0, 51, 0, 28, 75, 76, 74, 77, 78, 71, - 81, 82, 83, 84, 80, 67, 68, 69, 70, 72, - 73, 109, 150, 62, 117, 128, 142, 12, 13, 14, - 19, 16, 0, 0, 18, 15, 142, 113, 119, 91, - 0, 93, 0, 95, 0, 97, 0, 89, 90, 140, - 111, 148, 53, 0, 46, 53, 0, 45, 143, 0, - 20, 17, 0, 0, 0, 0, 0, 142, 0, 52, - 0, 0, 52, 52, 22, 0, 146, 146, 92, 94, - 96, 98, 0, 112, 54, 55, 0, 0, 52, 51, - 32, 144, 0, 53, 53, 146, 25, 52, 53, 29, - 53, 0, 50, 51, 52, 40, 0, 145, 135, 138, - 53, 53, 52, 52, 52, 42, 38, 0, 0, 39, - 35, 0, 0, 52, 0, 0, 37, 0, 0, 52, - 51, 52, 51, 141, 0, 26, 30, 31, 51, 33, - 0, 34, 0, 27, 52, 36, 52, 43, 41 + 150, 0, 3, 66, 23, 11, 24, 0, 0, 0, + 0, 21, 8, 100, 101, 7, 9, 5, 4, 63, + 0, 66, 65, 107, 106, 150, 151, 110, 150, 150, + 150, 150, 102, 116, 104, 0, 120, 0, 121, 0, + 122, 127, 123, 125, 136, 99, 0, 47, 0, 0, + 0, 0, 138, 139, 114, 130, 131, 133, 118, 105, + 79, 0, 0, 0, 0, 0, 141, 0, 85, 86, + 0, 0, 1, 6, 0, 0, 0, 0, 44, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, + 0, 115, 0, 149, 135, 0, 126, 129, 0, 124, + 51, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 56, 51, 0, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 87, 88, 2, + 0, 52, 0, 0, 51, 0, 28, 75, 76, 74, + 77, 78, 71, 81, 82, 83, 84, 80, 67, 68, + 69, 70, 72, 73, 109, 152, 62, 117, 128, 144, + 12, 13, 14, 19, 16, 0, 0, 18, 15, 144, + 113, 119, 91, 0, 93, 0, 95, 0, 97, 0, + 89, 90, 142, 111, 150, 53, 0, 46, 53, 0, + 45, 145, 0, 20, 17, 0, 0, 0, 0, 0, + 144, 0, 52, 0, 0, 52, 52, 22, 0, 148, + 148, 92, 94, 96, 98, 0, 112, 54, 55, 0, + 0, 52, 51, 32, 146, 0, 53, 53, 148, 25, + 52, 53, 29, 53, 0, 50, 51, 52, 40, 0, + 147, 137, 140, 53, 53, 52, 52, 52, 42, 38, + 0, 0, 39, 35, 0, 0, 52, 0, 0, 37, + 0, 0, 52, 51, 52, 51, 143, 0, 26, 30, + 31, 51, 33, 0, 34, 0, 27, 52, 36, 52, + 43, 41 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 40, 264, 41, 60, 43, 265, 45, 311, 294, - 295, 285, 296, 115, 46, 47, 48, 286, 322, 183, - 249, 49, 50, 254, 72, 97, 52, 80, 81, 53, - 54, 147, 158, 172, 247, 239, 273, 55, 66 + -1, 41, 267, 42, 61, 44, 268, 46, 314, 297, + 298, 288, 299, 117, 47, 48, 49, 289, 325, 186, + 252, 50, 51, 257, 74, 99, 53, 82, 83, 54, + 71, 55, 150, 161, 175, 250, 242, 276, 56, 67 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -266 +#define YYPACT_NINF -235 static const yytype_int16 yypact[] = { - 317, -63, -266, -266, 908, -266, -266, 908, 908, 946, - 18, 1546, -266, -266, 6, 29, 806, -266, 39, 908, - 10, 43, 46, 47, 58, 908, 872, 59, 908, 908, - 908, 908, 908, 908, 61, -4, 908, 908, 908, 908, - 11, -266, 12, -266, -266, -266, -3, 7, 982, 908, - 1515, -266, -266, -266, -266, -266, -266, -266, 3, 908, - -266, 1515, 1515, 1515, 908, 1515, 13, 908, 908, 908, - -266, -266, 14, 908, -266, 908, -266, 69, -266, 1515, - -11, -266, -266, 1010, 86, -266, -29, 908, -28, 68, - -266, -266, 1360, -266, -11, -266, -266, 22, -49, 1046, - 1082, 1118, 1154, 1391, -266, 97, -49, -49, 1453, -19, - -266, 400, 982, 908, 982, 75, 1484, 1515, 908, 908, - 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, - 908, 908, 908, 908, 908, 1010, 1453, -36, 908, 13, - -24, 13, 99, 1515, 1515, 908, -266, -266, 100, 908, - 908, -266, 908, 908, 1329, 908, 908, -266, -266, 908, - -266, 101, 908, 908, 908, 908, 908, 908, 908, 908, - 908, 908, -266, -12, -266, -266, -266, 33, 1515, 35, - 1422, -63, 908, -266, 768, 768, 768, -49, -49, -49, - 1515, 1515, 768, 768, 1556, 78, 78, -49, -49, 1515, - 1515, -266, 1515, -266, -266, 1515, 105, -266, 1515, 1515, - 1515, 1515, 908, 908, 1515, 1515, 105, 1515, -266, 1515, - 1190, 1515, 1226, 1515, 1262, 1515, 1298, 1515, 1515, -266, - -266, 908, -266, -5, -266, -266, 732, 1515, -266, -64, - 1515, 1515, -64, 908, 908, 908, 908, 105, 15, 566, - 82, 908, 566, -266, -266, 107, 36, 36, 1515, 1515, - 1515, 1515, -64, -266, -266, -266, 110, 908, 1515, -2, - -15, -266, 109, -266, -266, 36, -266, 1515, -266, -266, - -266, 108, -266, -266, 108, -266, 982, -266, 566, 566, - -266, -266, 566, 566, 108, 108, -266, 982, 732, -266, - 90, 102, 483, 566, 118, 124, -266, 125, 111, -266, - -266, -266, -266, -266, 128, -266, -266, -266, -18, -266, - 732, -266, 649, -266, 566, -266, -266, -266, -266 + 326, -68, -235, -235, 916, -235, -235, 916, 916, 982, + 38, 1539, -235, -235, -235, -13, 44, 815, -235, 55, + 916, 9, 11, 57, 60, 64, 916, 881, 67, 916, + 916, 916, 916, 916, 916, 81, -62, 916, 916, 916, + 916, 3, -235, 6, -235, -235, -235, -7, 26, 1007, + 916, 1508, -235, -235, -235, -235, -235, -235, -235, -2, + 916, -235, 1508, 1508, 1508, 916, 1508, 13, 916, 916, + 916, 916, -235, -235, 14, 916, -235, 916, -235, 72, + -235, 1508, -12, -235, -235, 1035, 90, -235, -33, 916, + -32, 69, -235, -235, 1353, -235, -12, -235, -235, 17, + -48, 1067, 1099, 1131, 1163, 1384, -235, 98, -48, -48, + 1446, -26, -235, 409, 1007, 916, 1007, 75, 1477, 1508, + 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, + 916, 916, 916, 916, 916, 916, 916, 1035, 1446, -35, + 916, 13, -34, 13, 13, 100, 1508, 1508, 916, -235, + -235, 101, 916, 916, -235, 916, 916, 1322, 916, 916, + -235, -235, 916, -235, 102, 916, 916, 916, 916, 916, + 916, 916, 916, 916, 916, -235, -18, -235, -235, -235, + 39, 1508, 42, 1415, -68, 916, -235, 778, 778, 778, + -48, -48, -48, 1508, 1508, 778, 778, 61, 192, 192, + -48, -48, 1508, 1508, -235, 1508, -235, -235, 1508, 112, + -235, 1508, 1508, 1508, 1508, 916, 916, 1508, 1508, 112, + 1508, -235, 1508, 1195, 1508, 1227, 1508, 1259, 1508, 1291, + 1508, 1508, -235, -235, 916, -235, -11, -235, -235, 741, + 1508, -235, -70, 1508, 1508, -70, 916, 916, 916, 916, + 112, -6, 575, 92, 916, 575, -235, -235, 118, 47, + 47, 1508, 1508, 1508, 1508, -70, -235, -235, -235, 123, + 916, 1508, -3, -14, -235, 128, -235, -235, 47, -235, + 1508, -235, -235, -235, 121, -235, -235, 121, -235, 1007, + -235, 575, 575, -235, -235, 575, 575, 121, 121, -235, + 1007, 741, -235, 104, 111, 492, 575, 132, 133, -235, + 134, 115, -235, -235, -235, -235, -235, 136, -235, -235, + -235, -17, -235, 741, -235, 658, -235, 575, -235, -235, + -235, -235 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -266, -266, 1, 45, 4, -233, 0, -266, -266, -266, - -116, -265, -137, -85, -266, -266, -266, -259, -10, -27, - -229, -266, 65, 5, -266, -266, -266, 132, -17, -266, - -266, -266, -266, -266, -266, -201, -243, -266, -31 + -235, -235, 1, 49, 4, -222, 0, -235, -235, -235, + -110, -234, -133, -85, -235, -235, -235, -230, -10, -8, + -231, -235, 66, 5, -235, -235, -235, 139, -16, -235, + -235, -235, -235, -235, -235, -235, -209, -227, -235, -31 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -878,340 +882,338 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -64 static const yytype_int16 yytable[] = { - 44, 69, 57, 253, 42, 51, 252, -53, 109, 95, - -53, 110, -10, 282, 274, 242, 152, 155, 124, 299, - 125, 250, 297, 279, 56, 56, 75, 177, 77, 179, - 299, 255, 290, 137, 283, 297, 139, 140, 141, 67, - 251, 111, 133, 134, 288, 289, 262, 280, 70, 292, - 71, 293, 153, 156, 201, 86, 87, 84, 85, 138, - 82, 302, 303, 146, 88, 309, 203, 89, 90, 61, - -53, 138, 62, 63, 65, 175, 138, 160, 230, 91, - 96, 79, 104, 231, 83, 105, 112, 325, 113, 324, - 92, 79, 68, 98, 99, 100, 101, 102, 103, 56, - -10, 106, 107, 108, 65, 263, 145, 151, 138, 142, - 138, 44, 157, 116, 117, 42, 51, 161, 173, 181, - 204, 207, 218, 232, 135, 234, 238, 267, 271, 136, - 287, 272, 65, 65, 65, 276, 282, 206, 143, 310, - 144, 121, 122, 315, 123, 124, 312, 125, 216, 316, - 317, 233, 154, 323, 284, 318, 176, 306, 94, 0, - 0, 0, 229, 131, 132, 0, 0, 0, 0, 133, - 134, 236, 0, 0, 0, 0, 0, 116, 178, 180, - 0, 0, 235, 184, 185, 186, 187, 188, 189, 190, + 45, 70, 58, 112, 43, 52, -10, 255, -53, 111, + 245, 97, -53, 155, 158, 285, 253, 256, 57, 126, + 57, 127, 282, 88, 89, 258, 77, 107, 79, 180, + 72, 182, 90, 277, 139, 254, 286, 141, 142, 143, + 144, 265, 113, 135, 136, 291, 292, 283, 156, 159, + 295, 293, 296, 302, 300, 204, 206, 86, 87, 68, + 140, 140, 305, 306, 302, 73, 149, 300, 178, 140, + 62, -53, 233, 63, 64, 66, 84, 234, 91, 312, + 163, 92, 114, 81, 266, 93, 85, 69, 98, 140, + 327, 57, 94, 81, -10, 100, 101, 102, 103, 104, + 105, 328, 106, 108, 109, 110, 66, 115, 140, 145, + 148, 154, 164, 45, 160, 118, 119, 43, 52, 176, + 184, 207, 210, 221, 123, 124, 137, 125, 126, 235, + 127, 138, 237, 241, 66, 66, 66, 66, 270, 274, + 209, 146, 275, 147, 131, 132, 133, 134, 279, 290, + 285, 219, 135, 136, 313, 157, 315, 318, 319, 320, + 321, 326, 179, 287, 309, 232, 96, 0, 0, 0, + 0, 0, 0, 236, 239, 0, 0, 0, 0, 0, + 118, 181, 183, 0, 0, 238, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 248, 301, 0, 202, 0, 0, 0, 0, 0, 0, - 205, 0, 308, 0, 208, 209, 0, 210, 211, 0, - 214, 215, 266, 0, 217, 269, 270, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, - 256, 278, 0, 257, 0, 0, 0, 237, 0, 0, - 291, 0, 0, 0, 0, 0, 0, 300, 0, 281, - 0, 0, 0, 275, 0, 304, 305, 307, 0, 0, - 0, 0, 0, 298, 0, 0, 314, 240, 241, 0, - 0, 0, 319, 0, 321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 65, 327, 0, 328, - 320, 0, 0, 0, 0, 0, 0, 0, 258, 259, - 260, 261, 0, 0, 0, 0, 268, -6, 1, 0, - 0, 0, 326, 0, 0, 0, 0, 0, 2, 3, - 4, 5, 277, 6, 7, 8, 9, 10, 11, 12, - 0, 13, 0, 0, 0, 0, 14, 0, 15, 16, - 17, 116, 0, 18, 0, 0, 0, 0, 19, 20, - 21, 0, 116, 22, 0, 0, 0, 23, 24, 25, - 26, 0, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 33, 0, 0, 34, 35, 0, 0, - 36, 37, 0, 0, 0, -6, 38, 0, 0, 0, - 39, 2, 3, 4, 5, 0, 6, 7, 8, 9, - 10, 11, 12, 0, 13, 0, 0, 0, 0, 14, - 0, 15, 16, 17, 0, 0, 18, 0, 0, 0, - 0, 19, 20, 21, 0, 0, 22, 0, 0, 0, - 23, 24, 25, 26, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 33, 0, 0, 34, - 35, 0, 0, 36, 37, 0, 0, 0, 0, 38, - 0, 0, 0, 39, 2, 3, 4, 5, 0, 6, - 7, 8, 9, 10, 58, 12, 0, 13, 313, 0, - 0, 0, 14, 0, 15, 16, 17, 0, 0, 0, - 0, 0, 0, 0, 19, 20, 21, 0, 0, 22, - 0, 0, 0, 0, 0, 25, 26, 0, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 33, - 0, 0, 0, 35, 0, 0, 36, 37, 0, 0, - 0, 56, 38, 0, 0, 0, 39, 2, 3, 4, - 5, 0, 6, 7, 8, 9, 10, 58, 12, 0, - 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, - 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, - 0, 0, 22, 0, 0, 0, 0, 0, 25, 26, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 33, 0, 0, 0, 35, 0, 0, 36, - 37, 0, 0, 0, 56, 38, 0, 0, 0, 39, + 201, 202, 203, 251, 304, 0, 205, 0, 0, 0, + 0, 0, 0, 0, 208, 311, 0, 0, 211, 212, + 0, 213, 214, 0, 217, 218, 0, 0, 220, 0, + 0, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 0, 0, 259, 269, 0, 260, 272, 273, 0, + 0, 240, 0, 0, 0, 123, 124, 0, 125, 126, + 0, 127, 284, 281, 0, 0, 278, 0, 0, 0, + 0, 0, 294, 0, 0, 0, 301, 133, 134, 303, + 0, 243, 244, 135, 136, 0, 0, 307, 308, 310, + 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, + 66, 0, 0, 323, 322, 0, 324, 0, 0, 0, + 0, 0, 261, 262, 263, 264, 0, 0, 0, 330, + 271, 331, 0, 0, 0, 329, -6, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 2, 3, 4, + 5, 0, 6, 7, 8, 9, 10, 11, 12, 0, + 13, 0, 14, 0, 0, 118, 15, 0, 16, 17, + 18, 0, 0, 19, 0, 0, 118, 0, 20, 21, + 22, 0, 0, 23, 0, 0, 0, 24, 25, 26, + 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 0, 0, 35, 36, 0, 0, 37, + 38, 0, 0, 0, -6, 39, 0, 0, 0, 40, 2, 3, 4, 5, 0, 6, 7, 8, 9, 10, - 58, 12, 0, 13, 0, 0, 0, 0, 14, 0, - 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, - 19, 20, 21, 0, 0, 22, 0, 0, 0, 0, - 0, 25, 26, 0, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, - 0, 29, 30, 31, 32, 33, 0, 0, 0, 35, - 0, 0, 36, 37, 0, 0, 0, 0, 38, 0, - 0, 0, 39, 2, 3, 4, 5, 0, 6, 7, - 8, 9, 10, 58, 12, 0, 13, 0, 0, 0, - 0, 14, 0, 15, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 19, 0, 21, 0, 0, 0, 0, - 0, 0, 0, 0, 25, 26, 0, 0, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, - 0, 0, 0, 0, 29, 30, 31, 32, 33, 0, - 0, 0, 35, 0, 0, 36, 37, 2, 3, 4, - 5, 38, 6, 0, 0, 39, 0, 58, 12, 0, - 13, 121, 122, 0, 123, 124, 73, 125, 0, 0, - 0, 74, 0, 75, 76, 77, 78, 59, 0, 21, - 128, 129, 130, 131, 132, 0, 0, 0, 0, 133, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 33, 2, 3, 4, 5, 0, 6, 36, - 37, 0, 0, 58, 12, 38, 13, 0, 0, 39, - 0, 0, 73, 0, 0, 0, 0, 0, 0, 75, - 0, 77, 0, 59, 0, 21, 0, 0, 0, 2, - 3, 4, 5, 0, 6, 0, 93, 0, 0, 58, - 12, 0, 13, 0, 0, 0, 0, 28, 0, 0, - 0, 0, 0, 0, 29, 30, 31, 32, 33, 59, - 0, 21, 0, 0, 0, 36, 37, 2, 3, 4, - 5, 38, 6, 0, 0, 39, 0, 58, 12, 0, - 13, 0, 0, 28, 0, 0, 0, 0, 0, 0, - 29, 30, 31, 32, 33, 0, 0, 59, 0, 21, - 0, 36, 37, 2, 3, 4, 5, 38, 6, 0, - 0, 39, 0, 58, 12, 0, 13, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 33, 59, 0, 21, 0, 0, 0, 36, - 37, 0, 0, 0, 0, 64, 0, 0, 0, 39, - 0, 0, 0, 0, 148, 0, 0, 28, 0, 0, - 0, 0, 0, 0, 29, 30, 31, 32, 33, 0, - 0, 0, 0, 0, 0, 36, 37, 118, 119, 0, - 0, 114, 120, 121, 122, 39, 123, 149, 150, 125, - 126, 127, 0, 0, 0, 162, 0, 0, 0, 0, - 0, 163, 128, 129, 130, 131, 132, 0, 0, 0, - 0, 133, 134, 118, 119, 0, 0, 0, 120, 121, - 122, 0, 123, 124, 0, 125, 126, 127, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 165, 128, 129, - 130, 131, 132, 0, 0, 0, 0, 133, 134, 118, - 119, 0, 0, 0, 120, 121, 122, 0, 123, 124, - 0, 125, 126, 127, 0, 0, 0, 166, 0, 0, - 0, 0, 0, 167, 128, 129, 130, 131, 132, 0, - 0, 0, 0, 133, 134, 118, 119, 0, 0, 0, - 120, 121, 122, 0, 123, 124, 0, 125, 126, 127, - 0, 0, 0, 168, 0, 0, 0, 0, 0, 169, - 128, 129, 130, 131, 132, 0, 0, 0, 0, 133, - 134, 118, 119, 0, 0, 0, 120, 121, 122, 0, - 123, 124, 0, 125, 126, 127, 0, 0, 0, 243, - 0, 0, 0, 0, 0, 0, 128, 129, 130, 131, - 132, 0, 0, 0, 0, 133, 134, 118, 119, 0, - 0, 0, 120, 121, 122, 0, 123, 124, 0, 125, - 126, 127, 0, 0, 0, 244, 0, 0, 0, 0, - 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, - 0, 133, 134, 118, 119, 0, 0, 0, 120, 121, - 122, 0, 123, 124, 0, 125, 126, 127, 0, 0, - 0, 245, 0, 0, 0, 0, 0, 0, 128, 129, - 130, 131, 132, 0, 0, 0, 0, 133, 134, 118, - 119, 0, 0, 0, 120, 121, 122, 0, 123, 124, - 0, 125, 126, 127, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 0, 128, 129, 130, 131, 132, 0, - 0, 0, 0, 133, 134, 118, 119, 0, 0, 0, - 120, 121, 122, 0, 123, 124, 0, 125, 126, 127, - 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 0, 118, 119, 0, 133, - 134, 120, 121, 122, 0, 123, 124, 0, 125, 126, - 127, 0, 0, 0, 0, 0, 0, 159, 0, 0, - 213, 128, 129, 130, 131, 132, 0, 118, 119, 0, - 133, 134, 120, 121, 122, 0, 123, 124, 0, 125, - 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 128, 129, 130, 131, 132, 0, 118, 119, - 0, 133, 134, 120, 121, 122, 0, 123, 124, 0, - 125, 126, 127, 0, 0, 0, 0, 0, 170, 171, - 0, 0, 0, 128, 129, 130, 131, 132, 0, 118, - 119, 0, 133, 134, 120, 121, 122, 0, 123, 124, - 0, 125, 126, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 182, 128, 129, 130, 131, 132, 0, - 118, 119, 174, 133, 134, 120, 121, 122, 0, 123, - 124, 0, 125, 126, 127, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 129, 130, 131, 132, - 0, 118, 119, 174, 133, 134, 120, 121, 122, 0, - 123, 124, 0, 125, 126, 127, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 182, 128, 129, 130, 131, - 132, 0, 118, 119, 0, 133, 134, 120, 121, 122, - 0, 123, 124, 0, 125, 126, 127, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 128, 129, 130, - 131, 132, 0, -63, -63, 0, 133, 134, -63, -63, - -63, 0, -63, -63, 0, -63, -63, -63, 0, 121, - 122, 0, 123, 124, 0, 125, 0, 0, -63, 0, - 0, -63, -63, 0, 0, 68, 0, -63, -63, 129, - 130, 131, 132, 0, 0, 0, 0, 133, 134 + 11, 12, 0, 13, 0, 14, 0, 0, 0, 15, + 0, 16, 17, 18, 0, 0, 19, 0, 0, 0, + 0, 20, 21, 22, 0, 0, 23, 0, 0, 0, + 24, 25, 26, 27, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 34, 0, 0, 35, 36, + 0, 0, 37, 38, 0, 0, 0, 0, 39, 0, + 0, 0, 40, 2, 3, 4, 5, 0, 6, 7, + 8, 9, 10, 59, 12, 0, 13, 316, 14, 0, + 0, 0, 15, 0, 16, 17, 18, 0, 0, 0, + 0, 0, 0, 0, 20, 21, 22, 0, 0, 23, + 0, 0, 0, 0, 0, 26, 27, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 0, + 0, 0, 36, 0, 0, 37, 38, 0, 0, 0, + 57, 39, 0, 0, 0, 40, 2, 3, 4, 5, + 0, 6, 7, 8, 9, 10, 59, 12, 0, 13, + 0, 14, 0, 0, 0, 15, 0, 16, 17, 18, + 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, + 0, 0, 23, 0, 0, 0, 0, 0, 26, 27, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 33, 34, 0, 0, 0, 36, 0, 0, 37, 38, + 0, 0, 0, 57, 39, 0, 0, 0, 40, 2, + 3, 4, 5, 0, 6, 7, 8, 9, 10, 59, + 12, 0, 13, 0, 14, 0, 0, 0, 15, 0, + 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, + 20, 21, 22, 0, 0, 23, 0, 0, 0, 0, + 0, 26, 27, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 34, 0, 0, 0, 36, 0, + 0, 37, 38, 0, 0, 0, 0, 39, 0, 0, + 0, 40, 2, 3, 4, 5, 0, 6, 7, 8, + 9, 10, 59, 12, 0, 13, 0, 14, 0, 0, + 0, 15, 0, 16, 17, 0, 0, 0, 0, 0, + 0, 0, 0, 20, 0, 22, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 27, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 33, 34, 0, 0, + 0, 36, 0, 0, 37, 38, 2, 3, 4, 5, + 39, 6, 0, 0, 40, 0, 59, 12, 0, 13, + 0, 123, 124, 0, 125, 126, 75, 127, 0, 0, + 0, 76, 0, 77, 78, 79, 80, 60, 0, 22, + 130, 131, 132, 133, 134, 0, 0, 0, 0, 135, + 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 33, 34, 2, 3, 4, 5, 0, 6, 37, 38, + 0, 0, 59, 12, 39, 13, 0, 0, 40, 0, + 0, 0, 75, 0, 0, 0, 0, 0, 0, 77, + 0, 79, 0, 60, 0, 22, 0, 2, 3, 4, + 5, 0, 6, 0, 0, 0, 95, 59, 12, 0, + 13, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 33, 34, 60, 0, + 22, 0, 0, 0, 37, 38, 0, 0, 0, 0, + 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 34, 2, 3, 4, 5, 0, 6, 37, + 38, 0, 0, 59, 12, 39, 13, 0, 0, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, + 4, 5, 0, 6, 60, 0, 22, 0, 59, 12, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 29, 0, 60, + 0, 22, 0, 0, 30, 31, 32, 33, 34, 0, + 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, + 151, 65, 29, 0, 0, 40, 0, 0, 0, 30, + 31, 32, 33, 34, 0, 0, 0, 0, 0, 0, + 37, 38, 120, 121, 0, 0, 116, 122, 123, 124, + 40, 125, 152, 153, 127, 128, 129, 165, 0, 0, + 0, 0, 0, 166, 0, 0, 0, 130, 131, 132, + 133, 134, 0, 0, 120, 121, 135, 136, 0, 122, + 123, 124, 0, 125, 126, 0, 127, 128, 129, 167, + 0, 0, 0, 0, 0, 168, 0, 0, 0, 130, + 131, 132, 133, 134, 0, 0, 120, 121, 135, 136, + 0, 122, 123, 124, 0, 125, 126, 0, 127, 128, + 129, 169, 0, 0, 0, 0, 0, 170, 0, 0, + 0, 130, 131, 132, 133, 134, 0, 0, 120, 121, + 135, 136, 0, 122, 123, 124, 0, 125, 126, 0, + 127, 128, 129, 171, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 130, 131, 132, 133, 134, 0, 0, + 120, 121, 135, 136, 0, 122, 123, 124, 0, 125, + 126, 0, 127, 128, 129, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 131, 132, 133, 134, + 0, 0, 120, 121, 135, 136, 0, 122, 123, 124, + 0, 125, 126, 0, 127, 128, 129, 247, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, + 133, 134, 0, 0, 120, 121, 135, 136, 0, 122, + 123, 124, 0, 125, 126, 0, 127, 128, 129, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, + 131, 132, 133, 134, 0, 0, 120, 121, 135, 136, + 0, 122, 123, 124, 0, 125, 126, 0, 127, 128, + 129, 249, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 130, 131, 132, 133, 134, 0, 0, 120, 121, + 135, 136, 0, 122, 123, 124, 0, 125, 126, 0, + 127, 128, 129, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 130, 131, 132, 133, 134, 0, 120, + 121, 0, 135, 136, 122, 123, 124, 0, 125, 126, + 0, 127, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 162, 0, 216, 130, 131, 132, 133, 134, 0, + 120, 121, 0, 135, 136, 122, 123, 124, 0, 125, + 126, 0, 127, 128, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 131, 132, 133, 134, + 0, 120, 121, 0, 135, 136, 122, 123, 124, 0, + 125, 126, 0, 127, 128, 129, 0, 0, 0, 0, + 0, 173, 174, 0, 0, 0, 130, 131, 132, 133, + 134, 0, 120, 121, 0, 135, 136, 122, 123, 124, + 0, 125, 126, 0, 127, 128, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 185, 130, 131, 132, + 133, 134, 0, 120, 121, 177, 135, 136, 122, 123, + 124, 0, 125, 126, 0, 127, 128, 129, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 131, + 132, 133, 134, 0, 120, 121, 177, 135, 136, 122, + 123, 124, 0, 125, 126, 0, 127, 128, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 185, 130, + 131, 132, 133, 134, 0, 120, 121, 0, 135, 136, + 122, 123, 124, 0, 125, 126, 0, 127, 128, 129, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 131, 132, 133, 134, 0, -63, -63, 0, 135, + 136, -63, -63, -63, 0, -63, -63, 0, -63, -63, + -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -63, 0, 0, -63, -63, 0, 0, 69, 0, + -63, -63 }; static const yytype_int16 yycheck[] = { - 0, 11, 1, 236, 0, 0, 235, 25, 39, 26, - 28, 0, 0, 28, 257, 216, 45, 45, 67, 284, - 69, 26, 281, 25, 88, 88, 37, 112, 39, 114, - 295, 95, 275, 64, 49, 294, 67, 68, 69, 21, - 45, 40, 91, 92, 273, 274, 247, 49, 42, 278, - 21, 280, 81, 81, 90, 12, 13, 47, 48, 95, - 21, 290, 291, 80, 21, 298, 90, 21, 21, 4, - 88, 95, 7, 8, 9, 94, 95, 94, 90, 21, - 21, 16, 21, 95, 19, 89, 89, 320, 81, 318, - 25, 26, 89, 28, 29, 30, 31, 32, 33, 88, - 88, 36, 37, 38, 39, 90, 37, 21, 95, 95, - 95, 111, 44, 48, 49, 111, 111, 95, 21, 44, - 21, 21, 21, 90, 59, 90, 21, 45, 21, 64, - 21, 95, 67, 68, 69, 25, 28, 147, 73, 49, - 75, 63, 64, 25, 66, 67, 44, 69, 158, 25, - 25, 178, 87, 25, 270, 44, 111, 294, 26, -1, - -1, -1, 172, 85, 86, -1, -1, -1, -1, 91, - 92, 181, -1, -1, -1, -1, -1, 112, 113, 114, - -1, -1, 181, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 231, 286, -1, 138, -1, -1, -1, -1, -1, -1, - 145, -1, 297, -1, 149, 150, -1, 152, 153, -1, - 155, 156, 249, -1, 159, 252, 253, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, -1, -1, -1, - 239, 268, -1, 242, -1, -1, -1, 182, -1, -1, - 277, -1, -1, -1, -1, -1, -1, 284, -1, 269, - -1, -1, -1, 262, -1, 292, 293, 294, -1, -1, - -1, -1, -1, 283, -1, -1, 303, 212, 213, -1, - -1, -1, 309, -1, 311, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 231, 324, -1, 326, - 310, -1, -1, -1, -1, -1, -1, -1, 243, 244, - 245, 246, -1, -1, -1, -1, 251, 0, 1, -1, - -1, -1, 322, -1, -1, -1, -1, -1, 11, 12, - 13, 14, 267, 16, 17, 18, 19, 20, 21, 22, - -1, 24, -1, -1, -1, -1, 29, -1, 31, 32, - 33, 286, -1, 36, -1, -1, -1, -1, 41, 42, - 43, -1, 297, 46, -1, -1, -1, 50, 51, 52, - 53, -1, -1, 56, -1, -1, -1, -1, -1, -1, - -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, 76, -1, -1, 79, 80, -1, -1, - 83, 84, -1, -1, -1, 88, 89, -1, -1, -1, - 93, 11, 12, 13, 14, -1, 16, 17, 18, 19, - 20, 21, 22, -1, 24, -1, -1, -1, -1, 29, - -1, 31, 32, 33, -1, -1, 36, -1, -1, -1, - -1, 41, 42, 43, -1, -1, 46, -1, -1, -1, - 50, 51, 52, 53, -1, -1, 56, -1, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, - 80, -1, -1, 83, 84, -1, -1, -1, -1, 89, - -1, -1, -1, 93, 11, 12, 13, 14, -1, 16, - 17, 18, 19, 20, 21, 22, -1, 24, 25, -1, - -1, -1, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, -1, 46, - -1, -1, -1, -1, -1, 52, 53, -1, -1, 56, - -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, - -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, - -1, -1, -1, 80, -1, -1, 83, 84, -1, -1, - -1, 88, 89, -1, -1, -1, 93, 11, 12, 13, + 0, 11, 1, 0, 0, 0, 0, 238, 25, 40, + 219, 27, 29, 46, 46, 29, 27, 239, 88, 67, + 88, 69, 25, 12, 13, 95, 38, 89, 40, 114, + 43, 116, 21, 260, 65, 46, 50, 68, 69, 70, + 71, 250, 41, 91, 92, 276, 277, 50, 81, 81, + 281, 278, 283, 287, 284, 90, 90, 48, 49, 21, + 95, 95, 293, 294, 298, 21, 82, 297, 94, 95, + 4, 88, 90, 7, 8, 9, 21, 95, 21, 301, + 96, 21, 89, 17, 90, 21, 20, 89, 21, 95, + 321, 88, 26, 27, 88, 29, 30, 31, 32, 33, + 34, 323, 21, 37, 38, 39, 40, 81, 95, 95, + 38, 21, 95, 113, 45, 49, 50, 113, 113, 21, + 45, 21, 21, 21, 63, 64, 60, 66, 67, 90, + 69, 65, 90, 21, 68, 69, 70, 71, 46, 21, + 150, 75, 95, 77, 83, 84, 85, 86, 25, 21, + 29, 161, 91, 92, 50, 89, 45, 25, 25, 25, + 45, 25, 113, 273, 297, 175, 27, -1, -1, -1, + -1, -1, -1, 181, 184, -1, -1, -1, -1, -1, + 114, 115, 116, -1, -1, 184, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 234, 289, -1, 140, -1, -1, -1, + -1, -1, -1, -1, 148, 300, -1, -1, 152, 153, + -1, 155, 156, -1, 158, 159, -1, -1, 162, -1, + -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, -1, -1, 242, 252, -1, 245, 255, 256, -1, + -1, 185, -1, -1, -1, 63, 64, -1, 66, 67, + -1, 69, 272, 271, -1, -1, 265, -1, -1, -1, + -1, -1, 280, -1, -1, -1, 286, 85, 86, 287, + -1, 215, 216, 91, 92, -1, -1, 295, 296, 297, + -1, -1, -1, -1, -1, -1, -1, -1, 306, -1, + 234, -1, -1, 313, 312, -1, 314, -1, -1, -1, + -1, -1, 246, 247, 248, 249, -1, -1, -1, 327, + 254, 329, -1, -1, -1, 325, 0, 1, -1, -1, + -1, -1, -1, -1, -1, -1, 270, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, 22, -1, - 24, -1, -1, -1, -1, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, -1, 46, -1, -1, -1, -1, -1, 52, 53, - -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, + 24, -1, 26, -1, -1, 289, 30, -1, 32, 33, + 34, -1, -1, 37, -1, -1, 300, -1, 42, 43, + 44, -1, -1, 47, -1, -1, -1, 51, 52, 53, + 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, + 74, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, -1, -1, 88, 89, -1, -1, -1, 93, 11, 12, 13, 14, -1, 16, 17, 18, 19, 20, - 21, 22, -1, 24, -1, -1, -1, -1, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, -1, 46, -1, -1, -1, -1, - -1, 52, 53, -1, -1, 56, -1, -1, -1, -1, + 21, 22, -1, 24, -1, 26, -1, -1, -1, 30, + -1, 32, 33, 34, -1, -1, 37, -1, -1, -1, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, 52, 53, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, + -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, -1, -1, -1, 89, -1, -1, -1, 93, 11, 12, 13, 14, -1, 16, 17, - 18, 19, 20, 21, 22, -1, 24, -1, -1, -1, - -1, 29, -1, 31, 32, -1, -1, -1, -1, -1, - -1, -1, -1, 41, -1, 43, -1, -1, -1, -1, - -1, -1, -1, -1, 52, 53, -1, -1, 56, -1, + 18, 19, 20, 21, 22, -1, 24, 25, 26, -1, + -1, -1, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, 42, 43, 44, -1, -1, 47, + -1, -1, -1, -1, -1, 53, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, - -1, -1, 80, -1, -1, 83, 84, 11, 12, 13, - 14, 89, 16, -1, -1, 93, -1, 21, 22, -1, - 24, 63, 64, -1, 66, 67, 30, 69, -1, -1, - -1, 35, -1, 37, 38, 39, 40, 41, -1, 43, + -1, -1, 80, -1, -1, 83, 84, -1, -1, -1, + 88, 89, -1, -1, -1, 93, 11, 12, 13, 14, + -1, 16, 17, 18, 19, 20, 21, 22, -1, 24, + -1, 26, -1, -1, -1, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, -1, 47, -1, -1, -1, -1, -1, 53, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, + 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, + -1, -1, -1, 88, 89, -1, -1, -1, 93, 11, + 12, 13, 14, -1, 16, 17, 18, 19, 20, 21, + 22, -1, 24, -1, 26, -1, -1, -1, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + 42, 43, 44, -1, -1, 47, -1, -1, -1, -1, + -1, 53, 54, -1, 56, -1, -1, -1, -1, -1, + -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, + 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, + -1, 83, 84, -1, -1, -1, -1, 89, -1, -1, + -1, 93, 11, 12, 13, 14, -1, 16, 17, 18, + 19, 20, 21, 22, -1, 24, -1, 26, -1, -1, + -1, 30, -1, 32, 33, -1, -1, -1, -1, -1, + -1, -1, -1, 42, -1, 44, -1, -1, -1, -1, + -1, -1, -1, -1, 53, 54, -1, 56, -1, -1, + -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, + -1, 80, -1, -1, 83, 84, 11, 12, 13, 14, + 89, 16, -1, -1, 93, -1, 21, 22, -1, 24, + -1, 63, 64, -1, 66, 67, 31, 69, -1, -1, + -1, 36, -1, 38, 39, 40, 41, 42, -1, 44, 82, 83, 84, 85, 86, -1, -1, -1, -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, 76, 11, 12, 13, 14, -1, 16, 83, 84, + -1, -1, 21, 22, 89, 24, -1, -1, 93, -1, + -1, -1, 31, -1, -1, -1, -1, -1, -1, 38, + -1, 40, -1, 42, -1, 44, -1, 11, 12, 13, + 14, -1, 16, -1, -1, -1, 55, 21, 22, -1, + 24, -1, -1, -1, -1, -1, 65, -1, -1, -1, + -1, -1, -1, 72, 73, 74, 75, 76, 42, -1, + 44, -1, -1, -1, 83, 84, -1, -1, -1, -1, + 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 11, 12, 13, 14, -1, 16, 83, 84, -1, -1, 21, 22, 89, 24, -1, -1, 93, - -1, -1, 30, -1, -1, -1, -1, -1, -1, 37, - -1, 39, -1, 41, -1, 43, -1, -1, -1, 11, - 12, 13, 14, -1, 16, -1, 54, -1, -1, 21, - 22, -1, 24, -1, -1, -1, -1, 65, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 41, - -1, 43, -1, -1, -1, 83, 84, 11, 12, 13, - 14, 89, 16, -1, -1, 93, -1, 21, 22, -1, - 24, -1, -1, 65, -1, -1, -1, -1, -1, -1, - 72, 73, 74, 75, 76, -1, -1, 41, -1, 43, - -1, 83, 84, 11, 12, 13, 14, 89, 16, -1, - -1, 93, -1, 21, 22, -1, 24, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 41, -1, 43, -1, -1, -1, 83, - 84, -1, -1, -1, -1, 89, -1, -1, -1, 93, - -1, -1, -1, -1, 34, -1, -1, 65, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, - -1, -1, -1, -1, -1, 83, 84, 57, 58, -1, - -1, 89, 62, 63, 64, 93, 66, 67, 68, 69, - 70, 71, -1, -1, -1, 39, -1, -1, -1, -1, - -1, 45, 82, 83, 84, 85, 86, -1, -1, -1, - -1, 91, 92, 57, 58, -1, -1, -1, 62, 63, - 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, 39, -1, -1, -1, -1, -1, 45, 82, 83, - 84, 85, 86, -1, -1, -1, -1, 91, 92, 57, - 58, -1, -1, -1, 62, 63, 64, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, 39, -1, -1, - -1, -1, -1, 45, 82, 83, 84, 85, 86, -1, - -1, -1, -1, 91, 92, 57, 58, -1, -1, -1, - 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, - 82, 83, 84, 85, 86, -1, -1, -1, -1, 91, - 92, 57, 58, -1, -1, -1, 62, 63, 64, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, 39, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, -1, -1, -1, -1, 91, 92, 57, 58, -1, - -1, -1, 62, 63, 64, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, 39, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, -1, -1, -1, - -1, 91, 92, 57, 58, -1, -1, -1, 62, 63, - 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, - -1, 39, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, -1, -1, -1, -1, 91, 92, 57, - 58, -1, -1, -1, 62, 63, 64, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, 39, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, - -1, -1, -1, 91, 92, 57, 58, -1, -1, -1, - 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, - 92, 62, 63, 64, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, 47, -1, -1, - 81, 82, 83, 84, 85, 86, -1, 57, 58, -1, - 91, 92, 62, 63, 64, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, - -1, 91, 92, 62, 63, 64, -1, 66, 67, -1, - 69, 70, 71, -1, -1, -1, -1, -1, 77, 78, + -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, + 13, 14, -1, 16, 42, -1, 44, -1, 21, 22, + -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, 42, + -1, 44, -1, -1, 72, 73, 74, 75, 76, -1, + -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, + 35, 89, 65, -1, -1, 93, -1, -1, -1, 72, + 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, + 83, 84, 57, 58, -1, -1, 89, 62, 63, 64, + 93, 66, 67, 68, 69, 70, 71, 40, -1, -1, + -1, -1, -1, 46, -1, -1, -1, 82, 83, 84, + 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, + 63, 64, -1, 66, 67, -1, 69, 70, 71, 40, + -1, -1, -1, -1, -1, 46, -1, -1, -1, 82, + 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, + -1, 62, 63, 64, -1, 66, 67, -1, 69, 70, + 71, 40, -1, -1, -1, -1, -1, 46, -1, -1, + -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, + 91, 92, -1, 62, 63, 64, -1, 66, 67, -1, + 69, 70, 71, 40, -1, -1, -1, -1, -1, 46, + -1, -1, -1, 82, 83, 84, 85, 86, -1, -1, + 57, 58, 91, 92, -1, 62, 63, 64, -1, 66, + 67, -1, 69, 70, 71, 40, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + -1, -1, 57, 58, 91, 92, -1, 62, 63, 64, + -1, 66, 67, -1, 69, 70, 71, 40, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, -1, -1, 57, 58, 91, 92, -1, 62, + 63, 64, -1, 66, 67, -1, 69, 70, 71, 40, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, -1, -1, 57, 58, 91, 92, + -1, 62, 63, 64, -1, 66, 67, -1, 69, 70, + 71, 40, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, -1, -1, 57, 58, + 91, 92, -1, 62, 63, 64, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, 82, 83, 84, 85, 86, -1, - 57, 58, 90, 91, 92, 62, 63, 64, -1, 66, + -1, 48, -1, 81, 82, 83, 84, 85, 86, -1, + 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - -1, 57, 58, 90, 91, 92, 62, 63, 64, -1, + -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, 82, 83, 84, 85, + -1, 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, -1, 57, 58, -1, 91, 92, 62, 63, - 64, -1, 66, 67, -1, 69, 70, 71, -1, 63, - 64, -1, 66, 67, -1, 69, -1, -1, 82, -1, - -1, 85, 86, -1, -1, 89, -1, 91, 92, 83, - 84, 85, 86, -1, -1, -1, -1, 91, 92 + -1, -1, -1, -1, -1, -1, 81, 82, 83, 84, + 85, 86, -1, 57, 58, 90, 91, 92, 62, 63, + 64, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, -1, 57, 58, 90, 91, 92, 62, + 63, 64, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, + 83, 84, 85, 86, -1, 57, 58, -1, 91, 92, + 62, 63, 64, -1, 66, 67, -1, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, -1, 57, 58, -1, 91, + 92, 62, 63, 64, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, -1, -1, 85, 86, -1, -1, 89, -1, + 91, 92 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1219,38 +1221,39 @@ static const yytype_int16 yycheck[] = static const yytype_uint8 yystos[] = { 0, 1, 11, 12, 13, 14, 16, 17, 18, 19, - 20, 21, 22, 24, 29, 31, 32, 33, 36, 41, - 42, 43, 46, 50, 51, 52, 53, 56, 65, 72, - 73, 74, 75, 76, 79, 80, 83, 84, 89, 93, - 97, 99, 100, 101, 102, 103, 110, 111, 112, 117, - 118, 119, 122, 125, 126, 133, 88, 98, 21, 41, - 100, 118, 118, 118, 89, 118, 134, 21, 89, 114, - 42, 21, 120, 30, 35, 37, 38, 39, 40, 118, - 123, 124, 21, 118, 47, 48, 12, 13, 21, 21, - 21, 21, 118, 54, 123, 124, 21, 121, 118, 118, - 118, 118, 118, 118, 21, 89, 118, 118, 118, 134, - 0, 98, 89, 81, 89, 109, 118, 118, 57, 58, - 62, 63, 64, 66, 67, 69, 70, 71, 82, 83, - 84, 85, 86, 91, 92, 118, 118, 134, 95, 134, - 134, 134, 95, 118, 118, 37, 124, 127, 34, 67, - 68, 21, 45, 81, 118, 45, 81, 44, 128, 47, - 124, 95, 39, 45, 39, 45, 39, 45, 39, 45, - 77, 78, 129, 21, 90, 94, 99, 109, 118, 109, - 118, 44, 81, 115, 118, 118, 118, 118, 118, 118, + 20, 21, 22, 24, 26, 30, 32, 33, 34, 37, + 42, 43, 44, 47, 51, 52, 53, 54, 56, 65, + 72, 73, 74, 75, 76, 79, 80, 83, 84, 89, + 93, 97, 99, 100, 101, 102, 103, 110, 111, 112, + 117, 118, 119, 122, 125, 127, 134, 88, 98, 21, + 42, 100, 118, 118, 118, 89, 118, 135, 21, 89, + 114, 126, 43, 21, 120, 31, 36, 38, 39, 40, + 41, 118, 123, 124, 21, 118, 48, 49, 12, 13, + 21, 21, 21, 21, 118, 55, 123, 124, 21, 121, + 118, 118, 118, 118, 118, 118, 21, 89, 118, 118, + 118, 135, 0, 98, 89, 81, 89, 109, 118, 118, + 57, 58, 62, 63, 64, 66, 67, 69, 70, 71, + 82, 83, 84, 85, 86, 91, 92, 118, 118, 135, + 95, 135, 135, 135, 135, 95, 118, 118, 38, 124, + 128, 35, 67, 68, 21, 46, 81, 118, 46, 81, + 45, 129, 48, 124, 95, 40, 46, 40, 46, 40, + 46, 40, 46, 77, 78, 130, 21, 90, 94, 99, + 109, 118, 109, 118, 45, 81, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 90, 118, 90, 21, 118, 114, 21, 118, 118, - 118, 118, 45, 81, 118, 118, 114, 118, 21, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 114, - 90, 95, 90, 115, 90, 98, 114, 118, 21, 131, - 118, 118, 131, 39, 39, 39, 39, 130, 134, 116, - 26, 45, 116, 101, 119, 95, 98, 98, 118, 118, - 118, 118, 131, 90, 98, 102, 115, 45, 118, 115, - 115, 21, 95, 132, 132, 98, 25, 118, 115, 25, - 49, 114, 28, 49, 106, 107, 113, 21, 116, 116, - 132, 115, 116, 116, 105, 106, 108, 113, 114, 107, - 115, 109, 116, 116, 115, 115, 108, 115, 109, 101, - 49, 104, 44, 25, 115, 25, 25, 25, 44, 115, - 114, 115, 114, 25, 116, 101, 102, 115, 115 + 118, 118, 118, 118, 90, 118, 90, 21, 118, 114, + 21, 118, 118, 118, 118, 46, 81, 118, 118, 114, + 118, 21, 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 114, 90, 95, 90, 115, 90, 98, 114, + 118, 21, 132, 118, 118, 132, 40, 40, 40, 40, + 131, 135, 116, 27, 46, 116, 101, 119, 95, 98, + 98, 118, 118, 118, 118, 132, 90, 98, 102, 115, + 46, 118, 115, 115, 21, 95, 133, 133, 98, 25, + 118, 115, 25, 50, 114, 29, 50, 106, 107, 113, + 21, 116, 116, 133, 115, 116, 116, 105, 106, 108, + 113, 114, 107, 115, 109, 116, 116, 115, 115, 108, + 115, 109, 101, 50, 104, 45, 25, 115, 25, 25, + 25, 45, 115, 114, 115, 114, 25, 116, 101, 102, + 115, 115 }; #define yyerrok (yyerrstatus = 0) @@ -2802,12 +2805,24 @@ yyreduce: break; case 134: -#line 553 "engines/director/lingo/lingo-gr.y" - { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} +#line 526 "engines/director/lingo/lingo-gr.y" + { g_lingo->codeSetImmediate(true); ;} break; case 135: -#line 554 "engines/director/lingo/lingo-gr.y" +#line 526 "engines/director/lingo/lingo-gr.y" + { + g_lingo->codeSetImmediate(false); + g_lingo->codeFunc((yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].narg)); ;} + break; + + case 136: +#line 556 "engines/director/lingo/lingo-gr.y" + { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} + break; + + case 137: +#line 557 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2815,38 +2830,38 @@ yyreduce: g_lingo->_indef = false; ;} break; - case 136: -#line 559 "engines/director/lingo/lingo-gr.y" + case 138: +#line 562 "engines/director/lingo/lingo-gr.y" { g_lingo->codeFactory(*(yyvsp[(2) - (2)].s)); ;} break; - case 137: -#line 562 "engines/director/lingo/lingo-gr.y" + case 139: +#line 565 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; ;} break; - case 138: -#line 563 "engines/director/lingo/lingo-gr.y" + case 140: +#line 566 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_procret); g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg) + 1, &g_lingo->_currentFactory); g_lingo->_indef = false; ;} break; - case 139: -#line 567 "engines/director/lingo/lingo-gr.y" + case 141: +#line 570 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} break; - case 140: -#line 568 "engines/director/lingo/lingo-gr.y" + case 142: +#line 571 "engines/director/lingo/lingo-gr.y" { g_lingo->_ignoreMe = true; ;} break; - case 141: -#line 568 "engines/director/lingo/lingo-gr.y" + case 143: +#line 571 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2858,33 +2873,33 @@ yyreduce: ;} break; - case 142: -#line 578 "engines/director/lingo/lingo-gr.y" + case 144: +#line 581 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; - case 143: -#line 579 "engines/director/lingo/lingo-gr.y" + case 145: +#line 582 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;} break; - case 144: -#line 580 "engines/director/lingo/lingo-gr.y" + case 146: +#line 583 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; - case 145: -#line 581 "engines/director/lingo/lingo-gr.y" + case 147: +#line 584 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;} break; - case 146: -#line 583 "engines/director/lingo/lingo-gr.y" + case 148: +#line 586 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArgStore(); ;} break; - case 147: -#line 587 "engines/director/lingo/lingo-gr.y" + case 149: +#line 590 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_call); g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); @@ -2893,24 +2908,24 @@ yyreduce: g_lingo->code1(numpar); ;} break; - case 148: -#line 595 "engines/director/lingo/lingo-gr.y" + case 150: +#line 598 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; - case 149: -#line 596 "engines/director/lingo/lingo-gr.y" + case 151: +#line 599 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 1; ;} break; - case 150: -#line 597 "engines/director/lingo/lingo-gr.y" + case 152: +#line 600 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; /* Line 1267 of yacc.c. */ -#line 2914 "engines/director/lingo/lingo-gr.cpp" +#line 2929 "engines/director/lingo/lingo-gr.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3124,6 +3139,6 @@ yyreturn: } -#line 600 "engines/director/lingo/lingo-gr.y" +#line 603 "engines/director/lingo/lingo-gr.y" |