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