diff --git a/perly.act b/perly.act index 23bb54a16b72..6776ff465b08 100644 --- a/perly.act +++ b/perly.act @@ -148,7 +148,7 @@ case 2: /* @1: %empty */ break; - case 17: /* bare_statement_class_declaration: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_SEMICOLON */ + case 17: /* bare_statement_class_declaration: KW_CLASS BAREWORD BAREWORD optattrlist PERLY_SEMICOLON */ #line 283 "perly.y" { package ((ps[-2].val.opval), (ps[-3].val.opval)); @@ -173,7 +173,7 @@ case 2: /* @1: %empty */ break; - case 19: /* bare_statement_class_definition: KW_CLASS BAREWORD BAREWORD subattrlist PERLY_BRACE_OPEN remember $@8 stmtseq PERLY_BRACE_CLOSE */ + case 19: /* bare_statement_class_definition: KW_CLASS BAREWORD BAREWORD optattrlist PERLY_BRACE_OPEN remember $@8 stmtseq PERLY_BRACE_CLOSE */ #line 309 "perly.y" { (yyval.opval) = new_block_statement (block_end ((ps[-3].val.ival), (ps[-1].val.opval)), NULL); @@ -910,44 +910,44 @@ case 2: /* @1: %empty */ break; - case 141: /* myattrlist: COLONATTR THING */ + case 141: /* attrlist: COLONATTR THING */ #line 1067 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 142: /* myattrlist: COLONATTR */ + case 142: /* attrlist: COLONATTR */ #line 1069 "perly.y" { (yyval.opval) = NULL; } break; - case 143: /* sigvar: %empty */ -#line 1080 "perly.y" + case 145: /* sigvar: %empty */ +#line 1084 "perly.y" { parser->in_my = 0; (yyval.ival) = 0; } break; - case 144: /* sigvar: PRIVATEREF */ -#line 1082 "perly.y" + case 146: /* sigvar: PRIVATEREF */ +#line 1086 "perly.y" { parser->in_my = 0; (yyval.ival) = (ps[0].val.opval)->op_targ; op_free((ps[0].val.opval)); } break; - case 145: /* sigslurpsigil: PERLY_SNAIL */ -#line 1087 "perly.y" + case 147: /* sigslurpsigil: PERLY_SNAIL */ +#line 1091 "perly.y" { (yyval.ival) = '@'; } break; - case 146: /* sigslurpsigil: PERLY_PERCENT_SIGN */ -#line 1089 "perly.y" + case 148: /* sigslurpsigil: PERLY_PERCENT_SIGN */ +#line 1093 "perly.y" { (yyval.ival) = '%'; } break; - case 147: /* sigslurpelem: sigslurpsigil sigvar */ -#line 1093 "perly.y" + case 149: /* sigslurpelem: sigslurpsigil sigvar */ +#line 1097 "perly.y" { subsignature_append_slurpy((ps[-1].val.ival), (ps[0].val.ival)); (yyval.opval) = NULL; @@ -955,36 +955,36 @@ case 2: /* @1: %empty */ break; - case 148: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ -#line 1098 "perly.y" + case 150: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP */ +#line 1102 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 149: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ -#line 1102 "perly.y" + case 151: /* sigslurpelem: sigslurpsigil sigvar ASSIGNOP term */ +#line 1106 "perly.y" { yyerror("A slurpy parameter may not have a default value"); } break; - case 150: /* optcolon: %empty */ -#line 1108 "perly.y" + case 152: /* optcolon: %empty */ +#line 1112 "perly.y" { (yyval.ival) = 0; } break; - case 151: /* optcolon: PERLY_COLON */ -#line 1110 "perly.y" + case 153: /* optcolon: PERLY_COLON */ +#line 1114 "perly.y" { (yyval.ival) = ':'; } break; - case 152: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ -#line 1116 "perly.y" + case 154: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar */ +#line 1120 "perly.y" { if((ps[-2].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.ival)]; @@ -997,8 +997,8 @@ case 2: /* @1: %empty */ break; - case 153: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ -#line 1126 "perly.y" + case 155: /* sigscalarelem: optcolon PERLY_DOLLAR sigvar ASSIGNOP optsigscalardefault */ +#line 1130 "perly.y" { if((ps[-4].val.ival)) { PADNAME *pn = PadnamelistARRAY(PL_comppad_name)[(ps[-2].val.ival)]; @@ -1011,32 +1011,32 @@ case 2: /* @1: %empty */ break; - case 154: /* optsigscalardefault: %empty */ -#line 1139 "perly.y" + case 156: /* optsigscalardefault: %empty */ +#line 1143 "perly.y" { (yyval.opval) = newOP(OP_NULL, 0); } break; - case 156: /* sigelem: sigscalarelem */ -#line 1146 "perly.y" + case 158: /* sigelem: sigscalarelem */ +#line 1150 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 157: /* sigelem: sigslurpelem */ -#line 1148 "perly.y" + case 159: /* sigelem: sigslurpelem */ +#line 1152 "perly.y" { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); } break; - case 165: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ -#line 1174 "perly.y" + case 167: /* subsignature: PERLY_PAREN_OPEN subsigguts PERLY_PAREN_CLOSE */ +#line 1178 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 166: /* $@20: %empty */ -#line 1177 "perly.y" + case 168: /* $@20: %empty */ +#line 1181 "perly.y" { ENTER; subsignature_start(); @@ -1045,8 +1045,8 @@ case 2: /* @1: %empty */ break; - case 167: /* subsigguts: $@20 optsiglist */ -#line 1183 "perly.y" + case 169: /* subsigguts: $@20 optsiglist */ +#line 1187 "perly.y" { if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv)) croak("Experimental " @@ -1073,14 +1073,14 @@ case 2: /* @1: %empty */ break; - case 169: /* optsubbody: PERLY_SEMICOLON */ -#line 1211 "perly.y" + case 171: /* optsubbody: PERLY_SEMICOLON */ +#line 1215 "perly.y" { (yyval.opval) = NULL; } break; - case 170: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ -#line 1217 "perly.y" + case 172: /* subbody: remember PERLY_BRACE_OPEN stmtseq PERLY_BRACE_CLOSE */ +#line 1221 "perly.y" { if (parser->copline > (line_t)(ps[-2].val.ival)) parser->copline = (line_t)(ps[-2].val.ival); @@ -1089,20 +1089,20 @@ case 2: /* @1: %empty */ break; - case 172: /* optsigsubbody: PERLY_SEMICOLON */ -#line 1229 "perly.y" + case 174: /* optsigsubbody: PERLY_SEMICOLON */ +#line 1233 "perly.y" { (yyval.opval) = NULL; } break; - case 173: /* $@21: %empty */ -#line 1234 "perly.y" + case 175: /* $@21: %empty */ +#line 1238 "perly.y" { PL_parser->sig_seen = FALSE; } break; - case 174: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ -#line 1236 "perly.y" + case 176: /* sigsubbody: remember optsubsignature PERLY_BRACE_OPEN $@21 stmtseq PERLY_BRACE_CLOSE */ +#line 1240 "perly.y" { if (parser->copline > (line_t)(ps[-3].val.ival)) parser->copline = (line_t)(ps[-3].val.ival); @@ -1112,38 +1112,38 @@ case 2: /* @1: %empty */ break; - case 175: /* expr: expr ANDOP expr */ -#line 1247 "perly.y" + case 177: /* expr: expr ANDOP expr */ +#line 1251 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 176: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ -#line 1249 "perly.y" + case 178: /* expr: expr PLUGIN_LOGICAL_AND_LOW_OP expr */ +#line 1253 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 177: /* expr: expr OROP expr */ -#line 1251 "perly.y" + case 179: /* expr: expr OROP expr */ +#line 1255 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 178: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ -#line 1253 "perly.y" + case 180: /* expr: expr PLUGIN_LOGICAL_OR_LOW_OP expr */ +#line 1257 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 180: /* listexpr: listexpr PERLY_COMMA */ -#line 1259 "perly.y" + case 182: /* listexpr: listexpr PERLY_COMMA */ +#line 1263 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 181: /* listexpr: listexpr PERLY_COMMA term */ -#line 1261 "perly.y" + case 183: /* listexpr: listexpr PERLY_COMMA term */ +#line 1265 "perly.y" { OP* term = (ps[0].val.opval); (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term); @@ -1151,32 +1151,32 @@ case 2: /* @1: %empty */ break; - case 183: /* listop: LSTOP indirob listexpr */ -#line 1270 "perly.y" + case 185: /* listop: LSTOP indirob listexpr */ +#line 1274 "perly.y" { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) ); } break; - case 184: /* listop: BLKLSTOP block listexpr */ -#line 1274 "perly.y" + case 186: /* listop: BLKLSTOP block listexpr */ +#line 1278 "perly.y" { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newUNOP(OP_NULL, 0, op_scope((ps[-1].val.opval))), (ps[0].val.opval)) ); } break; - case 185: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ -#line 1278 "perly.y" + case 187: /* listop: FUNC PERLY_PAREN_OPEN indirob expr PERLY_PAREN_CLOSE */ +#line 1282 "perly.y" { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED, op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) ); } break; - case 186: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1282 "perly.y" + case 188: /* listop: term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1286 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)), @@ -1185,8 +1185,8 @@ case 2: /* @1: %empty */ break; - case 187: /* listop: term ARROW methodname */ -#line 1288 "perly.y" + case 189: /* listop: term ARROW methodname */ +#line 1292 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-2].val.opval)), newMETHOP(OP_METHOD, 0, (ps[0].val.opval)))); @@ -1194,8 +1194,8 @@ case 2: /* @1: %empty */ break; - case 188: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1293 "perly.y" + case 190: /* listop: term ARROW PERLY_AMPERSAND subname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1297 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, scalar((ps[-6].val.opval)), (ps[-1].val.opval)), @@ -1204,8 +1204,8 @@ case 2: /* @1: %empty */ break; - case 189: /* listop: term ARROW PERLY_AMPERSAND subname */ -#line 1299 "perly.y" + case 191: /* listop: term ARROW PERLY_AMPERSAND subname */ +#line 1303 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, scalar((ps[-3].val.opval)), @@ -1214,8 +1214,8 @@ case 2: /* @1: %empty */ break; - case 190: /* listop: METHCALL0 indirob optlistexpr */ -#line 1305 "perly.y" + case 192: /* listop: METHCALL0 indirob optlistexpr */ +#line 1309 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), @@ -1224,8 +1224,8 @@ case 2: /* @1: %empty */ break; - case 191: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1311 "perly.y" + case 193: /* listop: METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1315 "perly.y" { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)), @@ -1234,26 +1234,26 @@ case 2: /* @1: %empty */ break; - case 192: /* listop: LSTOP optlistexpr */ -#line 1317 "perly.y" + case 194: /* listop: LSTOP optlistexpr */ +#line 1321 "perly.y" { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 193: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ -#line 1319 "perly.y" + case 195: /* listop: FUNC PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE */ +#line 1323 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 194: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ -#line 1321 "perly.y" + case 196: /* listop: FUNC SUBLEXSTART optexpr SUBLEXEND */ +#line 1325 "perly.y" { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 195: /* @22: %empty */ -#line 1323 "perly.y" + case 197: /* @22: %empty */ +#line 1327 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); /* prevent double op_free() if the following fails to parse */ @@ -1262,8 +1262,8 @@ case 2: /* @1: %empty */ break; - case 196: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ -#line 1329 "perly.y" + case 198: /* listop: LSTOPSUB startanonsub block @22 optlistexpr */ +#line 1333 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval))); @@ -1271,21 +1271,21 @@ case 2: /* @1: %empty */ break; - case 199: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1344 "perly.y" + case 201: /* subscripted: gelem PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1348 "perly.y" { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); } break; - case 200: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1346 "perly.y" + case 202: /* subscripted: scalar PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1350 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval))); } break; - case 201: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1349 "perly.y" + case 203: /* subscripted: term ARROW PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1353 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-4].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1293,8 +1293,8 @@ case 2: /* @1: %empty */ break; - case 202: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1354 "perly.y" + case 204: /* subscripted: subscripted PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1358 "perly.y" { (yyval.opval) = newBINOP(OP_AELEM, 0, ref(newAVREF((ps[-3].val.opval)),OP_RV2AV), scalar((ps[-1].val.opval))); @@ -1302,31 +1302,31 @@ case 2: /* @1: %empty */ break; - case 203: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1359 "perly.y" + case 205: /* subscripted: scalar PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1363 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval))); } break; - case 204: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1362 "perly.y" + case 206: /* subscripted: term ARROW PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1366 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-5].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 205: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1366 "perly.y" + case 207: /* subscripted: subscripted PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1370 "perly.y" { (yyval.opval) = newBINOP(OP_HELEM, 0, ref(newHVREF((ps[-4].val.opval)),OP_RV2HV), jmaybe((ps[-2].val.opval))); } break; - case 206: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1370 "perly.y" + case 208: /* subscripted: term ARROW PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1374 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-3].val.opval)))); if (parser->expect == XBLOCK) @@ -1335,8 +1335,8 @@ case 2: /* @1: %empty */ break; - case 207: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1376 "perly.y" + case 209: /* subscripted: term ARROW PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1380 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-4].val.opval))))); @@ -1346,8 +1346,8 @@ case 2: /* @1: %empty */ break; - case 208: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1384 "perly.y" + case 210: /* subscripted: subscripted PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1388 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), newCVREF(0, scalar((ps[-3].val.opval))))); @@ -1357,8 +1357,8 @@ case 2: /* @1: %empty */ break; - case 209: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1391 "perly.y" + case 211: /* subscripted: subscripted PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1395 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, newCVREF(0, scalar((ps[-2].val.opval)))); if (parser->expect == XBLOCK) @@ -1367,56 +1367,56 @@ case 2: /* @1: %empty */ break; - case 210: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1397 "perly.y" + case 212: /* subscripted: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1401 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } break; - case 211: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1399 "perly.y" + case 213: /* subscripted: QWLIST PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1403 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } break; - case 212: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1401 "perly.y" + case 214: /* subscripted: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1405 "perly.y" { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } break; - case 213: /* termbinop: term PLUGIN_HIGH_OP term */ -#line 1406 "perly.y" + case 215: /* termbinop: term PLUGIN_HIGH_OP term */ +#line 1410 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 214: /* termbinop: term ASSIGNOP term */ -#line 1408 "perly.y" + case 216: /* termbinop: term ASSIGNOP term */ +#line 1412 "perly.y" { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } break; - case 215: /* termbinop: term PLUGIN_ASSIGN_OP term */ -#line 1410 "perly.y" + case 217: /* termbinop: term PLUGIN_ASSIGN_OP term */ +#line 1414 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 216: /* termbinop: term POWOP term */ -#line 1412 "perly.y" + case 218: /* termbinop: term POWOP term */ +#line 1416 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 217: /* termbinop: term PLUGIN_POW_OP term */ -#line 1414 "perly.y" + case 219: /* termbinop: term PLUGIN_POW_OP term */ +#line 1418 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 218: /* termbinop: term MULOP term */ -#line 1416 "perly.y" + case 220: /* termbinop: term MULOP term */ +#line 1420 "perly.y" { if ((ps[-1].val.ival) != OP_REPEAT) scalar((ps[-2].val.opval)); (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval))); @@ -1424,220 +1424,220 @@ case 2: /* @1: %empty */ break; - case 219: /* termbinop: term PLUGIN_MUL_OP term */ -#line 1421 "perly.y" + case 221: /* termbinop: term PLUGIN_MUL_OP term */ +#line 1425 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 220: /* termbinop: term ADDOP term */ -#line 1423 "perly.y" + case 222: /* termbinop: term ADDOP term */ +#line 1427 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 221: /* termbinop: term PLUGIN_ADD_OP term */ -#line 1425 "perly.y" + case 223: /* termbinop: term PLUGIN_ADD_OP term */ +#line 1429 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 222: /* termbinop: term SHIFTOP term */ -#line 1427 "perly.y" + case 224: /* termbinop: term SHIFTOP term */ +#line 1431 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 223: /* termbinop: termrelop */ -#line 1429 "perly.y" + case 225: /* termbinop: termrelop */ +#line 1433 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 224: /* termbinop: termeqop */ -#line 1431 "perly.y" + case 226: /* termbinop: termeqop */ +#line 1435 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 225: /* termbinop: term BITANDOP term */ -#line 1433 "perly.y" + case 227: /* termbinop: term BITANDOP term */ +#line 1437 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 226: /* termbinop: term BITOROP term */ -#line 1435 "perly.y" + case 228: /* termbinop: term BITOROP term */ +#line 1439 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 227: /* termbinop: term DOTDOT term */ -#line 1437 "perly.y" + case 229: /* termbinop: term DOTDOT term */ +#line 1441 "perly.y" { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 228: /* termbinop: term ANDAND term */ -#line 1439 "perly.y" + case 230: /* termbinop: term ANDAND term */ +#line 1443 "perly.y" { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 229: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ -#line 1441 "perly.y" + case 231: /* termbinop: term PLUGIN_LOGICAL_AND_OP term */ +#line 1445 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 230: /* termbinop: term OROR term */ -#line 1443 "perly.y" + case 232: /* termbinop: term OROR term */ +#line 1447 "perly.y" { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 231: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ -#line 1445 "perly.y" + case 233: /* termbinop: term PLUGIN_LOGICAL_OR_OP term */ +#line 1449 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 232: /* termbinop: term DORDOR term */ -#line 1447 "perly.y" + case 234: /* termbinop: term DORDOR term */ +#line 1451 "perly.y" { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 233: /* termbinop: term MATCHOP term */ -#line 1449 "perly.y" + case 235: /* termbinop: term MATCHOP term */ +#line 1453 "perly.y" { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 234: /* termbinop: term PLUGIN_LOW_OP term */ -#line 1451 "perly.y" + case 236: /* termbinop: term PLUGIN_LOW_OP term */ +#line 1455 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 235: /* termrelop: relopchain */ -#line 1455 "perly.y" + case 237: /* termrelop: relopchain */ +#line 1459 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 236: /* termrelop: term NCRELOP term */ -#line 1457 "perly.y" + case 238: /* termrelop: term NCRELOP term */ +#line 1461 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 237: /* termrelop: termrelop NCRELOP */ -#line 1459 "perly.y" + case 239: /* termrelop: termrelop NCRELOP */ +#line 1463 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 238: /* termrelop: termrelop CHRELOP */ -#line 1461 "perly.y" + case 240: /* termrelop: termrelop CHRELOP */ +#line 1465 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 239: /* termrelop: term PLUGIN_REL_OP term */ -#line 1463 "perly.y" + case 241: /* termrelop: term PLUGIN_REL_OP term */ +#line 1467 "perly.y" { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); } break; - case 240: /* relopchain: term CHRELOP term */ -#line 1467 "perly.y" + case 242: /* relopchain: term CHRELOP term */ +#line 1471 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 241: /* relopchain: relopchain CHRELOP term */ -#line 1469 "perly.y" + case 243: /* relopchain: relopchain CHRELOP term */ +#line 1473 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 242: /* termeqop: eqopchain */ -#line 1473 "perly.y" + case 244: /* termeqop: eqopchain */ +#line 1477 "perly.y" { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); } break; - case 243: /* termeqop: term NCEQOP term */ -#line 1475 "perly.y" + case 245: /* termeqop: term NCEQOP term */ +#line 1479 "perly.y" { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } break; - case 244: /* termeqop: termeqop NCEQOP */ -#line 1477 "perly.y" + case 246: /* termeqop: termeqop NCEQOP */ +#line 1481 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 245: /* termeqop: termeqop CHEQOP */ -#line 1479 "perly.y" + case 247: /* termeqop: termeqop CHEQOP */ +#line 1483 "perly.y" { yyerror("syntax error"); YYERROR; } break; - case 246: /* eqopchain: term CHEQOP term */ -#line 1483 "perly.y" + case 248: /* eqopchain: term CHEQOP term */ +#line 1487 "perly.y" { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 247: /* eqopchain: eqopchain CHEQOP term */ -#line 1485 "perly.y" + case 249: /* eqopchain: eqopchain CHEQOP term */ +#line 1489 "perly.y" { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 248: /* termunop: PERLY_MINUS term */ -#line 1490 "perly.y" + case 250: /* termunop: PERLY_MINUS term */ +#line 1494 "perly.y" { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } break; - case 249: /* termunop: PERLY_PLUS term */ -#line 1492 "perly.y" + case 251: /* termunop: PERLY_PLUS term */ +#line 1496 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 250: /* termunop: PERLY_EXCLAMATION_MARK term */ -#line 1495 "perly.y" + case 252: /* termunop: PERLY_EXCLAMATION_MARK term */ +#line 1499 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 251: /* termunop: PERLY_TILDE term */ -#line 1497 "perly.y" + case 253: /* termunop: PERLY_TILDE term */ +#line 1501 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } break; - case 252: /* termunop: term POSTINC */ -#line 1499 "perly.y" + case 254: /* termunop: term POSTINC */ +#line 1503 "perly.y" { (yyval.opval) = newUNOP(OP_POSTINC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } break; - case 253: /* termunop: term POSTDEC */ -#line 1502 "perly.y" + case 255: /* termunop: term POSTDEC */ +#line 1506 "perly.y" { (yyval.opval) = newUNOP(OP_POSTDEC, 0, op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} break; - case 254: /* termunop: term POSTJOIN */ -#line 1505 "perly.y" + case 256: /* termunop: term POSTJOIN */ +#line 1509 "perly.y" { (yyval.opval) = op_convert_list(OP_JOIN, 0, op_append_elem( OP_LIST, @@ -1651,60 +1651,60 @@ case 2: /* @1: %empty */ break; - case 255: /* termunop: PREINC term */ -#line 1516 "perly.y" + case 257: /* termunop: PREINC term */ +#line 1520 "perly.y" { (yyval.opval) = newUNOP(OP_PREINC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } break; - case 256: /* termunop: PREDEC term */ -#line 1519 "perly.y" + case 258: /* termunop: PREDEC term */ +#line 1523 "perly.y" { (yyval.opval) = newUNOP(OP_PREDEC, 0, op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } break; - case 257: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ -#line 1527 "perly.y" + case 259: /* anonymous: PERLY_BRACKET_OPEN optexpr PERLY_BRACKET_CLOSE */ +#line 1531 "perly.y" { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } break; - case 258: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1529 "perly.y" + case 260: /* anonymous: HASHBRACK optexpr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1533 "perly.y" { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } break; - case 259: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ -#line 1531 "perly.y" + case 261: /* anonymous: KW_SUB_anon startanonsub proto subattrlist subbody */ +#line 1535 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); } break; - case 260: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ -#line 1534 "perly.y" + case 262: /* anonymous: KW_SUB_anon startanonsub proto subattrlist */ +#line 1538 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 261: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ -#line 1536 "perly.y" + case 263: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist sigsubbody */ +#line 1540 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); } break; - case 262: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ -#line 1539 "perly.y" + case 264: /* anonymous: KW_SUB_anon_sig startanonsub subattrlist */ +#line 1543 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 263: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ -#line 1541 "perly.y" + case 265: /* anonymous: KW_METHOD_anon startanonmethod subattrlist sigsubbody */ +#line 1545 "perly.y" { SvREFCNT_inc_simple_void(PL_compcv); (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); @@ -1712,104 +1712,104 @@ case 2: /* @1: %empty */ break; - case 264: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ -#line 1546 "perly.y" + case 266: /* anonymous: KW_METHOD_anon startanonmethod subattrlist */ +#line 1550 "perly.y" { yyerror("Illegal declaration of anonymous subroutine"); YYERROR; } break; - case 265: /* termdo: KW_DO term */ -#line 1551 "perly.y" + case 267: /* termdo: KW_DO term */ +#line 1555 "perly.y" { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} break; - case 266: /* termdo: KW_DO block */ -#line 1553 "perly.y" + case 268: /* termdo: KW_DO block */ +#line 1557 "perly.y" { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} break; - case 271: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ -#line 1561 "perly.y" + case 273: /* term: term PERLY_QUESTION_MARK term PERLY_COLON term */ +#line 1565 "perly.y" { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 272: /* term: REFGEN term */ -#line 1563 "perly.y" + case 274: /* term: REFGEN term */ +#line 1567 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } break; - case 273: /* term: myattrterm */ -#line 1565 "perly.y" + case 275: /* term: myattrterm */ +#line 1569 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 274: /* term: KW_LOCAL term */ -#line 1567 "perly.y" + case 276: /* term: KW_LOCAL term */ +#line 1571 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),0); } break; - case 275: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1569 "perly.y" + case 277: /* term: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1573 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 276: /* term: QWLIST */ -#line 1571 "perly.y" + case 278: /* term: QWLIST */ +#line 1575 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 277: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1573 "perly.y" + case 279: /* term: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1577 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 278: /* term: scalar */ -#line 1575 "perly.y" + case 280: /* term: scalar */ +#line 1579 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 279: /* term: star */ -#line 1577 "perly.y" + case 281: /* term: star */ +#line 1581 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 280: /* term: hsh */ -#line 1579 "perly.y" + case 282: /* term: hsh */ +#line 1583 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 281: /* term: ary */ -#line 1581 "perly.y" + case 283: /* term: ary */ +#line 1585 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 282: /* term: arylen */ -#line 1583 "perly.y" + case 284: /* term: arylen */ +#line 1587 "perly.y" { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} break; - case 283: /* term: subscripted */ -#line 1585 "perly.y" + case 285: /* term: subscripted */ +#line 1589 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 284: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1587 "perly.y" + case 286: /* term: sliceme PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1591 "perly.y" { (yyval.opval) = op_prepend_elem(OP_ASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_ASLICE, 0, @@ -1822,8 +1822,8 @@ case 2: /* @1: %empty */ break; - case 285: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ -#line 1597 "perly.y" + case 287: /* term: kvslice PERLY_BRACKET_OPEN expr PERLY_BRACKET_CLOSE */ +#line 1601 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1836,8 +1836,8 @@ case 2: /* @1: %empty */ break; - case 286: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1607 "perly.y" + case 288: /* term: sliceme PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1611 "perly.y" { (yyval.opval) = op_prepend_elem(OP_HSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_HSLICE, 0, @@ -1850,8 +1850,8 @@ case 2: /* @1: %empty */ break; - case 287: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ -#line 1617 "perly.y" + case 289: /* term: kvslice PERLY_BRACE_OPEN expr PERLY_SEMICOLON PERLY_BRACE_CLOSE */ +#line 1621 "perly.y" { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1864,27 +1864,27 @@ case 2: /* @1: %empty */ break; - case 288: /* term: THING */ -#line 1627 "perly.y" + case 290: /* term: THING */ +#line 1631 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 289: /* term: amper */ -#line 1629 "perly.y" + case 291: /* term: amper */ +#line 1633 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } break; - case 290: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1631 "perly.y" + case 292: /* term: amper PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1635 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); } break; - case 291: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1634 "perly.y" + case 293: /* term: amper PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1638 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); @@ -1892,153 +1892,153 @@ case 2: /* @1: %empty */ break; - case 292: /* term: NOAMP subname optlistexpr */ -#line 1639 "perly.y" + case 294: /* term: NOAMP subname optlistexpr */ +#line 1643 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; - case 293: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ -#line 1643 "perly.y" + case 295: /* term: term ARROW PERLY_DOLLAR PERLY_STAR */ +#line 1647 "perly.y" { (yyval.opval) = newSVREF((ps[-3].val.opval)); } break; - case 294: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ -#line 1645 "perly.y" + case 296: /* term: term ARROW PERLY_SNAIL PERLY_STAR */ +#line 1649 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 295: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ -#line 1647 "perly.y" + case 297: /* term: term ARROW PERLY_PERCENT_SIGN PERLY_STAR */ +#line 1651 "perly.y" { (yyval.opval) = newHVREF((ps[-3].val.opval)); } break; - case 296: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ -#line 1649 "perly.y" + case 298: /* term: term ARROW PERLY_AMPERSAND PERLY_STAR */ +#line 1653 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } break; - case 297: /* term: term ARROW PERLY_STAR PERLY_STAR */ -#line 1652 "perly.y" + case 299: /* term: term ARROW PERLY_STAR PERLY_STAR */ +#line 1656 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } break; - case 298: /* term: LOOPEX */ -#line 1654 "perly.y" + case 300: /* term: LOOPEX */ +#line 1658 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); PL_hints |= HINT_BLOCK_SCOPE; } break; - case 299: /* term: LOOPEX term */ -#line 1657 "perly.y" + case 301: /* term: LOOPEX term */ +#line 1661 "perly.y" { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 300: /* term: NOTOP listexpr */ -#line 1659 "perly.y" + case 302: /* term: NOTOP listexpr */ +#line 1663 "perly.y" { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } break; - case 301: /* term: UNIOP */ -#line 1661 "perly.y" + case 303: /* term: UNIOP */ +#line 1665 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 302: /* term: UNIOP block */ -#line 1663 "perly.y" + case 304: /* term: UNIOP block */ +#line 1667 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 303: /* term: UNIOP term */ -#line 1665 "perly.y" + case 305: /* term: UNIOP term */ +#line 1669 "perly.y" { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } break; - case 304: /* term: KW_REQUIRE */ -#line 1667 "perly.y" + case 306: /* term: KW_REQUIRE */ +#line 1671 "perly.y" { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } break; - case 305: /* term: KW_REQUIRE term */ -#line 1669 "perly.y" + case 307: /* term: KW_REQUIRE term */ +#line 1673 "perly.y" { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } break; - case 306: /* term: UNIOPSUB */ -#line 1671 "perly.y" + case 308: /* term: UNIOPSUB */ +#line 1675 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 307: /* term: UNIOPSUB term */ -#line 1673 "perly.y" + case 309: /* term: UNIOPSUB term */ +#line 1677 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } break; - case 308: /* term: FUNC0 */ -#line 1676 "perly.y" + case 310: /* term: FUNC0 */ +#line 1680 "perly.y" { (yyval.opval) = newOP((ps[0].val.ival), 0); } break; - case 309: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1678 "perly.y" + case 311: /* term: FUNC0 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1682 "perly.y" { (yyval.opval) = newOP((ps[-2].val.ival), 0);} break; - case 310: /* term: FUNC0OP */ -#line 1680 "perly.y" + case 312: /* term: FUNC0OP */ +#line 1684 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 311: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1682 "perly.y" + case 313: /* term: FUNC0OP PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1686 "perly.y" { (yyval.opval) = (ps[-2].val.opval); } break; - case 312: /* term: FUNC0SUB */ -#line 1684 "perly.y" + case 314: /* term: FUNC0SUB */ +#line 1688 "perly.y" { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } break; - case 313: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1686 "perly.y" + case 315: /* term: FUNC1 PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1690 "perly.y" { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT) ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) : newOP((ps[-2].val.ival), OPf_SPECIAL); } break; - case 314: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1690 "perly.y" + case 316: /* term: FUNC1 PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1694 "perly.y" { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } break; - case 315: /* @23: %empty */ -#line 1692 "perly.y" + case 317: /* @23: %empty */ +#line 1696 "perly.y" { if ( (ps[0].val.opval)->op_type != OP_TRANS && (ps[0].val.opval)->op_type != OP_TRANSR @@ -2052,68 +2052,68 @@ case 2: /* @1: %empty */ break; - case 316: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ -#line 1703 "perly.y" + case 318: /* term: PMFUNC @23 SUBLEXSTART listexpr optrepl SUBLEXEND */ +#line 1707 "perly.y" { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } break; - case 320: /* myattrterm: KW_MY myterm myattrlist */ -#line 1712 "perly.y" + case 322: /* myattrterm: KW_MY myterm attrlist */ +#line 1716 "perly.y" { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } break; - case 321: /* myattrterm: KW_MY myterm */ -#line 1714 "perly.y" + case 323: /* myattrterm: KW_MY myterm */ +#line 1718 "perly.y" { (yyval.opval) = localize((ps[0].val.opval),1); } break; - case 322: /* myattrterm: KW_MY REFGEN myterm myattrlist */ -#line 1716 "perly.y" + case 324: /* myattrterm: KW_MY REFGEN myterm attrlist */ +#line 1720 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } break; - case 323: /* myattrterm: KW_MY REFGEN term */ -#line 1718 "perly.y" + case 325: /* myattrterm: KW_MY REFGEN term */ +#line 1722 "perly.y" { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } break; - case 324: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ -#line 1723 "perly.y" + case 326: /* myterm: PERLY_PAREN_OPEN expr PERLY_PAREN_CLOSE */ +#line 1727 "perly.y" { (yyval.opval) = sawparens((ps[-1].val.opval)); } break; - case 325: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ -#line 1725 "perly.y" + case 327: /* myterm: PERLY_PAREN_OPEN PERLY_PAREN_CLOSE */ +#line 1729 "perly.y" { (yyval.opval) = sawparens(newNULLLIST()); } break; - case 326: /* myterm: scalar */ -#line 1728 "perly.y" + case 328: /* myterm: scalar */ +#line 1732 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 327: /* myterm: hsh */ -#line 1730 "perly.y" + case 329: /* myterm: hsh */ +#line 1734 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 328: /* myterm: ary */ -#line 1732 "perly.y" + case 330: /* myterm: ary */ +#line 1736 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 329: /* fieldvar: scalar */ -#line 1737 "perly.y" + case 331: /* fieldvar: scalar */ +#line 1741 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2121,8 +2121,8 @@ case 2: /* @1: %empty */ break; - case 330: /* fieldvar: hsh */ -#line 1742 "perly.y" + case 332: /* fieldvar: hsh */ +#line 1746 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2130,8 +2130,8 @@ case 2: /* @1: %empty */ break; - case 331: /* fieldvar: ary */ -#line 1747 "perly.y" + case 333: /* fieldvar: ary */ +#line 1751 "perly.y" { (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ]; op_free((ps[0].val.opval)); @@ -2139,20 +2139,8 @@ case 2: /* @1: %empty */ break; - case 332: /* optfieldattrlist: COLONATTR THING */ -#line 1755 "perly.y" - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 333: /* optfieldattrlist: COLONATTR */ -#line 1757 "perly.y" - { (yyval.opval) = NULL; } - - break; - - case 335: /* fielddecl: KW_FIELD fieldvar optfieldattrlist */ -#line 1763 "perly.y" + case 334: /* fielddecl: KW_FIELD fieldvar optattrlist */ +#line 1759 "perly.y" { parser->in_my = 0; if((ps[0].val.opval)) @@ -2162,8 +2150,8 @@ case 2: /* @1: %empty */ break; - case 336: /* $@24: %empty */ -#line 1770 "perly.y" + case 335: /* $@24: %empty */ +#line 1766 "perly.y" { parser->in_my = 0; if((ps[-1].val.opval)) @@ -2174,8 +2162,8 @@ case 2: /* @1: %empty */ break; - case 337: /* fielddecl: KW_FIELD fieldvar optfieldattrlist ASSIGNOP $@24 term */ -#line 1778 "perly.y" + case 336: /* fielddecl: KW_FIELD fieldvar optattrlist ASSIGNOP $@24 term */ +#line 1774 "perly.y" { class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval)); LEAVE; @@ -2184,122 +2172,122 @@ case 2: /* @1: %empty */ break; - case 343: /* optrepl: PERLY_SLASH expr */ -#line 1798 "perly.y" + case 342: /* optrepl: PERLY_SLASH expr */ +#line 1794 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; - case 344: /* my_scalar: scalar */ -#line 1804 "perly.y" + case 343: /* my_scalar: scalar */ +#line 1800 "perly.y" { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } break; - case 345: /* list_of_scalars: list_of_scalars PERLY_COMMA */ -#line 1809 "perly.y" + case 344: /* list_of_scalars: list_of_scalars PERLY_COMMA */ +#line 1805 "perly.y" { (yyval.opval) = (ps[-1].val.opval); } break; - case 346: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ -#line 1811 "perly.y" + case 345: /* list_of_scalars: list_of_scalars PERLY_COMMA scalar */ +#line 1807 "perly.y" { (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval)); } break; - case 348: /* my_list_of_scalars: list_of_scalars */ -#line 1818 "perly.y" + case 347: /* my_list_of_scalars: list_of_scalars */ +#line 1814 "perly.y" { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); } break; - case 356: /* amper: PERLY_AMPERSAND indirob */ -#line 1835 "perly.y" + case 355: /* amper: PERLY_AMPERSAND indirob */ +#line 1831 "perly.y" { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } break; - case 357: /* scalar: PERLY_DOLLAR indirob */ -#line 1839 "perly.y" + case 356: /* scalar: PERLY_DOLLAR indirob */ +#line 1835 "perly.y" { (yyval.opval) = newSVREF((ps[0].val.opval)); } break; - case 358: /* ary: PERLY_SNAIL indirob */ -#line 1843 "perly.y" + case 357: /* ary: PERLY_SNAIL indirob */ +#line 1839 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 359: /* hsh: PERLY_PERCENT_SIGN indirob */ -#line 1849 "perly.y" + case 358: /* hsh: PERLY_PERCENT_SIGN indirob */ +#line 1845 "perly.y" { (yyval.opval) = newHVREF((ps[0].val.opval)); if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); } break; - case 360: /* arylen: DOLSHARP indirob */ -#line 1855 "perly.y" + case 359: /* arylen: DOLSHARP indirob */ +#line 1851 "perly.y" { (yyval.opval) = newAVREF((ps[0].val.opval)); } break; - case 361: /* arylen: term ARROW DOLSHARP PERLY_STAR */ -#line 1857 "perly.y" + case 360: /* arylen: term ARROW DOLSHARP PERLY_STAR */ +#line 1853 "perly.y" { (yyval.opval) = newAVREF((ps[-3].val.opval)); } break; - case 362: /* star: PERLY_STAR indirob */ -#line 1861 "perly.y" + case 361: /* star: PERLY_STAR indirob */ +#line 1857 "perly.y" { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } break; - case 364: /* sliceme: term ARROW PERLY_SNAIL */ -#line 1866 "perly.y" + case 363: /* sliceme: term ARROW PERLY_SNAIL */ +#line 1862 "perly.y" { (yyval.opval) = newAVREF((ps[-2].val.opval)); } break; - case 366: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ -#line 1871 "perly.y" + case 365: /* kvslice: term ARROW PERLY_PERCENT_SIGN */ +#line 1867 "perly.y" { (yyval.opval) = newHVREF((ps[-2].val.opval)); } break; - case 368: /* gelem: term ARROW PERLY_STAR */ -#line 1876 "perly.y" + case 367: /* gelem: term ARROW PERLY_STAR */ +#line 1872 "perly.y" { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } break; - case 369: /* indirob: BAREWORD */ -#line 1881 "perly.y" + case 368: /* indirob: BAREWORD */ +#line 1877 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 370: /* indirob: scalar */ -#line 1883 "perly.y" + case 369: /* indirob: scalar */ +#line 1879 "perly.y" { (yyval.opval) = scalar((ps[0].val.opval)); } break; - case 371: /* indirob: block */ -#line 1885 "perly.y" + case 370: /* indirob: block */ +#line 1881 "perly.y" { (yyval.opval) = op_scope((ps[0].val.opval)); } break; - case 372: /* indirob: PRIVATEREF */ -#line 1888 "perly.y" + case 371: /* indirob: PRIVATEREF */ +#line 1884 "perly.y" { (yyval.opval) = (ps[0].val.opval); } break; @@ -2311,6 +2299,6 @@ case 2: /* @1: %empty */ /* Generated from: - * 1579ea304eb388b1cee0a714a2acd39920dbe5a8a06aa165703783e2c2dc2502 perly.y + * 57cc742fa623ae44e0575b737db1c674688361cd405620798cf50de0d81cadfc perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.h b/perly.h index 078957226611..efc4cef4ba22 100644 --- a/perly.h +++ b/perly.h @@ -246,6 +246,6 @@ int yyparse (void); /* Generated from: - * 1579ea304eb388b1cee0a714a2acd39920dbe5a8a06aa165703783e2c2dc2502 perly.y + * 57cc742fa623ae44e0575b737db1c674688361cd405620798cf50de0d81cadfc perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.tab b/perly.tab index 7e573b5915e0..72a65ffcbd3d 100644 --- a/perly.tab +++ b/perly.tab @@ -220,45 +220,45 @@ enum yysymbol_kind_t YYSYMBOL_subname = 209, /* subname */ YYSYMBOL_proto = 210, /* proto */ YYSYMBOL_subattrlist = 211, /* subattrlist */ - YYSYMBOL_myattrlist = 212, /* myattrlist */ - YYSYMBOL_sigvar = 213, /* sigvar */ - YYSYMBOL_sigslurpsigil = 214, /* sigslurpsigil */ - YYSYMBOL_sigslurpelem = 215, /* sigslurpelem */ - YYSYMBOL_optcolon = 216, /* optcolon */ - YYSYMBOL_sigscalarelem = 217, /* sigscalarelem */ - YYSYMBOL_optsigscalardefault = 218, /* optsigscalardefault */ - YYSYMBOL_sigelem = 219, /* sigelem */ - YYSYMBOL_siglist = 220, /* siglist */ - YYSYMBOL_optsiglist = 221, /* optsiglist */ - YYSYMBOL_optsubsignature = 222, /* optsubsignature */ - YYSYMBOL_subsignature = 223, /* subsignature */ - YYSYMBOL_subsigguts = 224, /* subsigguts */ - YYSYMBOL_225_20 = 225, /* $@20 */ - YYSYMBOL_optsubbody = 226, /* optsubbody */ - YYSYMBOL_subbody = 227, /* subbody */ - YYSYMBOL_optsigsubbody = 228, /* optsigsubbody */ - YYSYMBOL_sigsubbody = 229, /* sigsubbody */ - YYSYMBOL_230_21 = 230, /* $@21 */ - YYSYMBOL_expr = 231, /* expr */ - YYSYMBOL_listexpr = 232, /* listexpr */ - YYSYMBOL_listop = 233, /* listop */ - YYSYMBOL_234_22 = 234, /* @22 */ - YYSYMBOL_methodname = 235, /* methodname */ - YYSYMBOL_subscripted = 236, /* subscripted */ - YYSYMBOL_termbinop = 237, /* termbinop */ - YYSYMBOL_termrelop = 238, /* termrelop */ - YYSYMBOL_relopchain = 239, /* relopchain */ - YYSYMBOL_termeqop = 240, /* termeqop */ - YYSYMBOL_eqopchain = 241, /* eqopchain */ - YYSYMBOL_termunop = 242, /* termunop */ - YYSYMBOL_anonymous = 243, /* anonymous */ - YYSYMBOL_termdo = 244, /* termdo */ - YYSYMBOL_term = 245, /* term */ - YYSYMBOL_246_23 = 246, /* @23 */ - YYSYMBOL_myattrterm = 247, /* myattrterm */ - YYSYMBOL_myterm = 248, /* myterm */ - YYSYMBOL_fieldvar = 249, /* fieldvar */ - YYSYMBOL_optfieldattrlist = 250, /* optfieldattrlist */ + YYSYMBOL_attrlist = 212, /* attrlist */ + YYSYMBOL_optattrlist = 213, /* optattrlist */ + YYSYMBOL_sigvar = 214, /* sigvar */ + YYSYMBOL_sigslurpsigil = 215, /* sigslurpsigil */ + YYSYMBOL_sigslurpelem = 216, /* sigslurpelem */ + YYSYMBOL_optcolon = 217, /* optcolon */ + YYSYMBOL_sigscalarelem = 218, /* sigscalarelem */ + YYSYMBOL_optsigscalardefault = 219, /* optsigscalardefault */ + YYSYMBOL_sigelem = 220, /* sigelem */ + YYSYMBOL_siglist = 221, /* siglist */ + YYSYMBOL_optsiglist = 222, /* optsiglist */ + YYSYMBOL_optsubsignature = 223, /* optsubsignature */ + YYSYMBOL_subsignature = 224, /* subsignature */ + YYSYMBOL_subsigguts = 225, /* subsigguts */ + YYSYMBOL_226_20 = 226, /* $@20 */ + YYSYMBOL_optsubbody = 227, /* optsubbody */ + YYSYMBOL_subbody = 228, /* subbody */ + YYSYMBOL_optsigsubbody = 229, /* optsigsubbody */ + YYSYMBOL_sigsubbody = 230, /* sigsubbody */ + YYSYMBOL_231_21 = 231, /* $@21 */ + YYSYMBOL_expr = 232, /* expr */ + YYSYMBOL_listexpr = 233, /* listexpr */ + YYSYMBOL_listop = 234, /* listop */ + YYSYMBOL_235_22 = 235, /* @22 */ + YYSYMBOL_methodname = 236, /* methodname */ + YYSYMBOL_subscripted = 237, /* subscripted */ + YYSYMBOL_termbinop = 238, /* termbinop */ + YYSYMBOL_termrelop = 239, /* termrelop */ + YYSYMBOL_relopchain = 240, /* relopchain */ + YYSYMBOL_termeqop = 241, /* termeqop */ + YYSYMBOL_eqopchain = 242, /* eqopchain */ + YYSYMBOL_termunop = 243, /* termunop */ + YYSYMBOL_anonymous = 244, /* anonymous */ + YYSYMBOL_termdo = 245, /* termdo */ + YYSYMBOL_term = 246, /* term */ + YYSYMBOL_247_23 = 247, /* @23 */ + YYSYMBOL_myattrterm = 248, /* myattrterm */ + YYSYMBOL_myterm = 249, /* myterm */ + YYSYMBOL_fieldvar = 250, /* fieldvar */ YYSYMBOL_fielddecl = 251, /* fielddecl */ YYSYMBOL_252_24 = 252, /* $@24 */ YYSYMBOL_optlistexpr = 253, /* optlistexpr */ @@ -288,16 +288,16 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3755 +#define YYLAST 3753 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 133 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 139 /* YYNRULES -- Number of rules. */ -#define YYNRULES 372 +#define YYNRULES 371 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 703 +#define YYNSTATES 702 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 387 @@ -373,30 +373,30 @@ static const yytype_int16 yyrline[] = 941, 943, 946, 952, 953, 958, 969, 970, 975, 977, 982, 989, 990, 994, 998, 1002, 1007, 1011, 1015, 1016, 1019, 1025, 1030, 1035, 1041, 1042, 1047, 1048, 1053, 1054, - 1061, 1066, 1068, 1079, 1081, 1086, 1088, 1092, 1097, 1101, - 1107, 1109, 1115, 1125, 1138, 1140, 1145, 1147, 1155, 1156, - 1157, 1162, 1163, 1168, 1169, 1173, 1177, 1177, 1210, 1211, - 1216, 1228, 1229, 1234, 1233, 1246, 1248, 1250, 1252, 1254, - 1258, 1260, 1265, 1269, 1273, 1277, 1281, 1287, 1292, 1298, - 1304, 1310, 1316, 1318, 1320, 1323, 1322, 1336, 1337, 1341, - 1345, 1348, 1353, 1358, 1361, 1365, 1369, 1375, 1383, 1390, - 1396, 1398, 1400, 1405, 1407, 1409, 1411, 1413, 1415, 1420, - 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, - 1442, 1444, 1446, 1448, 1450, 1454, 1456, 1458, 1460, 1462, - 1466, 1468, 1472, 1474, 1476, 1478, 1482, 1484, 1489, 1491, - 1494, 1496, 1498, 1501, 1504, 1515, 1518, 1526, 1528, 1530, - 1533, 1535, 1538, 1540, 1545, 1550, 1552, 1556, 1557, 1558, - 1559, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, 1576, - 1578, 1580, 1582, 1584, 1586, 1596, 1606, 1616, 1626, 1628, - 1630, 1633, 1638, 1642, 1644, 1646, 1648, 1651, 1653, 1656, - 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1675, 1677, - 1679, 1681, 1683, 1685, 1689, 1692, 1691, 1704, 1705, 1706, - 1711, 1713, 1715, 1717, 1722, 1724, 1727, 1729, 1731, 1736, - 1741, 1746, 1754, 1756, 1758, 1762, 1770, 1769, 1787, 1788, - 1792, 1793, 1797, 1798, 1803, 1808, 1810, 1814, 1817, 1821, - 1822, 1823, 1826, 1827, 1830, 1831, 1834, 1838, 1842, 1848, - 1854, 1856, 1860, 1864, 1865, 1869, 1870, 1874, 1875, 1880, - 1882, 1884, 1887 + 1061, 1066, 1068, 1073, 1074, 1083, 1085, 1090, 1092, 1096, + 1101, 1105, 1111, 1113, 1119, 1129, 1142, 1144, 1149, 1151, + 1159, 1160, 1161, 1166, 1167, 1172, 1173, 1177, 1181, 1181, + 1214, 1215, 1220, 1232, 1233, 1238, 1237, 1250, 1252, 1254, + 1256, 1258, 1262, 1264, 1269, 1273, 1277, 1281, 1285, 1291, + 1296, 1302, 1308, 1314, 1320, 1322, 1324, 1327, 1326, 1340, + 1341, 1345, 1349, 1352, 1357, 1362, 1365, 1369, 1373, 1379, + 1387, 1394, 1400, 1402, 1404, 1409, 1411, 1413, 1415, 1417, + 1419, 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, + 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1458, 1460, 1462, + 1464, 1466, 1470, 1472, 1476, 1478, 1480, 1482, 1486, 1488, + 1493, 1495, 1498, 1500, 1502, 1505, 1508, 1519, 1522, 1530, + 1532, 1534, 1537, 1539, 1542, 1544, 1549, 1554, 1556, 1560, + 1561, 1562, 1563, 1564, 1566, 1568, 1570, 1572, 1574, 1576, + 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1600, 1610, 1620, + 1630, 1632, 1634, 1637, 1642, 1646, 1648, 1650, 1652, 1655, + 1657, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, + 1679, 1681, 1683, 1685, 1687, 1689, 1693, 1696, 1695, 1708, + 1709, 1710, 1715, 1717, 1719, 1721, 1726, 1728, 1731, 1733, + 1735, 1740, 1745, 1750, 1758, 1766, 1765, 1783, 1784, 1788, + 1789, 1793, 1794, 1799, 1804, 1806, 1810, 1813, 1817, 1818, + 1819, 1822, 1823, 1826, 1827, 1830, 1834, 1838, 1844, 1850, + 1852, 1856, 1860, 1861, 1865, 1866, 1870, 1871, 1876, 1878, + 1880, 1883 }; #endif @@ -459,17 +459,18 @@ static const char *const yytname[] = "formarg", "condition", "sideff", "else", "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", "startanonsub", "startanonmethod", "startformsub", "subname", "proto", - "subattrlist", "myattrlist", "sigvar", "sigslurpsigil", "sigslurpelem", - "optcolon", "sigscalarelem", "optsigscalardefault", "sigelem", "siglist", - "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@20", - "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr", - "listexpr", "listop", "@22", "methodname", "subscripted", "termbinop", - "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", - "anonymous", "termdo", "term", "@23", "myattrterm", "myterm", "fieldvar", - "optfieldattrlist", "fielddecl", "$@24", "optlistexpr", "optexpr", - "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars", - "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", - "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR + "subattrlist", "attrlist", "optattrlist", "sigvar", "sigslurpsigil", + "sigslurpelem", "optcolon", "sigscalarelem", "optsigscalardefault", + "sigelem", "siglist", "optsiglist", "optsubsignature", "subsignature", + "subsigguts", "$@20", "optsubbody", "subbody", "optsigsubbody", + "sigsubbody", "$@21", "expr", "listexpr", "listop", "@22", "methodname", + "subscripted", "termbinop", "termrelop", "relopchain", "termeqop", + "eqopchain", "termunop", "anonymous", "termdo", "term", "@23", + "myattrterm", "myterm", "fieldvar", "fielddecl", "$@24", "optlistexpr", + "optexpr", "optrepl", "my_scalar", "list_of_scalars", + "my_list_of_scalars", "my_var", "refgen_topic", "my_refgen", "amper", + "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem", + "indirob", YY_NULLPTR }; static const char * @@ -479,12 +480,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-584) +#define YYPACT_NINF (-583) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-371) +#define YYTABLE_NINF (-370) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -493,77 +494,77 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 783, -584, -584, -584, -584, -584, -584, -584, 32, -584, - 3067, 63, 2009, 1892, -584, -584, -584, -584, 51, 3067, - 51, 3067, 51, 3067, 51, 51, 3067, 49, 3067, 2338, - -584, -584, -584, -584, 51, 51, -584, -584, 67, -55, - -584, 3067, -584, -584, 3067, -48, -43, -49, 2338, 2257, - 63, 51, 3067, 85, 3067, 3067, 3067, 3067, 3067, 3067, - 2419, -584, 118, 79, -584, 2, -584, 61, -2, 94, - 47, -584, -584, -584, 3259, -584, -584, 17, 159, 180, - 309, -584, 168, 313, 321, 176, -584, -584, -584, -584, - -584, 136, 173, 222, 101, 124, 11, 155, 160, 203, - 209, 63, 185, 185, -584, 85, -584, -584, -584, 232, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, 85, 211, -584, 274, 404, - 324, 1892, -584, -584, -584, -584, 687, -584, 33, 884, - -584, -584, -584, -584, -584, 336, -584, 347, -584, 347, - -584, -584, 3625, 3148, 2500, 265, -584, -584, -584, 3625, - -584, 3625, 288, 279, 279, 3067, 234, 271, 3067, 240, - 3625, 63, 3259, 241, 2581, 3067, 2257, -584, 3625, 3229, - -584, 79, -584, 2662, 3067, 3067, -584, 351, -584, -584, - 3067, 79, 347, 347, 347, 520, 520, 361, 365, 3067, - 3067, 3067, 3067, 3067, 3067, 3067, 2743, -584, -584, 3067, - -584, -584, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, - 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, - 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, -584, -584, - -584, 3067, 305, 2824, 3067, 3067, 3067, 3067, 3067, 3067, - 3067, -584, 323, 327, 328, 294, -584, -584, -584, -584, - -584, 263, 602, -584, -584, 255, -584, -584, -584, -584, - -584, -584, 352, -584, -584, -584, -584, -584, -584, 63, - -584, -584, -584, 3067, 3067, 3067, 3067, 3067, 3067, -584, - -584, -584, -584, -584, -584, -584, -584, 345, -584, 381, - -584, -584, 392, -584, -584, 2905, 347, 265, 37, 53, - 111, -584, 388, 350, -584, -584, -584, 279, 354, -584, - 12, 12, -584, 3067, 3067, 72, -584, -584, -584, -584, - 416, 320, 280, 3067, 79, 79, 403, -584, 3067, 409, - 170, 170, -584, -584, 3363, 21, 89, -584, 437, 3546, - 3586, 3467, 347, 302, 272, 3311, 3363, 3363, 1035, 714, - 714, 714, 3506, 3506, 3528, 3567, 3586, 3586, 3546, 3546, - 3606, 1050, 272, 302, 347, 347, 198, 34, 3067, 3067, - 228, 391, 399, 410, -584, 413, 2986, 311, -584, -584, - 470, 243, 113, 260, 122, 273, 140, 281, 1001, -584, - -584, 428, 82, 279, 393, -584, 355, 3067, 3067, -584, - 13, -584, -584, 331, -584, -584, -584, -584, 2095, 222, - -584, 3067, 3067, 3067, 3067, -584, -584, 397, -584, 444, - -584, -584, -584, 118, -584, -584, -584, 118, -584, -584, - -584, 369, 345, 33, 25, 486, -584, -584, -584, 458, - -584, 339, -584, -584, 341, 105, -584, 3067, -584, -584, - -584, 510, -584, 164, 3067, 466, -584, -584, 3067, -584, - 349, 297, 184, -584, -584, -584, -584, -584, -584, 514, - 3067, -584, 467, -584, 474, -584, 476, -584, 477, -584, - -584, -584, -584, -584, 87, -584, -584, 360, 118, 363, - 479, 372, -584, -584, -584, -584, -584, 366, 483, 64, - -584, 3067, 376, 377, 118, 383, 386, 1190, 389, 436, - 288, -584, 511, -584, -584, 279, 3067, 424, -584, 39, - -584, -584, -584, 513, -584, -584, 3067, -584, 439, -584, - -584, -584, 248, -584, 3415, 3067, 515, -584, -584, 395, - -584, -584, -584, -584, 516, -584, -584, -584, 3067, 185, - 185, 521, 408, -584, 3067, 3067, 185, -584, 411, 420, - -584, -584, 185, 185, -584, -584, -584, -584, 3067, 279, - -584, 518, 3259, 3067, 421, -584, 118, -584, -584, 422, - -584, -584, 447, -584, -584, 3259, 314, 314, 479, 423, - 425, 426, 211, 3067, 3067, 185, 185, 185, -584, -584, - 479, 185, 537, 444, 1307, -584, -584, -584, -584, 3259, - -584, -584, -584, -584, 1424, -584, 185, 429, -584, -584, - -584, -584, 3067, 185, 185, -584, 538, 432, 211, 211, - 211, -584, 497, -584, -584, -584, 1541, -584, 29, -584, - 1658, -584, 3067, 441, 211, 211, -584, 185, -584, -584, - -584, 442, 63, -584, -584, 553, 488, -584, -584, 453, - 185, -584, -584, -584, 211, -584, -584, -584, -584, -584, - -584, 185, 211, 2176, -584, 1775, 314, -584, 454, -584, - -584, 185, -584 + 599, -583, -583, -583, -583, -583, -583, -583, 53, -583, + 3065, 46, 2007, 1890, -583, -583, -583, -583, 182, 3065, + 182, 3065, 182, 3065, 182, 182, 3065, 87, 3065, 2336, + -583, -583, -583, -583, 182, 182, -583, -583, 56, -34, + -583, 3065, -583, -583, 3065, -30, -24, -40, 2336, 2255, + 46, 182, 3065, 6, 3065, 3065, 3065, 3065, 3065, 3065, + 2417, -583, 530, 103, -583, 37, -583, -47, 45, -28, + 62, -583, -583, -583, 3257, -583, -583, 59, 114, 176, + 200, -583, 117, 207, 269, 177, -583, -583, -583, -583, + -583, 156, 173, 267, 105, 112, 13, 118, 124, 125, + 130, 46, 257, 257, -583, 6, -583, -583, -583, 255, + -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, -583, -583, 6, 242, -583, 262, 432, + 264, 1890, -583, -583, -583, -583, 686, -583, 35, 883, + -583, -583, -583, -583, -583, 275, -583, 366, -583, 366, + -583, -583, 3623, 3146, 2498, 212, -583, -583, -583, 3623, + -583, 3623, 246, 238, 238, 3065, 196, 243, 3065, 211, + 3623, 46, 3257, 213, 2579, 3065, 2255, -583, 3623, 3227, + -583, 103, -583, 2660, 3065, 3065, -583, 308, -583, -583, + 3065, 103, 366, 366, 366, 224, 224, 330, 241, 3065, + 3065, 3065, 3065, 3065, 3065, 3065, 2741, -583, -583, 3065, + -583, -583, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, + 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, + 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, -583, -583, + -583, 3065, 309, 2822, 3065, 3065, 3065, 3065, 3065, 3065, + 3065, -583, 302, 305, 307, 212, -583, -583, -583, -583, + -583, 249, 397, -583, -583, 228, -583, -583, -583, -583, + -583, -583, 321, -583, -583, -583, -583, -583, -583, 46, + -583, -583, -583, 3065, 3065, 3065, 3065, 3065, 3065, -583, + -583, -583, -583, -583, -583, -583, -583, 323, -583, 369, + -583, -583, 376, -583, -583, 2903, 366, 212, 82, 99, + 168, -583, 251, 338, -583, -583, -583, 238, 343, -583, + 1, 1, -583, 3065, 3065, 20, -583, -583, -583, -583, + 403, 316, 278, 3065, 103, 103, 399, -583, 3065, 401, + 100, 100, -583, -583, 3361, 273, 26, -583, 415, 3544, + 3584, 3465, 366, 358, 3431, 3309, 3361, 3361, 1034, 713, + 713, 713, 3504, 3504, 3526, 3565, 3584, 3584, 3544, 3544, + 3604, 1049, 3431, 358, 366, 366, 74, 63, 3065, 3065, + 80, 390, 395, 410, -583, 411, 2984, 290, -583, -583, + 436, 284, 64, 293, 120, 299, 139, 304, 1000, -583, + -583, 406, 162, 212, -583, -583, 329, 3065, 3065, -583, + 7, -583, -583, 310, -583, -583, -583, -583, 2093, 267, + -583, 3065, 3065, 3065, 3065, -583, -583, 381, -583, 417, + -583, -583, -583, 530, -583, -583, -583, 530, -583, -583, + -583, 341, 323, 35, 68, 460, -583, -583, -583, 434, + -583, 311, -583, -583, 327, 18, -583, 3065, -583, -583, + -583, 469, -583, 152, 3065, 440, -583, -583, 3065, -583, + 322, 335, 164, -583, -583, -583, -583, -583, -583, 485, + 3065, -583, 448, -583, 449, -583, 451, -583, 454, -583, + -583, -583, -583, -583, 199, -583, 340, 530, 346, 456, + 342, -583, -583, -583, -583, -583, 347, 457, 111, -583, + 3065, 352, 360, 530, 372, 373, 1188, 375, 462, 246, + -583, 494, -583, -583, 238, 3065, 414, -583, 88, -583, + -583, -583, 505, -583, -583, 3065, -583, 430, -583, -583, + -583, 169, -583, 3413, 3065, 509, -583, -583, 391, -583, + -583, -583, -583, 515, -583, -583, -583, 3065, 257, 257, + 523, 409, -583, 3065, 3065, 257, -583, 418, 420, -583, + -583, 257, 257, -583, -583, -583, -583, 3065, 238, -583, + 519, 3257, 3065, 421, -583, 530, -583, -583, 427, -583, + -583, 471, -583, -583, 3257, 190, 190, 456, 428, 431, + 438, 242, 3065, 3065, 257, 257, 257, -583, -583, 456, + 257, 520, 417, 1305, -583, -583, -583, -583, 3257, -583, + -583, -583, -583, 1422, -583, 257, 439, -583, -583, -583, + -583, 3065, 257, 257, -583, 550, 443, 242, 242, 242, + -583, 538, -583, -583, -583, 1539, -583, 5, -583, 1656, + -583, 3065, 453, 242, 242, -583, 257, -583, -583, -583, + 461, 46, -583, -583, 568, 500, -583, -583, 463, 257, + -583, -583, -583, 242, -583, -583, -583, -583, -583, -583, + 257, 242, 2174, -583, 1773, 190, -583, 466, -583, -583, + 257, -583 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -572,113 +573,113 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 61, - 59, 0, 0, 0, 59, 166, 1, 59, 0, 59, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, - 131, 131, 132, 317, 0, 0, 288, 315, 276, 310, - 312, 306, 131, 319, 298, 308, 0, 0, 301, 59, + 59, 0, 0, 0, 59, 168, 1, 59, 0, 59, + 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, + 131, 131, 132, 319, 0, 0, 290, 317, 278, 312, + 314, 308, 131, 321, 300, 310, 0, 0, 303, 59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, - 0, 340, 341, 179, 318, 283, 267, 223, 235, 224, - 242, 268, 269, 270, 182, 273, 5, 289, 278, 281, - 280, 282, 279, 0, 0, 0, 61, 7, 105, 37, + 0, 339, 340, 181, 320, 285, 269, 225, 237, 226, + 244, 270, 271, 272, 184, 275, 5, 291, 280, 283, + 282, 284, 281, 0, 0, 0, 61, 7, 105, 37, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 56, 57, 76, 0, 130, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, 59, 9, 0, 106, 0, 0, 11, 73, 72, 68, 0, 15, 59, 0, - 369, 372, 371, 370, 356, 0, 357, 248, 359, 249, - 358, 362, 274, 0, 0, 321, 326, 328, 327, 305, - 266, 265, 59, 59, 59, 59, 0, 0, 0, 0, - 307, 0, 299, 0, 0, 59, 59, 302, 303, 317, - 338, 339, 192, 278, 0, 0, 360, 0, 134, 135, - 59, 300, 250, 251, 272, 255, 256, 277, 0, 0, - 0, 0, 0, 180, 0, 0, 0, 238, 237, 0, - 245, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 368, 371, 370, 369, 355, 0, 356, 250, 358, 251, + 357, 361, 276, 0, 0, 323, 328, 330, 329, 307, + 268, 267, 59, 59, 59, 59, 0, 0, 0, 0, + 309, 0, 301, 0, 0, 59, 59, 304, 305, 319, + 337, 338, 194, 280, 0, 0, 359, 0, 134, 135, + 59, 302, 252, 253, 274, 257, 258, 279, 0, 0, + 0, 0, 0, 182, 0, 0, 0, 240, 239, 0, + 247, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 253, - 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 59, 0, 0, 59, 329, 331, 330, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 254, 255, + 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 59, 59, 0, 0, 59, 331, 333, 332, 61, 61, 61, 0, 61, 61, 0, 61, 61, 61, 61, 20, 63, 0, 21, 51, 130, 55, 41, 130, 0, 116, 16, 22, 0, 0, 0, 0, 0, 0, 23, - 75, 74, 69, 146, 145, 151, 161, 143, 157, 0, - 156, 160, 162, 167, 257, 0, 323, 0, 278, 281, - 280, 325, 0, 142, 320, 137, 136, 59, 140, 138, - 262, 264, 190, 59, 0, 0, 311, 195, 309, 313, - 0, 0, 0, 0, 183, 184, 0, 292, 0, 275, - 177, 178, 175, 176, 181, 0, 0, 209, 0, 241, - 247, 227, 216, 218, 220, 234, 214, 215, 0, 230, - 232, 231, 228, 229, 226, 225, 246, 243, 240, 236, - 239, 222, 221, 219, 233, 217, 213, 0, 0, 0, - 0, 366, 364, 368, 197, 0, 0, 187, 198, 290, + 75, 74, 69, 148, 147, 153, 163, 145, 159, 0, + 158, 162, 164, 169, 259, 0, 325, 0, 280, 283, + 282, 327, 0, 142, 322, 137, 136, 59, 140, 138, + 264, 266, 192, 59, 0, 0, 313, 197, 311, 315, + 0, 0, 0, 0, 185, 186, 0, 294, 0, 277, + 179, 180, 177, 178, 183, 0, 0, 211, 0, 243, + 249, 229, 218, 220, 222, 236, 216, 217, 0, 232, + 234, 233, 230, 231, 228, 227, 248, 245, 242, 238, + 241, 224, 223, 221, 235, 219, 215, 0, 0, 0, + 0, 365, 363, 367, 199, 0, 0, 189, 200, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 129, 0, 0, 59, 333, 334, 335, 0, 0, 354, - 0, 355, 352, 0, 353, 349, 350, 351, 0, 0, + 129, 0, 0, 59, 143, 144, 334, 0, 0, 353, + 0, 354, 351, 0, 352, 348, 349, 350, 0, 0, 61, 0, 123, 0, 0, 59, 61, 0, 45, 61, 43, 117, 107, 104, 108, 111, 110, 125, 109, 112, - 144, 147, 143, 158, 277, 0, 322, 324, 141, 260, - 139, 59, 261, 263, 0, 59, 211, 59, 314, 194, - 193, 0, 258, 0, 0, 0, 202, 208, 0, 296, - 189, 0, 0, 293, 295, 294, 297, 361, 206, 0, - 59, 291, 0, 200, 0, 284, 0, 285, 0, 58, - 61, 34, 61, 38, 0, 332, 336, 0, 126, 0, - 0, 0, 344, 61, 121, 122, 127, 0, 0, 106, - 30, 0, 0, 0, 124, 0, 0, 0, 59, 0, - 59, 169, 0, 42, 168, 59, 148, 152, 159, 275, - 259, 166, 163, 0, 164, 191, 0, 342, 0, 196, - 185, 212, 0, 205, 271, 59, 0, 201, 207, 0, - 203, 286, 287, 199, 0, 39, 61, 17, 0, 0, - 0, 348, 0, 347, 0, 0, 0, 24, 0, 0, - 120, 120, 0, 0, 62, 65, 64, 47, 59, 59, - 59, 61, 149, 154, 0, 173, 343, 316, 210, 0, - 204, 186, 0, 59, 18, 337, 59, 59, 345, 0, - 0, 0, 59, 123, 0, 0, 0, 0, 35, 53, - 0, 0, 0, 61, 0, 172, 44, 171, 153, 155, - 165, 59, 188, 59, 0, 59, 0, 0, 113, 36, - 49, 346, 0, 0, 0, 33, 0, 0, 59, 59, - 59, 66, 118, 52, 46, 170, 0, 70, 0, 40, - 0, 114, 0, 0, 59, 59, 25, 0, 29, 50, - 54, 0, 0, 48, 174, 0, 59, 71, 19, 0, - 0, 27, 32, 120, 59, 67, 119, 60, 59, 102, - 101, 0, 59, 0, 31, 0, 59, 28, 0, 103, - 115, 0, 26 + 146, 149, 145, 160, 279, 0, 324, 326, 141, 262, + 139, 59, 263, 265, 0, 59, 213, 59, 316, 196, + 195, 0, 260, 0, 0, 0, 204, 210, 0, 298, + 191, 0, 0, 295, 297, 296, 299, 360, 208, 0, + 59, 293, 0, 202, 0, 286, 0, 287, 0, 58, + 61, 34, 61, 38, 0, 335, 0, 126, 0, 0, + 0, 343, 61, 121, 122, 127, 0, 0, 106, 30, + 0, 0, 0, 124, 0, 0, 0, 59, 0, 59, + 171, 0, 42, 170, 59, 150, 154, 161, 277, 261, + 168, 165, 0, 166, 193, 0, 341, 0, 198, 187, + 214, 0, 207, 273, 59, 0, 203, 209, 0, 205, + 288, 289, 201, 0, 39, 61, 17, 0, 0, 0, + 347, 0, 346, 0, 0, 0, 24, 0, 0, 120, + 120, 0, 0, 62, 65, 64, 47, 59, 59, 59, + 61, 151, 156, 0, 175, 342, 318, 212, 0, 206, + 188, 0, 59, 18, 336, 59, 59, 344, 0, 0, + 0, 59, 123, 0, 0, 0, 0, 35, 53, 0, + 0, 0, 61, 0, 174, 44, 173, 155, 157, 167, + 59, 190, 59, 0, 59, 0, 0, 113, 36, 49, + 345, 0, 0, 0, 33, 0, 0, 59, 59, 59, + 66, 118, 52, 46, 172, 0, 70, 0, 40, 0, + 114, 0, 0, 59, 59, 25, 0, 29, 50, 54, + 0, 0, 48, 176, 0, 59, 71, 19, 0, 0, + 27, 32, 120, 59, 67, 119, 60, 59, 102, 101, + 0, 59, 0, 31, 0, 59, 28, 0, 103, 115, + 0, 26 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, -584, -584, -4, -10, -584, 28, -67, -584, - -584, -584, -584, -16, -584, 573, 448, -1, -584, -584, - -74, -425, -583, -401, -584, -562, -584, -25, 161, -281, - -100, -584, -82, 88, -584, -584, -101, 65, -172, 282, - 146, -584, -584, -584, -584, -584, 150, -584, -584, -584, - -584, 73, -584, -7, 162, -584, -314, -584, 16, -44, - -584, -584, -584, -584, -584, -584, -584, -584, -584, -584, - -584, -584, 636, -584, -584, 457, -584, -584, -584, -584, - -167, 3, -584, -584, -584, -584, 196, -584, -584, 356, - 36, -21, -15, -584, -584, -584, -584, -584, 57 + -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, -583, -4, -10, -583, 23, -67, -583, + -583, -583, -583, -16, -583, 580, 468, -1, -583, -583, + 79, -425, -582, -308, -583, -552, -583, -14, 179, -334, + -81, -583, -93, 44, -583, -583, -83, 84, -172, -150, + 202, 165, -583, -583, -583, -583, -583, 166, -583, -583, + -583, -583, 81, -583, -2, 171, -583, -312, -583, 16, + -44, -583, -583, -583, -583, -583, -583, -583, -583, -583, + -583, -583, -583, 635, -583, -583, 472, -583, -583, -583, + -162, -15, -583, -583, -583, -583, 203, -583, -583, 359, + 36, -21, -19, -583, -583, -583, -583, -583, 55 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 111, - 112, 113, 635, 114, 115, 116, 117, 118, 613, 683, - 578, 119, 120, 121, 122, 123, 124, 603, 125, 439, - 126, 535, 127, 530, 128, 621, 129, 130, 131, 437, + 112, 113, 634, 114, 115, 116, 117, 118, 612, 682, + 577, 119, 120, 121, 122, 123, 124, 602, 125, 439, + 126, 534, 127, 529, 128, 620, 129, 130, 131, 437, 132, 133, 134, 135, 136, 145, 501, 461, 282, 435, - 587, 620, 671, 146, 658, 302, 143, 144, 677, 690, - 442, 138, 639, 291, 673, 616, 516, 523, 446, 507, - 518, 411, 284, 172, 174, 262, 200, 327, 330, 324, - 451, 307, 308, 309, 310, 628, 311, 312, 313, 543, - 544, 147, 148, 533, 534, 626, 462, 631, 139, 63, - 64, 467, 397, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 177, 75, 165, 265, 416, 140, 568, - 192, 76, 548, 511, 571, 572, 422, 423, 274, 77, + 586, 619, 670, 146, 657, 302, 143, 144, 676, 689, + 442, 138, 638, 291, 672, 615, 515, 522, 446, 506, + 517, 411, 284, 172, 174, 262, 200, 327, 330, 415, + 416, 451, 307, 308, 309, 310, 627, 311, 312, 313, + 542, 543, 147, 148, 532, 533, 625, 462, 630, 139, + 63, 64, 467, 397, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 177, 75, 165, 265, 140, 567, + 192, 76, 547, 510, 570, 571, 422, 423, 274, 77, 78, 79, 80, 81, 82, 83, 84, 85, 156 }; @@ -687,176 +688,129 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 61, 149, 331, 515, 285, 191, 167, 87, 332, 61, - 201, 137, 168, 214, 152, 215, 152, 463, 152, 617, - 152, 152, 155, -61, 640, 170, 62, 20, 287, 20, - 152, 152, 16, 347, 288, 62, 283, 17, 348, 190, - 185, 271, 61, 475, 187, 152, 195, 152, 254, -150, - 255, 675, 474, 303, 153, 197, 153, 304, 153, 479, - 153, 153, 86, 166, -363, 20, -363, 20, 62, 22, - 153, 153, 267, 24, 86, 154, 208, 179, 268, 158, - 178, 160, 161, 186, 183, 193, 466, 153, 676, 184, - 198, 175, 176, 502, 213, 199, 293, 280, 566, 294, - 295, 296, 297, 476, 503, 298, 194, 150, 196, 567, - 219, -325, 151, 700, 261, 209, 210, 211, 212, 173, - 213, 693, -365, -326, -365, -324, 290, 493, 546, 266, - 181, 191, 275, 272, 216, 305, 495, 509, 306, -328, - 301, 198, 319, 273, -61, 510, 199, 517, 320, 253, - 344, 345, 525, 526, 497, 459, 191, 222, 209, 210, - 211, 212, 326, 329, 329, 190, 209, 210, 211, 212, - 254, 163, 255, 217, 218, 61, 61, 337, 551, -367, - 322, 164, 152, 209, 210, 211, 212, 260, 341, 342, - 190, -363, 263, -363, 335, -126, 281, -327, 557, 318, - 340, 62, 62, 438, 220, 221, 440, 209, 210, 211, - 212, 645, 209, 210, 211, 212, 209, 210, 211, 212, - 444, 445, 193, 448, 449, 350, 351, 352, 353, 264, - 355, 356, 358, 269, 209, 210, 211, 212, 20, 86, - 579, 504, 22, 343, 20, 408, 24, 668, 669, 670, - 289, 426, 410, 483, 286, 415, 270, 427, 209, 210, - 211, 212, 598, 681, 682, 492, 211, 212, 515, 400, - 401, 402, 403, 404, 405, 406, 407, 627, 209, 210, - 211, 212, 494, 694, 150, 441, 480, 276, 398, 151, - 465, 697, 277, 610, 611, 496, 292, 417, 418, 420, - 549, 428, 429, 498, 431, 432, 433, 434, 425, 443, - 443, 443, 447, 443, 443, 387, 388, 329, 389, 556, - -365, 390, -365, 61, 256, 391, 257, -371, 252, 392, - 393, 455, 258, 647, 259, 278, 464, 209, 210, 211, - 212, 279, 209, 210, 211, 212, 299, 636, 637, 62, - 314, 323, 224, 225, 209, 210, 211, 212, 325, 471, - 334, 663, 394, 591, 473, 328, 333, 209, 210, 211, - 212, 336, 338, 346, 348, 209, 210, 211, 212, 409, - 414, 679, 224, 412, 413, 419, 152, 430, 395, 245, - 246, 209, 210, 211, 212, 247, 436, 452, 248, 249, - 250, 251, 252, 329, 481, 482, 450, 453, 426, 458, - 469, 470, 489, 460, 427, 472, 484, 623, 514, 527, - 246, 622, 474, 191, 485, 247, 153, 224, 248, 249, - 250, 251, 252, 508, 508, 486, 293, 396, 487, 294, - 295, 296, 297, 490, 519, 298, 500, 447, 524, 508, - 508, 542, 505, 529, 506, 547, 512, 190, 521, 209, - 210, 211, 212, 513, 528, 425, 531, 532, 536, -61, - 247, 541, 545, 248, 249, 250, 251, 252, 553, 560, - 61, 555, 209, 210, 211, 212, 561, 532, 562, 563, - 552, 569, 588, 559, 570, 20, 349, 576, 209, 210, - 211, 212, 606, 607, 574, 577, 62, 580, 581, 612, - 209, 210, 211, 212, 582, 618, 619, 583, 586, 457, - 326, 585, 590, 593, 595, 329, 601, 600, 564, 597, - 565, 209, 210, 211, 212, 633, 608, 508, 602, 609, - 625, 575, 672, 614, 191, 61, 573, 468, 648, 649, - 650, 615, 630, 632, 652, 642, 643, 644, 599, 653, - 666, 662, 596, 667, 209, 210, 211, 212, 477, 661, - 687, 62, 680, 685, 624, 688, 664, 665, 190, 329, - 209, 210, 211, 212, 691, 701, 142, 634, 646, 300, - 508, 508, 522, 698, 604, 589, 638, 638, 537, 456, - 684, 491, 290, 538, 209, 210, 211, 212, 209, 210, - 211, 212, 18, 692, 594, 656, 654, 539, 20, 660, - 317, 540, 22, 657, 696, 520, 24, 0, 424, 524, - 508, 0, 421, 0, 702, 0, 0, 0, 290, 290, - 290, 550, 0, 0, 641, 558, -371, -371, -371, 251, - 252, 532, 0, 0, 290, 290, 651, 157, 508, 159, - 0, 0, 162, 0, 169, 171, 689, 0, 686, 0, - 0, 0, 695, 0, 290, 0, 0, 180, 508, 0, - 182, 0, 290, 514, 188, 0, 638, -13, 88, 0, - 0, 202, 203, 204, 205, 206, 0, 18, 86, 0, - 19, 0, 0, 20, 0, 0, 21, 22, 23, 89, - 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, - 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, - 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, - 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, - 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, - 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, - 0, 0, 0, 0, 0, 54, 1, 2, 3, 4, - 5, 6, 7, 0, 224, 225, 226, 0, 0, 316, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, - 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, - 248, 249, 250, 251, 252, 0, 0, 0, 0, 354, - 0, 0, 0, 0, 0, 359, 0, 0, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -3, 88, 0, 386, 0, 0, - 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, - 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, - 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, - 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, - 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, - 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, - 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, - 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, + 61, 149, 331, 514, 155, 191, 167, 87, 168, 61, + 201, 137, -61, 332, 152, 324, 152, 287, 152, 463, + 152, 152, 285, 20, 639, 170, 62, 674, 616, 20, + 152, 152, 17, 213, 466, 62, 283, 197, 347, 190, + 476, 545, 61, 271, 187, 152, 195, 152, 214, 185, + 215, -152, 288, 16, 153, 303, 153, 86, 153, 304, + 153, 153, 198, 166, 675, 217, 218, 199, 62, 178, + 153, 153, 267, 154, 268, 173, 208, 158, 493, 160, + 161, 348, 220, 221, 508, 193, 181, 153, 479, 175, + 176, 86, 186, 254, 516, 255, 20, 280, 179, 524, + 525, 474, 183, 20, 194, 483, 196, 22, 184, 261, + -362, 24, -362, 699, 209, 210, 211, 212, 213, 198, + 209, 210, 211, 212, 199, 254, 290, 255, -366, 266, + 692, 191, 275, -61, 495, 272, 150, 305, 306, 509, + 301, 151, 319, 293, 320, 273, 294, 295, 296, 297, + 344, 345, 298, 497, -327, 459, 191, 219, 209, 210, + 211, 212, 326, 329, 329, 190, 550, 456, -328, 216, + 341, 342, 222, 502, -326, 61, 61, 337, 556, -364, + 322, -364, 152, 597, 503, -330, 578, -362, 260, -362, + 190, 253, 438, 86, 335, 440, 211, 212, 20, 318, + 340, 62, 62, -370, 252, 209, 210, 211, 212, 163, + 565, -364, 263, -364, 209, 210, 211, 212, 256, 164, + 257, 566, 193, 635, 636, 350, 351, 352, 353, 264, + 355, 356, 358, 209, 210, 211, 212, 269, 150, 609, + 610, 343, -126, 151, 270, 408, 209, 210, 211, 212, + 276, 426, 410, 427, -329, 414, 277, 278, 209, 210, + 211, 212, 279, 209, 210, 211, 212, 514, 281, 400, + 401, 402, 403, 404, 405, 406, 407, 286, 626, 646, + 258, 289, 259, 20, 292, 441, 299, 22, 398, 314, + 465, 24, 417, 418, 420, 475, 428, 429, 323, 431, + 432, 433, 434, 644, 480, 548, 492, 662, 425, 443, + 443, 443, 447, 443, 443, 494, 325, 329, 464, 387, + 388, 496, 389, 61, 328, 390, 498, 678, 333, 391, + 346, 455, 334, 392, 393, 209, 210, 211, 212, 667, + 668, 669, 336, 348, 338, 209, 210, 211, 212, 62, + -370, -370, -370, 251, 252, 680, 681, 555, 409, 471, + 430, 412, 590, 413, 473, 436, 394, 209, 210, 211, + 212, 419, 349, 444, 445, 693, 448, 449, 209, 210, + 211, 212, 457, 696, 450, 452, 152, 209, 210, 211, + 212, 453, 395, 209, 210, 211, 212, 458, 209, 210, + 211, 212, 460, 414, 481, 482, 469, 18, 426, 470, + 427, 472, 489, 20, 474, 484, 622, 22, 513, 526, + 485, 24, 490, 191, 500, 621, 153, 421, 505, 209, + 210, 211, 212, 507, 507, 486, 487, 528, 224, 530, + 535, 396, 512, 540, 518, -61, 224, 447, 523, 507, + 507, 541, 552, 520, 554, 546, 511, 190, 544, 527, + 559, 560, 531, 561, 293, 425, 562, 294, 295, 296, + 297, 568, 20, 298, 573, 558, 246, 569, 575, 576, + 61, 247, 531, 579, 248, 249, 250, 251, 252, 247, + 551, 580, 248, 249, 250, 251, 252, 209, 210, 211, + 212, 605, 606, 581, 582, 589, 62, 584, 611, 209, + 210, 211, 212, 592, 617, 618, 594, 585, 587, 326, + 596, 599, 600, 563, 329, 564, 209, 210, 211, 212, + 209, 210, 211, 212, 468, 574, 507, 601, 607, 598, + 608, 624, 652, 191, 61, 572, 477, 647, 648, 649, + 613, 614, 629, 651, 209, 210, 211, 212, 631, 632, + 641, 595, 642, 209, 210, 211, 212, 491, 660, 643, + 62, 661, 665, 623, 666, 663, 664, 190, 329, 209, + 210, 211, 212, 671, 679, 686, 633, 687, 603, 507, + 507, 538, 684, 142, 690, 637, 637, 700, 645, 683, + 549, 290, 1, 2, 3, 4, 5, 6, 7, 300, + 521, 697, 691, 588, 655, 504, 557, 536, 659, 537, + 653, 593, 656, 695, 209, 210, 211, 212, 523, 507, + 539, 424, 519, 701, 0, 317, 0, 290, 290, 290, + 0, 0, 0, 640, 0, 531, 0, 0, 0, 0, + 0, 0, 0, 290, 290, 650, 157, 507, 159, 0, + 0, 162, 0, 169, 171, 688, 0, 685, 0, 0, + 0, 694, 0, 290, 0, 0, 180, 507, 0, 182, + 0, 290, 513, 188, 0, 637, -13, 88, 0, 0, + 202, 203, 204, 205, 206, 0, 18, 86, 0, 19, + 0, 0, 20, 0, 0, 21, 22, 23, 89, 0, + 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, + 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, + 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, + 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, + 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, + 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, + 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 225, 226, 0, 0, 316, 0, + 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, + 58, 59, 0, 0, 0, 0, 0, 0, 60, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, + 249, 250, 251, 252, 0, 0, 0, 0, 354, 0, + 0, 0, 0, 0, 359, 0, 0, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, -3, 88, 0, 386, 0, 0, 0, + 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, + 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, + 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, + 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, + 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, + 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, + 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, + 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, + 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, - 0, 18, 86, 499, 19, 0, 60, 20, 0, 0, - 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, - 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, - 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, - 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, - 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, - 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, - 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, - 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, - 0, 0, 0, 0, 554, 224, 225, 226, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, 227, 0, - 224, 225, 226, 60, 228, 229, 230, 478, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, - 0, 248, 249, 250, 251, 252, 244, 245, 246, 0, - 0, 0, 592, 247, 0, 0, 248, 249, 250, 251, - 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 86, 584, 19, 605, 0, 20, 0, 0, 21, + 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, + 18, 86, 499, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, - 27, 93, 94, 0, 0, 95, 96, 97, 98, 629, + 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, - 56, 0, 57, 0, 58, 59, 0, 18, 86, 655, - 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, - 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, - 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, - 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, - 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, - 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, - 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 0, 110, 0, - 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, - 0, 58, 59, 0, 18, 86, 659, 19, 0, 60, - 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, - 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, - 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, - 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, - 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, - 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, - 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, - 0, 18, 86, 674, 19, 0, 60, 20, 0, 0, - 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, - 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, - 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, - 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, - 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, - 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, - 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, - 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, + 0, 0, 0, 553, 224, 225, 226, 0, 0, 55, + 56, 0, 57, 0, 58, 59, 0, 227, 0, 224, + 225, 226, 60, 228, 229, 230, 478, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, + 248, 249, 250, 251, 252, 244, 245, 246, 0, 0, + 591, 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - 55, 56, 0, 57, 0, 58, 59, 0, 18, 86, - 678, 19, 0, 60, 20, 0, 0, 21, 22, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 86, + 583, 19, 604, 0, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, - 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, + 94, 0, 0, 95, 96, 97, 98, 628, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, @@ -865,7 +819,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, - 57, 0, 58, 59, 0, 18, 86, 0, 19, 0, + 57, 0, 58, 59, 0, 18, 86, 654, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, @@ -873,11 +827,11 @@ static const yytype_int16 yytable[] = 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, - 53, 0, 0, 699, 0, 0, 110, 0, 0, 0, + 53, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, - 59, 0, 18, 86, 0, 19, 0, 60, 20, 0, + 59, 0, 18, 86, 658, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, @@ -889,23 +843,86 @@ static const yytype_int16 yytable[] = 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, 18, - 86, 0, 19, 0, 60, 20, 0, 0, 21, 22, + 86, 673, 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, 37, - 0, 38, 39, 40, 41, 42, 43, 108, 0, 0, + 0, 38, 39, 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, 0, - 0, 0, 51, 52, 53, 0, 88, 0, 0, 0, - 110, 0, 0, 0, 0, 18, 0, 54, 19, 0, - 0, 20, 0, 0, 21, 22, 23, -59, 0, 24, - 25, 0, 0, 0, 26, 27, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, 0, 0, 0, 0, - 0, 60, 28, 29, 0, 0, 0, 30, 31, 0, - 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, + 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, + 110, 0, 0, 0, 0, 0, 0, 54, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 88, 55, 56, + 0, 57, 0, 58, 59, 0, 18, 86, 677, 19, + 0, 60, 20, 0, 0, 21, 22, 23, 89, 0, + 24, 25, 90, 91, 92, 26, 27, 93, 94, 0, + 0, 95, 96, 97, 98, 0, 99, 100, 101, 102, + 0, 0, 103, 28, 29, 104, 105, 106, 30, 31, + 107, 32, 33, 34, 35, 36, 37, 0, 38, 39, + 40, 41, 42, 43, 108, 141, 0, 44, 0, 109, + 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, + 52, 53, 0, 0, 0, 0, 0, 110, 0, 0, + 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88, 55, 56, 0, 57, 0, + 58, 59, 0, 18, 86, 0, 19, 0, 60, 20, + 0, 0, 21, 22, 23, 89, 0, 24, 25, 90, + 91, 92, 26, 27, 93, 94, 0, 0, 95, 96, + 97, 98, 0, 99, 100, 101, 102, 0, 0, 103, + 28, 29, 104, 105, 106, 30, 31, 107, 32, 33, + 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, + 43, 108, 141, 0, 44, 0, 109, 45, 46, 47, + 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, + 0, 698, 0, 0, 110, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 88, 55, 56, 0, 57, 0, 58, 59, 0, + 18, 86, 0, 19, 0, 60, 20, 0, 0, 21, + 22, 23, 89, 0, 24, 25, 90, 91, 92, 26, + 27, 93, 94, 0, 0, 95, 96, 97, 98, 0, + 99, 100, 101, 102, 0, 0, 103, 28, 29, 104, + 105, 106, 30, 31, 107, 32, 33, 34, 35, 36, + 37, 0, 38, 39, 40, 41, 42, 43, 108, 141, + 0, 44, 0, 109, 45, 46, 47, 48, 49, 50, + 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, + 0, 110, 0, 0, 0, 0, 0, 0, 54, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 88, 55, + 56, 0, 57, 0, 58, 59, 0, 18, 86, 0, + 19, 0, 60, 20, 0, 0, 21, 22, 23, 89, + 0, 24, 25, 90, 91, 92, 26, 27, 93, 94, + 0, 0, 95, 96, 97, 98, 0, 99, 100, 101, + 102, 0, 0, 103, 28, 29, 104, 105, 106, 30, + 31, 107, 32, 33, 34, 35, 36, 37, 0, 38, + 39, 40, 41, 42, 43, 108, 0, 0, 44, 0, + 109, 45, 46, 47, 48, 49, 50, 0, 0, 0, + 51, 52, 53, 0, 88, 0, 0, 0, 110, 0, + 0, 0, 0, 18, 0, 54, 19, 0, 0, 20, + 0, 0, 21, 22, 23, -59, 0, 24, 25, 0, + 0, 0, 26, 27, 0, 0, 55, 56, 0, 57, + 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, + 28, 29, 0, 0, 0, 30, 31, 0, 32, 33, + 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, + 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, + 48, 49, 50, 0, 0, 88, 51, 52, 53, 0, + 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, + 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, + 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, + 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, + 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, + 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, + 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, + 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, + 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, + 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, + 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, + 0, 0, 28, 29, 0, -59, 60, 30, 31, 0, + 32, 189, 34, 35, 36, 37, 151, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, - 46, 47, 48, 49, 50, 0, 0, 88, 51, 52, - 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, + 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, + 53, 0, 0, 0, 0, 0, 18, 86, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, @@ -913,19 +930,19 @@ static const yytype_int16 yytable[] = 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, - 52, 53, 0, 0, 0, 0, 0, 18, 86, 0, + 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, - 58, 59, 0, 0, 28, 29, 0, -59, 60, 30, - 31, 0, 32, 189, 34, 35, 36, 37, 151, 38, + 58, 59, 0, 0, 28, 29, 0, 0, 60, 30, + 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 0, 18, 86, + 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, - 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, + 0, 58, 59, 0, 0, 28, 29, 0, 207, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, @@ -933,40 +950,40 @@ static const yytype_int16 yytable[] = 0, 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 57, 0, 58, 59, 0, 0, 28, 29, 0, 0, + 57, 0, 58, 59, 0, 0, 28, 29, 0, 321, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, - 18, 0, 0, 19, 0, 0, 20, 54, 0, 21, - 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, - 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 57, 0, 58, 59, 0, 0, 28, 29, 0, - 207, 60, 30, 31, 0, 32, 33, 34, 35, 36, - 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, - 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, - 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, - 0, 18, 0, 0, 19, 0, 0, 20, 54, 0, + -369, 254, 0, 255, 0, 0, -369, 54, 0, -369, + -369, -369, 0, 0, -369, -369, 0, 0, 0, -369, + -369, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 57, 0, 58, 59, 0, 0, -369, -369, 0, + 339, 60, -369, -369, 0, -369, -369, -369, -369, -369, + -369, 0, -369, -369, -369, -369, -369, -369, 0, 0, + 0, -369, 0, 0, -369, -369, -369, -369, -369, -369, + 0, 0, 0, -369, -369, -369, 0, 0, 0, 0, + 0, 18, 0, 0, 19, 0, 0, 20, -369, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, - 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 57, 0, 58, 59, 0, 0, 28, 29, - 0, 321, 60, 30, 31, 0, 32, 33, 34, 35, + 26, 27, 0, 0, 0, 0, 0, 0, 0, -369, + -369, 0, -369, 0, -369, -369, 0, 0, 28, 29, + 0, 0, -369, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, - 0, 0, -370, 254, 0, 255, 0, 0, -370, 54, - 0, -370, -370, -370, 0, 0, -370, -370, 0, 0, - 0, -370, -370, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 57, 0, 58, 59, 0, 0, -370, - -370, 0, 339, 60, -370, -370, 0, -370, -370, -370, - -370, -370, -370, 0, -370, -370, -370, -370, -370, -370, - 0, 0, 0, -370, 0, 0, -370, -370, -370, -370, - -370, -370, 0, 0, 0, -370, -370, -370, 0, 0, + 0, 0, 18, 0, 0, 19, 0, 0, 20, 54, + 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, + 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 57, 0, 58, 59, 0, 0, 28, + 29, 0, 357, 60, 30, 31, 0, 32, 33, 34, + 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, + 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, + 49, 50, 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 20, - -370, 0, 21, 22, 23, 0, 0, 24, 25, 0, + 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, - 0, -370, -370, 0, -370, 0, -370, -370, 0, 0, - 28, 29, 0, 0, -370, 30, 31, 0, 32, 33, + 0, 55, 56, 0, 57, 0, 58, 59, 0, 0, + 28, 29, 0, 399, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, @@ -974,7 +991,7 @@ static const yytype_int16 yytable[] = 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, 0, - 0, 28, 29, 0, 357, 60, 30, 31, 0, 32, + 0, 28, 29, 0, 454, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, 53, @@ -982,7 +999,7 @@ static const yytype_int16 yytable[] = 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, 59, - 0, 0, 28, 29, 0, 399, 60, 30, 31, 0, + 0, 0, 28, 29, 0, 488, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, 52, @@ -990,253 +1007,190 @@ static const yytype_int16 yytable[] = 0, 0, 20, 54, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, 58, - 59, 0, 0, 28, 29, 0, 454, 60, 30, 31, + 59, 0, 0, 28, 29, 0, 0, 60, 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, 51, - 52, 53, 0, 0, 0, 0, 0, 18, 0, 0, - 19, 0, 0, 20, 54, 0, 21, 22, 23, 0, - 0, 24, 25, 0, 0, 0, 26, 27, 0, 0, + 52, 53, 0, 0, 0, 0, 0, -368, 0, 0, + -368, 0, 0, -368, 54, 0, -368, -368, -368, 0, + 0, -368, -368, 0, 0, 0, -368, -368, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 0, - 58, 59, 0, 0, 28, 29, 0, 488, 60, 30, - 31, 0, 32, 33, 34, 35, 36, 37, 0, 38, - 39, 40, 41, 42, 43, 0, 0, 0, 44, 0, - 0, 45, 46, 47, 48, 49, 50, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 0, 18, 0, - 0, 19, 0, 0, 20, 54, 0, 21, 22, 23, - 0, 0, 24, 25, 0, 0, 0, 26, 27, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, - 0, 58, 59, 0, 0, 28, 29, 0, 0, 60, - 30, 31, 0, 32, 33, 34, 35, 36, 37, 0, - 38, 39, 40, 41, 42, 43, 0, 0, 0, 44, - 0, 0, 45, 46, 47, 48, 49, 50, 0, 0, - 0, 51, 52, 53, 0, 0, 0, 0, 0, -369, - 0, 0, -369, 0, 0, -369, 54, 0, -369, -369, - -369, 0, 0, -369, -369, 0, 0, 0, -369, -369, - 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 57, 0, 58, 59, 0, 0, -369, -369, 0, 0, - 315, -369, -369, 0, -369, -369, -369, -369, -369, -369, - 0, -369, -369, -369, -369, -369, -369, 0, 0, 0, - -369, 0, 0, -369, -369, -369, -369, -369, -369, 0, - 0, 0, -369, -369, -369, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, - 0, 223, 0, 0, 0, 0, 0, 0, 0, 224, - 225, 226, 0, 0, 0, 0, 0, 0, -369, -369, - 0, -369, 227, -369, -369, 0, 0, 0, 228, 229, - 230, -369, 231, 232, 233, 234, 235, 236, 237, 238, + 58, 59, 0, 0, -368, -368, 0, 0, 315, -368, + -368, 0, -368, -368, -368, -368, -368, -368, 0, -368, + -368, -368, -368, -368, -368, 0, 0, 0, -368, 0, + 0, -368, -368, -368, -368, -368, -368, 0, 0, 0, + -368, -368, -368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -368, 0, 0, 0, 223, + 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, + 0, 0, 0, 0, 0, 0, -368, -368, 0, -368, + 227, -368, -368, 0, 0, 0, 228, 229, 230, -368, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, + 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, + 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -370, 0, 0, 0, 0, 0, 228, 229, + 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -371, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 0, 231, 232, 233, 234, + 0, 224, 225, 0, 230, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 0, 0, 0, 0, 247, 223, 0, 248, - 249, 250, 251, 252, 0, 224, 225, 226, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 230, 0, 231, 232, + 245, 246, 0, 0, 0, 0, 247, -370, 0, 248, + 249, 250, 251, 252, 0, 224, 225, 226, 245, 246, + 0, 0, 0, 0, 247, 0, 0, 248, 249, 250, + 251, 252, 0, 0, 0, 0, 0, 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 0, 0, 0, 247, -371, - 0, 248, 249, 250, 251, 252, 0, 224, 225, 226, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, - 247, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, - 226, 0, 0, 0, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 0, 224, 225, 226, 247, - 0, 0, 248, 249, 250, 251, 252, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, - 0, 247, 0, 0, 248, 249, 250, 251, 252, 0, - 242, 243, 244, 245, 246, 0, 224, 225, 226, 247, - 0, 0, 248, 249, 250, 251, 252, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, - 247, 0, 0, 248, 249, 250, 251, 252, 240, 241, + 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, + 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 225, 226, 0, + 0, 0, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 0, 224, 225, 226, 247, 0, 0, + 248, 249, 250, 251, 252, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 224, 225, 226, 0, 247, - 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, - -371, 243, 244, 245, 246, 0, 0, 0, 0, 247, - 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, - 243, 244, 245, 246, 0, 0, 0, 0, 247, 0, - 0, 248, 249, 250, 251, 252 + 0, 0, 248, 249, 250, 251, 252, 0, 242, 243, + 244, 245, 246, 0, 224, 225, 226, 247, 0, 0, + 248, 249, 250, 251, 252, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 224, 225, 226, 0, 247, 0, + 0, 248, 249, 250, 251, 252, 240, 241, 242, 243, + 244, 245, 246, 224, 225, 226, 0, 247, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, -370, 243, + 244, 245, 246, 0, 0, 0, 0, 247, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 243, 244, + 245, 246, 0, 0, 0, 0, 247, 0, 0, 248, + 249, 250, 251, 252 }; static const yytype_int16 yycheck[] = { - 10, 17, 174, 428, 105, 49, 27, 11, 175, 19, - 54, 12, 27, 11, 18, 13, 20, 331, 22, 581, - 24, 25, 19, 11, 607, 29, 10, 16, 110, 16, - 34, 35, 0, 200, 135, 19, 103, 9, 13, 49, - 89, 30, 52, 22, 48, 49, 50, 51, 11, 16, - 13, 22, 13, 20, 18, 52, 20, 24, 22, 25, - 24, 25, 11, 27, 11, 16, 13, 16, 52, 20, - 34, 35, 93, 24, 11, 18, 60, 132, 93, 22, - 13, 24, 25, 132, 132, 49, 14, 51, 59, 132, - 56, 34, 35, 11, 15, 61, 32, 101, 11, 35, - 36, 37, 38, 14, 22, 41, 49, 56, 51, 22, - 112, 86, 61, 696, 86, 94, 95, 96, 97, 31, - 15, 683, 11, 86, 13, 86, 136, 14, 23, 93, - 42, 175, 96, 122, 132, 102, 14, 418, 148, 86, - 141, 56, 163, 132, 132, 132, 61, 428, 163, 132, - 194, 195, 433, 434, 14, 327, 200, 110, 94, 95, - 96, 97, 172, 173, 174, 175, 94, 95, 96, 97, - 11, 122, 13, 112, 113, 185, 186, 181, 14, 11, - 164, 132, 186, 94, 95, 96, 97, 11, 185, 186, - 200, 11, 56, 13, 178, 131, 11, 86, 14, 163, - 184, 185, 186, 285, 110, 111, 288, 94, 95, 96, - 97, 612, 94, 95, 96, 97, 94, 95, 96, 97, - 294, 295, 186, 297, 298, 209, 210, 211, 212, 56, - 214, 215, 216, 132, 94, 95, 96, 97, 16, 11, - 521, 413, 20, 186, 16, 261, 24, 648, 649, 650, - 39, 272, 262, 25, 22, 265, 132, 272, 94, 95, - 96, 97, 14, 664, 665, 22, 96, 97, 693, 253, - 254, 255, 256, 257, 258, 259, 260, 591, 94, 95, - 96, 97, 22, 684, 56, 289, 387, 132, 252, 61, - 334, 692, 132, 574, 575, 22, 22, 269, 270, 271, - 467, 273, 274, 22, 276, 277, 278, 279, 272, 293, - 294, 295, 296, 297, 298, 10, 11, 327, 13, 22, - 11, 16, 13, 333, 11, 20, 13, 129, 130, 24, - 25, 315, 11, 614, 13, 132, 333, 94, 95, 96, - 97, 132, 94, 95, 96, 97, 22, 33, 34, 333, - 14, 86, 80, 81, 94, 95, 96, 97, 70, 343, - 89, 642, 57, 535, 348, 86, 132, 94, 95, 96, - 97, 131, 131, 22, 13, 94, 95, 96, 97, 56, - 86, 662, 80, 56, 56, 122, 390, 132, 83, 117, - 118, 94, 95, 96, 97, 123, 44, 16, 126, 127, - 128, 129, 130, 413, 388, 389, 61, 15, 429, 59, - 90, 131, 396, 59, 429, 12, 25, 589, 428, 435, - 118, 588, 13, 467, 25, 123, 390, 80, 126, 127, - 128, 129, 130, 417, 418, 25, 32, 132, 25, 35, - 36, 37, 38, 132, 428, 41, 18, 431, 432, 433, - 434, 461, 59, 56, 99, 465, 420, 467, 430, 94, - 95, 96, 97, 132, 436, 429, 22, 439, 99, 11, - 123, 132, 131, 126, 127, 128, 129, 130, 12, 12, - 490, 132, 94, 95, 96, 97, 12, 459, 12, 12, - 474, 131, 56, 490, 131, 16, 131, 131, 94, 95, - 96, 97, 569, 570, 132, 22, 490, 131, 131, 576, - 94, 95, 96, 97, 131, 582, 583, 131, 528, 131, - 530, 132, 11, 99, 11, 535, 131, 12, 500, 90, - 502, 94, 95, 96, 97, 88, 15, 521, 22, 131, - 22, 513, 45, 132, 588, 555, 510, 131, 615, 616, - 617, 131, 131, 131, 621, 132, 131, 131, 555, 22, - 22, 132, 546, 131, 94, 95, 96, 97, 131, 636, - 17, 555, 131, 131, 590, 87, 643, 644, 588, 589, - 94, 95, 96, 97, 131, 131, 13, 603, 613, 141, - 574, 575, 431, 693, 566, 530, 606, 607, 452, 317, - 667, 131, 612, 453, 94, 95, 96, 97, 94, 95, - 96, 97, 10, 680, 541, 631, 623, 131, 16, 635, - 163, 459, 20, 633, 691, 429, 24, -1, 272, 613, - 614, -1, 30, -1, 701, -1, -1, -1, 648, 649, - 650, 131, -1, -1, 608, 131, 126, 127, 128, 129, - 130, 623, -1, -1, 664, 665, 620, 21, 642, 23, - -1, -1, 26, -1, 28, 29, 676, -1, 672, -1, - -1, -1, 688, -1, 684, -1, -1, 41, 662, -1, - 44, -1, 692, 693, 48, -1, 696, 0, 1, -1, - -1, 55, 56, 57, 58, 59, -1, 10, 11, -1, - 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, - -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, - -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, - 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, - 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, - 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, -1, -1, -1, -1, 98, 3, 4, 5, 6, - 7, 8, 9, -1, 80, 81, 82, -1, -1, 163, - -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, -1, -1, -1, -1, 132, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, - 126, 127, 128, 129, 130, -1, -1, -1, -1, 213, - -1, -1, -1, -1, -1, 219, -1, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 0, 1, -1, 251, -1, -1, - -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, - 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, - 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, - 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, - -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, + 10, 17, 174, 428, 19, 49, 27, 11, 27, 19, + 54, 12, 11, 175, 18, 165, 20, 110, 22, 331, + 24, 25, 105, 16, 606, 29, 10, 22, 580, 16, + 34, 35, 9, 15, 14, 19, 103, 52, 200, 49, + 14, 23, 52, 30, 48, 49, 50, 51, 11, 89, + 13, 16, 135, 0, 18, 20, 20, 11, 22, 24, + 24, 25, 56, 27, 59, 112, 113, 61, 52, 13, + 34, 35, 93, 18, 93, 31, 60, 22, 14, 24, + 25, 13, 110, 111, 418, 49, 42, 51, 25, 34, + 35, 11, 132, 11, 428, 13, 16, 101, 132, 433, + 434, 13, 132, 16, 49, 25, 51, 20, 132, 86, + 11, 24, 13, 695, 94, 95, 96, 97, 15, 56, + 94, 95, 96, 97, 61, 11, 136, 13, 11, 93, + 682, 175, 96, 132, 14, 122, 56, 102, 148, 132, + 141, 61, 163, 32, 163, 132, 35, 36, 37, 38, + 194, 195, 41, 14, 86, 327, 200, 112, 94, 95, + 96, 97, 172, 173, 174, 175, 14, 317, 86, 132, + 185, 186, 110, 11, 86, 185, 186, 181, 14, 11, + 164, 13, 186, 14, 22, 86, 520, 11, 11, 13, + 200, 132, 285, 11, 178, 288, 96, 97, 16, 163, + 184, 185, 186, 129, 130, 94, 95, 96, 97, 122, + 11, 11, 56, 13, 94, 95, 96, 97, 11, 132, + 13, 22, 186, 33, 34, 209, 210, 211, 212, 56, + 214, 215, 216, 94, 95, 96, 97, 132, 56, 573, + 574, 186, 131, 61, 132, 261, 94, 95, 96, 97, + 132, 272, 262, 272, 86, 265, 132, 132, 94, 95, + 96, 97, 132, 94, 95, 96, 97, 692, 11, 253, + 254, 255, 256, 257, 258, 259, 260, 22, 590, 613, + 11, 39, 13, 16, 22, 289, 22, 20, 252, 14, + 334, 24, 269, 270, 271, 22, 273, 274, 86, 276, + 277, 278, 279, 611, 387, 467, 22, 641, 272, 293, + 294, 295, 296, 297, 298, 22, 70, 327, 333, 10, + 11, 22, 13, 333, 86, 16, 22, 661, 132, 20, + 22, 315, 89, 24, 25, 94, 95, 96, 97, 647, + 648, 649, 131, 13, 131, 94, 95, 96, 97, 333, + 126, 127, 128, 129, 130, 663, 664, 22, 56, 343, + 132, 56, 534, 56, 348, 44, 57, 94, 95, 96, + 97, 122, 131, 294, 295, 683, 297, 298, 94, 95, + 96, 97, 131, 691, 61, 16, 390, 94, 95, 96, + 97, 15, 83, 94, 95, 96, 97, 59, 94, 95, + 96, 97, 59, 413, 388, 389, 90, 10, 429, 131, + 429, 12, 396, 16, 13, 25, 588, 20, 428, 435, + 25, 24, 132, 467, 18, 587, 390, 30, 99, 94, + 95, 96, 97, 417, 418, 25, 25, 56, 80, 22, + 99, 132, 132, 132, 428, 11, 80, 431, 432, 433, + 434, 461, 12, 430, 132, 465, 420, 467, 131, 436, + 12, 12, 439, 12, 32, 429, 12, 35, 36, 37, + 38, 131, 16, 41, 132, 490, 118, 131, 131, 22, + 490, 123, 459, 131, 126, 127, 128, 129, 130, 123, + 474, 131, 126, 127, 128, 129, 130, 94, 95, 96, + 97, 568, 569, 131, 131, 11, 490, 132, 575, 94, + 95, 96, 97, 99, 581, 582, 11, 527, 56, 529, + 90, 12, 131, 500, 534, 502, 94, 95, 96, 97, + 94, 95, 96, 97, 131, 512, 520, 22, 15, 554, + 131, 22, 22, 587, 554, 509, 131, 614, 615, 616, + 132, 131, 131, 620, 94, 95, 96, 97, 131, 88, + 132, 545, 131, 94, 95, 96, 97, 131, 635, 131, + 554, 132, 22, 589, 131, 642, 643, 587, 588, 94, + 95, 96, 97, 45, 131, 17, 602, 87, 565, 573, + 574, 131, 131, 13, 131, 605, 606, 131, 612, 666, + 131, 611, 3, 4, 5, 6, 7, 8, 9, 141, + 431, 692, 679, 529, 630, 413, 131, 452, 634, 453, + 622, 540, 632, 690, 94, 95, 96, 97, 612, 613, + 459, 272, 429, 700, -1, 163, -1, 647, 648, 649, + -1, -1, -1, 607, -1, 622, -1, -1, -1, -1, + -1, -1, -1, 663, 664, 619, 21, 641, 23, -1, + -1, 26, -1, 28, 29, 675, -1, 671, -1, -1, + -1, 687, -1, 683, -1, -1, 41, 661, -1, 44, + -1, 691, 692, 48, -1, 695, 0, 1, -1, -1, + 55, 56, 57, 58, 59, -1, 10, 11, -1, 13, + -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, + 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, + -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, + -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, + 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, + 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, 80, 81, 82, -1, -1, 163, -1, + -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, + 124, 125, -1, -1, -1, -1, -1, -1, 132, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, + 127, 128, 129, 130, -1, -1, -1, -1, 213, -1, + -1, -1, -1, -1, 219, -1, -1, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 0, 1, -1, 251, -1, -1, -1, + -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, + -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, + 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, + 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, + 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, + 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, - -1, 10, 11, 12, 13, -1, 132, 16, -1, -1, - 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, - -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, - 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, - -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, - -1, -1, -1, -1, 478, 80, 81, 82, -1, -1, - 119, 120, -1, 122, -1, 124, 125, -1, 93, -1, - 80, 81, 82, 132, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, -1, -1, -1, -1, 123, -1, - -1, 126, 127, 128, 129, 130, 116, 117, 118, -1, - -1, -1, 536, 123, -1, -1, 126, 127, 128, 129, - 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, - 10, 11, 12, 13, 568, -1, 16, -1, -1, 19, + -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, + 10, 11, 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, - 30, 31, 32, -1, -1, 35, 36, 37, 38, 593, + 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, - 120, -1, 122, -1, 124, 125, -1, 10, 11, 12, - 13, -1, 132, 16, -1, -1, 19, 20, 21, 22, - -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, - -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, - 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, - 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, - 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, - -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, - 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, - 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, - 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, - 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, - -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, - -1, 10, 11, 12, 13, -1, 132, 16, -1, -1, - 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, - 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, - -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, - 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, + -1, -1, -1, 478, 80, 81, 82, -1, -1, 119, + 120, -1, 122, -1, 124, 125, -1, 93, -1, 80, + 81, 82, 132, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, + 126, 127, 128, 129, 130, 116, 117, 118, -1, -1, + 535, -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - 119, 120, -1, 122, -1, 124, 125, -1, 10, 11, - 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, + -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, + 12, 13, 567, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, + 32, -1, -1, 35, 36, 37, 38, 592, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, @@ -1245,7 +1199,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, - 122, -1, 124, 125, -1, 10, 11, -1, 13, -1, + 122, -1, 124, 125, -1, 10, 11, 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, @@ -1253,11 +1207,11 @@ static const yytype_int16 yycheck[] = 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, - 85, -1, -1, 88, -1, -1, 91, -1, -1, -1, + 85, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, - 125, -1, 10, 11, -1, 13, -1, 132, 16, -1, + 125, -1, 10, 11, 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, @@ -1269,23 +1223,86 @@ static const yytype_int16 yycheck[] = 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, 10, - 11, -1, 13, -1, 132, 16, -1, -1, 19, 20, + 11, 12, 13, -1, 132, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - -1, 62, 63, 64, 65, 66, 67, 68, -1, -1, + -1, 62, 63, 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, -1, 1, -1, -1, -1, - 91, -1, -1, -1, -1, 10, -1, 98, 13, -1, - -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, - 25, -1, -1, -1, 29, 30, -1, -1, 119, 120, - -1, 122, -1, 124, 125, -1, -1, -1, -1, -1, - -1, 132, 47, 48, -1, -1, -1, 52, 53, -1, - 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, -1, -1, -1, -1, 98, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, 119, 120, + -1, 122, -1, 124, 125, -1, 10, 11, 12, 13, + -1, 132, 16, -1, -1, 19, 20, 21, 22, -1, + 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, + -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, + -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, + 64, 65, 66, 67, 68, 69, -1, 71, -1, 73, + 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, 119, 120, -1, 122, -1, + 124, 125, -1, 10, 11, -1, 13, -1, 132, 16, + -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, + 27, 28, 29, 30, 31, 32, -1, -1, 35, 36, + 37, 38, -1, 40, 41, 42, 43, -1, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, + 67, 68, 69, -1, 71, -1, 73, 74, 75, 76, + 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, + -1, 88, -1, -1, 91, -1, -1, -1, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, 119, 120, -1, 122, -1, 124, 125, -1, + 10, 11, -1, 13, -1, 132, 16, -1, -1, 19, + 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, + 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, + 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 65, 66, 67, 68, 69, + -1, 71, -1, 73, 74, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, -1, -1, -1, -1, 98, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, 119, + 120, -1, 122, -1, 124, 125, -1, 10, 11, -1, + 13, -1, 132, 16, -1, -1, 19, 20, 21, 22, + -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, + -1, -1, 35, 36, 37, 38, -1, 40, 41, 42, + 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, + 63, 64, 65, 66, 67, 68, -1, -1, 71, -1, + 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, -1, 1, -1, -1, -1, 91, -1, + -1, -1, -1, 10, -1, 98, 13, -1, -1, 16, + -1, -1, 19, 20, 21, 22, -1, 24, 25, -1, + -1, -1, 29, 30, -1, -1, 119, 120, -1, 122, + -1, 124, 125, -1, -1, -1, -1, -1, -1, 132, + 47, 48, -1, -1, -1, 52, 53, -1, 55, 56, + 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, + 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, + 77, 78, 79, -1, -1, 1, 83, 84, 85, -1, + -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, + 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, + -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, + -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, + -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, + 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, + 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, + -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, + -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, + 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, + -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, + -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, - 75, 76, 77, 78, 79, -1, -1, 1, 83, 84, - 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, + 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, @@ -1293,19 +1310,19 @@ static const yytype_int16 yycheck[] = -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, -1, -1, -1, -1, -1, 10, 11, -1, + 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, - 53, -1, 55, 56, 57, 58, 59, 60, 61, 62, + 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, + 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 10, 11, + 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, 47, 48, -1, -1, 132, + -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, @@ -1313,12 +1330,12 @@ static const yytype_int16 yycheck[] = -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, + 122, -1, 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, - 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, + 10, 11, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, -1, @@ -1330,11 +1347,11 @@ static const yytype_int16 yycheck[] = 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, 48, - -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, + -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, -1, -1, - -1, -1, 10, 11, -1, 13, -1, -1, 16, 98, + -1, -1, 10, -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, 47, @@ -1346,7 +1363,7 @@ static const yytype_int16 yycheck[] = 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, 125, -1, -1, - 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, + 47, 48, -1, 131, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, -1, @@ -1370,7 +1387,7 @@ static const yytype_int16 yycheck[] = -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, 124, - 125, -1, -1, 47, 48, -1, 131, 132, 52, 53, + 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, 83, @@ -1378,71 +1395,55 @@ static const yytype_int16 yycheck[] = 13, -1, -1, 16, 98, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, -1, - 124, 125, -1, -1, 47, 48, -1, 131, 132, 52, + 124, 125, -1, -1, 47, 48, -1, -1, 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, -1, -1, -1, -1, -1, 10, -1, - -1, 13, -1, -1, 16, 98, -1, 19, 20, 21, - -1, -1, 24, 25, -1, -1, -1, 29, 30, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, -1, 72, + -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, 119, 120, -1, 122, - -1, 124, 125, -1, -1, 47, 48, -1, -1, 132, - 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, - -1, -1, 74, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, -1, 16, 98, -1, 19, 20, - 21, -1, -1, 24, 25, -1, -1, -1, 29, 30, - -1, -1, -1, -1, -1, -1, -1, 119, 120, -1, - 122, -1, 124, 125, -1, -1, 47, 48, -1, -1, - 132, 52, 53, -1, 55, 56, 57, 58, 59, 60, - -1, 62, 63, 64, 65, 66, 67, -1, -1, -1, - 71, -1, -1, 74, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, - -1, 72, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, -1, -1, -1, 119, 120, - -1, 122, 93, 124, 125, -1, -1, -1, 99, 100, - 101, 132, 103, 104, 105, 106, 107, 108, 109, 110, + 93, 124, 125, -1, -1, -1, 99, 100, 101, 132, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, + 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, + 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 93, -1, -1, -1, -1, -1, 99, 100, + 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 99, 100, 101, -1, 103, 104, 105, 106, + -1, 80, 81, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, -1, 126, - 127, 128, 129, 130, -1, 80, 81, 82, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, + 127, 128, 129, 130, -1, 80, 81, 82, 117, 118, + -1, -1, -1, -1, 123, -1, -1, 126, 127, 128, + 129, 130, -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, -1, -1, -1, -1, 123, 72, - -1, 126, 127, 128, 129, 130, -1, 80, 81, 82, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, - 123, -1, -1, 126, 127, 128, 129, 130, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, - 82, -1, -1, -1, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, -1, 80, 81, 82, 123, - -1, -1, 126, 127, 128, 129, 130, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 80, 81, 82, - -1, 123, -1, -1, 126, 127, 128, 129, 130, -1, - 114, 115, 116, 117, 118, -1, 80, 81, 82, 123, - -1, -1, 126, 127, 128, 129, 130, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, - 123, -1, -1, 126, 127, 128, 129, 130, 112, 113, + 115, 116, 117, 118, 80, 81, 82, -1, 123, -1, + -1, 126, 127, 128, 129, 130, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, + -1, -1, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 80, 81, 82, 123, -1, -1, + 126, 127, 128, 129, 130, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 80, 81, 82, -1, 123, - -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, - 114, 115, 116, 117, 118, -1, -1, -1, -1, 123, - -1, -1, 126, 127, 128, 129, 130, -1, -1, -1, - 115, 116, 117, 118, -1, -1, -1, -1, 123, -1, - -1, 126, 127, 128, 129, 130 + -1, -1, 126, 127, 128, 129, 130, -1, 114, 115, + 116, 117, 118, -1, 80, 81, 82, 123, -1, -1, + 126, 127, 128, 129, 130, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 80, 81, 82, -1, 123, -1, + -1, 126, 127, 128, 129, 130, 112, 113, 114, 115, + 116, 117, 118, 80, 81, 82, -1, 123, -1, -1, + 126, 127, 128, 129, 130, -1, -1, -1, 114, 115, + 116, 117, 118, -1, -1, -1, -1, 123, -1, -1, + 126, 127, 128, 129, 130, -1, -1, -1, 115, 116, + 117, 118, -1, -1, -1, -1, 123, -1, -1, 126, + 127, 128, 129, 130 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1455,71 +1456,71 @@ static const yytype_int16 yystos[] = 52, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 74, 75, 76, 77, 78, 79, 83, 84, 85, 98, 119, 120, 122, 124, 125, - 132, 178, 231, 232, 233, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 247, 254, 262, 263, 264, + 132, 178, 232, 233, 234, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 248, 254, 262, 263, 264, 265, 266, 267, 268, 269, 270, 11, 177, 1, 22, 26, 27, 28, 31, 32, 35, 36, 37, 38, 40, 41, 42, 43, 46, 49, 50, 51, 54, 68, 73, 91, 142, 143, 144, 146, 147, 148, 149, 150, 154, 155, 156, 157, 158, 159, 161, 163, 165, 167, 169, - 170, 171, 173, 174, 175, 176, 177, 190, 194, 231, - 251, 69, 188, 189, 190, 178, 186, 224, 225, 186, - 56, 61, 177, 263, 271, 254, 271, 245, 271, 245, - 271, 271, 245, 122, 132, 248, 263, 264, 265, 245, - 177, 245, 206, 206, 207, 271, 271, 246, 13, 132, - 245, 206, 245, 132, 132, 89, 132, 177, 245, 56, - 178, 232, 253, 263, 271, 177, 271, 254, 56, 61, - 209, 232, 245, 245, 245, 245, 245, 131, 231, 94, + 170, 171, 173, 174, 175, 176, 177, 190, 194, 232, + 251, 69, 188, 189, 190, 178, 186, 225, 226, 186, + 56, 61, 177, 263, 271, 254, 271, 246, 271, 246, + 271, 271, 246, 122, 132, 249, 263, 264, 265, 246, + 177, 246, 206, 206, 207, 271, 271, 247, 13, 132, + 246, 206, 246, 132, 132, 89, 132, 177, 246, 56, + 178, 233, 253, 263, 271, 177, 271, 254, 56, 61, + 209, 233, 246, 246, 246, 246, 246, 131, 232, 94, 95, 96, 97, 15, 11, 13, 132, 112, 113, 112, 110, 111, 110, 72, 80, 81, 82, 93, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 123, 126, 127, 128, 129, 130, 132, 11, 13, 11, 13, 11, 13, - 11, 180, 208, 56, 56, 249, 263, 264, 265, 132, + 11, 180, 208, 56, 56, 250, 263, 264, 265, 132, 132, 30, 122, 132, 261, 263, 132, 132, 132, 132, 177, 11, 181, 181, 205, 209, 22, 205, 209, 39, 178, 196, 22, 32, 35, 36, 37, 38, 41, 22, - 189, 190, 188, 20, 24, 102, 178, 214, 215, 216, - 217, 219, 220, 221, 14, 132, 245, 248, 263, 264, - 265, 131, 231, 86, 212, 70, 178, 210, 86, 178, - 211, 211, 253, 132, 89, 231, 131, 177, 131, 131, - 231, 254, 254, 271, 232, 232, 22, 253, 13, 131, - 231, 231, 231, 231, 245, 231, 231, 131, 231, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 10, 11, 13, - 16, 20, 24, 25, 57, 83, 132, 235, 263, 131, - 231, 231, 231, 231, 231, 231, 231, 231, 186, 56, - 178, 204, 56, 56, 86, 178, 250, 180, 180, 122, + 189, 190, 188, 20, 24, 102, 178, 215, 216, 217, + 218, 220, 221, 222, 14, 132, 246, 249, 263, 264, + 265, 131, 232, 86, 212, 70, 178, 210, 86, 178, + 211, 211, 253, 132, 89, 232, 131, 177, 131, 131, + 232, 254, 254, 271, 233, 233, 22, 253, 13, 131, + 232, 232, 232, 232, 246, 232, 232, 131, 232, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 10, 11, 13, + 16, 20, 24, 25, 57, 83, 132, 236, 263, 131, + 232, 232, 232, 232, 232, 232, 232, 232, 186, 56, + 178, 204, 56, 56, 178, 212, 213, 180, 180, 122, 180, 30, 259, 260, 262, 263, 264, 265, 180, 180, 132, 180, 180, 180, 180, 182, 44, 172, 205, 162, - 205, 177, 193, 231, 193, 193, 201, 231, 193, 193, - 61, 213, 16, 15, 131, 231, 212, 131, 59, 211, - 59, 180, 229, 229, 254, 232, 14, 234, 131, 90, - 131, 231, 12, 231, 13, 22, 14, 131, 102, 25, - 209, 231, 231, 25, 25, 25, 25, 25, 131, 231, + 205, 177, 193, 232, 193, 193, 201, 232, 193, 193, + 61, 214, 16, 15, 131, 232, 212, 131, 59, 211, + 59, 180, 230, 230, 254, 233, 14, 235, 131, 90, + 131, 232, 12, 232, 13, 22, 14, 131, 102, 25, + 209, 232, 232, 25, 25, 25, 25, 25, 131, 232, 132, 131, 22, 14, 22, 14, 22, 14, 22, 12, - 18, 179, 11, 22, 211, 59, 99, 202, 231, 202, - 132, 256, 263, 132, 178, 194, 199, 202, 203, 231, - 259, 180, 201, 200, 231, 202, 202, 186, 180, 56, - 166, 22, 180, 226, 227, 164, 99, 213, 219, 131, - 227, 132, 178, 222, 223, 131, 23, 178, 255, 253, - 131, 14, 231, 12, 245, 132, 22, 14, 131, 254, - 12, 12, 12, 12, 180, 180, 11, 22, 252, 131, - 131, 257, 258, 263, 132, 180, 131, 22, 153, 202, - 131, 131, 131, 131, 12, 132, 178, 183, 56, 210, - 11, 211, 245, 99, 224, 11, 231, 90, 14, 254, - 12, 131, 22, 160, 180, 245, 181, 181, 15, 131, - 202, 202, 181, 151, 132, 131, 198, 198, 181, 181, - 184, 168, 253, 211, 186, 22, 228, 229, 218, 245, - 131, 230, 131, 88, 186, 145, 33, 34, 178, 195, - 195, 263, 132, 131, 131, 196, 200, 202, 181, 181, - 181, 263, 181, 22, 226, 12, 186, 178, 187, 12, - 186, 181, 132, 202, 181, 181, 22, 131, 196, 196, - 196, 185, 45, 197, 12, 22, 59, 191, 12, 202, - 131, 196, 196, 152, 181, 131, 177, 17, 87, 178, - 192, 131, 181, 198, 196, 186, 181, 196, 203, 88, - 195, 131, 181 + 18, 179, 11, 22, 213, 99, 202, 232, 202, 132, + 256, 263, 132, 178, 194, 199, 202, 203, 232, 259, + 180, 201, 200, 232, 202, 202, 186, 180, 56, 166, + 22, 180, 227, 228, 164, 99, 214, 220, 131, 228, + 132, 178, 223, 224, 131, 23, 178, 255, 253, 131, + 14, 232, 12, 246, 132, 22, 14, 131, 254, 12, + 12, 12, 12, 180, 180, 11, 22, 252, 131, 131, + 257, 258, 263, 132, 180, 131, 22, 153, 202, 131, + 131, 131, 131, 12, 132, 178, 183, 56, 210, 11, + 211, 246, 99, 225, 11, 232, 90, 14, 254, 12, + 131, 22, 160, 180, 246, 181, 181, 15, 131, 202, + 202, 181, 151, 132, 131, 198, 198, 181, 181, 184, + 168, 253, 211, 186, 22, 229, 230, 219, 246, 131, + 231, 131, 88, 186, 145, 33, 34, 178, 195, 195, + 263, 132, 131, 131, 196, 200, 202, 181, 181, 181, + 263, 181, 22, 227, 12, 186, 178, 187, 12, 186, + 181, 132, 202, 181, 181, 22, 131, 196, 196, 196, + 185, 45, 197, 12, 22, 59, 191, 12, 202, 131, + 196, 196, 152, 181, 131, 177, 17, 87, 178, 192, + 131, 181, 198, 196, 186, 181, 196, 203, 88, 195, + 131, 181 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1539,30 +1540,30 @@ static const yytype_int16 yyr1[] = 194, 194, 194, 195, 195, 195, 196, 196, 197, 197, 198, 199, 199, 200, 200, 201, 202, 203, 204, 204, 205, 206, 207, 208, 209, 209, 210, 210, 211, 211, - 211, 212, 212, 213, 213, 214, 214, 215, 215, 215, + 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, - 220, 221, 221, 222, 222, 223, 225, 224, 226, 226, - 227, 228, 228, 230, 229, 231, 231, 231, 231, 231, - 232, 232, 232, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 234, 233, 235, 235, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 221, 221, 221, 222, 222, 223, 223, 224, 226, 225, + 227, 227, 228, 229, 229, 231, 230, 232, 232, 232, + 232, 232, 233, 233, 233, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 235, 234, 236, + 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, - 239, 239, 240, 240, 240, 240, 241, 241, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, - 243, 243, 243, 243, 243, 244, 244, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 246, 245, 245, 245, 245, - 247, 247, 247, 247, 248, 248, 248, 248, 248, 249, - 249, 249, 250, 250, 250, 251, 252, 251, 253, 253, - 254, 254, 255, 255, 256, 257, 257, 257, 258, 259, - 259, 259, 260, 260, 261, 261, 262, 263, 264, 265, - 266, 266, 267, 268, 268, 269, 269, 270, 270, 271, - 271, 271, 271 + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, + 239, 239, 240, 240, 241, 241, 241, 241, 242, 242, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, + 244, 244, 244, 244, 244, 244, 244, 245, 245, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 247, 246, 246, + 246, 246, 248, 248, 248, 248, 249, 249, 249, 249, + 249, 250, 250, 250, 251, 252, 251, 253, 253, 254, + 254, 255, 255, 256, 257, 257, 257, 258, 259, 259, + 259, 260, 260, 261, 261, 262, 263, 264, 265, 266, + 266, 267, 268, 268, 269, 269, 270, 270, 271, 271, + 271, 271 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1582,30 +1583,30 @@ static const yytype_int8 yyr2[] = 3, 3, 3, 1, 2, 6, 1, 2, 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, - 1, 2, 1, 0, 1, 1, 1, 2, 3, 4, - 0, 1, 3, 5, 0, 1, 1, 1, 2, 3, - 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, - 4, 1, 1, 0, 6, 3, 3, 3, 3, 1, - 2, 3, 1, 3, 3, 5, 6, 3, 7, 4, - 3, 5, 2, 4, 4, 0, 5, 1, 1, 5, - 4, 5, 4, 5, 6, 5, 4, 5, 4, 3, - 6, 4, 5, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 1, 1, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 1, 3, 2, 2, 3, - 3, 3, 1, 3, 2, 2, 3, 3, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, - 4, 4, 3, 4, 3, 2, 2, 1, 1, 1, - 1, 5, 2, 1, 2, 3, 1, 2, 1, 1, - 1, 1, 1, 1, 4, 4, 5, 5, 1, 1, - 3, 4, 3, 4, 4, 4, 4, 4, 1, 2, - 2, 1, 2, 2, 1, 2, 1, 2, 1, 3, - 1, 3, 1, 3, 4, 0, 6, 1, 1, 1, - 3, 2, 4, 3, 3, 2, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 3, 0, 6, 1, 1, - 1, 1, 1, 2, 1, 2, 3, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 4, 2, 1, 3, 1, 3, 1, 3, 1, - 1, 1, 1 + 1, 2, 1, 1, 1, 0, 1, 1, 1, 2, + 3, 4, 0, 1, 3, 5, 0, 1, 1, 1, + 2, 3, 1, 1, 1, 1, 1, 3, 0, 2, + 1, 1, 4, 1, 1, 0, 6, 3, 3, 3, + 3, 1, 2, 3, 1, 3, 3, 5, 6, 3, + 7, 4, 3, 5, 2, 4, 4, 0, 5, 1, + 1, 5, 4, 5, 4, 5, 6, 5, 4, 5, + 4, 3, 6, 4, 5, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 1, 1, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, + 2, 3, 3, 3, 1, 3, 2, 2, 3, 3, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, + 4, 5, 4, 4, 3, 4, 3, 2, 2, 1, + 1, 1, 1, 5, 2, 1, 2, 3, 1, 2, + 1, 1, 1, 1, 1, 1, 4, 4, 5, 5, + 1, 1, 3, 4, 3, 4, 4, 4, 4, 4, + 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, + 1, 3, 1, 3, 1, 3, 4, 0, 6, 1, + 1, 1, 3, 2, 4, 3, 3, 2, 1, 1, + 1, 1, 1, 1, 3, 0, 6, 1, 1, 1, + 1, 1, 2, 1, 2, 3, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, + 4, 2, 1, 3, 1, 3, 1, 3, 1, 1, + 1, 1 }; typedef enum { @@ -1662,20 +1663,21 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_opval, - toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, + toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, + toketype_opval, toketype_opval, toketype_pval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval + toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, + toketype_opval }; /* Generated from: - * 1579ea304eb388b1cee0a714a2acd39920dbe5a8a06aa165703783e2c2dc2502 perly.y + * 57cc742fa623ae44e0575b737db1c674688361cd405620798cf50de0d81cadfc perly.y * f13e9c08cea6302f0c1d1f467405bd0e0880d0ea92d0669901017a7f7e94ab28 regen_perly.pl * ex: set ro ft=c: */ diff --git a/perly.y b/perly.y index f13efcd810e0..da5eb04280e2 100644 --- a/perly.y +++ b/perly.y @@ -135,9 +135,9 @@ %type optlistexpr optexpr optrepl indirob listop methodname %type formname subname proto cont my_scalar my_var %type list_of_scalars my_list_of_scalars refgen_topic formblock -%type subattrlist myattrlist myattrterm myterm +%type subattrlist attrlist optattrlist myattrterm myterm %type fieldvar /* pval is PADNAME */ -%type optfieldattrlist fielddecl +%type fielddecl %type termbinop termunop anonymous termdo %type termrelop relopchain termeqop eqopchain %type sigslurpsigil sigvar @@ -278,14 +278,14 @@ bare_statement_class_declaration : KW_CLASS BAREWORD[version] BAREWORD[package] - subattrlist + optattrlist PERLY_SEMICOLON { package ($package, $version); $$ = NULL; class_setup_stash(PL_curstash); - if ($subattrlist) { - class_apply_attributes(PL_curstash, $subattrlist); + if ($optattrlist) { + class_apply_attributes(PL_curstash, $optattrlist); } } ; @@ -294,14 +294,14 @@ bare_statement_class_definition : KW_CLASS BAREWORD[version] BAREWORD[package] - subattrlist + optattrlist PERLY_BRACE_OPEN remember { package ($package, $version); class_setup_stash(PL_curstash); - if ($subattrlist) { - class_apply_attributes(PL_curstash, $subattrlist); + if ($optattrlist) { + class_apply_attributes(PL_curstash, $optattrlist); } } stmtseq @@ -1062,13 +1062,17 @@ subattrlist { $$ = NULL; } ; -/* List of attributes for a "my" variable declaration */ -myattrlist: COLONATTR THING +/* List of attributes for some other kind of declaration (variables, classes) */ +attrlist: COLONATTR THING { $$ = $THING; } | COLONATTR { $$ = NULL; } ; +optattrlist + : empty + | attrlist + ; /* -------------------------------------- @@ -1708,12 +1712,12 @@ term[product] : termbinop /* "my" declarations, with optional attributes */ myattrterm - : KW_MY myterm myattrlist - { $$ = my_attrs($myterm,$myattrlist); } + : KW_MY myterm attrlist + { $$ = my_attrs($myterm,$attrlist); } | KW_MY myterm { $$ = localize($myterm,1); } - | KW_MY REFGEN myterm myattrlist - { $$ = newUNOP(OP_REFGEN, 0, my_attrs($myterm,$myattrlist)); } + | KW_MY REFGEN myterm attrlist + { $$ = newUNOP(OP_REFGEN, 0, my_attrs($myterm,$attrlist)); } | KW_MY REFGEN term[operand] { $$ = newUNOP(OP_REFGEN, 0, localize($operand,1)); } ; @@ -1750,27 +1754,19 @@ fieldvar: scalar %prec PERLY_PAREN_OPEN } ; -optfieldattrlist: - COLONATTR THING - { $$ = $THING; } - | COLONATTR - { $$ = NULL; } - | empty - ; - fielddecl - : KW_FIELD fieldvar optfieldattrlist + : KW_FIELD fieldvar optattrlist { parser->in_my = 0; - if($optfieldattrlist) - class_apply_field_attributes((PADNAME *)$fieldvar, $optfieldattrlist); + if($optattrlist) + class_apply_field_attributes((PADNAME *)$fieldvar, $optattrlist); $$ = newOP(OP_NULL, 0); } - | KW_FIELD fieldvar optfieldattrlist ASSIGNOP + | KW_FIELD fieldvar optattrlist ASSIGNOP { parser->in_my = 0; - if($optfieldattrlist) - class_apply_field_attributes((PADNAME *)$fieldvar, $optfieldattrlist); + if($optattrlist) + class_apply_field_attributes((PADNAME *)$fieldvar, $optattrlist); ENTER; class_prepare_initfield_parse(); }