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