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