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