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