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