This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Prevent double frees/crashes with format syntax errs
[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:
7c70caa5
FC
117#line 216 "perly.y"
118 { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
119 PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
120 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
121 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
122 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
123 ;}
0d863452
RH
124 break;
125
78cdf107 126 case 16:
7c70caa5
FC
127#line 225 "perly.y"
128 { (yyval.ival) = block_start(TRUE); ;}
129 break;
130
131 case 17:
132#line 229 "perly.y"
53a7735b
DM
133 { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
134 PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
1654d593
DM
135 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
136 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
137 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 138 ;}
0de566d7
DM
139 break;
140
7c70caa5
FC
141 case 18:
142#line 238 "perly.y"
9a9798c2 143 { (yyval.ival) = block_start(FALSE); ;}
0de566d7
DM
144 break;
145
7c70caa5
FC
146 case 19:
147#line 243 "perly.y"
bcabcc50 148 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
149 break;
150
7c70caa5
FC
151 case 20:
152#line 245 "perly.y"
2fcb4757 153 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
500bedb6 154 PL_pad_reset_pending = TRUE;
503de470
DM
155 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
156 PL_hints |= HINT_BLOCK_SCOPE;
157 ;}
500bedb6
DM
158 break;
159
7c70caa5
FC
160 case 21:
161#line 254 "perly.y"
eae48c89 162 {
8e720305
Z
163 if((ps[(1) - (1)].val.opval)) {
164 (yyval.opval) = newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval));
eae48c89 165 } else {
8e720305 166 (yyval.opval) = IF_MAD(newOP(OP_NULL, 0), NULL);
eae48c89
Z
167 }
168 ;}
0d863452
RH
169 break;
170
7c70caa5
FC
171 case 22:
172#line 262 "perly.y"
1654d593 173 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0d863452
RH
174 break;
175
7c70caa5
FC
176 case 23:
177#line 266 "perly.y"
8e720305 178 {
5db1eb8d
BF
179 (yyval.opval) = newSTATEOP(SvUTF8(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv),
180 savepv(SvPVX(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv)), (ps[(2) - (2)].val.opval));
8e720305
Z
181 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),
182 (ps[(2) - (2)].val.opval) ? cLISTOPx((yyval.opval))->op_first : (yyval.opval), 'L');
183 ;}
184 break;
185
7c70caa5
FC
186 case 24:
187#line 273 "perly.y"
8e720305 188 {
5db1eb8d
BF
189 (yyval.opval) = newSTATEOP(SvUTF8(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv),
190 savepv(SvPVX(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv)), (ps[(2) - (2)].val.opval));
8e720305
Z
191 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval), cLISTOPx((yyval.opval))->op_first, 'L');
192 ;}
193 break;
194
7c70caa5
FC
195 case 25:
196#line 282 "perly.y"
8e720305
Z
197 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
198 break;
199
7c70caa5
FC
200 case 26:
201#line 284 "perly.y"
eae48c89
Z
202 {
203 (yyval.opval) = newOP(OP_NULL,0);
204 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
205 ;}
206 break;
207
7c70caa5
FC
208 case 27:
209#line 289 "perly.y"
eae48c89
Z
210 {
211 CV *fmtcv = PL_compcv;
eae48c89
Z
212#ifdef MAD
213 (yyval.opval) = newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
214 prepend_madprops((ps[(1) - (4)].val.i_tkval)->tk_mad, (yyval.opval), 'F');
215 (ps[(1) - (4)].val.i_tkval)->tk_mad = 0;
216 token_free((ps[(1) - (4)].val.i_tkval));
217#else
218 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
219 (yyval.opval) = (OP*)NULL;
220#endif
4a273b91 221 if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
eae48c89 222 SvREFCNT_inc_simple_void(fmtcv);
cc76b5cc 223 pad_add_anon(fmtcv, OP_NULL);
eae48c89
Z
224 }
225 ;}
0de566d7
DM
226 break;
227
7c70caa5 228 case 28:
2c658e55 229#line 306 "perly.y"
f05e27e5 230 {
eae48c89
Z
231 SvREFCNT_inc_simple_void(PL_compcv);
232#ifdef MAD
233 {
234 OP* o = newSVOP(OP_ANONCODE, 0,
235 (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)));
236 (yyval.opval) = newOP(OP_NULL,0);
237 op_getmad(o,(yyval.opval),'&');
238 op_getmad((ps[(3) - (6)].val.opval),(yyval.opval),'n');
239 op_getmad((ps[(4) - (6)].val.opval),(yyval.opval),'s');
240 op_getmad((ps[(5) - (6)].val.opval),(yyval.opval),'a');
241 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
242 append_madprops((ps[(6) - (6)].val.opval)->op_madprop, (yyval.opval), 0);
243 (ps[(6) - (6)].val.opval)->op_madprop = 0;
f05e27e5 244 }
eae48c89
Z
245#else
246 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));
247 (yyval.opval) = (OP*)NULL;
248#endif
f05e27e5 249 ;}
0de566d7
DM
250 break;
251
7c70caa5 252 case 29:
2c658e55 253#line 327 "perly.y"
f05e27e5 254 {
eae48c89
Z
255 /* Unimplemented "my sub foo { }" */
256 SvREFCNT_inc_simple_void(PL_compcv);
257#ifdef MAD
258 (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));
259 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
260#else
261 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));
262 (yyval.opval) = (OP*)NULL;
263#endif
f05e27e5 264 ;}
0de566d7
DM
265 break;
266
7c70caa5 267 case 30:
2c658e55 268#line 339 "perly.y"
eae48c89
Z
269 {
270#ifdef MAD
271 (yyval.opval) = package((ps[(3) - (4)].val.opval));
272 token_getmad((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
273 if ((ps[(2) - (4)].val.opval))
274 package_version((ps[(2) - (4)].val.opval));
275 token_getmad((ps[(4) - (4)].val.i_tkval),(yyval.opval),';');
276#else
277 package((ps[(3) - (4)].val.opval));
278 if ((ps[(2) - (4)].val.opval))
279 package_version((ps[(2) - (4)].val.opval));
280 (yyval.opval) = (OP*)NULL;
281#endif
282 ;}
0de566d7
DM
283 break;
284
7c70caa5 285 case 31:
2c658e55 286#line 354 "perly.y"
eae48c89 287 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
0de566d7
DM
288 break;
289
7c70caa5 290 case 32:
2c658e55 291#line 356 "perly.y"
5f211341 292 {
eae48c89
Z
293 SvREFCNT_inc_simple_void(PL_compcv);
294#ifdef MAD
295 (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));
296 token_getmad((ps[(1) - (7)].val.i_tkval),(yyval.opval),'o');
297 token_getmad((ps[(7) - (7)].val.i_tkval),(yyval.opval),';');
298 if (PL_parser->rsfp_filters &&
299 AvFILLp(PL_parser->rsfp_filters) >= 0)
300 append_madprops(newMADPROP('!', MAD_NULL, NULL, 0), (yyval.opval), 0);
301#else
302 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));
303 (yyval.opval) = (OP*)NULL;
304#endif
5f211341
Z
305 ;}
306 break;
307
7c70caa5 308 case 33:
2c658e55 309#line 371 "perly.y"
eae48c89 310 {
3ad73efd
Z
311 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
312 newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
eae48c89
Z
313 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
314 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
315 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
316 PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
317 ;}
4098b6bb
JV
318 break;
319
7c70caa5 320 case 34:
2c658e55 321#line 380 "perly.y"
eae48c89 322 {
3ad73efd
Z
323 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
324 newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
eae48c89
Z
325 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
326 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
327 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
328 PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
329 ;}
4e4da3ac
Z
330 break;
331
7c70caa5 332 case 35:
2c658e55 333#line 389 "perly.y"
eae48c89 334 {
b5a64814
FC
335 const PADOFFSET offset = pad_findmy_pvs("$_", 0);
336 (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
337 newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)),
338 offset == NOT_IN_PAD
339 || PAD_COMPNAME_FLAGS_isOUR(offset)
340 ? 0
341 : offset));
342 PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
f05e27e5 343 ;}
0de566d7
DM
344 break;
345
7c70caa5 346 case 36:
2c658e55 347#line 400 "perly.y"
3ad73efd 348 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;}
0de566d7
DM
349 break;
350
7c70caa5 351 case 37:
2c658e55 352#line 402 "perly.y"
3ad73efd 353 { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
0de566d7
DM
354 break;
355
7c70caa5 356 case 38:
2c658e55 357#line 404 "perly.y"
eae48c89
Z
358 {
359 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
360 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 361 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
eae48c89
Z
362 TOKEN_GETMAD((ps[(1) - (8)].val.i_tkval),(yyval.opval),'W');
363 TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
364 TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
365 PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
f05e27e5 366 ;}
0de566d7
DM
367 break;
368
7c70caa5 369 case 39:
2c658e55 370#line 414 "perly.y"
eae48c89
Z
371 {
372 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
94bf0465
Z
373 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
374 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
eae48c89
Z
375 TOKEN_GETMAD((ps[(1) - (8)].val.i_tkval),(yyval.opval),'W');
376 TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
377 TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
378 PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
f05e27e5 379 ;}
0de566d7
DM
380 break;
381
7c70caa5 382 case 40:
2c658e55 383#line 425 "perly.y"
eae48c89
Z
384 {
385 OP *initop = IF_MAD((ps[(4) - (11)].val.opval) ? (ps[(4) - (11)].val.opval) : newOP(OP_NULL, 0), (ps[(4) - (11)].val.opval));
386 OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 387 scalar((ps[(6) - (11)].val.opval)), (ps[(11) - (11)].val.opval), (ps[(9) - (11)].val.opval), (ps[(8) - (11)].val.ival));
eae48c89
Z
388 if (initop) {
389 forop = op_prepend_elem(OP_LINESEQ, initop,
390 op_append_elem(OP_LINESEQ,
391 newOP(OP_UNSTACK, OPf_SPECIAL),
392 forop));
393 }
394 DO_MAD({ forop = newUNOP(OP_NULL, 0, forop); })
395 (yyval.opval) = block_end((ps[(3) - (11)].val.ival), forop);
396 TOKEN_GETMAD((ps[(1) - (11)].val.i_tkval),(yyval.opval),'3');
397 TOKEN_GETMAD((ps[(2) - (11)].val.i_tkval),(yyval.opval),'(');
398 TOKEN_GETMAD((ps[(5) - (11)].val.i_tkval),(yyval.opval),'1');
399 TOKEN_GETMAD((ps[(7) - (11)].val.i_tkval),(yyval.opval),'2');
400 TOKEN_GETMAD((ps[(10) - (11)].val.i_tkval),(yyval.opval),')');
401 PL_parser->copline = (line_t)IVAL((ps[(1) - (11)].val.i_tkval));
402 ;}
0de566d7
DM
403 break;
404
7c70caa5 405 case 41:
2c658e55 406#line 445 "perly.y"
eae48c89 407 {
94bf0465 408 (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
409 TOKEN_GETMAD((ps[(1) - (9)].val.i_tkval),(yyval.opval),'W');
410 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),(yyval.opval),'d');
411 TOKEN_GETMAD((ps[(5) - (9)].val.i_tkval),(yyval.opval),'(');
412 TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),(yyval.opval),')');
413 PL_parser->copline = (line_t)IVAL((ps[(1) - (9)].val.i_tkval));
414 ;}
f20dcd76
VP
415 break;
416
7c70caa5 417 case 42:
2c658e55 418#line 454 "perly.y"
eae48c89 419 {
94bf0465 420 (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
3ad73efd 421 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
422 TOKEN_GETMAD((ps[(1) - (8)].val.i_tkval),(yyval.opval),'W');
423 TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),(yyval.opval),'(');
424 TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),(yyval.opval),')');
425 PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
f05e27e5 426 ;}
0de566d7
DM
427 break;
428
7c70caa5 429 case 43:
2c658e55 430#line 463 "perly.y"
eae48c89
Z
431 {
432 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
94bf0465 433 newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
eae48c89
Z
434 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'W');
435 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
436 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
437 PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
f05e27e5 438 ;}
0de566d7
DM
439 break;
440
7c70caa5 441 case 44:
2c658e55 442#line 472 "perly.y"
eae48c89
Z
443 {
444 /* a block is a loop that happens once */
445 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 446 (OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
f05e27e5 447 ;}
0de566d7
DM
448 break;
449
7c70caa5 450 case 45:
2c658e55 451#line 478 "perly.y"
eae48c89 452 {
eae48c89 453 package((ps[(3) - (5)].val.opval));
eae48c89 454 if ((ps[(2) - (5)].val.opval)) {
eae48c89 455 package_version((ps[(2) - (5)].val.opval));
eae48c89 456 }
f05e27e5 457 ;}
0de566d7
DM
458 break;
459
7c70caa5 460 case 46:
2c658e55 461#line 485 "perly.y"
eae48c89
Z
462 {
463 /* a block is a loop that happens once */
94bf0465 464 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
eae48c89 465 (OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
eae48c89
Z
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
7c70caa5 473 case 47:
2c658e55 474#line 495 "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
7c70caa5 482 case 48:
2c658e55 483#line 501 "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
7c70caa5 492 case 49:
2c658e55 493#line 511 "perly.y"
eae48c89 494 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
495 break;
496
7c70caa5 497 case 50:
2c658e55 498#line 513 "perly.y"
eae48c89 499 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
500 break;
501
7c70caa5 502 case 51:
2c658e55 503#line 515 "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
7c70caa5 509 case 52:
2c658e55 510#line 519 "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
7c70caa5 516 case 53:
2c658e55 517#line 523 "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
7c70caa5 523 case 54:
2c658e55 524#line 527 "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
7c70caa5 530 case 55:
2c658e55 531#line 531 "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
7c70caa5 538 case 56:
2c658e55 539#line 536 "perly.y"
3ad73efd 540 { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
0de566d7
DM
541 break;
542
7c70caa5 543 case 57:
2c658e55 544#line 541 "perly.y"
eae48c89 545 { (yyval.opval) = (OP*)NULL; ;}
0d863452
RH
546 break;
547
7c70caa5 548 case 58:
2c658e55 549#line 543 "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
7c70caa5 557 case 59:
2c658e55 558#line 549 "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
7c70caa5 570 case 60:
2c658e55 571#line 562 "perly.y"
eae48c89
Z
572 { (yyval.opval) = (OP*)NULL; ;}
573 break;
574
7c70caa5 575 case 61:
2c658e55 576#line 564 "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
7c70caa5 583 case 62:
2c658e55 584#line 572 "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
7c70caa5 590 case 63:
2c658e55 591#line 578 "perly.y"
bcabcc50 592 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
593 break;
594
7c70caa5 595 case 65:
2c658e55 596#line 584 "perly.y"
f05e27e5
DM
597 { YYSTYPE tmplval;
598 (void)scan_num("1", &tmplval);
599 (yyval.opval) = tmplval.opval; ;}
0de566d7
DM
600 break;
601
b5a64814 602 case 67:
2c658e55 603#line 592 "perly.y"
7c70caa5 604 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
4098b6bb
JV
605 break;
606
b5a64814 607 case 68:
2c658e55 608#line 597 "perly.y"
4e4da3ac
Z
609 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
610 break;
611
b5a64814 612 case 69:
2c658e55 613#line 601 "perly.y"
9eb5c532
Z
614 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
615 break;
616
b5a64814 617 case 70:
2c658e55 618#line 605 "perly.y"
7c70caa5 619 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
f20dcd76
VP
620 break;
621
b5a64814 622 case 71:
2c658e55 623#line 608 "perly.y"
7c70caa5 624 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
625 break;
626
b5a64814 627 case 72:
2c658e55 628#line 609 "perly.y"
7c70caa5
FC
629 { (yyval.opval) = (OP*)NULL; ;}
630 break;
631
632 case 73:
2c658e55 633#line 613 "perly.y"
2af555bf 634 { (yyval.ival) = start_subparse(FALSE, 0);
a8ff2fa6 635 SAVEFREESV(PL_compcv); ;}
0de566d7
DM
636 break;
637
7c70caa5 638 case 74:
2c658e55 639#line 619 "perly.y"
2af555bf 640 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
a8ff2fa6 641 SAVEFREESV(PL_compcv); ;}
500bedb6
DM
642 break;
643
7c70caa5 644 case 75:
2c658e55 645#line 624 "perly.y"
2af555bf
DM
646 { (yyval.ival) = start_subparse(TRUE, 0);
647 SAVEFREESV(PL_compcv); ;}
648 break;
649
7c70caa5 650 case 76:
2c658e55 651#line 629 "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
7c70caa5 660 case 77:
2c658e55 661#line 639 "perly.y"
bcabcc50 662 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
663 break;
664
7c70caa5 665 case 79:
2c658e55 666#line 645 "perly.y"
bcabcc50 667 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
668 break;
669
7c70caa5 670 case 80:
2c658e55 671#line 647 "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
7c70caa5 677 case 81:
2c658e55 678#line 651 "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
7c70caa5 687 case 82:
2c658e55 688#line 661 "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
7c70caa5 694 case 83:
2c658e55 695#line 665 "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
7c70caa5 704 case 84:
2c658e55 705#line 674 "perly.y"
1654d593 706 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
707 break;
708
7c70caa5 709 case 85:
2c658e55 710#line 675 "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
7c70caa5 720 case 86:
2c658e55 721#line 686 "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
7c70caa5 727 case 87:
2c658e55 728#line 690 "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
7c70caa5 734 case 88:
2c658e55 735#line 694 "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
7c70caa5 741 case 90:
2c658e55 742#line 702 "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
7c70caa5 754 case 91:
2c658e55 755#line 712 "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
7c70caa5 766 case 93:
2c658e55 767#line 725 "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
7c70caa5 774 case 94:
2c658e55 775#line 730 "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
7c70caa5 784 case 95:
2c658e55 785#line 737 "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
7c70caa5 796 case 96:
2c658e55 797#line 746 "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
7c70caa5 805 case 97:
2c658e55 806#line 752 "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
7c70caa5 814 case 98:
2c658e55 815#line 758 "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
7c70caa5 825 case 99:
2c658e55 826#line 766 "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
7c70caa5 832 case 100:
2c658e55 833#line 770 "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
7c70caa5 841 case 101:
2c658e55 842#line 776 "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
7c70caa5 847 case 102:
2c658e55 848#line 779 "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
7c70caa5 855 case 105:
2c658e55 856#line 794 "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
7c70caa5 865 case 106:
2c658e55 866#line 801 "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
7c70caa5 873 case 107:
2c658e55 874#line 806 "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
7c70caa5 884 case 108:
2c658e55 885#line 814 "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
7c70caa5 894 case 109:
2c658e55 895#line 821 "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
7c70caa5 904 case 110:
2c658e55 905#line 828 "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
7c70caa5 917 case 111:
2c658e55 918#line 838 "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
7c70caa5 929 case 112:
2c658e55 930#line 847 "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
7c70caa5 939 case 113:
2c658e55 940#line 854 "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
7c70caa5 950 case 114:
2c658e55 951#line 863 "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
7c70caa5 960 case 115:
2c658e55 961#line 870 "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
7c70caa5 969 case 116:
2c658e55 970#line 876 "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
7c70caa5 979 case 117:
2c658e55 980#line 883 "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
7c70caa5 987 case 118:
2c658e55 988#line 888 "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
7c70caa5 997 case 119:
2c658e55 998#line 898 "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
7c70caa5 1004 case 120:
2c658e55 1005#line 902 "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
7c70caa5 1011 case 121:
2c658e55 1012#line 906 "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:
2c658e55 1021#line 912 "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:
2c658e55 1028#line 916 "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:
2c658e55 1035#line 920 "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:
2c658e55 1042#line 924 "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:
2c658e55 1049#line 928 "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:
2c658e55 1056#line 932 "perly.y"
7c70caa5
FC
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:
2c658e55 1063#line 936 "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
7c70caa5 1077 case 129:
2c658e55 1078#line 948 "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
7c70caa5 1084 case 130:
2c658e55 1085#line 952 "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
7c70caa5 1091 case 131:
2c658e55 1092#line 956 "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
7c70caa5 1098 case 132:
2c658e55 1099#line 960 "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
7c70caa5 1108 case 133:
2c658e55 1109#line 970 "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
7c70caa5 1115 case 134:
2c658e55 1116#line 974 "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
7c70caa5 1125 case 135:
2c658e55 1126#line 981 "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
7c70caa5 1132 case 136:
2c658e55 1133#line 985 "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
7c70caa5 1139 case 137:
2c658e55 1140#line 989 "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
7c70caa5 1147 case 138:
2c658e55 1148#line 994 "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
7c70caa5 1155 case 139:
2c658e55 1156#line 999 "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
7c70caa5 1163 case 140:
2c658e55 1164#line 1004 "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
7c70caa5 1171 case 141:
2c658e55 1172#line 1013 "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
7c70caa5 1179 case 142:
2c658e55 1180#line 1018 "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
7c70caa5 1187 case 143:
2c658e55 1188#line 1023 "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
7c70caa5 1196 case 144:
2c658e55 1197#line 1029 "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
7c70caa5 1205 case 145:
2c658e55 1206#line 1035 "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
7c70caa5 1215 case 146:
2c658e55 1216#line 1046 "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
7c70caa5 1222 case 147:
2c658e55 1223#line 1050 "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
7c70caa5 1229 case 148:
2c658e55 1230#line 1054 "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
7c70caa5 1244 case 149:
2c658e55 1245#line 1066 "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
7c70caa5 1260 case 150:
2c658e55 1261#line 1079 "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
7c70caa5 1271 case 151:
2c658e55 1272#line 1087 "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
7c70caa5 1283 case 156:
2c658e55 1284#line 1103 "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
7c70caa5 1291 case 157:
2c658e55 1292#line 1108 "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
7c70caa5 1298 case 158:
2c658e55 1299#line 1112 "perly.y"
1654d593 1300 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1301 break;
1302
7c70caa5 1303 case 159:
2c658e55 1304#line 1114 "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
7c70caa5 1310 case 160:
2c658e55 1311#line 1118 "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
7c70caa5 1318 case 161:
2c658e55 1319#line 1123 "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
7c70caa5 1323 case 162:
2c658e55 1324#line 1125 "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:
2c658e55 1332#line 1130 "perly.y"
5f211341
Z
1333 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1334 break;
1335
78cdf107 1336 case 164:
2c658e55 1337#line 1132 "perly.y"
5f211341
Z
1338 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1339 break;
1340
78cdf107 1341 case 165:
2c658e55 1342#line 1134 "perly.y"
1654d593 1343 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1344 break;
1345
78cdf107 1346 case 166:
2c658e55 1347#line 1136 "perly.y"
7c70caa5 1348 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f20dcd76
VP
1349 break;
1350
b5a64814 1351 case 167:
2c658e55 1352#line 1138 "perly.y"
7c70caa5 1353 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
8e720305
Z
1354 break;
1355
b5a64814 1356 case 168:
2c658e55 1357#line 1140 "perly.y"
7c70caa5
FC
1358 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1359 break;
1360
1361 case 169:
2c658e55 1362#line 1142 "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
7c70caa5 1373 case 170:
2c658e55 1374#line 1151 "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
7c70caa5 1387 case 171:
2c658e55 1388#line 1162 "perly.y"
1654d593 1389 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1390 break;
1391
7c70caa5 1392 case 172:
2c658e55 1393#line 1164 "perly.y"
1654d593 1394 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1395 break;
1396
7c70caa5 1397 case 173:
2c658e55 1398#line 1166 "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
7c70caa5 1405 case 174:
2c658e55 1406#line 1171 "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
7c70caa5 1421 case 175:
2c658e55 1422#line 1184 "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
7c70caa5 1429 case 176:
2c658e55 1430#line 1189 "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
7c70caa5 1437 case 177:
2c658e55 1438#line 1194 "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
7c70caa5 1444 case 178:
2c658e55 1445#line 1198 "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
7c70caa5 1451 case 179:
2c658e55 1452#line 1202 "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
7c70caa5 1458 case 180:
2c658e55 1459#line 1206 "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
7c70caa5 1465 case 181:
2c658e55 1466#line 1210 "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
7c70caa5 1472 case 182:
2c658e55 1473#line 1214 "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
7c70caa5 1479 case 183:
2c658e55 1480#line 1218 "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
7c70caa5 1486 case 184:
2c658e55 1487#line 1222 "perly.y"
9eb5c532
Z
1488 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1489 break;
1490
7c70caa5 1491 case 185:
2c658e55 1492#line 1224 "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
7c70caa5 1497 case 186:
2c658e55 1498#line 1227 "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
7c70caa5 1504 case 187:
2c658e55 1505#line 1231 "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
7c70caa5 1513 case 188:
2c658e55 1514#line 1237 "perly.y"
7eb971ee
FC
1515 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1516 break;
1517
7c70caa5 1518 case 189:
2c658e55 1519#line 1239 "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
7c70caa5 1526 case 190:
2c658e55 1527#line 1244 "perly.y"
f05e27e5 1528 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1529 scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1530 break;
1531
7c70caa5 1532 case 191:
2c658e55 1533#line 1247 "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
7c70caa5 1544 case 192:
2c658e55 1545#line 1256 "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
7c70caa5 1553 case 193:
2c658e55 1554#line 1262 "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
7c70caa5 1567 case 194:
2c658e55 1568#line 1273 "perly.y"
d63c20f2
DM
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
7c70caa5 1575 case 197:
2c658e55 1576#line 1280 "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
7c70caa5 1584 case 199:
2c658e55 1585#line 1290 "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
7c70caa5 1595 case 200:
2c658e55 1596#line 1298 "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
7c70caa5 1602 case 201:
2c658e55 1603#line 1305 "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
7c70caa5 1610 case 202:
2c658e55 1611#line 1310 "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
b5a64814 1618 case 203:
2c658e55 1619#line 1315 "perly.y"
8e720305 1620 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
be25f609 1621 break;
1622
b5a64814 1623 case 204:
2c658e55 1624#line 1317 "perly.y"
d63c20f2 1625 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f20dcd76
VP
1626 break;
1627
b5a64814 1628 case 205:
2c658e55 1629#line 1319 "perly.y"
7c70caa5 1630 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
4098b6bb
JV
1631 break;
1632
b5a64814 1633 case 206:
2c658e55 1634#line 1324 "perly.y"
7c70caa5 1635 { (yyval.opval) = (OP*)NULL; ;}
4098b6bb
JV
1636 break;
1637
b5a64814 1638 case 207:
2c658e55 1639#line 1326 "perly.y"
7c70caa5 1640 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
ea25a9b2
Z
1641 break;
1642
b5a64814 1643 case 208:
2c658e55 1644#line 1330 "perly.y"
7c70caa5 1645 { (yyval.opval) = (OP*)NULL; ;}
ea25a9b2
Z
1646 break;
1647
b5a64814 1648 case 209:
2c658e55 1649#line 1332 "perly.y"
7c70caa5 1650 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
d63c20f2
DM
1651 break;
1652
b5a64814 1653 case 210:
2c658e55 1654#line 1338 "perly.y"
7c70caa5
FC
1655 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
1656 break;
1657
1658 case 211:
2c658e55 1659#line 1342 "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
7c70caa5 1665 case 212:
2c658e55 1666#line 1348 "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
7c70caa5 1672 case 213:
2c658e55 1673#line 1354 "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
7c70caa5 1679 case 214:
2c658e55 1680#line 1360 "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
7c70caa5 1686 case 215:
2c658e55 1687#line 1366 "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
7c70caa5 1693 case 216:
2c658e55 1694#line 1372 "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
7c70caa5 1700 case 217:
2c658e55 1701#line 1379 "perly.y"
503de470
DM
1702 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1703 break;
1704
7c70caa5 1705 case 218:
2c658e55 1706#line 1381 "perly.y"
1654d593 1707 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
3cd0a11a
RGS
1708 break;
1709
7c70caa5 1710 case 219:
2c658e55 1711#line 1383 "perly.y"
3ad73efd 1712 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
f05e27e5
DM
1713 break;
1714
7c70caa5 1715 case 220:
2c658e55 1716#line 1386 "perly.y"
1654d593 1717 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f05e27e5
DM
1718 break;
1719
4a273b91
FC
1720
1721/* Line 1267 of yacc.c. */
1722
20515881 1723 default: break;
0de566d7 1724
e8fb9efb 1725
c24c946d 1726/* Generated from:
2c658e55 1727 * 50649beb21bb272a5dafa43d5fbe244206c6a99e0e67b39b3123a22a35702873 perly.y
6c7ae946 1728 * 4a3ced51fe6585f6ec59e65e1ffd74bc976c498b0e6992eaab337219fee72e51 regen_perly.pl
c24c946d 1729 * ex: set ro: */