This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Archive-Tar to CPAN version 1.96
[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;
95a31aad 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;
95a31aad 19 ;}
9eb5c532
Z
20 break;
21
22 case 4:
89f35911 23#line 151 "perly.y"
727a8fe5 24 {
78cdf107 25 parser->expect = XTERM;
95a31aad 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;
95a31aad 34 ;}
636def1f
RGS
35 break;
36
727a8fe5 37 case 6:
89f35911 38#line 160 "perly.y"
07ffcb73 39 {
78cdf107 40 parser->expect = XBLOCK;
95a31aad 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;
95a31aad 52 ;}
07ffcb73
Z
53 break;
54
727a8fe5 55 case 8:
89f35911 56#line 172 "perly.y"
e53d8f76
Z
57 {
58 parser->expect = XSTATE;
95a31aad 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;
95a31aad 70 ;}
e53d8f76
Z
71 break;
72
727a8fe5 73 case 10:
89f35911 74#line 184 "perly.y"
8359b381
Z
75 {
76 parser->expect = XSTATE;
95a31aad 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;
95a31aad 88 ;}
8359b381
Z
89 break;
90
8359b381 91 case 12:
89f35911 92#line 196 "perly.y"
78cdf107
Z
93 {
94 parser->expect = XSTATE;
95a31aad 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;
95a31aad 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),'}');
95a31aad 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),'}');
95a31aad 123 ;}
0d863452
RH
124 break;
125
78cdf107 126 case 16:
89f35911 127#line 227 "perly.y"
95a31aad 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),'}');
95a31aad 138 ;}
0de566d7
DM
139 break;
140
7c70caa5 141 case 18:
89f35911 142#line 240 "perly.y"
95a31aad 143 { (yyval.ival) = block_start(FALSE); ;}
0de566d7
DM
144 break;
145
7c70caa5 146 case 19:
89f35911 147#line 245 "perly.y"
95a31aad 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;
95a31aad 157 ;}
500bedb6
DM
158 break;
159
7c70caa5 160 case 21:
89f35911 161#line 256 "perly.y"
95a31aad 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;
95a31aad 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 }
95a31aad 182 ;}
0d863452
RH
183 break;
184
705fe0e5 185 case 24:
89f35911 186#line 275 "perly.y"
95a31aad 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');
95a31aad 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');
95a31aad 208 ;}
8e720305
Z
209 break;
210
705fe0e5 211 case 27:
89f35911 212#line 297 "perly.y"
95a31aad 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');
95a31aad 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 }
95a31aad 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;
95a31aad 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();
95a31aad 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
95a31aad 315 ;}
0de566d7
DM
316 break;
317
8d2a5fb4 318 case 33:
89f35911 319#line 386 "perly.y"
95a31aad 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
95a31aad 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));
95a31aad 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));
95a31aad 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));
95a31aad 376 ;}
0de566d7
DM
377 break;
378
8d2a5fb4 379 case 38:
89f35911 380#line 432 "perly.y"
95a31aad 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"
95a31aad 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));
95a31aad 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));
95a31aad 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));
95a31aad 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));
95a31aad 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));
95a31aad 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));
95a31aad 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);
95a31aad 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 }
95a31aad 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));
95a31aad 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),';');
95a31aad 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;
95a31aad 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));
95a31aad 546 ;}
705fe0e5
FC
547 break;
548
8d2a5fb4 549 case 52:
89f35911 550#line 566 "perly.y"
95a31aad 551 { (yyval.opval) = NULL; ;}
705fe0e5
FC
552 break;
553
8d2a5fb4 554 case 53:
89f35911 555#line 568 "perly.y"
95a31aad 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"
95a31aad 561 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
562 break;
563
8d2a5fb4 564 case 55:
89f35911 565#line 575 "perly.y"
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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));
95a31aad 602 ;}
0de566d7
DM
603 break;
604
8d2a5fb4 605 case 61:
89f35911 606#line 598 "perly.y"
95a31aad 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"
95a31aad 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');
95a31aad 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),')');
95a31aad 634 ;}
eae48c89
Z
635 break;
636
8d2a5fb4 637 case 65:
89f35911 638#line 624 "perly.y"
95a31aad 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');
95a31aad 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);
95a31aad 654 intro_my(); ;}
0de566d7
DM
655 break;
656
8d2a5fb4 657 case 68:
89f35911 658#line 640 "perly.y"
95a31aad 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);
95a31aad 666 (yyval.opval) = tmplval.opval; ;}
0de566d7
DM
667 break;
668
8d2a5fb4 669 case 72:
89f35911 670#line 654 "perly.y"
95a31aad 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"
95a31aad 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"
95a31aad 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"
95a31aad 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"
95a31aad 691 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
7c70caa5
FC
692 break;
693
8d2a5fb4 694 case 77:
89f35911 695#line 671 "perly.y"
95a31aad 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);
95a31aad 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);
95a31aad 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);
95a31aad 714 SAVEFREESV(PL_compcv); ;}
2af555bf
DM
715 break;
716
8d2a5fb4 717 case 83:
89f35911 718#line 697 "perly.y"
95a31aad 719 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
720 break;
721
8d2a5fb4 722 case 85:
89f35911 723#line 703 "perly.y"
95a31aad 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),':');
95a31aad 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),':');
95a31aad 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),':');
95a31aad 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),':');
95a31aad 758 ;}
0de566d7
DM
759 break;
760
8d2a5fb4 761 case 90:
89f35911 762#line 732 "perly.y"
95a31aad 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),';');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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
95a31aad 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);
95a31aad 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');
95a31aad 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),')');
95a31aad 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),')');
95a31aad 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');
95a31aad 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))));
95a31aad 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),')');
95a31aad 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');
95a31aad 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),')');
95a31aad 895 ;}
0de566d7
DM
896 break;
897
8d2a5fb4 898 case 107:
89f35911 899#line 834 "perly.y"
5a5094bd 900 { SvREFCNT_inc_simple_void(PL_compcv);
95a31aad 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)));
95a31aad 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),'}');
95a31aad 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),']');
95a31aad 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),']');
95a31aad 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),']');
95a31aad 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),'}');
95a31aad 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),'}');
95a31aad 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),'}');
95a31aad 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),')');
95a31aad 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),')');
95a31aad 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),')');
95a31aad 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),')');
95a31aad 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),']');
95a31aad 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),']');
95a31aad 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),']');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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 });
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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 '~');
95a31aad 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');
95a31aad 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),'+');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 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');
1224 ;}
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');
95a31aad 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');
95a31aad 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),']');
95a31aad 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),']');
95a31aad 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),'}');
95a31aad 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),'}');
95a31aad 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');
95a31aad 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');
95a31aad 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');
95a31aad 1298 ;}
f05e27e5
DM
1299 break;
1300
cc624add
FC
1301 case 155:
1302#line 1124 "perly.y"
9a9798c2 1303 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7 1304 OPf_SPECIAL|OPf_STACKED,
2fcb4757 1305 op_prepend_elem(OP_LIST,
0de566d7
DM
1306 scalar(newCVREF(
1307 (OPpENTERSUB_AMPER<<8),
1654d593 1308 scalar((ps[(2) - (4)].val.opval))
bcabcc50 1309 )),(OP*)NULL)); dep();
1654d593
DM
1310 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1311 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1312 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
95a31aad 1313 ;}
0de566d7
DM
1314 break;
1315
cc624add
FC
1316 case 156:
1317#line 1136 "perly.y"
9a9798c2 1318 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7 1319 OPf_SPECIAL|OPf_STACKED,
2fcb4757 1320 op_append_elem(OP_LIST,
1654d593 1321 (ps[(4) - (5)].val.opval),
0de566d7
DM
1322 scalar(newCVREF(
1323 (OPpENTERSUB_AMPER<<8),
1654d593 1324 scalar((ps[(2) - (5)].val.opval))
f05e27e5 1325 )))); dep();
1654d593
DM
1326 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1327 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1328 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
95a31aad 1329 ;}
0de566d7
DM
1330 break;
1331
cc624add
FC
1332 case 157:
1333#line 1149 "perly.y"
9a9798c2 1334 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2fcb4757 1335 op_prepend_elem(OP_LIST,
bcabcc50 1336 scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
1654d593
DM
1337 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1338 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1339 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
95a31aad 1340 ;}
0de566d7
DM
1341 break;
1342
cc624add
FC
1343 case 158:
1344#line 1157 "perly.y"
9a9798c2 1345 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2fcb4757 1346 op_prepend_elem(OP_LIST,
1654d593
DM
1347 (ps[(4) - (5)].val.opval),
1348 scalar(newCVREF(0,scalar((ps[(2) - (5)].val.opval)))))); dep();
1349 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1350 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1351 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
95a31aad 1352 ;}
0de566d7
DM
1353 break;
1354
cc624add
FC
1355 case 163:
1356#line 1173 "perly.y"
1654d593
DM
1357 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1358 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1359 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
95a31aad 1360 ;}
0de566d7
DM
1361 break;
1362
cc624add
FC
1363 case 164:
1364#line 1178 "perly.y"
3ad73efd 1365 { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
1654d593 1366 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
95a31aad 1367 ;}
0de566d7
DM
1368 break;
1369
cc624add
FC
1370 case 165:
1371#line 1182 "perly.y"
95a31aad 1372 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1373 break;
1374
cc624add
FC
1375 case 166:
1376#line 1184 "perly.y"
1654d593 1377 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
dde83331 1378 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
95a31aad 1379 ;}
0de566d7
DM
1380 break;
1381
cc624add
FC
1382 case 167:
1383#line 1188 "perly.y"
1654d593
DM
1384 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1385 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1386 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
95a31aad 1387 ;}
0de566d7
DM
1388 break;
1389
cc624add
FC
1390 case 168:
1391#line 1193 "perly.y"
95a31aad 1392 { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
ea25a9b2
Z
1393 break;
1394
cc624add
FC
1395 case 169:
1396#line 1195 "perly.y"
f05e27e5 1397 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1398 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1399 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
95a31aad 1400 ;}
0de566d7
DM
1401 break;
1402
705fe0e5 1403 case 170:
cc624add 1404#line 1200 "perly.y"
95a31aad 1405 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1406 break;
1407
705fe0e5 1408 case 171:
cc624add 1409#line 1202 "perly.y"
95a31aad 1410 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f20dcd76
VP
1411 break;
1412
705fe0e5 1413 case 172:
cc624add 1414#line 1204 "perly.y"
95a31aad 1415 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
8e720305
Z
1416 break;
1417
705fe0e5 1418 case 173:
cc624add
FC
1419#line 1206 "perly.y"
1420 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
764212cf
FC
1421 break;
1422
8d2a5fb4 1423 case 174:
cc624add
FC
1424#line 1208 "perly.y"
1425 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
4210d3f1
FC
1426 break;
1427
8d2a5fb4 1428 case 175:
cc624add
FC
1429#line 1210 "perly.y"
1430 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1431 break;
1432
1433 case 176:
1434#line 1212 "perly.y"
2fcb4757 1435 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
f05e27e5
DM
1436 newOP(OP_PUSHMARK, 0),
1437 newLISTOP(OP_ASLICE, 0,
1654d593
DM
1438 list((ps[(3) - (4)].val.opval)),
1439 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
429a2555
FC
1440 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1441 (yyval.opval)->op_private |=
1442 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
1654d593
DM
1443 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1444 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
95a31aad 1445 ;}
0de566d7
DM
1446 break;
1447
cc624add
FC
1448 case 177:
1449#line 1224 "perly.y"
6dd3e0f2
RZ
1450 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1451 newOP(OP_PUSHMARK, 0),
1452 newLISTOP(OP_KVASLICE, 0,
1453 list((ps[(3) - (4)].val.opval)),
1454 ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
95a31aad
FC
1455 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1456 (yyval.opval)->op_private |=
1457 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
6dd3e0f2
RZ
1458 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1459 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
95a31aad 1460 ;}
6dd3e0f2
RZ
1461 break;
1462
cc624add
FC
1463 case 178:
1464#line 1236 "perly.y"
2fcb4757 1465 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
f05e27e5
DM
1466 newOP(OP_PUSHMARK, 0),
1467 newLISTOP(OP_HSLICE, 0,
1654d593
DM
1468 list((ps[(3) - (5)].val.opval)),
1469 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
429a2555
FC
1470 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1471 (yyval.opval)->op_private |=
1472 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
53a7735b 1473 PL_parser->expect = XOPERATOR;
1654d593
DM
1474 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1475 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1476 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
95a31aad 1477 ;}
0de566d7
DM
1478 break;
1479
cc624add
FC
1480 case 179:
1481#line 1250 "perly.y"
5cae3edb
RZ
1482 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1483 newOP(OP_PUSHMARK, 0),
1484 newLISTOP(OP_KVHSLICE, 0,
1485 list((ps[(3) - (5)].val.opval)),
1486 ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
95a31aad
FC
1487 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1488 (yyval.opval)->op_private |=
1489 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
5cae3edb
RZ
1490 PL_parser->expect = XOPERATOR;
1491 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1492 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1493 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
95a31aad 1494 ;}
0de566d7
DM
1495 break;
1496
cc624add
FC
1497 case 180:
1498#line 1264 "perly.y"
95a31aad 1499 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1500 break;
1501
cc624add
FC
1502 case 181:
1503#line 1266 "perly.y"
95a31aad 1504 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
5cae3edb
RZ
1505 break;
1506
cc624add
FC
1507 case 182:
1508#line 1268 "perly.y"
1654d593
DM
1509 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1510 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1511 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
95a31aad 1512 ;}
0de566d7
DM
1513 break;
1514
cc624add
FC
1515 case 183:
1516#line 1273 "perly.y"
f05e27e5
DM
1517 {
1518 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1519 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
035e2bcc 1520 DO_MAD({
f05e27e5
DM
1521 OP* op = (yyval.opval);
1522 if (op->op_type == OP_CONST) { /* defeat const fold */
1523 op = (OP*)op->op_madprop->mad_val;
1524 }
1654d593
DM
1525 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1526 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
1795f873 1527 });
95a31aad 1528 ;}
0de566d7
DM
1529 break;
1530
cc624add
FC
1531 case 184:
1532#line 1286 "perly.y"
f05e27e5 1533 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1534 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1654d593 1535 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
95a31aad 1536 ;}
0de566d7
DM
1537 break;
1538
cc624add
FC
1539 case 185:
1540#line 1291 "perly.y"
89f35911
FC
1541 { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval));
1542 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'$');
1543 ;}
1544 break;
1545
cc624add
FC
1546 case 186:
1547#line 1295 "perly.y"
89f35911
FC
1548 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval));
1549 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'@');
1550 ;}
1551 break;
1552
cc624add
FC
1553 case 187:
1554#line 1299 "perly.y"
89f35911
FC
1555 { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval));
1556 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'%');
1557 ;}
1558 break;
1559
cc624add
FC
1560 case 188:
1561#line 1303 "perly.y"
89f35911
FC
1562 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
1563 scalar(newCVREF(IVAL((ps[(3) - (4)].val.i_tkval)),(ps[(1) - (4)].val.opval))));
1564 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'&');
1565 ;}
1566 break;
1567
cc624add
FC
1568 case 189:
1569#line 1308 "perly.y"
89f35911
FC
1570 { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval));
1571 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'*');
1572 ;}
1573 break;
1574
cc624add
FC
1575 case 190:
1576#line 1312 "perly.y"
1654d593 1577 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1578 PL_hints |= HINT_BLOCK_SCOPE;
1654d593 1579 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
95a31aad 1580 ;}
0de566d7
DM
1581 break;
1582
cc624add
FC
1583 case 191:
1584#line 1317 "perly.y"
9eb5c532 1585 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1654d593 1586 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
95a31aad 1587 ;}
0de566d7
DM
1588 break;
1589
cc624add
FC
1590 case 192:
1591#line 1321 "perly.y"
9eb5c532
Z
1592 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1593 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
95a31aad 1594 ;}
0de566d7
DM
1595 break;
1596
cc624add
FC
1597 case 193:
1598#line 1325 "perly.y"
9eb5c532
Z
1599 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1600 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
95a31aad 1601 ;}
0de566d7
DM
1602 break;
1603
cc624add
FC
1604 case 194:
1605#line 1329 "perly.y"
1654d593
DM
1606 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1607 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
95a31aad 1608 ;}
0de566d7
DM
1609 break;
1610
cc624add
FC
1611 case 195:
1612#line 1333 "perly.y"
9eb5c532
Z
1613 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1614 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
95a31aad 1615 ;}
0de566d7
DM
1616 break;
1617
cc624add
FC
1618 case 196:
1619#line 1337 "perly.y"
9eb5c532
Z
1620 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
1621 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
95a31aad 1622 ;}
0de566d7
DM
1623 break;
1624
cc624add
FC
1625 case 197:
1626#line 1341 "perly.y"
9eb5c532
Z
1627 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
1628 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
95a31aad 1629 ;}
0de566d7
DM
1630 break;
1631
cc624add
FC
1632 case 198:
1633#line 1345 "perly.y"
95a31aad 1634 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
9eb5c532
Z
1635 break;
1636
cc624add
FC
1637 case 199:
1638#line 1347 "perly.y"
f05e27e5 1639 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
95a31aad 1640 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
0de566d7
DM
1641 break;
1642
cc624add
FC
1643 case 200:
1644#line 1350 "perly.y"
1654d593
DM
1645 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1646 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
95a31aad 1647 ;}
0de566d7
DM
1648 break;
1649
cc624add
FC
1650 case 201:
1651#line 1354 "perly.y"
1654d593
DM
1652 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1653 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1654 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1655 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
95a31aad 1656 ;}
0de566d7
DM
1657 break;
1658
cc624add
FC
1659 case 202:
1660#line 1360 "perly.y"
95a31aad 1661 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
7eb971ee
FC
1662 break;
1663
cc624add
FC
1664 case 203:
1665#line 1362 "perly.y"
7eb971ee
FC
1666 { (yyval.opval) = (ps[(1) - (3)].val.opval);
1667 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1668 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
95a31aad 1669 ;}
7eb971ee
FC
1670 break;
1671
cc624add
FC
1672 case 204:
1673#line 1367 "perly.y"
f05e27e5 1674 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
95a31aad 1675 scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1676 break;
1677
cc624add
FC
1678 case 205:
1679#line 1370 "perly.y"
1654d593
DM
1680 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1681 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1682 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1683
1654d593
DM
1684 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1685 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1686 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
95a31aad 1687 ;}
0de566d7
DM
1688 break;
1689
cc624add
FC
1690 case 206:
1691#line 1379 "perly.y"
1654d593
DM
1692 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1693 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1694 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1695 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
95a31aad 1696 ;}
0de566d7
DM
1697 break;
1698
cc624add
FC
1699 case 207:
1700#line 1385 "perly.y"
d63c20f2
DM
1701 {
1702 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1703 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1704 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1705 {
1706 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1707 SAVEFREESV(PL_compcv);
1708 } else
1709 (yyval.ival) = 0;
95a31aad 1710 ;}
d63c20f2
DM
1711 break;
1712
cc624add
FC
1713 case 208:
1714#line 1396 "perly.y"
d63c20f2
DM
1715 { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
1716 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1717 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
95a31aad 1718 ;}
0de566d7
DM
1719 break;
1720
cc624add
FC
1721 case 211:
1722#line 1403 "perly.y"
be25f609 1723 {
1724 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1725 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
950f2ea2 1726 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
95a31aad 1727 ;}
be25f609 1728 break;
1729
cc624add
FC
1730 case 213:
1731#line 1413 "perly.y"
1654d593 1732 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
f05e27e5 1733 DO_MAD(
1654d593
DM
1734 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1735 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1736 (ps[(3) - (3)].val.opval)->op_madprop = 0;
1795f873 1737 );
95a31aad 1738 ;}
0de566d7
DM
1739 break;
1740
cc624add
FC
1741 case 214:
1742#line 1421 "perly.y"
1654d593
DM
1743 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1744 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
95a31aad 1745 ;}
0de566d7
DM
1746 break;
1747
cc624add
FC
1748 case 215:
1749#line 1428 "perly.y"
1654d593
DM
1750 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1751 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1752 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
95a31aad 1753 ;}
0de566d7
DM
1754 break;
1755
cc624add
FC
1756 case 216:
1757#line 1433 "perly.y"
f05e27e5 1758 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1759 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1760 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
95a31aad 1761 ;}
4098b6bb
JV
1762 break;
1763
89f35911 1764 case 217:
cc624add 1765#line 1438 "perly.y"
95a31aad 1766 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
ea25a9b2
Z
1767 break;
1768
89f35911 1769 case 218:
cc624add 1770#line 1440 "perly.y"
95a31aad 1771 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
d63c20f2
DM
1772 break;
1773
89f35911 1774 case 219:
cc624add
FC
1775#line 1442 "perly.y"
1776 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
7c70caa5
FC
1777 break;
1778
89f35911 1779 case 220:
cc624add
FC
1780#line 1447 "perly.y"
1781 { (yyval.opval) = (OP*)NULL; ;}
764212cf
FC
1782 break;
1783
89f35911 1784 case 221:
cc624add
FC
1785#line 1449 "perly.y"
1786 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
4210d3f1
FC
1787 break;
1788
89f35911 1789 case 222:
cc624add
FC
1790#line 1453 "perly.y"
1791 { (yyval.opval) = (OP*)NULL; ;}
5cae3edb
RZ
1792 break;
1793
89f35911 1794 case 223:
cc624add
FC
1795#line 1455 "perly.y"
1796 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
6dd3e0f2
RZ
1797 break;
1798
89f35911 1799 case 224:
cc624add
FC
1800#line 1461 "perly.y"
1801 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
1802 break;
1803
1804 case 225:
1805#line 1465 "perly.y"
1654d593
DM
1806 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1807 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
95a31aad 1808 ;}
0de566d7
DM
1809 break;
1810
cc624add
FC
1811 case 226:
1812#line 1471 "perly.y"
1654d593
DM
1813 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1814 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
95a31aad 1815 ;}
0de566d7
DM
1816 break;
1817
cc624add
FC
1818 case 227:
1819#line 1477 "perly.y"
1654d593 1820 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
429a2555 1821 if ((yyval.opval)) (yyval.opval)->op_private |= IVAL((ps[(1) - (2)].val.i_tkval));
1654d593 1822 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
95a31aad 1823 ;}
0de566d7
DM
1824 break;
1825
cc624add
FC
1826 case 228:
1827#line 1484 "perly.y"
1654d593 1828 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
95a31aad 1829 if ((yyval.opval)) (yyval.opval)->op_private |= IVAL((ps[(1) - (2)].val.i_tkval));
1654d593 1830 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
95a31aad 1831 ;}
500bedb6
DM
1832 break;
1833
cc624add
FC
1834 case 229:
1835#line 1491 "perly.y"
1654d593
DM
1836 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1837 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
95a31aad 1838 ;}
a72a1c8b
RGS
1839 break;
1840
cc624add
FC
1841 case 230:
1842#line 1497 "perly.y"
1654d593
DM
1843 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1844 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
95a31aad 1845 ;}
503de470
DM
1846 break;
1847
cc624add
FC
1848 case 232:
1849#line 1504 "perly.y"
89f35911
FC
1850 { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval));
1851 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'@');
1852 ;}
1853 break;
1854
cc624add
FC
1855 case 234:
1856#line 1511 "perly.y"
76eba8ab
FC
1857 { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval));
1858 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'@');
1859 ;}
1860 break;
1861
cc624add
FC
1862 case 236:
1863#line 1518 "perly.y"
89f35911
FC
1864 { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval));
1865 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'*');
1866 ;}
1867 break;
1868
cc624add
FC
1869 case 237:
1870#line 1525 "perly.y"
95a31aad 1871 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
3cd0a11a
RGS
1872 break;
1873
cc624add
FC
1874 case 238:
1875#line 1527 "perly.y"
95a31aad 1876 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
f05e27e5
DM
1877 break;
1878
cc624add
FC
1879 case 239:
1880#line 1529 "perly.y"
95a31aad 1881 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
f05e27e5
DM
1882 break;
1883
cc624add
FC
1884 case 240:
1885#line 1532 "perly.y"
95a31aad 1886 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
5cae3edb 1887 break;
fb602e32 1888
95a31aad
FC
1889
1890/* Line 1267 of yacc.c. */
1891
20515881 1892 default: break;
0de566d7 1893
e8fb9efb 1894
c24c946d 1895/* Generated from:
cc624add 1896 * 020be75832dcc7c18bd88434c3ba0e24a136dc093c4b8bf2cef9efa5875c9a29 perly.y
9c221ee4 1897 * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
c24c946d 1898 * ex: set ro: */