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