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