This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
'use locale' no longer ever fails.to compile
[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"
30d9c59b 763 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
764 break;
765
8d2a5fb4 766 case 91:
30d9c59b
Z
767#line 734 "perly.y"
768 {
769 if (!FEATURE_SIGNATURES_IS_ENABLED)
770 Perl_croak(aTHX_ "Experimental "
771 "subroutine signatures not enabled");
772 Perl_ck_warner_d(aTHX_
773 packWARN(WARN_EXPERIMENTAL__SIGNATURES),
774 "The signatures feature is experimental");
775 (yyval.opval) = parse_subsignature();
776 }
777 break;
778
779 case 92:
780#line 744 "perly.y"
781 {
782 (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(2) - (3)].val.opval),
783 newSTATEOP(0, NULL, sawparens(newNULLLIST())));
784 PL_parser->expect = XBLOCK;
785 }
786 break;
787
788 case 93:
789#line 753 "perly.y"
790 {
791 if (PL_parser->copline > (line_t)IVAL((ps[(3) - (5)].val.i_tkval)))
792 PL_parser->copline = (line_t)IVAL((ps[(3) - (5)].val.i_tkval));
793 (yyval.opval) = block_end((ps[(1) - (5)].val.ival),
794 op_append_list(OP_LINESEQ, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)));
795 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'{');
796 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
797 }
798 break;
799
800 case 94:
801#line 764 "perly.y"
802 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
803 break;
804
805 case 95:
806#line 765 "perly.y"
f05e27e5
DM
807 { (yyval.opval) = IF_MAD(
808 newOP(OP_NULL,0),
bcabcc50 809 (OP*)NULL
f05e27e5 810 );
53a7735b 811 PL_parser->expect = XSTATE;
1654d593 812 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
8c74b414 813 }
0de566d7
DM
814 break;
815
30d9c59b
Z
816 case 96:
817#line 776 "perly.y"
1654d593
DM
818 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
819 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 820 }
0de566d7
DM
821 break;
822
30d9c59b
Z
823 case 97:
824#line 780 "perly.y"
1654d593
DM
825 { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
826 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 827 }
0de566d7
DM
828 break;
829
30d9c59b
Z
830 case 98:
831#line 784 "perly.y"
1654d593
DM
832 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
833 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 834 }
0de566d7
DM
835 break;
836
30d9c59b
Z
837 case 100:
838#line 792 "perly.y"
f05e27e5
DM
839 {
840#ifdef MAD
841 OP* op = newNULLLIST();
1654d593 842 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
2fcb4757 843 (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
f05e27e5 844#else
1654d593 845 (yyval.opval) = (ps[(1) - (2)].val.opval);
f05e27e5 846#endif
8c74b414 847 }
0de566d7
DM
848 break;
849
30d9c59b
Z
850 case 101:
851#line 802 "perly.y"
f05e27e5 852 {
1654d593 853 OP* term = (ps[(3) - (3)].val.opval);
f05e27e5 854 DO_MAD(
29522234 855 term = newUNOP(OP_NULL, 0, term);
1654d593 856 token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
f05e27e5 857 )
2fcb4757 858 (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
8c74b414 859 }
0de566d7
DM
860 break;
861
30d9c59b
Z
862 case 103:
863#line 815 "perly.y"
1654d593 864 { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
2fcb4757 865 op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
1654d593 866 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 867 }
0de566d7
DM
868 break;
869
30d9c59b
Z
870 case 104:
871#line 820 "perly.y"
1654d593 872 { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
2fcb4757 873 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
874 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
875 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
876 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
8c74b414 877 }
0de566d7
DM
878 break;
879
30d9c59b
Z
880 case 105:
881#line 827 "perly.y"
9a9798c2 882 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
883 op_append_elem(OP_LIST,
884 op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
1654d593
DM
885 newUNOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
886 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
887 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
888 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
8c74b414 889 }
0de566d7
DM
890 break;
891
30d9c59b
Z
892 case 106:
893#line 836 "perly.y"
9a9798c2 894 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757 895 op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
1654d593
DM
896 newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
897 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
8c74b414 898 }
0de566d7
DM
899 break;
900
30d9c59b
Z
901 case 107:
902#line 842 "perly.y"
f05e27e5 903 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
904 op_append_elem(OP_LIST,
905 op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
1654d593 906 newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
8c74b414 907 }
0de566d7
DM
908 break;
909
30d9c59b
Z
910 case 108:
911#line 848 "perly.y"
f05e27e5 912 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
913 op_append_elem(OP_LIST,
914 op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
1654d593
DM
915 newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
916 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
917 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
8c74b414 918 }
0de566d7
DM
919 break;
920
30d9c59b
Z
921 case 109:
922#line 856 "perly.y"
1654d593
DM
923 { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
924 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 925 }
0de566d7
DM
926 break;
927
30d9c59b
Z
928 case 110:
929#line 860 "perly.y"
1654d593
DM
930 { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
931 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
932 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
933 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
8c74b414 934 }
0de566d7
DM
935 break;
936
30d9c59b
Z
937 case 111:
938#line 866 "perly.y"
5a5094bd 939 { SvREFCNT_inc_simple_void(PL_compcv);
8c74b414 940 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
0de566d7
DM
941 break;
942
30d9c59b
Z
943 case 112:
944#line 869 "perly.y"
f05e27e5 945 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
946 op_append_elem(OP_LIST,
947 op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
8c74b414 948 }
0de566d7
DM
949 break;
950
30d9c59b
Z
951 case 115:
952#line 884 "perly.y"
1654d593 953 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((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
30d9c59b
Z
961 case 116:
962#line 891 "perly.y"
1654d593
DM
963 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
964 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
965 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
8c74b414 966 }
0de566d7
DM
967 break;
968
30d9c59b
Z
969 case 117:
970#line 896 "perly.y"
f05e27e5 971 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
972 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
973 scalar((ps[(4) - (5)].val.opval)));
974 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
975 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
976 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
8c74b414 977 }
0de566d7
DM
978 break;
979
30d9c59b
Z
980 case 118:
981#line 904 "perly.y"
f05e27e5 982 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
983 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
984 scalar((ps[(3) - (4)].val.opval)));
985 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
986 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
8c74b414 987 }
0de566d7
DM
988 break;
989
30d9c59b
Z
990 case 119:
991#line 911 "perly.y"
1654d593 992 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 993 PL_parser->expect = XOPERATOR;
1654d593
DM
994 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
995 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
996 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
8c74b414 997 }
0de566d7
DM
998 break;
999
30d9c59b
Z
1000 case 120:
1001#line 918 "perly.y"
f05e27e5 1002 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593
DM
1003 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
1004 jmaybe((ps[(4) - (6)].val.opval)));
53a7735b 1005 PL_parser->expect = XOPERATOR;
1654d593
DM
1006 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'a');
1007 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
1008 TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
1009 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
8c74b414 1010 }
0de566d7
DM
1011 break;
1012
30d9c59b
Z
1013 case 121:
1014#line 928 "perly.y"
f05e27e5 1015 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593
DM
1016 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
1017 jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 1018 PL_parser->expect = XOPERATOR;
1654d593
DM
1019 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1020 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1021 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
8c74b414 1022 }
0de566d7
DM
1023 break;
1024
30d9c59b
Z
1025 case 122:
1026#line 937 "perly.y"
9a9798c2 1027 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
1028 newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
1029 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
1030 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1031 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
8c74b414 1032 }
0de566d7
DM
1033 break;
1034
30d9c59b
Z
1035 case 123:
1036#line 944 "perly.y"
9a9798c2 1037 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1038 op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
1654d593
DM
1039 newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
1040 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
1041 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1042 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
8c74b414 1043 }
0de566d7
DM
1044 break;
1045
30d9c59b
Z
1046 case 124:
1047#line 953 "perly.y"
f05e27e5 1048 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1049 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
1654d593
DM
1050 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
1051 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1052 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
8c74b414 1053 }
0de566d7
DM
1054 break;
1055
30d9c59b
Z
1056 case 125:
1057#line 960 "perly.y"
f05e27e5 1058 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
1059 newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
1060 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1061 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1062 }
0de566d7
DM
1063 break;
1064
30d9c59b
Z
1065 case 126:
1066#line 966 "perly.y"
1654d593
DM
1067 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
1068 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
1069 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
1070 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
1071 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
8c74b414 1072 }
0de566d7
DM
1073 break;
1074
30d9c59b
Z
1075 case 127:
1076#line 973 "perly.y"
ea25a9b2
Z
1077 { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval));
1078 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1079 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
8c74b414 1080 }
ea25a9b2
Z
1081 break;
1082
30d9c59b
Z
1083 case 128:
1084#line 978 "perly.y"
bcabcc50 1085 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
1654d593
DM
1086 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
1087 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
1088 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
1089 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
8c74b414 1090 }
0de566d7
DM
1091 break;
1092
30d9c59b
Z
1093 case 129:
1094#line 988 "perly.y"
9eb5c532 1095 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
1654d593 1096 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1097 }
0de566d7
DM
1098 break;
1099
30d9c59b
Z
1100 case 130:
1101#line 992 "perly.y"
9eb5c532 1102 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1654d593 1103 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1104 }
0de566d7
DM
1105 break;
1106
30d9c59b
Z
1107 case 131:
1108#line 996 "perly.y"
9eb5c532
Z
1109 { if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
1110 scalar((ps[(1) - (3)].val.opval));
1111 (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
1654d593 1112 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1113 }
0de566d7
DM
1114 break;
1115
30d9c59b
Z
1116 case 132:
1117#line 1002 "perly.y"
8d2a5fb4
FC
1118 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1119 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1120 }
8d2a5fb4
FC
1121 break;
1122
30d9c59b
Z
1123 case 133:
1124#line 1006 "perly.y"
1654d593
DM
1125 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1126 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1127 }
0de566d7
DM
1128 break;
1129
30d9c59b
Z
1130 case 134:
1131#line 1010 "perly.y"
f20dcd76
VP
1132 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1133 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1134 }
f20dcd76
VP
1135 break;
1136
30d9c59b
Z
1137 case 135:
1138#line 1014 "perly.y"
4098b6bb
JV
1139 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1140 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1141 }
4098b6bb
JV
1142 break;
1143
30d9c59b
Z
1144 case 136:
1145#line 1018 "perly.y"
7c70caa5
FC
1146 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1147 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1148 }
7c70caa5
FC
1149 break;
1150
30d9c59b
Z
1151 case 137:
1152#line 1022 "perly.y"
764212cf
FC
1153 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1154 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1155 }
764212cf
FC
1156 break;
1157
30d9c59b
Z
1158 case 138:
1159#line 1026 "perly.y"
f05e27e5 1160 {
1654d593 1161 (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
035e2bcc 1162 DO_MAD({
f05e27e5
DM
1163 UNOP *op;
1164 op = (UNOP*)(yyval.opval);
1165 op = (UNOP*)op->op_first; /* get to flop */
1166 op = (UNOP*)op->op_first; /* get to flip */
1167 op = (UNOP*)op->op_first; /* get to range */
1654d593 1168 token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
1795f873 1169 });
8c74b414 1170 }
0de566d7
DM
1171 break;
1172
30d9c59b
Z
1173 case 139:
1174#line 1038 "perly.y"
1654d593
DM
1175 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1176 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1177 }
0de566d7
DM
1178 break;
1179
30d9c59b
Z
1180 case 140:
1181#line 1042 "perly.y"
1654d593
DM
1182 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1183 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1184 }
0de566d7
DM
1185 break;
1186
30d9c59b
Z
1187 case 141:
1188#line 1046 "perly.y"
1654d593
DM
1189 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1190 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1191 }
0de566d7
DM
1192 break;
1193
30d9c59b
Z
1194 case 142:
1195#line 1050 "perly.y"
1654d593
DM
1196 { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1197 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
f05e27e5
DM
1198 ((yyval.opval)->op_type == OP_NOT
1199 ? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
1200 '~');
8c74b414 1201 }
500bedb6
DM
1202 break;
1203
30d9c59b
Z
1204 case 143:
1205#line 1060 "perly.y"
1654d593
DM
1206 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
1207 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1208 }
0de566d7
DM
1209 break;
1210
30d9c59b
Z
1211 case 144:
1212#line 1064 "perly.y"
f05e27e5 1213 { (yyval.opval) = IF_MAD(
1654d593
DM
1214 newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
1215 (ps[(2) - (2)].val.opval)
f05e27e5 1216 );
1654d593 1217 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
8c74b414 1218 }
0de566d7
DM
1219 break;
1220
30d9c59b
Z
1221 case 145:
1222#line 1071 "perly.y"
1654d593
DM
1223 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1224 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1225 }
0de566d7
DM
1226 break;
1227
30d9c59b
Z
1228 case 146:
1229#line 1075 "perly.y"
1654d593
DM
1230 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
1231 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1232 }
0de566d7
DM
1233 break;
1234
30d9c59b
Z
1235 case 147:
1236#line 1079 "perly.y"
f05e27e5 1237 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
3ad73efd 1238 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
1654d593 1239 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1240 }
0de566d7
DM
1241 break;
1242
30d9c59b
Z
1243 case 148:
1244#line 1084 "perly.y"
f05e27e5 1245 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
3ad73efd 1246 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
1654d593 1247 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1248 }
0de566d7
DM
1249 break;
1250
30d9c59b
Z
1251 case 149:
1252#line 1089 "perly.y"
cc624add
FC
1253 { (yyval.opval) = convert(OP_JOIN, 0,
1254 op_append_elem(
1255 OP_LIST,
1256 newSVREF(scalar(
1257 newSVOP(OP_CONST,0,
1258 newSVpvs("\""))
1259 )),
1260 (ps[(1) - (2)].val.opval)
1261 ));
1262 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1263 }
cc624add
FC
1264 break;
1265
30d9c59b
Z
1266 case 150:
1267#line 1101 "perly.y"
f05e27e5 1268 { (yyval.opval) = newUNOP(OP_PREINC, 0,
3ad73efd 1269 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
1654d593 1270 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1271 }
0de566d7
DM
1272 break;
1273
30d9c59b
Z
1274 case 151:
1275#line 1106 "perly.y"
f05e27e5 1276 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
3ad73efd 1277 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
1654d593 1278 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1279 }
0de566d7
DM
1280 break;
1281
30d9c59b
Z
1282 case 152:
1283#line 1115 "perly.y"
1654d593
DM
1284 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
1285 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
1286 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
8c74b414 1287 }
0de566d7
DM
1288 break;
1289
30d9c59b
Z
1290 case 153:
1291#line 1120 "perly.y"
bcabcc50 1292 { (yyval.opval) = newANONLIST((OP*)NULL);
1654d593
DM
1293 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
1294 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
8c74b414 1295 }
0de566d7
DM
1296 break;
1297
30d9c59b
Z
1298 case 154:
1299#line 1125 "perly.y"
1654d593
DM
1300 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
1301 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
1302 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
1303 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
8c74b414 1304 }
0de566d7
DM
1305 break;
1306
30d9c59b
Z
1307 case 155:
1308#line 1131 "perly.y"
bcabcc50 1309 { (yyval.opval) = newANONHASH((OP*)NULL);
1654d593
DM
1310 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
1311 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
1312 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
8c74b414 1313 }
9a9798c2
YST
1314 break;
1315
30d9c59b
Z
1316 case 156:
1317#line 1137 "perly.y"
5a5094bd 1318 { SvREFCNT_inc_simple_void(PL_compcv);
1654d593
DM
1319 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1320 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1321 OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
1322 OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
8c74b414 1323 }
9a9798c2
YST
1324 break;
1325
30d9c59b
Z
1326 case 157:
1327#line 1148 "perly.y"
1654d593
DM
1328 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
1329 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1330 }
f05e27e5
DM
1331 break;
1332
30d9c59b
Z
1333 case 158:
1334#line 1152 "perly.y"
3ad73efd 1335 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));
1654d593 1336 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
8c74b414 1337 }
0de566d7
DM
1338 break;
1339
30d9c59b
Z
1340 case 163:
1341#line 1162 "perly.y"
1654d593
DM
1342 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1343 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1344 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
8c74b414 1345 }
0de566d7
DM
1346 break;
1347
30d9c59b
Z
1348 case 164:
1349#line 1167 "perly.y"
3ad73efd 1350 { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
1654d593 1351 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1352 }
0de566d7
DM
1353 break;
1354
30d9c59b
Z
1355 case 165:
1356#line 1171 "perly.y"
8c74b414 1357 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1358 break;
1359
30d9c59b
Z
1360 case 166:
1361#line 1173 "perly.y"
1654d593 1362 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
dde83331 1363 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
8c74b414 1364 }
0de566d7
DM
1365 break;
1366
30d9c59b
Z
1367 case 167:
1368#line 1177 "perly.y"
1654d593
DM
1369 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1370 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1371 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1372 }
0de566d7
DM
1373 break;
1374
30d9c59b
Z
1375 case 168:
1376#line 1182 "perly.y"
8c74b414 1377 { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); }
ea25a9b2
Z
1378 break;
1379
30d9c59b
Z
1380 case 169:
1381#line 1184 "perly.y"
f05e27e5 1382 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1383 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1384 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
8c74b414 1385 }
0de566d7
DM
1386 break;
1387
30d9c59b
Z
1388 case 170:
1389#line 1189 "perly.y"
8c74b414 1390 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1391 break;
1392
30d9c59b
Z
1393 case 171:
1394#line 1191 "perly.y"
8c74b414 1395 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
f20dcd76
VP
1396 break;
1397
30d9c59b
Z
1398 case 172:
1399#line 1193 "perly.y"
8c74b414 1400 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
8e720305
Z
1401 break;
1402
30d9c59b
Z
1403 case 173:
1404#line 1195 "perly.y"
8c74b414 1405 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
764212cf
FC
1406 break;
1407
30d9c59b
Z
1408 case 174:
1409#line 1197 "perly.y"
8c74b414 1410 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
4210d3f1
FC
1411 break;
1412
30d9c59b
Z
1413 case 175:
1414#line 1199 "perly.y"
8c74b414 1415 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
cc624add
FC
1416 break;
1417
30d9c59b
Z
1418 case 176:
1419#line 1201 "perly.y"
2fcb4757 1420 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
f05e27e5
DM
1421 newOP(OP_PUSHMARK, 0),
1422 newLISTOP(OP_ASLICE, 0,
1654d593
DM
1423 list((ps[(3) - (4)].val.opval)),
1424 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
429a2555
FC
1425 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1426 (yyval.opval)->op_private |=
1427 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
1654d593
DM
1428 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1429 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
8c74b414 1430 }
0de566d7
DM
1431 break;
1432
30d9c59b
Z
1433 case 177:
1434#line 1213 "perly.y"
6dd3e0f2
RZ
1435 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1436 newOP(OP_PUSHMARK, 0),
1437 newLISTOP(OP_KVASLICE, 0,
1438 list((ps[(3) - (4)].val.opval)),
1439 ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
95a31aad
FC
1440 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1441 (yyval.opval)->op_private |=
1442 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
6dd3e0f2
RZ
1443 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1444 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
8c74b414 1445 }
6dd3e0f2
RZ
1446 break;
1447
30d9c59b
Z
1448 case 178:
1449#line 1225 "perly.y"
2fcb4757 1450 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
f05e27e5
DM
1451 newOP(OP_PUSHMARK, 0),
1452 newLISTOP(OP_HSLICE, 0,
1654d593
DM
1453 list((ps[(3) - (5)].val.opval)),
1454 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
429a2555
FC
1455 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1456 (yyval.opval)->op_private |=
1457 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
53a7735b 1458 PL_parser->expect = XOPERATOR;
1654d593
DM
1459 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1460 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1461 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
8c74b414 1462 }
0de566d7
DM
1463 break;
1464
30d9c59b
Z
1465 case 179:
1466#line 1239 "perly.y"
5cae3edb
RZ
1467 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1468 newOP(OP_PUSHMARK, 0),
1469 newLISTOP(OP_KVHSLICE, 0,
1470 list((ps[(3) - (5)].val.opval)),
1471 ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
95a31aad
FC
1472 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1473 (yyval.opval)->op_private |=
1474 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
5cae3edb
RZ
1475 PL_parser->expect = XOPERATOR;
1476 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1477 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1478 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
8c74b414 1479 }
0de566d7
DM
1480 break;
1481
30d9c59b
Z
1482 case 180:
1483#line 1253 "perly.y"
8c74b414 1484 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1485 break;
1486
30d9c59b
Z
1487 case 181:
1488#line 1255 "perly.y"
8c74b414 1489 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
5cae3edb
RZ
1490 break;
1491
30d9c59b
Z
1492 case 182:
1493#line 1257 "perly.y"
1654d593
DM
1494 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1495 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1496 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1497 }
0de566d7
DM
1498 break;
1499
30d9c59b
Z
1500 case 183:
1501#line 1262 "perly.y"
f05e27e5
DM
1502 {
1503 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1504 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
035e2bcc 1505 DO_MAD({
f05e27e5
DM
1506 OP* op = (yyval.opval);
1507 if (op->op_type == OP_CONST) { /* defeat const fold */
1508 op = (OP*)op->op_madprop->mad_val;
1509 }
1654d593
DM
1510 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1511 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
1795f873 1512 });
8c74b414 1513 }
0de566d7
DM
1514 break;
1515
30d9c59b
Z
1516 case 184:
1517#line 1275 "perly.y"
f05e27e5 1518 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1519 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1654d593 1520 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
8c74b414 1521 }
0de566d7
DM
1522 break;
1523
30d9c59b
Z
1524 case 185:
1525#line 1280 "perly.y"
89f35911
FC
1526 { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval));
1527 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'$');
8c74b414 1528 }
89f35911
FC
1529 break;
1530
30d9c59b
Z
1531 case 186:
1532#line 1284 "perly.y"
89f35911
FC
1533 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval));
1534 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'@');
8c74b414 1535 }
89f35911
FC
1536 break;
1537
30d9c59b
Z
1538 case 187:
1539#line 1288 "perly.y"
89f35911
FC
1540 { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval));
1541 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'%');
8c74b414 1542 }
89f35911
FC
1543 break;
1544
30d9c59b
Z
1545 case 188:
1546#line 1292 "perly.y"
89f35911
FC
1547 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
1548 scalar(newCVREF(IVAL((ps[(3) - (4)].val.i_tkval)),(ps[(1) - (4)].val.opval))));
1549 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'&');
8c74b414 1550 }
89f35911
FC
1551 break;
1552
30d9c59b
Z
1553 case 189:
1554#line 1297 "perly.y"
89f35911
FC
1555 { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval));
1556 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'*');
8c74b414 1557 }
89f35911
FC
1558 break;
1559
30d9c59b
Z
1560 case 190:
1561#line 1301 "perly.y"
1654d593 1562 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1563 PL_hints |= HINT_BLOCK_SCOPE;
1654d593 1564 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
8c74b414 1565 }
0de566d7
DM
1566 break;
1567
30d9c59b
Z
1568 case 191:
1569#line 1306 "perly.y"
9eb5c532 1570 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1654d593 1571 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1572 }
0de566d7
DM
1573 break;
1574
30d9c59b
Z
1575 case 192:
1576#line 1310 "perly.y"
9eb5c532
Z
1577 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1578 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1579 }
0de566d7
DM
1580 break;
1581
30d9c59b
Z
1582 case 193:
1583#line 1314 "perly.y"
9eb5c532
Z
1584 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1585 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
8c74b414 1586 }
0de566d7
DM
1587 break;
1588
30d9c59b
Z
1589 case 194:
1590#line 1318 "perly.y"
1654d593
DM
1591 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1592 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1593 }
0de566d7
DM
1594 break;
1595
30d9c59b
Z
1596 case 195:
1597#line 1322 "perly.y"
9eb5c532
Z
1598 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1599 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1600 }
0de566d7
DM
1601 break;
1602
30d9c59b
Z
1603 case 196:
1604#line 1326 "perly.y"
9eb5c532
Z
1605 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
1606 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
8c74b414 1607 }
0de566d7
DM
1608 break;
1609
30d9c59b
Z
1610 case 197:
1611#line 1330 "perly.y"
9eb5c532
Z
1612 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
1613 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
8c74b414 1614 }
0de566d7
DM
1615 break;
1616
30d9c59b
Z
1617 case 198:
1618#line 1334 "perly.y"
8c74b414 1619 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
9eb5c532
Z
1620 break;
1621
30d9c59b
Z
1622 case 199:
1623#line 1336 "perly.y"
f05e27e5 1624 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
8c74b414 1625 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
0de566d7
DM
1626 break;
1627
30d9c59b
Z
1628 case 200:
1629#line 1339 "perly.y"
1654d593
DM
1630 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1631 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
8c74b414 1632 }
0de566d7
DM
1633 break;
1634
30d9c59b
Z
1635 case 201:
1636#line 1343 "perly.y"
1654d593
DM
1637 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1638 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1639 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1640 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1641 }
0de566d7
DM
1642 break;
1643
30d9c59b
Z
1644 case 202:
1645#line 1349 "perly.y"
8c74b414 1646 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
7eb971ee
FC
1647 break;
1648
30d9c59b
Z
1649 case 203:
1650#line 1351 "perly.y"
7eb971ee
FC
1651 { (yyval.opval) = (ps[(1) - (3)].val.opval);
1652 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1653 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1654 }
7eb971ee
FC
1655 break;
1656
30d9c59b
Z
1657 case 204:
1658#line 1356 "perly.y"
f05e27e5 1659 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
8c74b414 1660 scalar((ps[(1) - (1)].val.opval))); }
0de566d7
DM
1661 break;
1662
30d9c59b
Z
1663 case 205:
1664#line 1359 "perly.y"
1654d593
DM
1665 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1666 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1667 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1668
1654d593
DM
1669 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1670 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1671 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1672 }
0de566d7
DM
1673 break;
1674
30d9c59b
Z
1675 case 206:
1676#line 1368 "perly.y"
1654d593
DM
1677 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1678 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1679 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1680 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
8c74b414 1681 }
0de566d7
DM
1682 break;
1683
30d9c59b
Z
1684 case 207:
1685#line 1374 "perly.y"
d63c20f2
DM
1686 {
1687 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1688 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1689 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1690 {
1691 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1692 SAVEFREESV(PL_compcv);
1693 } else
1694 (yyval.ival) = 0;
8c74b414 1695 }
d63c20f2
DM
1696 break;
1697
30d9c59b
Z
1698 case 208:
1699#line 1385 "perly.y"
d63c20f2
DM
1700 { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
1701 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1702 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
8c74b414 1703 }
0de566d7
DM
1704 break;
1705
30d9c59b
Z
1706 case 211:
1707#line 1392 "perly.y"
be25f609 1708 {
1709 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1710 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
950f2ea2 1711 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
8c74b414 1712 }
be25f609 1713 break;
1714
30d9c59b
Z
1715 case 213:
1716#line 1402 "perly.y"
1654d593 1717 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
f05e27e5 1718 DO_MAD(
1654d593
DM
1719 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1720 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1721 (ps[(3) - (3)].val.opval)->op_madprop = 0;
1795f873 1722 );
8c74b414 1723 }
0de566d7
DM
1724 break;
1725
30d9c59b
Z
1726 case 214:
1727#line 1410 "perly.y"
1654d593
DM
1728 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1729 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
8c74b414 1730 }
0de566d7
DM
1731 break;
1732
30d9c59b
Z
1733 case 215:
1734#line 1417 "perly.y"
1654d593
DM
1735 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1736 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1737 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
8c74b414 1738 }
0de566d7
DM
1739 break;
1740
30d9c59b
Z
1741 case 216:
1742#line 1422 "perly.y"
f05e27e5 1743 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1744 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1745 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
8c74b414 1746 }
4098b6bb
JV
1747 break;
1748
30d9c59b
Z
1749 case 217:
1750#line 1427 "perly.y"
8c74b414 1751 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
ea25a9b2
Z
1752 break;
1753
30d9c59b
Z
1754 case 218:
1755#line 1429 "perly.y"
8c74b414 1756 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
d63c20f2
DM
1757 break;
1758
30d9c59b
Z
1759 case 219:
1760#line 1431 "perly.y"
8c74b414 1761 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
7c70caa5
FC
1762 break;
1763
30d9c59b
Z
1764 case 220:
1765#line 1436 "perly.y"
8c74b414 1766 { (yyval.opval) = (OP*)NULL; }
764212cf
FC
1767 break;
1768
30d9c59b
Z
1769 case 221:
1770#line 1438 "perly.y"
8c74b414 1771 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
4210d3f1
FC
1772 break;
1773
30d9c59b
Z
1774 case 222:
1775#line 1442 "perly.y"
8c74b414 1776 { (yyval.opval) = (OP*)NULL; }
5cae3edb
RZ
1777 break;
1778
30d9c59b
Z
1779 case 223:
1780#line 1444 "perly.y"
8c74b414 1781 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
6dd3e0f2
RZ
1782 break;
1783
30d9c59b
Z
1784 case 224:
1785#line 1450 "perly.y"
8c74b414 1786 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
cc624add
FC
1787 break;
1788
30d9c59b
Z
1789 case 225:
1790#line 1454 "perly.y"
1654d593
DM
1791 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1792 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
8c74b414 1793 }
0de566d7
DM
1794 break;
1795
30d9c59b
Z
1796 case 226:
1797#line 1460 "perly.y"
1654d593
DM
1798 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1799 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
8c74b414 1800 }
0de566d7
DM
1801 break;
1802
30d9c59b
Z
1803 case 227:
1804#line 1466 "perly.y"
1654d593 1805 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
429a2555 1806 if ((yyval.opval)) (yyval.opval)->op_private |= IVAL((ps[(1) - (2)].val.i_tkval));
1654d593 1807 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
8c74b414 1808 }
0de566d7
DM
1809 break;
1810
30d9c59b
Z
1811 case 228:
1812#line 1473 "perly.y"
1654d593 1813 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
95a31aad 1814 if ((yyval.opval)) (yyval.opval)->op_private |= IVAL((ps[(1) - (2)].val.i_tkval));
1654d593 1815 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
8c74b414 1816 }
500bedb6
DM
1817 break;
1818
30d9c59b
Z
1819 case 229:
1820#line 1480 "perly.y"
1654d593
DM
1821 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1822 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
8c74b414 1823 }
a72a1c8b
RGS
1824 break;
1825
30d9c59b
Z
1826 case 230:
1827#line 1484 "perly.y"
ff25e5db
FC
1828 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval));
1829 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'l');
8c74b414 1830 }
ff25e5db
FC
1831 break;
1832
30d9c59b
Z
1833 case 231:
1834#line 1490 "perly.y"
1654d593
DM
1835 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1836 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
8c74b414 1837 }
503de470
DM
1838 break;
1839
30d9c59b
Z
1840 case 233:
1841#line 1497 "perly.y"
89f35911
FC
1842 { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval));
1843 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'@');
8c74b414 1844 }
89f35911
FC
1845 break;
1846
30d9c59b
Z
1847 case 235:
1848#line 1504 "perly.y"
76eba8ab
FC
1849 { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval));
1850 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'@');
8c74b414 1851 }
76eba8ab
FC
1852 break;
1853
30d9c59b
Z
1854 case 237:
1855#line 1511 "perly.y"
89f35911
FC
1856 { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval));
1857 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'*');
8c74b414 1858 }
89f35911
FC
1859 break;
1860
30d9c59b
Z
1861 case 238:
1862#line 1518 "perly.y"
8c74b414 1863 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
3cd0a11a
RGS
1864 break;
1865
30d9c59b
Z
1866 case 239:
1867#line 1520 "perly.y"
8c74b414 1868 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
f05e27e5
DM
1869 break;
1870
30d9c59b
Z
1871 case 240:
1872#line 1522 "perly.y"
8c74b414 1873 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
f05e27e5
DM
1874 break;
1875
30d9c59b
Z
1876 case 241:
1877#line 1525 "perly.y"
8c74b414 1878 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
5cae3edb 1879 break;
fb602e32 1880
20515881 1881 default: break;
0de566d7 1882
e8fb9efb 1883
c24c946d 1884/* Generated from:
30d9c59b 1885 * bb8245a1a537b2afb2445b3973f63b210f9ec346a1955071aef7d05ba97196ae perly.y
9c221ee4 1886 * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
c24c946d 1887 * ex: set ro: */