Add tests for syntax errors in "package Name VERSION"
[p5sagit/p5-mst-13.2.git] / perly.act
CommitLineData
0de566d7 1case 2:
f20dcd76 2#line 142 "perly.y"
1654d593 3 { (yyval.ival) = (ps[(1) - (2)].val.ival); newPROG(block_end((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval))); ;}
0de566d7 4 break;
5
6 case 3:
f20dcd76 7#line 147 "perly.y"
53a7735b 8 { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
9 PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
1654d593 10 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
11 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
12 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 13 ;}
0de566d7 14 break;
15
16 case 4:
f20dcd76 17#line 156 "perly.y"
9a9798c2 18 { (yyval.ival) = block_start(TRUE); ;}
0de566d7 19 break;
20
21 case 5:
f20dcd76 22#line 160 "perly.y"
0d863452 23 { (yyval.ival) = (I32) allocmy("$_"); ;}
24 break;
25
26 case 6:
f20dcd76 27#line 164 "perly.y"
0de566d7 28 {
53a7735b 29 PL_parser->expect = XSTATE; (yyval.ival) = block_start(TRUE);
0de566d7 30 ;}
31 break;
32
0d863452 33 case 7:
f20dcd76 34#line 171 "perly.y"
53a7735b 35 { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
36 PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
1654d593 37 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
38 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
39 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 40 ;}
0de566d7 41 break;
42
0d863452 43 case 8:
f20dcd76 44#line 180 "perly.y"
9a9798c2 45 { (yyval.ival) = block_start(FALSE); ;}
0de566d7 46 break;
47
0d863452 48 case 9:
f20dcd76 49#line 185 "perly.y"
bcabcc50 50 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 51 break;
52
503de470 53 case 10:
f20dcd76 54#line 187 "perly.y"
f05e27e5 55 {
56 (yyval.opval) = IF_MAD(
57 append_list(OP_LINESEQ,
1654d593 58 (LISTOP*)(ps[(1) - (2)].val.opval), (LISTOP*)(ps[(2) - (2)].val.opval)),
59 (ps[(1) - (2)].val.opval));
f05e27e5 60 ;}
0de566d7 61 break;
62
503de470 63 case 11:
f20dcd76 64#line 194 "perly.y"
503de470 65 { (yyval.opval) = append_list(OP_LINESEQ,
66 (LISTOP*)(ps[(1) - (2)].val.opval), (LISTOP*)(ps[(2) - (2)].val.opval));
500bedb6 67 PL_pad_reset_pending = TRUE;
503de470 68 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
69 PL_hints |= HINT_BLOCK_SCOPE;
70 ;}
500bedb6 71 break;
72
503de470 73 case 12:
f20dcd76 74#line 204 "perly.y"
1654d593 75 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
76 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
0d863452 77 break;
78
503de470 79 case 14:
f20dcd76 80#line 208 "perly.y"
1654d593 81 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0d863452 82 break;
83
503de470 84 case 15:
f20dcd76 85#line 210 "perly.y"
1654d593 86 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); ;}
0de566d7 87 break;
88
503de470 89 case 16:
f20dcd76 90#line 212 "perly.y"
f05e27e5 91 {
1654d593 92 if (PVAL((ps[(1) - (2)].val.p_tkval))) {
93 (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), newOP(OP_NULL, 0));
94 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),(yyval.opval),'L');
95 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first,';');
f05e27e5 96 }
97 else {
98 (yyval.opval) = IF_MAD(
99 newOP(OP_NULL, 0),
bcabcc50 100 (OP*)NULL);
53a7735b 101 PL_parser->copline = NOLINE;
1654d593 102 TOKEN_FREE((ps[(1) - (2)].val.p_tkval));
103 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
f05e27e5 104 }
53a7735b 105 PL_parser->expect = XSTATE;
f05e27e5 106 ;}
0de566d7 107 break;
108
503de470 109 case 17:
f20dcd76 110#line 229 "perly.y"
f05e27e5 111 {
1654d593 112 (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)), (ps[(2) - (3)].val.opval));
53a7735b 113 PL_parser->expect = XSTATE;
035e2bcc 114 DO_MAD({
f05e27e5 115 /* sideff might already have a nexstate */
116 OP* op = ((LISTOP*)(yyval.opval))->op_first;
117 if (op) {
118 while (op->op_sibling &&
119 op->op_sibling->op_type == OP_NEXTSTATE)
120 op = op->op_sibling;
1654d593 121 token_getmad((ps[(1) - (3)].val.p_tkval),op,'L');
122 token_getmad((ps[(3) - (3)].val.i_tkval),op,';');
f05e27e5 123 }
035e2bcc 124 })
f05e27e5 125 ;}
0de566d7 126 break;
127
503de470 128 case 18:
f20dcd76 129#line 248 "perly.y"
bcabcc50 130 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 131 break;
132
503de470 133 case 19:
f20dcd76 134#line 250 "perly.y"
1654d593 135 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 136 break;
137
503de470 138 case 20:
f20dcd76 139#line 252 "perly.y"
1654d593 140 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
141 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
f05e27e5 142 ;}
0de566d7 143 break;
144
503de470 145 case 21:
f20dcd76 146#line 256 "perly.y"
1654d593 147 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
148 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
f05e27e5 149 ;}
0de566d7 150 break;
151
503de470 152 case 22:
f20dcd76 153#line 260 "perly.y"
1654d593 154 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
155 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
f05e27e5 156 ;}
0de566d7 157 break;
158
503de470 159 case 23:
f20dcd76 160#line 264 "perly.y"
1654d593 161 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
162 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
f05e27e5 163 ;}
0de566d7 164 break;
165
503de470 166 case 24:
f20dcd76 167#line 268 "perly.y"
1a9a51d4 168 { (yyval.opval) = newFOROP(0, NULL, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)),
bcabcc50 169 (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
1654d593 170 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
f05e27e5 171 ;}
0de566d7 172 break;
173
503de470 174 case 25:
f20dcd76 175#line 273 "perly.y"
176 { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), scope((ps[(1) - (3)].val.opval))); ;}
0de566d7 177 break;
178
503de470 179 case 26:
f20dcd76 180#line 278 "perly.y"
181 { (yyval.opval) = (OP*)NULL; ;}
182 break;
183
184 case 27:
185#line 280 "perly.y"
1654d593 186 { ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((ps[(2) - (2)].val.opval));
187 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 188 ;}
0de566d7 189 break;
190
f20dcd76 191 case 28:
192#line 284 "perly.y"
53a7735b 193 { PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
f6f3a1fe 194 (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)), scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
f05e27e5 195 PL_hints |= HINT_BLOCK_SCOPE;
1654d593 196 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I');
197 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'(');
198 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),')');
f05e27e5 199 ;}
0de566d7 200 break;
201
f20dcd76 202 case 29:
203#line 295 "perly.y"
53a7735b 204 { PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
1654d593 205 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
206 newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
207 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
208 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
209 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
f05e27e5 210 ;}
0de566d7 211 break;
212
f20dcd76 213 case 30:
214#line 303 "perly.y"
53a7735b 215 { PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
1654d593 216 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
217 newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
218 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
219 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
220 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
f05e27e5 221 ;}
0de566d7 222 break;
223
f20dcd76 224 case 31:
225#line 314 "perly.y"
1654d593 226 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
227 newWHENOP((ps[(4) - (6)].val.opval), scope((ps[(6) - (6)].val.opval)))); ;}
0d863452 228 break;
229
f20dcd76 230 case 32:
231#line 317 "perly.y"
1654d593 232 { (yyval.opval) = newWHENOP(0, scope((ps[(2) - (2)].val.opval))); ;}
0d863452 233 break;
234
f20dcd76 235 case 33:
236#line 322 "perly.y"
bcabcc50 237 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 238 break;
239
f20dcd76 240 case 34:
241#line 324 "perly.y"
1654d593 242 { (yyval.opval) = scope((ps[(2) - (2)].val.opval));
243 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 244 ;}
0de566d7 245 break;
246
f20dcd76 247 case 35:
248#line 331 "perly.y"
f05e27e5 249 { OP *innerop;
53a7735b 250 PL_parser->copline = (line_t)(ps[(2) - (9)].val.i_tkval);
1654d593 251 (yyval.opval) = block_end((ps[(4) - (9)].val.ival),
252 newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
bcabcc50 253 innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
1654d593 254 IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival))));
255 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
256 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
257 TOKEN_GETMAD((ps[(3) - (9)].val.i_tkval),innerop,'(');
258 TOKEN_GETMAD((ps[(6) - (9)].val.i_tkval),innerop,')');
f05e27e5 259 ;}
0de566d7 260 break;
261
f20dcd76 262 case 36:
263#line 344 "perly.y"
f05e27e5 264 { OP *innerop;
53a7735b 265 PL_parser->copline = (line_t)(ps[(2) - (9)].val.i_tkval);
1654d593 266 (yyval.opval) = block_end((ps[(4) - (9)].val.ival),
267 newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
bcabcc50 268 innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
1654d593 269 IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival))));
270 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
271 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
272 TOKEN_GETMAD((ps[(3) - (9)].val.i_tkval),innerop,'(');
273 TOKEN_GETMAD((ps[(6) - (9)].val.i_tkval),innerop,')');
f05e27e5 274 ;}
0de566d7 275 break;
276
f20dcd76 277 case 37:
278#line 356 "perly.y"
f05e27e5 279 { OP *innerop;
1654d593 280 (yyval.opval) = block_end((ps[(4) - (10)].val.ival),
281 innerop = newFOROP(0, PVAL((ps[(1) - (10)].val.p_tkval)), (line_t)IVAL((ps[(2) - (10)].val.i_tkval)),
282 (ps[(5) - (10)].val.opval), (ps[(7) - (10)].val.opval), (ps[(9) - (10)].val.opval), (ps[(10) - (10)].val.opval)));
283 TOKEN_GETMAD((ps[(1) - (10)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
284 TOKEN_GETMAD((ps[(2) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
285 TOKEN_GETMAD((ps[(3) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'d');
286 TOKEN_GETMAD((ps[(6) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
287 TOKEN_GETMAD((ps[(8) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
f05e27e5 288 ;}
0de566d7 289 break;
290
f20dcd76 291 case 38:
292#line 367 "perly.y"
f05e27e5 293 { OP *innerop;
1654d593 294 (yyval.opval) = block_end((ps[(5) - (9)].val.ival),
295 innerop = newFOROP(0, PVAL((ps[(1) - (9)].val.p_tkval)), (line_t)IVAL((ps[(2) - (9)].val.i_tkval)),
296 mod((ps[(3) - (9)].val.opval), OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
297 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
298 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
299 TOKEN_GETMAD((ps[(4) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
300 TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
f05e27e5 301 ;}
0de566d7 302 break;
303
f20dcd76 304 case 39:
305#line 377 "perly.y"
f05e27e5 306 { OP *innerop;
1654d593 307 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
308 innerop = newFOROP(0, PVAL((ps[(1) - (8)].val.p_tkval)), (line_t)IVAL((ps[(2) - (8)].val.i_tkval)),
bcabcc50 309 (OP*)NULL, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
1654d593 310 TOKEN_GETMAD((ps[(1) - (8)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
311 TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
312 TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
313 TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
f05e27e5 314 ;}
0de566d7 315 break;
316
f20dcd76 317 case 40:
318#line 389 "perly.y"
0de566d7 319 { OP *forop;
53a7735b 320 PL_parser->copline = (line_t)IVAL((ps[(2) - (12)].val.i_tkval));
1654d593 321 forop = newSTATEOP(0, PVAL((ps[(1) - (12)].val.p_tkval)),
bcabcc50 322 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
1654d593 323 IVAL((ps[(2) - (12)].val.i_tkval)), scalar((ps[(7) - (12)].val.opval)),
324 (ps[(12) - (12)].val.opval), (ps[(10) - (12)].val.opval), (ps[(9) - (12)].val.ival)));
f05e27e5 325#ifdef MAD
f05e27e5 326 forop = newUNOP(OP_NULL, 0, append_elem(OP_LINESEQ,
327 newSTATEOP(0,
63031daf 328 CopLABEL_alloc(((ps[(1) - (12)].val.p_tkval))->tk_lval.pval),
700f8fa5 329 ((ps[(5) - (12)].val.opval) ? (ps[(5) - (12)].val.opval) : newOP(OP_NULL, 0)) ),
f05e27e5 330 forop));
331
1654d593 332 token_getmad((ps[(2) - (12)].val.i_tkval),forop,'3');
333 token_getmad((ps[(3) - (12)].val.i_tkval),forop,'(');
334 token_getmad((ps[(6) - (12)].val.i_tkval),forop,'1');
335 token_getmad((ps[(8) - (12)].val.i_tkval),forop,'2');
336 token_getmad((ps[(11) - (12)].val.i_tkval),forop,')');
337 token_getmad((ps[(1) - (12)].val.p_tkval),forop,'L');
f05e27e5 338#else
1654d593 339 if ((ps[(5) - (12)].val.opval)) {
0de566d7 340 forop = append_elem(OP_LINESEQ,
63031daf 341 newSTATEOP(0, CopLABEL_alloc((ps[(1) - (12)].val.p_tkval)), (ps[(5) - (12)].val.opval)),
0de566d7 342 forop);
343 }
344
f05e27e5 345
346#endif
1654d593 347 (yyval.opval) = block_end((ps[(4) - (12)].val.ival), forop); ;}
0de566d7 348 break;
349
f20dcd76 350 case 41:
351#line 419 "perly.y"
1654d593 352 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)),
bcabcc50 353 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
354 NOLINE, (OP*)NULL, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
1654d593 355 TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
0de566d7 356 break;
357
f20dcd76 358 case 42:
359#line 427 "perly.y"
53a7735b 360 { PL_parser->copline = (line_t) (ps[(2) - (8)].val.i_tkval);
1654d593 361 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
362 newSTATEOP(0, PVAL((ps[(1) - (8)].val.p_tkval)),
363 newGIVENOP((ps[(6) - (8)].val.opval), scope((ps[(8) - (8)].val.opval)),
364 (PADOFFSET) (ps[(5) - (8)].val.ival)) )); ;}
0d863452 365 break;
366
f20dcd76 367 case 43:
368#line 436 "perly.y"
9a9798c2 369 { (yyval.ival) = (PL_min_intro_pending &&
a034e688 370 PL_max_intro_pending >= PL_min_intro_pending);
371 intro_my(); ;}
0de566d7 372 break;
373
f20dcd76 374 case 44:
375#line 442 "perly.y"
bcabcc50 376 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 377 break;
378
f20dcd76 379 case 46:
380#line 448 "perly.y"
f05e27e5 381 { YYSTYPE tmplval;
382 (void)scan_num("1", &tmplval);
383 (yyval.opval) = tmplval.opval; ;}
0de566d7 384 break;
385
503de470 386 case 48:
f20dcd76 387#line 456 "perly.y"
388 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7 389 break;
390
503de470 391 case 49:
f20dcd76 392#line 461 "perly.y"
1654d593 393 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
0de566d7 394 break;
395
503de470 396 case 50:
f20dcd76 397#line 465 "perly.y"
1654d593 398 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
0de566d7 399 break;
400
503de470 401 case 51:
f20dcd76 402#line 469 "perly.y"
403 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
404 break;
405
406 case 52:
407#line 474 "perly.y"
f05e27e5 408 {
409#ifdef MAD
410 YYSTYPE tmplval;
1a9a51d4 411 tmplval.pval = NULL;
f05e27e5 412 (yyval.p_tkval) = newTOKEN(OP_NULL, tmplval, 0);
413#else
1a9a51d4 414 (yyval.p_tkval) = NULL;
f05e27e5 415#endif
416 ;}
0de566d7 417 break;
418
0d863452 419 case 54:
f20dcd76 420#line 488 "perly.y"
1654d593 421 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 422 break;
423
0d863452 424 case 55:
f20dcd76 425#line 490 "perly.y"
1654d593 426 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 427 break;
428
0d863452 429 case 56:
f20dcd76 430#line 492 "perly.y"
1654d593 431 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 432 break;
433
0d863452 434 case 57:
f20dcd76 435#line 494 "perly.y"
1654d593 436 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 437 break;
438
0d863452 439 case 58:
f20dcd76 440#line 496 "perly.y"
1654d593 441 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 442 break;
443
0d863452 444 case 59:
f20dcd76 445#line 501 "perly.y"
446 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
447 break;
448
449 case 60:
450#line 505 "perly.y"
f05e27e5 451 { (yyval.opval) = newOP(OP_NULL,0);
1654d593 452 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
f05e27e5 453 ;}
0de566d7 454 break;
455
f20dcd76 456 case 61:
457#line 511 "perly.y"
5a5094bd 458 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 459#ifdef MAD
1654d593 460 (yyval.opval) = newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
461 prepend_madprops((ps[(1) - (4)].val.i_tkval)->tk_mad, (yyval.opval), 'F');
462 (ps[(1) - (4)].val.i_tkval)->tk_mad = 0;
463 token_free((ps[(1) - (4)].val.i_tkval));
f05e27e5 464#else
1654d593 465 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
bcabcc50 466 (yyval.opval) = (OP*)NULL;
f05e27e5 467#endif
468 ;}
0de566d7 469 break;
470
f20dcd76 471 case 62:
472#line 524 "perly.y"
1654d593 473 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 474 break;
475
f20dcd76 476 case 63:
477#line 525 "perly.y"
bcabcc50 478 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 479 break;
480
f20dcd76 481 case 64:
482#line 530 "perly.y"
5a5094bd 483 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 484#ifdef MAD
1654d593 485 (yyval.opval) = newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
486 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
f05e27e5 487#else
1654d593 488 newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
bcabcc50 489 (yyval.opval) = (OP*)NULL;
f05e27e5 490#endif
491 ;}
492 break;
493
f20dcd76 494 case 65:
495#line 543 "perly.y"
5a5094bd 496 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 497#ifdef MAD
035e2bcc 498 {
499 OP* o = newSVOP(OP_ANONCODE, 0,
500 (SV*)newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval)));
501 (yyval.opval) = newOP(OP_NULL,0);
502 op_getmad(o,(yyval.opval),'&');
503 op_getmad((ps[(3) - (6)].val.opval),(yyval.opval),'n');
504 op_getmad((ps[(4) - (6)].val.opval),(yyval.opval),'s');
505 op_getmad((ps[(5) - (6)].val.opval),(yyval.opval),'a');
506 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
507 append_madprops((ps[(6) - (6)].val.opval)->op_madprop, (yyval.opval), 0);
508 (ps[(6) - (6)].val.opval)->op_madprop = 0;
509 }
f05e27e5 510#else
1654d593 511 newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
bcabcc50 512 (yyval.opval) = (OP*)NULL;
f05e27e5 513#endif
514 ;}
515 break;
516
f20dcd76 517 case 66:
518#line 565 "perly.y"
2af555bf 519 { (yyval.ival) = start_subparse(FALSE, 0);
a8ff2fa6 520 SAVEFREESV(PL_compcv); ;}
0de566d7 521 break;
522
f20dcd76 523 case 67:
524#line 571 "perly.y"
2af555bf 525 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
a8ff2fa6 526 SAVEFREESV(PL_compcv); ;}
500bedb6 527 break;
528
f20dcd76 529 case 68:
530#line 576 "perly.y"
2af555bf 531 { (yyval.ival) = start_subparse(TRUE, 0);
532 SAVEFREESV(PL_compcv); ;}
533 break;
534
f20dcd76 535 case 69:
536#line 581 "perly.y"
1654d593 537 { const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv);
0de566d7 538 if (strEQ(name, "BEGIN") || strEQ(name, "END")
3c10abe3 539 || strEQ(name, "INIT") || strEQ(name, "CHECK")
540 || strEQ(name, "UNITCHECK"))
0de566d7 541 CvSPECIAL_on(PL_compcv);
1654d593 542 (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 543 break;
544
f20dcd76 545 case 70:
546#line 591 "perly.y"
bcabcc50 547 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 548 break;
549
f20dcd76 550 case 72:
551#line 597 "perly.y"
bcabcc50 552 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 553 break;
554
f20dcd76 555 case 73:
556#line 599 "perly.y"
1654d593 557 { (yyval.opval) = (ps[(2) - (2)].val.opval);
558 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
f05e27e5 559 ;}
0de566d7 560 break;
561
f20dcd76 562 case 74:
563#line 603 "perly.y"
f05e27e5 564 { (yyval.opval) = IF_MAD(
565 newOP(OP_NULL, 0),
bcabcc50 566 (OP*)NULL
f05e27e5 567 );
1654d593 568 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
f05e27e5 569 ;}
0de566d7 570 break;
571
f20dcd76 572 case 75:
573#line 613 "perly.y"
1654d593 574 { (yyval.opval) = (ps[(2) - (2)].val.opval);
575 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
f05e27e5 576 ;}
0de566d7 577 break;
578
f20dcd76 579 case 76:
580#line 617 "perly.y"
f05e27e5 581 { (yyval.opval) = IF_MAD(
582 newOP(OP_NULL, 0),
bcabcc50 583 (OP*)NULL
f05e27e5 584 );
1654d593 585 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
f05e27e5 586 ;}
0de566d7 587 break;
588
f20dcd76 589 case 77:
590#line 626 "perly.y"
1654d593 591 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 592 break;
593
f20dcd76 594 case 78:
595#line 627 "perly.y"
f05e27e5 596 { (yyval.opval) = IF_MAD(
597 newOP(OP_NULL,0),
bcabcc50 598 (OP*)NULL
f05e27e5 599 );
53a7735b 600 PL_parser->expect = XSTATE;
1654d593 601 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
f05e27e5 602 ;}
0de566d7 603 break;
604
f20dcd76 605 case 79:
606#line 637 "perly.y"
f05e27e5 607 {
6fa4d285 608 package((ps[(3) - (4)].val.opval));
609 if ((ps[(2) - (4)].val.opval)) {
610 package_version((ps[(2) - (4)].val.opval));
611 }
bcabcc50 612 (yyval.opval) = (OP*)NULL;
f05e27e5 613 ;}
0de566d7 614 break;
615
f20dcd76 616 case 80:
6fa4d285 617#line 647 "perly.y"
f05e27e5 618 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
0de566d7 619 break;
620
f20dcd76 621 case 81:
6fa4d285 622#line 649 "perly.y"
5a5094bd 623 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 624#ifdef MAD
1654d593 625 (yyval.opval) = utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
626 token_getmad((ps[(1) - (7)].val.i_tkval),(yyval.opval),'o');
627 token_getmad((ps[(7) - (7)].val.i_tkval),(yyval.opval),';');
5486870f 628 if (PL_parser->rsfp_filters &&
629 AvFILLp(PL_parser->rsfp_filters) >= 0)
a22f28a4 630 append_madprops(newMADPROP('!', MAD_NULL, NULL, 0), (yyval.opval), 0);
f05e27e5 631#else
1654d593 632 utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
bcabcc50 633 (yyval.opval) = (OP*)NULL;
f05e27e5 634#endif
635 ;}
500bedb6 636 break;
637
f20dcd76 638 case 82:
6fa4d285 639#line 666 "perly.y"
1654d593 640 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
641 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 642 ;}
0de566d7 643 break;
644
f20dcd76 645 case 83:
6fa4d285 646#line 670 "perly.y"
1654d593 647 { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
648 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 649 ;}
0de566d7 650 break;
651
f20dcd76 652 case 84:
6fa4d285 653#line 674 "perly.y"
1654d593 654 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
655 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 656 ;}
0de566d7 657 break;
658
f20dcd76 659 case 86:
6fa4d285 660#line 682 "perly.y"
f05e27e5 661 {
662#ifdef MAD
663 OP* op = newNULLLIST();
1654d593 664 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
665 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
f05e27e5 666#else
1654d593 667 (yyval.opval) = (ps[(1) - (2)].val.opval);
f05e27e5 668#endif
669 ;}
0de566d7 670 break;
671
f20dcd76 672 case 87:
6fa4d285 673#line 692 "perly.y"
f05e27e5 674 {
1654d593 675 OP* term = (ps[(3) - (3)].val.opval);
f05e27e5 676 DO_MAD(
29522234 677 term = newUNOP(OP_NULL, 0, term);
1654d593 678 token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
f05e27e5 679 )
1654d593 680 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
f05e27e5 681 ;}
0de566d7 682 break;
683
f20dcd76 684 case 89:
6fa4d285 685#line 705 "perly.y"
1654d593 686 { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
687 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
688 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 689 ;}
0de566d7 690 break;
691
f20dcd76 692 case 90:
6fa4d285 693#line 710 "perly.y"
1654d593 694 { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
695 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
696 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
697 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
698 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 699 ;}
0de566d7 700 break;
701
f20dcd76 702 case 91:
6fa4d285 703#line 717 "perly.y"
9a9798c2 704 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
0de566d7 705 append_elem(OP_LIST,
1654d593 706 prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
707 newUNOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
708 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
709 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
710 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
f05e27e5 711 ;}
0de566d7 712 break;
713
f20dcd76 714 case 92:
6fa4d285 715#line 726 "perly.y"
9a9798c2 716 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
1654d593 717 append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
718 newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
719 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
f05e27e5 720 ;}
0de566d7 721 break;
722
f20dcd76 723 case 93:
6fa4d285 724#line 732 "perly.y"
f05e27e5 725 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
726 append_elem(OP_LIST,
1654d593 727 prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
728 newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
f05e27e5 729 ;}
0de566d7 730 break;
731
f20dcd76 732 case 94:
6fa4d285 733#line 738 "perly.y"
f05e27e5 734 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
735 append_elem(OP_LIST,
1654d593 736 prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
737 newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
738 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
739 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 740 ;}
0de566d7 741 break;
742
f20dcd76 743 case 95:
6fa4d285 744#line 746 "perly.y"
1654d593 745 { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
746 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 747 ;}
0de566d7 748 break;
749
f20dcd76 750 case 96:
6fa4d285 751#line 750 "perly.y"
1654d593 752 { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
753 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
754 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
755 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 756 ;}
0de566d7 757 break;
758
f20dcd76 759 case 97:
6fa4d285 760#line 756 "perly.y"
5a5094bd 761 { SvREFCNT_inc_simple_void(PL_compcv);
bcabcc50 762 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
0de566d7 763 break;
764
f20dcd76 765 case 98:
6fa4d285 766#line 759 "perly.y"
f05e27e5 767 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
768 append_elem(OP_LIST,
1654d593 769 prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
f05e27e5 770 ;}
0de566d7 771 break;
772
f20dcd76 773 case 101:
6fa4d285 774#line 774 "perly.y"
1654d593 775 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
53a7735b 776 PL_parser->expect = XOPERATOR;
1654d593 777 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
778 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
779 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 780 ;}
0de566d7 781 break;
782
f20dcd76 783 case 102:
6fa4d285 784#line 781 "perly.y"
1654d593 785 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
786 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
787 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
f05e27e5 788 ;}
0de566d7 789 break;
790
f20dcd76 791 case 103:
6fa4d285 792#line 786 "perly.y"
f05e27e5 793 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593 794 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
795 scalar((ps[(4) - (5)].val.opval)));
796 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
797 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
798 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
f05e27e5 799 ;}
0de566d7 800 break;
801
f20dcd76 802 case 104:
6fa4d285 803#line 794 "perly.y"
f05e27e5 804 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593 805 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
806 scalar((ps[(3) - (4)].val.opval)));
807 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
808 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
f05e27e5 809 ;}
0de566d7 810 break;
811
f20dcd76 812 case 105:
6fa4d285 813#line 801 "perly.y"
1654d593 814 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 815 PL_parser->expect = XOPERATOR;
1654d593 816 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
817 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
818 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 819 ;}
0de566d7 820 break;
821
f20dcd76 822 case 106:
6fa4d285 823#line 808 "perly.y"
f05e27e5 824 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593 825 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
826 jmaybe((ps[(4) - (6)].val.opval)));
53a7735b 827 PL_parser->expect = XOPERATOR;
1654d593 828 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'a');
829 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
830 TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
831 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
f05e27e5 832 ;}
0de566d7 833 break;
834
f20dcd76 835 case 107:
6fa4d285 836#line 818 "perly.y"
f05e27e5 837 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593 838 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
839 jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 840 PL_parser->expect = XOPERATOR;
1654d593 841 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
842 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
843 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 844 ;}
0de566d7 845 break;
846
f20dcd76 847 case 108:
6fa4d285 848#line 827 "perly.y"
9a9798c2 849 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 850 newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
851 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
852 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
853 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 854 ;}
0de566d7 855 break;
856
f20dcd76 857 case 109:
6fa4d285 858#line 834 "perly.y"
9a9798c2 859 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 860 append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
861 newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
862 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
863 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
864 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 865 ;}
0de566d7 866 break;
867
f20dcd76 868 case 110:
6fa4d285 869#line 843 "perly.y"
f05e27e5 870 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 871 append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
872 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
873 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
874 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 875 ;}
0de566d7 876 break;
877
f20dcd76 878 case 111:
6fa4d285 879#line 850 "perly.y"
f05e27e5 880 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 881 newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
882 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
883 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 884 ;}
0de566d7 885 break;
886
f20dcd76 887 case 112:
6fa4d285 888#line 856 "perly.y"
1654d593 889 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
890 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
891 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
892 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
893 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
f05e27e5 894 ;}
0de566d7 895 break;
896
f20dcd76 897 case 113:
6fa4d285 898#line 863 "perly.y"
bcabcc50 899 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
1654d593 900 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
901 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
902 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
903 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
f05e27e5 904 ;}
0de566d7 905 break;
906
f20dcd76 907 case 114:
6fa4d285 908#line 873 "perly.y"
1654d593 909 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
910 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 911 ;}
0de566d7 912 break;
913
f20dcd76 914 case 115:
6fa4d285 915#line 877 "perly.y"
1654d593 916 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
917 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 918 ;}
0de566d7 919 break;
920
f20dcd76 921 case 116:
6fa4d285 922#line 881 "perly.y"
1654d593 923 { if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
924 scalar((ps[(1) - (3)].val.opval));
925 (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
926 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 927 ;}
0de566d7 928 break;
929
718a7425 930 case 117:
6fa4d285 931#line 887 "perly.y"
1654d593 932 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
933 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
718a7425 934 ;}
935 break;
936
0d863452 937 case 118:
6fa4d285 938#line 891 "perly.y"
1654d593 939 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
940 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 941 ;}
0de566d7 942 break;
943
0d863452 944 case 119:
6fa4d285 945#line 895 "perly.y"
1654d593 946 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
947 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 948 ;}
0de566d7 949 break;
950
0d863452 951 case 120:
6fa4d285 952#line 899 "perly.y"
1654d593 953 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
954 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 955 ;}
0de566d7 956 break;
957
0d863452 958 case 121:
6fa4d285 959#line 903 "perly.y"
1654d593 960 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
961 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 962 ;}
0de566d7 963 break;
964
0d863452 965 case 122:
6fa4d285 966#line 907 "perly.y"
f20dcd76 967 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
968 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
969 ;}
970 break;
971
972 case 123:
6fa4d285 973#line 911 "perly.y"
f05e27e5 974 {
1654d593 975 (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
035e2bcc 976 DO_MAD({
f05e27e5 977 UNOP *op;
978 op = (UNOP*)(yyval.opval);
979 op = (UNOP*)op->op_first; /* get to flop */
980 op = (UNOP*)op->op_first; /* get to flip */
981 op = (UNOP*)op->op_first; /* get to range */
1654d593 982 token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
035e2bcc 983 })
f05e27e5 984 ;}
0de566d7 985 break;
986
f20dcd76 987 case 124:
6fa4d285 988#line 923 "perly.y"
1654d593 989 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
990 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 991 ;}
0de566d7 992 break;
993
f20dcd76 994 case 125:
6fa4d285 995#line 927 "perly.y"
1654d593 996 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
997 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 998 ;}
0de566d7 999 break;
1000
f20dcd76 1001 case 126:
6fa4d285 1002#line 931 "perly.y"
1654d593 1003 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1004 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1005 ;}
0de566d7 1006 break;
1007
f20dcd76 1008 case 127:
6fa4d285 1009#line 935 "perly.y"
1654d593 1010 { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1011 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
f05e27e5 1012 ((yyval.opval)->op_type == OP_NOT
1013 ? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
1014 '~');
1015 ;}
500bedb6 1016 break;
1017
f20dcd76 1018 case 128:
6fa4d285 1019#line 945 "perly.y"
1654d593 1020 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
1021 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1022 ;}
0de566d7 1023 break;
1024
f20dcd76 1025 case 129:
6fa4d285 1026#line 949 "perly.y"
f05e27e5 1027 { (yyval.opval) = IF_MAD(
1654d593 1028 newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
1029 (ps[(2) - (2)].val.opval)
f05e27e5 1030 );
1654d593 1031 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
f05e27e5 1032 ;}
0de566d7 1033 break;
1034
f20dcd76 1035 case 130:
6fa4d285 1036#line 956 "perly.y"
1654d593 1037 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1038 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1039 ;}
0de566d7 1040 break;
1041
f20dcd76 1042 case 131:
6fa4d285 1043#line 960 "perly.y"
1654d593 1044 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
1045 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1046 ;}
0de566d7 1047 break;
1048
f20dcd76 1049 case 132:
6fa4d285 1050#line 964 "perly.y"
f05e27e5 1051 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1654d593 1052 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
1053 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1054 ;}
0de566d7 1055 break;
1056
f20dcd76 1057 case 133:
6fa4d285 1058#line 969 "perly.y"
f05e27e5 1059 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1654d593 1060 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
1061 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1062 ;}
0de566d7 1063 break;
1064
f20dcd76 1065 case 134:
6fa4d285 1066#line 974 "perly.y"
f05e27e5 1067 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1654d593 1068 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
1069 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1070 ;}
0de566d7 1071 break;
1072
f20dcd76 1073 case 135:
6fa4d285 1074#line 979 "perly.y"
f05e27e5 1075 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1654d593 1076 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
1077 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1078 ;}
0de566d7 1079 break;
1080
f20dcd76 1081 case 136:
6fa4d285 1082#line 988 "perly.y"
1654d593 1083 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
1084 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
1085 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
f05e27e5 1086 ;}
0de566d7 1087 break;
1088
f20dcd76 1089 case 137:
6fa4d285 1090#line 993 "perly.y"
bcabcc50 1091 { (yyval.opval) = newANONLIST((OP*)NULL);
1654d593 1092 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
1093 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
f05e27e5 1094 ;}
0de566d7 1095 break;
1096
f20dcd76 1097 case 138:
6fa4d285 1098#line 998 "perly.y"
1654d593 1099 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
1100 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
1101 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
1102 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 1103 ;}
0de566d7 1104 break;
1105
f20dcd76 1106 case 139:
6fa4d285 1107#line 1004 "perly.y"
bcabcc50 1108 { (yyval.opval) = newANONHASH((OP*)NULL);
1654d593 1109 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
1110 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
1111 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
f05e27e5 1112 ;}
9a9798c2 1113 break;
1114
f20dcd76 1115 case 140:
6fa4d285 1116#line 1010 "perly.y"
5a5094bd 1117 { SvREFCNT_inc_simple_void(PL_compcv);
1654d593 1118 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1119 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1120 OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
1121 OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
f05e27e5 1122 ;}
9a9798c2 1123 break;
1124
f20dcd76 1125 case 141:
6fa4d285 1126#line 1021 "perly.y"
1654d593 1127 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
1128 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1129 ;}
1130 break;
1131
f20dcd76 1132 case 142:
6fa4d285 1133#line 1025 "perly.y"
1654d593 1134 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((ps[(2) - (2)].val.opval)));
1135 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
f05e27e5 1136 ;}
1137 break;
1138
f20dcd76 1139 case 143:
6fa4d285 1140#line 1029 "perly.y"
9a9798c2 1141 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7 1142 OPf_SPECIAL|OPf_STACKED,
1143 prepend_elem(OP_LIST,
1144 scalar(newCVREF(
1145 (OPpENTERSUB_AMPER<<8),
1654d593 1146 scalar((ps[(2) - (4)].val.opval))
bcabcc50 1147 )),(OP*)NULL)); dep();
1654d593 1148 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1149 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1150 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1151 ;}
0de566d7 1152 break;
1153
f20dcd76 1154 case 144:
6fa4d285 1155#line 1041 "perly.y"
9a9798c2 1156 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7 1157 OPf_SPECIAL|OPf_STACKED,
1158 append_elem(OP_LIST,
1654d593 1159 (ps[(4) - (5)].val.opval),
0de566d7 1160 scalar(newCVREF(
1161 (OPpENTERSUB_AMPER<<8),
1654d593 1162 scalar((ps[(2) - (5)].val.opval))
f05e27e5 1163 )))); dep();
1654d593 1164 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1165 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1166 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 1167 ;}
0de566d7 1168 break;
1169
f20dcd76 1170 case 145:
6fa4d285 1171#line 1054 "perly.y"
9a9798c2 1172 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
0de566d7 1173 prepend_elem(OP_LIST,
bcabcc50 1174 scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
1654d593 1175 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1176 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1177 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1178 ;}
0de566d7 1179 break;
1180
f20dcd76 1181 case 146:
6fa4d285 1182#line 1062 "perly.y"
9a9798c2 1183 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1184 prepend_elem(OP_LIST,
1654d593 1185 (ps[(4) - (5)].val.opval),
1186 scalar(newCVREF(0,scalar((ps[(2) - (5)].val.opval)))))); dep();
1187 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1188 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1189 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 1190 ;}
0de566d7 1191 break;
1192
f20dcd76 1193 case 151:
6fa4d285 1194#line 1078 "perly.y"
1654d593 1195 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1196 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1197 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
f05e27e5 1198 ;}
0de566d7 1199 break;
1200
f20dcd76 1201 case 152:
6fa4d285 1202#line 1083 "perly.y"
1654d593 1203 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((ps[(2) - (2)].val.opval),OP_REFGEN));
1204 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1205 ;}
0de566d7 1206 break;
1207
f20dcd76 1208 case 153:
6fa4d285 1209#line 1087 "perly.y"
1654d593 1210 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1211 break;
1212
f20dcd76 1213 case 154:
6fa4d285 1214#line 1089 "perly.y"
1654d593 1215 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
dde83331 1216 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
f05e27e5 1217 ;}
0de566d7 1218 break;
1219
f20dcd76 1220 case 155:
6fa4d285 1221#line 1093 "perly.y"
1654d593 1222 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1223 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1224 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1225 ;}
0de566d7 1226 break;
1227
f20dcd76 1228 case 156:
6fa4d285 1229#line 1098 "perly.y"
f05e27e5 1230 { (yyval.opval) = sawparens(newNULLLIST());
1654d593 1231 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1232 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
f05e27e5 1233 ;}
0de566d7 1234 break;
1235
718a7425 1236 case 157:
6fa4d285 1237#line 1103 "perly.y"
1654d593 1238 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
718a7425 1239 break;
1240
0d863452 1241 case 158:
6fa4d285 1242#line 1105 "perly.y"
1654d593 1243 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1244 break;
1245
0d863452 1246 case 159:
6fa4d285 1247#line 1107 "perly.y"
1654d593 1248 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1249 break;
1250
0d863452 1251 case 160:
6fa4d285 1252#line 1109 "perly.y"
f20dcd76 1253 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
500bedb6 1254 break;
1255
0d863452 1256 case 161:
6fa4d285 1257#line 1111 "perly.y"
f20dcd76 1258 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
0de566d7 1259 break;
1260
718a7425 1261 case 162:
6fa4d285 1262#line 1113 "perly.y"
f20dcd76 1263 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1264 break;
1265
1266 case 163:
6fa4d285 1267#line 1115 "perly.y"
f05e27e5 1268 { (yyval.opval) = prepend_elem(OP_ASLICE,
1269 newOP(OP_PUSHMARK, 0),
1270 newLISTOP(OP_ASLICE, 0,
1654d593 1271 list((ps[(3) - (4)].val.opval)),
1272 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1273 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1274 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
f05e27e5 1275 ;}
0de566d7 1276 break;
1277
f20dcd76 1278 case 164:
6fa4d285 1279#line 1124 "perly.y"
f05e27e5 1280 { (yyval.opval) = prepend_elem(OP_HSLICE,
1281 newOP(OP_PUSHMARK, 0),
1282 newLISTOP(OP_HSLICE, 0,
1654d593 1283 list((ps[(3) - (5)].val.opval)),
1284 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
53a7735b 1285 PL_parser->expect = XOPERATOR;
1654d593 1286 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1287 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1288 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 1289 ;}
0de566d7 1290 break;
1291
f20dcd76 1292 case 165:
6fa4d285 1293#line 1135 "perly.y"
1654d593 1294 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1295 break;
1296
f20dcd76 1297 case 166:
6fa4d285 1298#line 1137 "perly.y"
1654d593 1299 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7 1300 break;
1301
f20dcd76 1302 case 167:
6fa4d285 1303#line 1139 "perly.y"
1654d593 1304 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1305 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1306 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1307 ;}
0de566d7 1308 break;
1309
f20dcd76 1310 case 168:
6fa4d285 1311#line 1144 "perly.y"
f05e27e5 1312 {
1313 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1314 append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
035e2bcc 1315 DO_MAD({
f05e27e5 1316 OP* op = (yyval.opval);
1317 if (op->op_type == OP_CONST) { /* defeat const fold */
1318 op = (OP*)op->op_madprop->mad_val;
1319 }
1654d593 1320 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1321 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
035e2bcc 1322 })
f05e27e5 1323 ;}
0de566d7 1324 break;
1325
f20dcd76 1326 case 169:
6fa4d285 1327#line 1157 "perly.y"
f05e27e5 1328 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1329 append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1330 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1331 ;}
0de566d7 1332 break;
1333
f20dcd76 1334 case 170:
6fa4d285 1335#line 1162 "perly.y"
1654d593 1336 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1337 PL_hints |= HINT_BLOCK_SCOPE;
1654d593 1338 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1339 ;}
0de566d7 1340 break;
1341
f20dcd76 1342 case 171:
6fa4d285 1343#line 1167 "perly.y"
1654d593 1344 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1345 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1346 ;}
0de566d7 1347 break;
1348
f20dcd76 1349 case 172:
6fa4d285 1350#line 1171 "perly.y"
1654d593 1351 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1352 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1353 ;}
0de566d7 1354 break;
1355
f20dcd76 1356 case 173:
6fa4d285 1357#line 1175 "perly.y"
1654d593 1358 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1359 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1360 ;}
0de566d7 1361 break;
1362
f20dcd76 1363 case 174:
6fa4d285 1364#line 1179 "perly.y"
1654d593 1365 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1366 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1367 ;}
0de566d7 1368 break;
1369
f20dcd76 1370 case 175:
6fa4d285 1371#line 1183 "perly.y"
1654d593 1372 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1373 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1374 ;}
0de566d7 1375 break;
1376
f20dcd76 1377 case 176:
6fa4d285 1378#line 1187 "perly.y"
d2fdf8fd 1379 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
1380 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1381 ;}
0de566d7 1382 break;
1383
f20dcd76 1384 case 177:
6fa4d285 1385#line 1191 "perly.y"
d2fdf8fd 1386 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
1387 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1388 ;}
0de566d7 1389 break;
1390
f20dcd76 1391 case 178:
6fa4d285 1392#line 1195 "perly.y"
1654d593 1393 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7 1394 break;
1395
f20dcd76 1396 case 179:
6fa4d285 1397#line 1197 "perly.y"
f05e27e5 1398 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1399 append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
0de566d7 1400 break;
1401
f20dcd76 1402 case 180:
6fa4d285 1403#line 1200 "perly.y"
1654d593 1404 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1405 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1406 ;}
0de566d7 1407 break;
1408
f20dcd76 1409 case 181:
6fa4d285 1410#line 1204 "perly.y"
1654d593 1411 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1412 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1413 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1414 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1415 ;}
0de566d7 1416 break;
1417
f20dcd76 1418 case 182:
6fa4d285 1419#line 1210 "perly.y"
f05e27e5 1420 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1421 scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7 1422 break;
1423
f20dcd76 1424 case 183:
6fa4d285 1425#line 1213 "perly.y"
1654d593 1426 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1427 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1428 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1429
1654d593 1430 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1431 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1432 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1433 ;}
0de566d7 1434 break;
1435
f20dcd76 1436 case 184:
6fa4d285 1437#line 1222 "perly.y"
1654d593 1438 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1439 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1440 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1441 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1442 ;}
0de566d7 1443 break;
1444
f20dcd76 1445 case 185:
6fa4d285 1446#line 1228 "perly.y"
1654d593 1447 { (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
1448 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1449 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1450 ;}
0de566d7 1451 break;
1452
f20dcd76 1453 case 188:
6fa4d285 1454#line 1235 "perly.y"
be25f609 1455 {
1456 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1457 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
950f2ea2 1458 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
be25f609 1459 ;}
1460 break;
1461
f20dcd76 1462 case 189:
6fa4d285 1463#line 1244 "perly.y"
1654d593 1464 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
f05e27e5 1465 DO_MAD(
1654d593 1466 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1467 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1468 (ps[(3) - (3)].val.opval)->op_madprop = 0;
f05e27e5 1469 )
1470 ;}
0de566d7 1471 break;
1472
f20dcd76 1473 case 190:
6fa4d285 1474#line 1252 "perly.y"
1654d593 1475 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1476 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
f05e27e5 1477 ;}
0de566d7 1478 break;
1479
f20dcd76 1480 case 191:
6fa4d285 1481#line 1259 "perly.y"
1654d593 1482 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1483 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1484 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1485 ;}
0de566d7 1486 break;
1487
f20dcd76 1488 case 192:
6fa4d285 1489#line 1264 "perly.y"
f05e27e5 1490 { (yyval.opval) = sawparens(newNULLLIST());
1654d593 1491 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1492 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
f05e27e5 1493 ;}
0de566d7 1494 break;
1495
718a7425 1496 case 193:
6fa4d285 1497#line 1269 "perly.y"
1654d593 1498 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1499 break;
1500
718a7425 1501 case 194:
6fa4d285 1502#line 1271 "perly.y"
be25f609 1503 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1504 break;
1505
718a7425 1506 case 195:
6fa4d285 1507#line 1273 "perly.y"
f20dcd76 1508 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7 1509 break;
1510
718a7425 1511 case 196:
6fa4d285 1512#line 1278 "perly.y"
f20dcd76 1513 { (yyval.opval) = (OP*)NULL; ;}
0de566d7 1514 break;
1515
718a7425 1516 case 197:
6fa4d285 1517#line 1280 "perly.y"
f20dcd76 1518 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
2af555bf 1519 break;
1520
718a7425 1521 case 198:
6fa4d285 1522#line 1284 "perly.y"
f20dcd76 1523 { (yyval.opval) = (OP*)NULL; ;}
be25f609 1524 break;
1525
1526 case 199:
6fa4d285 1527#line 1286 "perly.y"
f20dcd76 1528 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1529 break;
1530
1531 case 200:
6fa4d285 1532#line 1288 "perly.y"
f05e27e5 1533 {
1534#ifdef MAD
1535 OP* op = newNULLLIST();
1654d593 1536 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
1537 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
f05e27e5 1538#else
1654d593 1539 (yyval.opval) = (ps[(1) - (2)].val.opval);
f05e27e5 1540#endif
1541
1542 ;}
0de566d7 1543 break;
1544
f20dcd76 1545 case 201:
6fa4d285 1546#line 1303 "perly.y"
12bd6ede 1547 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
0de566d7 1548 break;
1549
f20dcd76 1550 case 202:
6fa4d285 1551#line 1307 "perly.y"
1654d593 1552 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1553 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
f05e27e5 1554 ;}
0de566d7 1555 break;
1556
f20dcd76 1557 case 203:
6fa4d285 1558#line 1313 "perly.y"
1654d593 1559 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1560 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
f05e27e5 1561 ;}
0de566d7 1562 break;
1563
f20dcd76 1564 case 204:
6fa4d285 1565#line 1319 "perly.y"
1654d593 1566 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1567 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
f05e27e5 1568 ;}
0de566d7 1569 break;
1570
f20dcd76 1571 case 205:
6fa4d285 1572#line 1325 "perly.y"
1654d593 1573 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1574 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
f05e27e5 1575 ;}
500bedb6 1576 break;
1577
f20dcd76 1578 case 206:
6fa4d285 1579#line 1331 "perly.y"
1654d593 1580 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1581 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
f05e27e5 1582 ;}
a72a1c8b 1583 break;
1584
f20dcd76 1585 case 207:
6fa4d285 1586#line 1337 "perly.y"
1654d593 1587 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1588 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
f05e27e5 1589 ;}
a72a1c8b 1590 break;
1591
f20dcd76 1592 case 208:
6fa4d285 1593#line 1344 "perly.y"
503de470 1594 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1595 break;
1596
f20dcd76 1597 case 209:
6fa4d285 1598#line 1346 "perly.y"
1654d593 1599 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
3cd0a11a 1600 break;
1601
f20dcd76 1602 case 210:
6fa4d285 1603#line 1348 "perly.y"
1654d593 1604 { (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
f05e27e5 1605 break;
1606
f20dcd76 1607 case 211:
6fa4d285 1608#line 1351 "perly.y"
1654d593 1609 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f05e27e5 1610 break;
1611
6fa4d285 1612
1613/* Line 1267 of yacc.c. */
1614
20515881 1615 default: break;
0de566d7 1616