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