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