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