This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In S_regatom(), set flags to 0 at the start.
[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;
c25611d5 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;
c25611d5 19 ;}
9eb5c532
Z
20 break;
21
22 case 4:
705fe0e5 23#line 150 "perly.y"
727a8fe5 24 {
78cdf107 25 parser->expect = XTERM;
c25611d5 26 ;}
727a8fe5
Z
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;
c25611d5 34 ;}
636def1f
RGS
35 break;
36
727a8fe5 37 case 6:
705fe0e5 38#line 159 "perly.y"
07ffcb73 39 {
78cdf107 40 parser->expect = XBLOCK;
c25611d5 41 ;}
07ffcb73
Z
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;
c25611d5 52 ;}
07ffcb73
Z
53 break;
54
727a8fe5 55 case 8:
705fe0e5 56#line 171 "perly.y"
e53d8f76
Z
57 {
58 parser->expect = XSTATE;
c25611d5 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;
c25611d5 70 ;}
e53d8f76
Z
71 break;
72
727a8fe5 73 case 10:
705fe0e5 74#line 183 "perly.y"
8359b381
Z
75 {
76 parser->expect = XSTATE;
c25611d5 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;
c25611d5 88 ;}
8359b381
Z
89 break;
90
8359b381 91 case 12:
705fe0e5 92#line 195 "perly.y"
78cdf107
Z
93 {
94 parser->expect = XSTATE;
c25611d5 95 ;}
78cdf107
Z
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;
c25611d5 103 ;}
78cdf107
Z
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),'}');
c25611d5 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),'}');
c25611d5 123 ;}
0d863452
RH
124 break;
125
78cdf107 126 case 16:
705fe0e5 127#line 226 "perly.y"
c25611d5 128 { (yyval.ival) = block_start(TRUE); ;}
7c70caa5
FC
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),'}');
c25611d5 138 ;}
0de566d7
DM
139 break;
140
7c70caa5 141 case 18:
705fe0e5 142#line 239 "perly.y"
c25611d5 143 { (yyval.ival) = block_start(FALSE); ;}
0de566d7
DM
144 break;
145
7c70caa5 146 case 19:
705fe0e5 147#line 244 "perly.y"
c25611d5 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;
c25611d5 157 ;}
500bedb6
DM
158 break;
159
7c70caa5 160 case 21:
705fe0e5 161#line 255 "perly.y"
c25611d5 162 { (yyval.opval) = (OP*)NULL; ;}
705fe0e5
FC
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;
c25611d5 171 ;}
705fe0e5
FC
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 181 }
c25611d5 182 ;}
0d863452
RH
183 break;
184
705fe0e5
FC
185 case 24:
186#line 274 "perly.y"
c25611d5 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 {
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');
c25611d5 198 ;}
8e720305
Z
199 break;
200
705fe0e5 201 case 26:
c25611d5 202#line 286 "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');
c25611d5 208 ;}
8e720305
Z
209 break;
210
705fe0e5 211 case 27:
c25611d5
FC
212#line 296 "perly.y"
213 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
8e720305
Z
214 break;
215
705fe0e5 216 case 28:
c25611d5 217#line 298 "perly.y"
eae48c89
Z
218 {
219 (yyval.opval) = newOP(OP_NULL,0);
220 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
c25611d5 221 ;}
eae48c89
Z
222 break;
223
705fe0e5 224 case 29:
c25611d5 225#line 303 "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 }
c25611d5 241 ;}
0de566d7
DM
242 break;
243
705fe0e5 244 case 30:
c25611d5 245#line 320 "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;
c25611d5 266 ;}
764212cf
FC
267 break;
268
269 case 31:
c25611d5 270#line 342 "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();
c25611d5 297 ;}
0de566d7
DM
298 break;
299
764212cf 300 case 32:
c25611d5 301#line 370 "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
c25611d5 315 ;}
0de566d7
DM
316 break;
317
8d2a5fb4 318 case 33:
c25611d5
FC
319#line 385 "perly.y"
320 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
0de566d7
DM
321 break;
322
8d2a5fb4 323 case 34:
c25611d5 324#line 387 "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
c25611d5 338 ;}
5f211341
Z
339 break;
340
8d2a5fb4 341 case 35:
c25611d5 342#line 402 "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));
c25611d5 350 ;}
4098b6bb
JV
351 break;
352
8d2a5fb4 353 case 36:
c25611d5 354#line 411 "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));
c25611d5 362 ;}
4e4da3ac
Z
363 break;
364
8d2a5fb4 365 case 37:
c25611d5 366#line 420 "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));
c25611d5 376 ;}
0de566d7
DM
377 break;
378
8d2a5fb4 379 case 38:
c25611d5
FC
380#line 431 "perly.y"
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:
c25611d5
FC
385#line 433 "perly.y"
386 { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
0de566d7
DM
387 break;
388
8d2a5fb4 389 case 40:
c25611d5 390#line 435 "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));
c25611d5 399 ;}
0de566d7
DM
400 break;
401
8d2a5fb4 402 case 41:
c25611d5 403#line 445 "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));
c25611d5 412 ;}
0de566d7
DM
413 break;
414
8d2a5fb4 415 case 42:
c25611d5 416#line 456 "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));
c25611d5 435 ;}
0de566d7
DM
436 break;
437
8d2a5fb4 438 case 43:
c25611d5 439#line 476 "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));
c25611d5 447 ;}
f20dcd76
VP
448 break;
449
8d2a5fb4 450 case 44:
c25611d5 451#line 485 "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));
c25611d5 459 ;}
0de566d7
DM
460 break;
461
8d2a5fb4 462 case 45:
c25611d5 463#line 494 "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));
c25611d5 471 ;}
0de566d7
DM
472 break;
473
8d2a5fb4 474 case 46:
c25611d5 475#line 503 "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);
c25611d5 480 ;}
0de566d7
DM
481 break;
482
8d2a5fb4 483 case 47:
c25611d5 484#line 509 "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 }
c25611d5 490 ;}
0de566d7
DM
491 break;
492
8d2a5fb4 493 case 48:
c25611d5 494#line 516 "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));
c25611d5 503 ;}
0d863452
RH
504 break;
505
8d2a5fb4 506 case 49:
c25611d5 507#line 526 "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),';');
c25611d5 512 ;}
0d863452
RH
513 break;
514
8d2a5fb4 515 case 50:
c25611d5 516#line 532 "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;
c25611d5 522 ;}
0de566d7
DM
523 break;
524
8d2a5fb4 525 case 51:
c25611d5 526#line 542 "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));
c25611d5 546 ;}
705fe0e5
FC
547 break;
548
8d2a5fb4 549 case 52:
c25611d5
FC
550#line 565 "perly.y"
551 { (yyval.opval) = NULL; ;}
705fe0e5
FC
552 break;
553
8d2a5fb4 554 case 53:
c25611d5
FC
555#line 567 "perly.y"
556 { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); ;}
705fe0e5
FC
557 break;
558
8d2a5fb4 559 case 54:
c25611d5
FC
560#line 572 "perly.y"
561 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
562 break;
563
8d2a5fb4 564 case 55:
c25611d5
FC
565#line 574 "perly.y"
566 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
567 break;
568
8d2a5fb4 569 case 56:
c25611d5 570#line 576 "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');
c25611d5 573 ;}
0de566d7
DM
574 break;
575
8d2a5fb4 576 case 57:
c25611d5 577#line 580 "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');
c25611d5 580 ;}
0de566d7
DM
581 break;
582
8d2a5fb4 583 case 58:
c25611d5 584#line 584 "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');
c25611d5 587 ;}
0de566d7
DM
588 break;
589
8d2a5fb4 590 case 59:
c25611d5 591#line 588 "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');
c25611d5 594 ;}
0de566d7
DM
595 break;
596
8d2a5fb4 597 case 60:
c25611d5 598#line 592 "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));
c25611d5 602 ;}
0de566d7
DM
603 break;
604
8d2a5fb4 605 case 61:
c25611d5
FC
606#line 597 "perly.y"
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:
c25611d5
FC
611#line 602 "perly.y"
612 { (yyval.opval) = (OP*)NULL; ;}
0d863452
RH
613 break;
614
8d2a5fb4 615 case 63:
c25611d5 616#line 604 "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');
c25611d5 621 ;}
eae48c89
Z
622 break;
623
8d2a5fb4 624 case 64:
c25611d5 625#line 610 "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),')');
c25611d5 634 ;}
eae48c89
Z
635 break;
636
8d2a5fb4 637 case 65:
c25611d5
FC
638#line 623 "perly.y"
639 { (yyval.opval) = (OP*)NULL; ;}
eae48c89
Z
640 break;
641
8d2a5fb4 642 case 66:
c25611d5 643#line 625 "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');
c25611d5 647 ;}
eae48c89
Z
648 break;
649
8d2a5fb4 650 case 67:
c25611d5 651#line 633 "perly.y"
9a9798c2 652 { (yyval.ival) = (PL_min_intro_pending &&
a034e688 653 PL_max_intro_pending >= PL_min_intro_pending);
c25611d5 654 intro_my(); ;}
0de566d7
DM
655 break;
656
8d2a5fb4 657 case 68:
c25611d5
FC
658#line 639 "perly.y"
659 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
660 break;
661
8d2a5fb4 662 case 70:
c25611d5 663#line 645 "perly.y"
f05e27e5
DM
664 { YYSTYPE tmplval;
665 (void)scan_num("1", &tmplval);
c25611d5 666 (yyval.opval) = tmplval.opval; ;}
0de566d7
DM
667 break;
668
8d2a5fb4 669 case 72:
c25611d5
FC
670#line 653 "perly.y"
671 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
4e4da3ac
Z
672 break;
673
8d2a5fb4 674 case 73:
c25611d5
FC
675#line 658 "perly.y"
676 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
9eb5c532
Z
677 break;
678
8d2a5fb4 679 case 74:
c25611d5
FC
680#line 662 "perly.y"
681 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
f20dcd76
VP
682 break;
683
8d2a5fb4 684 case 75:
c25611d5
FC
685#line 666 "perly.y"
686 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
0de566d7
DM
687 break;
688
8d2a5fb4 689 case 76:
c25611d5
FC
690#line 669 "perly.y"
691 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
7c70caa5
FC
692 break;
693
8d2a5fb4 694 case 77:
c25611d5
FC
695#line 670 "perly.y"
696 { (yyval.opval) = (OP*)NULL; ;}
764212cf
FC
697 break;
698
8d2a5fb4 699 case 78:
c25611d5 700#line 674 "perly.y"
2af555bf 701 { (yyval.ival) = start_subparse(FALSE, 0);
c25611d5 702 SAVEFREESV(PL_compcv); ;}
0de566d7
DM
703 break;
704
8d2a5fb4 705 case 79:
c25611d5 706#line 680 "perly.y"
2af555bf 707 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
c25611d5 708 SAVEFREESV(PL_compcv); ;}
500bedb6
DM
709 break;
710
8d2a5fb4 711 case 80:
c25611d5 712#line 685 "perly.y"
2af555bf 713 { (yyval.ival) = start_subparse(TRUE, 0);
c25611d5 714 SAVEFREESV(PL_compcv); ;}
2af555bf
DM
715 break;
716
8d2a5fb4 717 case 83:
c25611d5
FC
718#line 696 "perly.y"
719 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
720 break;
721
8d2a5fb4 722 case 85:
c25611d5
FC
723#line 702 "perly.y"
724 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
725 break;
726
8d2a5fb4 727 case 86:
c25611d5 728#line 704 "perly.y"
1654d593
DM
729 { (yyval.opval) = (ps[(2) - (2)].val.opval);
730 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
c25611d5 731 ;}
0de566d7
DM
732 break;
733
8d2a5fb4 734 case 87:
c25611d5 735#line 708 "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),':');
c25611d5 741 ;}
0de566d7
DM
742 break;
743
8d2a5fb4 744 case 88:
c25611d5 745#line 718 "perly.y"
1654d593
DM
746 { (yyval.opval) = (ps[(2) - (2)].val.opval);
747 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
c25611d5 748 ;}
0de566d7
DM
749 break;
750
8d2a5fb4 751 case 89:
c25611d5 752#line 722 "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),':');
c25611d5 758 ;}
0de566d7
DM
759 break;
760
8d2a5fb4 761 case 90:
c25611d5
FC
762#line 731 "perly.y"
763 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
764 break;
765
8d2a5fb4 766 case 91:
c25611d5 767#line 732 "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),';');
c25611d5 774 ;}
0de566d7
DM
775 break;
776
8d2a5fb4 777 case 92:
c25611d5 778#line 743 "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');
c25611d5 781 ;}
0de566d7
DM
782 break;
783
8d2a5fb4 784 case 93:
c25611d5 785#line 747 "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');
c25611d5 788 ;}
0de566d7
DM
789 break;
790
8d2a5fb4 791 case 94:
c25611d5 792#line 751 "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');
c25611d5 795 ;}
0de566d7
DM
796 break;
797
8d2a5fb4 798 case 96:
c25611d5 799#line 759 "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
c25611d5 808 ;}
0de566d7
DM
809 break;
810
8d2a5fb4 811 case 97:
c25611d5 812#line 769 "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);
c25611d5 820 ;}
0de566d7
DM
821 break;
822
8d2a5fb4 823 case 99:
c25611d5 824#line 782 "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');
c25611d5 828 ;}
0de566d7
DM
829 break;
830
8d2a5fb4 831 case 100:
c25611d5 832#line 787 "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),')');
c25611d5 838 ;}
0de566d7
DM
839 break;
840
8d2a5fb4 841 case 101:
c25611d5 842#line 794 "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),')');
c25611d5 850 ;}
0de566d7
DM
851 break;
852
8d2a5fb4 853 case 102:
c25611d5 854#line 803 "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');
c25611d5 859 ;}
0de566d7
DM
860 break;
861
8d2a5fb4 862 case 103:
c25611d5 863#line 809 "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))));
c25611d5 868 ;}
0de566d7
DM
869 break;
870
8d2a5fb4 871 case 104:
c25611d5 872#line 815 "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),')');
c25611d5 879 ;}
0de566d7
DM
880 break;
881
8d2a5fb4 882 case 105:
c25611d5 883#line 823 "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');
c25611d5 886 ;}
0de566d7
DM
887 break;
888
8d2a5fb4 889 case 106:
c25611d5 890#line 827 "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),')');
c25611d5 895 ;}
0de566d7
DM
896 break;
897
8d2a5fb4 898 case 107:
c25611d5 899#line 833 "perly.y"
5a5094bd 900 { SvREFCNT_inc_simple_void(PL_compcv);
c25611d5 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:
c25611d5 905#line 836 "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)));
c25611d5 909 ;}
0de566d7
DM
910 break;
911
8d2a5fb4 912 case 111:
c25611d5 913#line 851 "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),'}');
c25611d5 919 ;}
0de566d7
DM
920 break;
921
8d2a5fb4 922 case 112:
c25611d5 923#line 858 "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),']');
c25611d5 927 ;}
0de566d7
DM
928 break;
929
8d2a5fb4 930 case 113:
c25611d5 931#line 863 "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),']');
c25611d5 938 ;}
0de566d7
DM
939 break;
940
8d2a5fb4 941 case 114:
c25611d5 942#line 871 "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),']');
c25611d5 948 ;}
0de566d7
DM
949 break;
950
8d2a5fb4 951 case 115:
c25611d5 952#line 878 "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),'}');
c25611d5 958 ;}
0de566d7
DM
959 break;
960
8d2a5fb4 961 case 116:
c25611d5 962#line 885 "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),'}');
c25611d5 971 ;}
0de566d7
DM
972 break;
973
8d2a5fb4 974 case 117:
c25611d5 975#line 895 "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),'}');
c25611d5 983 ;}
0de566d7
DM
984 break;
985
8d2a5fb4 986 case 118:
c25611d5 987#line 904 "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),')');
c25611d5 993 ;}
0de566d7
DM
994 break;
995
8d2a5fb4 996 case 119:
c25611d5 997#line 911 "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),')');
c25611d5 1004 ;}
0de566d7
DM
1005 break;
1006
8d2a5fb4 1007 case 120:
c25611d5 1008#line 920 "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),')');
c25611d5 1014 ;}
0de566d7
DM
1015 break;
1016
8d2a5fb4 1017 case 121:
c25611d5 1018#line 927 "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),')');
c25611d5 1023 ;}
0de566d7
DM
1024 break;
1025
8d2a5fb4 1026 case 122:
c25611d5 1027#line 933 "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),']');
c25611d5 1033 ;}
0de566d7
DM
1034 break;
1035
8d2a5fb4 1036 case 123:
c25611d5 1037#line 940 "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),']');
c25611d5 1041 ;}
ea25a9b2
Z
1042 break;
1043
8d2a5fb4 1044 case 124:
c25611d5 1045#line 945 "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),']');
c25611d5 1051 ;}
0de566d7
DM
1052 break;
1053
8d2a5fb4 1054 case 125:
c25611d5 1055#line 955 "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');
c25611d5 1058 ;}
0de566d7
DM
1059 break;
1060
8d2a5fb4 1061 case 126:
c25611d5 1062#line 959 "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');
c25611d5 1065 ;}
0de566d7
DM
1066 break;
1067
8d2a5fb4 1068 case 127:
c25611d5 1069#line 963 "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');
c25611d5 1074 ;}
0de566d7
DM
1075 break;
1076
8d2a5fb4 1077 case 128:
c25611d5 1078#line 969 "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');
c25611d5 1081 ;}
8d2a5fb4
FC
1082 break;
1083
705fe0e5 1084 case 129:
c25611d5 1085#line 973 "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');
c25611d5 1088 ;}
0de566d7
DM
1089 break;
1090
705fe0e5 1091 case 130:
c25611d5 1092#line 977 "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');
c25611d5 1095 ;}
f20dcd76
VP
1096 break;
1097
705fe0e5 1098 case 131:
c25611d5 1099#line 981 "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');
c25611d5 1102 ;}
4098b6bb
JV
1103 break;
1104
705fe0e5 1105 case 132:
c25611d5 1106#line 985 "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');
c25611d5 1109 ;}
7c70caa5
FC
1110 break;
1111
705fe0e5 1112 case 133:
c25611d5 1113#line 989 "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');
c25611d5 1116 ;}
764212cf
FC
1117 break;
1118
1119 case 134:
c25611d5 1120#line 993 "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 });
c25611d5 1131 ;}
0de566d7
DM
1132 break;
1133
8d2a5fb4 1134 case 135:
c25611d5 1135#line 1005 "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');
c25611d5 1138 ;}
0de566d7
DM
1139 break;
1140
8d2a5fb4 1141 case 136:
c25611d5 1142#line 1009 "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');
c25611d5 1145 ;}
0de566d7
DM
1146 break;
1147
8d2a5fb4 1148 case 137:
c25611d5 1149#line 1013 "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');
c25611d5 1152 ;}
0de566d7
DM
1153 break;
1154
8d2a5fb4 1155 case 138:
c25611d5 1156#line 1017 "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 '~');
c25611d5 1162 ;}
500bedb6
DM
1163 break;
1164
8d2a5fb4 1165 case 139:
c25611d5 1166#line 1027 "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');
c25611d5 1169 ;}
0de566d7
DM
1170 break;
1171
8d2a5fb4 1172 case 140:
c25611d5 1173#line 1031 "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),'+');
c25611d5 1179 ;}
0de566d7
DM
1180 break;
1181
8d2a5fb4 1182 case 141:
c25611d5 1183#line 1038 "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');
c25611d5 1186 ;}
0de566d7
DM
1187 break;
1188
8d2a5fb4 1189 case 142:
c25611d5 1190#line 1042 "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');
c25611d5 1193 ;}
0de566d7
DM
1194 break;
1195
8d2a5fb4 1196 case 143:
c25611d5 1197#line 1046 "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');
c25611d5 1201 ;}
0de566d7
DM
1202 break;
1203
8d2a5fb4 1204 case 144:
c25611d5 1205#line 1051 "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');
c25611d5 1209 ;}
0de566d7
DM
1210 break;
1211
8d2a5fb4 1212 case 145:
c25611d5 1213#line 1056 "perly.y"
f05e27e5 1214 { (yyval.opval) = newUNOP(OP_PREINC, 0,
3ad73efd 1215 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
1654d593 1216 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1217 ;}
0de566d7
DM
1218 break;
1219
8d2a5fb4 1220 case 146:
c25611d5 1221#line 1061 "perly.y"
f05e27e5 1222 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
3ad73efd 1223 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
1654d593 1224 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1225 ;}
0de566d7
DM
1226 break;
1227
8d2a5fb4 1228 case 147:
c25611d5 1229#line 1070 "perly.y"
1654d593
DM
1230 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
1231 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
1232 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
c25611d5 1233 ;}
0de566d7
DM
1234 break;
1235
8d2a5fb4 1236 case 148:
c25611d5 1237#line 1075 "perly.y"
bcabcc50 1238 { (yyval.opval) = newANONLIST((OP*)NULL);
1654d593
DM
1239 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
1240 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
c25611d5 1241 ;}
0de566d7
DM
1242 break;
1243
8d2a5fb4 1244 case 149:
c25611d5 1245#line 1080 "perly.y"
1654d593
DM
1246 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
1247 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
1248 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
1249 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
c25611d5 1250 ;}
0de566d7
DM
1251 break;
1252
8d2a5fb4 1253 case 150:
c25611d5 1254#line 1086 "perly.y"
bcabcc50 1255 { (yyval.opval) = newANONHASH((OP*)NULL);
1654d593
DM
1256 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
1257 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
1258 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
c25611d5 1259 ;}
9a9798c2
YST
1260 break;
1261
8d2a5fb4 1262 case 151:
c25611d5 1263#line 1092 "perly.y"
5a5094bd 1264 { SvREFCNT_inc_simple_void(PL_compcv);
1654d593
DM
1265 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1266 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1267 OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
1268 OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
c25611d5 1269 ;}
9a9798c2
YST
1270 break;
1271
8d2a5fb4 1272 case 152:
c25611d5 1273#line 1103 "perly.y"
1654d593
DM
1274 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
1275 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1276 ;}
f05e27e5
DM
1277 break;
1278
8d2a5fb4 1279 case 153:
c25611d5 1280#line 1107 "perly.y"
3ad73efd 1281 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));
1654d593 1282 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
c25611d5 1283 ;}
f05e27e5
DM
1284 break;
1285
8d2a5fb4 1286 case 154:
c25611d5 1287#line 1111 "perly.y"
9a9798c2 1288 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7 1289 OPf_SPECIAL|OPf_STACKED,
2fcb4757 1290 op_prepend_elem(OP_LIST,
0de566d7
DM
1291 scalar(newCVREF(
1292 (OPpENTERSUB_AMPER<<8),
1654d593 1293 scalar((ps[(2) - (4)].val.opval))
bcabcc50 1294 )),(OP*)NULL)); dep();
1654d593
DM
1295 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1296 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1297 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
c25611d5 1298 ;}
0de566d7
DM
1299 break;
1300
8d2a5fb4 1301 case 155:
c25611d5 1302#line 1123 "perly.y"
9a9798c2 1303 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7 1304 OPf_SPECIAL|OPf_STACKED,
2fcb4757 1305 op_append_elem(OP_LIST,
1654d593 1306 (ps[(4) - (5)].val.opval),
0de566d7
DM
1307 scalar(newCVREF(
1308 (OPpENTERSUB_AMPER<<8),
1654d593 1309 scalar((ps[(2) - (5)].val.opval))
f05e27e5 1310 )))); dep();
1654d593
DM
1311 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1312 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1313 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
c25611d5 1314 ;}
0de566d7
DM
1315 break;
1316
8d2a5fb4 1317 case 156:
c25611d5 1318#line 1136 "perly.y"
9a9798c2 1319 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2fcb4757 1320 op_prepend_elem(OP_LIST,
bcabcc50 1321 scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
1654d593
DM
1322 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1323 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1324 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
c25611d5 1325 ;}
0de566d7
DM
1326 break;
1327
8d2a5fb4 1328 case 157:
c25611d5 1329#line 1144 "perly.y"
9a9798c2 1330 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2fcb4757 1331 op_prepend_elem(OP_LIST,
1654d593
DM
1332 (ps[(4) - (5)].val.opval),
1333 scalar(newCVREF(0,scalar((ps[(2) - (5)].val.opval)))))); dep();
1334 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1335 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1336 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
c25611d5 1337 ;}
0de566d7
DM
1338 break;
1339
8d2a5fb4 1340 case 162:
c25611d5 1341#line 1160 "perly.y"
1654d593
DM
1342 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1343 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1344 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
c25611d5 1345 ;}
0de566d7
DM
1346 break;
1347
8d2a5fb4 1348 case 163:
c25611d5 1349#line 1165 "perly.y"
3ad73efd 1350 { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
1654d593 1351 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1352 ;}
0de566d7
DM
1353 break;
1354
8d2a5fb4 1355 case 164:
c25611d5
FC
1356#line 1169 "perly.y"
1357 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1358 break;
1359
8d2a5fb4 1360 case 165:
c25611d5 1361#line 1171 "perly.y"
1654d593 1362 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
dde83331 1363 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
c25611d5 1364 ;}
0de566d7
DM
1365 break;
1366
8d2a5fb4 1367 case 166:
c25611d5 1368#line 1175 "perly.y"
1654d593
DM
1369 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1370 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1371 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
c25611d5 1372 ;}
0de566d7
DM
1373 break;
1374
8d2a5fb4 1375 case 167:
c25611d5
FC
1376#line 1180 "perly.y"
1377 { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
ea25a9b2
Z
1378 break;
1379
8d2a5fb4 1380 case 168:
c25611d5 1381#line 1182 "perly.y"
f05e27e5 1382 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1383 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1384 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
c25611d5 1385 ;}
0de566d7
DM
1386 break;
1387
8d2a5fb4 1388 case 169:
c25611d5
FC
1389#line 1187 "perly.y"
1390 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
8d2a5fb4
FC
1391 break;
1392
705fe0e5 1393 case 170:
c25611d5
FC
1394#line 1189 "perly.y"
1395 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1396 break;
1397
705fe0e5 1398 case 171:
c25611d5
FC
1399#line 1191 "perly.y"
1400 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f20dcd76
VP
1401 break;
1402
705fe0e5 1403 case 172:
c25611d5
FC
1404#line 1193 "perly.y"
1405 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
8e720305
Z
1406 break;
1407
705fe0e5 1408 case 173:
c25611d5
FC
1409#line 1195 "perly.y"
1410 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
764212cf
FC
1411 break;
1412
8d2a5fb4 1413 case 174:
c25611d5
FC
1414#line 1197 "perly.y"
1415 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
4210d3f1
FC
1416 break;
1417
8d2a5fb4 1418 case 175:
c25611d5 1419#line 1199 "perly.y"
2fcb4757 1420 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
f05e27e5
DM
1421 newOP(OP_PUSHMARK, 0),
1422 newLISTOP(OP_ASLICE, 0,
1654d593
DM
1423 list((ps[(3) - (4)].val.opval)),
1424 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1425 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1426 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
c25611d5 1427 ;}
0de566d7
DM
1428 break;
1429
8d2a5fb4 1430 case 176:
c25611d5 1431#line 1208 "perly.y"
2fcb4757 1432 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
f05e27e5
DM
1433 newOP(OP_PUSHMARK, 0),
1434 newLISTOP(OP_HSLICE, 0,
1654d593
DM
1435 list((ps[(3) - (5)].val.opval)),
1436 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
53a7735b 1437 PL_parser->expect = XOPERATOR;
1654d593
DM
1438 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1439 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1440 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
c25611d5 1441 ;}
0de566d7
DM
1442 break;
1443
8d2a5fb4 1444 case 177:
c25611d5
FC
1445#line 1219 "perly.y"
1446 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1447 break;
1448
8d2a5fb4 1449 case 178:
c25611d5
FC
1450#line 1221 "perly.y"
1451 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1452 break;
1453
8d2a5fb4 1454 case 179:
c25611d5 1455#line 1223 "perly.y"
1654d593
DM
1456 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1457 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1458 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
c25611d5 1459 ;}
0de566d7
DM
1460 break;
1461
8d2a5fb4 1462 case 180:
c25611d5 1463#line 1228 "perly.y"
f05e27e5
DM
1464 {
1465 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1466 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
035e2bcc 1467 DO_MAD({
f05e27e5
DM
1468 OP* op = (yyval.opval);
1469 if (op->op_type == OP_CONST) { /* defeat const fold */
1470 op = (OP*)op->op_madprop->mad_val;
1471 }
1654d593
DM
1472 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1473 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
1795f873 1474 });
c25611d5 1475 ;}
0de566d7
DM
1476 break;
1477
8d2a5fb4 1478 case 181:
c25611d5 1479#line 1241 "perly.y"
f05e27e5 1480 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1481 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1654d593 1482 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
c25611d5 1483 ;}
0de566d7
DM
1484 break;
1485
8d2a5fb4 1486 case 182:
c25611d5 1487#line 1246 "perly.y"
1654d593 1488 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1489 PL_hints |= HINT_BLOCK_SCOPE;
1654d593 1490 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
c25611d5 1491 ;}
0de566d7
DM
1492 break;
1493
8d2a5fb4 1494 case 183:
c25611d5 1495#line 1251 "perly.y"
9eb5c532 1496 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1654d593 1497 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1498 ;}
0de566d7
DM
1499 break;
1500
8d2a5fb4 1501 case 184:
c25611d5 1502#line 1255 "perly.y"
9eb5c532
Z
1503 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1504 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1505 ;}
0de566d7
DM
1506 break;
1507
8d2a5fb4 1508 case 185:
c25611d5 1509#line 1259 "perly.y"
9eb5c532
Z
1510 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1511 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
c25611d5 1512 ;}
0de566d7
DM
1513 break;
1514
8d2a5fb4 1515 case 186:
c25611d5 1516#line 1263 "perly.y"
1654d593
DM
1517 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1518 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1519 ;}
0de566d7
DM
1520 break;
1521
8d2a5fb4 1522 case 187:
c25611d5 1523#line 1267 "perly.y"
9eb5c532
Z
1524 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1525 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1526 ;}
0de566d7
DM
1527 break;
1528
8d2a5fb4 1529 case 188:
c25611d5 1530#line 1271 "perly.y"
9eb5c532
Z
1531 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
1532 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
c25611d5 1533 ;}
0de566d7
DM
1534 break;
1535
8d2a5fb4 1536 case 189:
c25611d5 1537#line 1275 "perly.y"
9eb5c532
Z
1538 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
1539 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
c25611d5 1540 ;}
0de566d7
DM
1541 break;
1542
8d2a5fb4 1543 case 190:
c25611d5
FC
1544#line 1279 "perly.y"
1545 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
9eb5c532
Z
1546 break;
1547
8d2a5fb4 1548 case 191:
c25611d5 1549#line 1281 "perly.y"
f05e27e5 1550 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
c25611d5 1551 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
0de566d7
DM
1552 break;
1553
8d2a5fb4 1554 case 192:
c25611d5 1555#line 1284 "perly.y"
1654d593
DM
1556 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1557 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
c25611d5 1558 ;}
0de566d7
DM
1559 break;
1560
8d2a5fb4 1561 case 193:
c25611d5 1562#line 1288 "perly.y"
1654d593
DM
1563 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1564 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1565 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1566 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
c25611d5 1567 ;}
0de566d7
DM
1568 break;
1569
8d2a5fb4 1570 case 194:
c25611d5
FC
1571#line 1294 "perly.y"
1572 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
7eb971ee
FC
1573 break;
1574
8d2a5fb4 1575 case 195:
c25611d5 1576#line 1296 "perly.y"
7eb971ee
FC
1577 { (yyval.opval) = (ps[(1) - (3)].val.opval);
1578 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1579 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
c25611d5 1580 ;}
7eb971ee
FC
1581 break;
1582
8d2a5fb4 1583 case 196:
c25611d5 1584#line 1301 "perly.y"
f05e27e5 1585 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
c25611d5 1586 scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1587 break;
1588
8d2a5fb4 1589 case 197:
c25611d5 1590#line 1304 "perly.y"
1654d593
DM
1591 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1592 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1593 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1594
1654d593
DM
1595 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1596 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1597 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
c25611d5 1598 ;}
0de566d7
DM
1599 break;
1600
8d2a5fb4 1601 case 198:
c25611d5 1602#line 1313 "perly.y"
1654d593
DM
1603 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1604 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1605 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1606 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
c25611d5 1607 ;}
0de566d7
DM
1608 break;
1609
8d2a5fb4 1610 case 199:
c25611d5 1611#line 1319 "perly.y"
d63c20f2
DM
1612 {
1613 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1614 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1615 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1616 {
1617 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1618 SAVEFREESV(PL_compcv);
1619 } else
1620 (yyval.ival) = 0;
c25611d5 1621 ;}
d63c20f2
DM
1622 break;
1623
8d2a5fb4 1624 case 200:
c25611d5 1625#line 1330 "perly.y"
d63c20f2
DM
1626 { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
1627 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1628 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
c25611d5 1629 ;}
0de566d7
DM
1630 break;
1631
8d2a5fb4 1632 case 203:
c25611d5 1633#line 1337 "perly.y"
be25f609 1634 {
1635 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1636 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
950f2ea2 1637 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
c25611d5 1638 ;}
be25f609 1639 break;
1640
8d2a5fb4 1641 case 205:
c25611d5 1642#line 1347 "perly.y"
1654d593 1643 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
f05e27e5 1644 DO_MAD(
1654d593
DM
1645 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1646 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1647 (ps[(3) - (3)].val.opval)->op_madprop = 0;
1795f873 1648 );
c25611d5 1649 ;}
0de566d7
DM
1650 break;
1651
8d2a5fb4 1652 case 206:
c25611d5 1653#line 1355 "perly.y"
1654d593
DM
1654 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1655 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
c25611d5 1656 ;}
0de566d7
DM
1657 break;
1658
8d2a5fb4 1659 case 207:
c25611d5 1660#line 1362 "perly.y"
1654d593
DM
1661 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1662 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1663 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
c25611d5 1664 ;}
0de566d7
DM
1665 break;
1666
8d2a5fb4 1667 case 208:
c25611d5 1668#line 1367 "perly.y"
f05e27e5 1669 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1670 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1671 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
c25611d5 1672 ;}
0de566d7
DM
1673 break;
1674
8d2a5fb4 1675 case 209:
c25611d5
FC
1676#line 1372 "perly.y"
1677 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
4098b6bb
JV
1678 break;
1679
8d2a5fb4 1680 case 210:
c25611d5
FC
1681#line 1374 "perly.y"
1682 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
4098b6bb
JV
1683 break;
1684
8d2a5fb4 1685 case 211:
c25611d5
FC
1686#line 1376 "perly.y"
1687 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
ea25a9b2
Z
1688 break;
1689
8d2a5fb4 1690 case 212:
c25611d5
FC
1691#line 1381 "perly.y"
1692 { (yyval.opval) = (OP*)NULL; ;}
ea25a9b2
Z
1693 break;
1694
8d2a5fb4 1695 case 213:
c25611d5
FC
1696#line 1383 "perly.y"
1697 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
d63c20f2
DM
1698 break;
1699
8d2a5fb4 1700 case 214:
c25611d5
FC
1701#line 1387 "perly.y"
1702 { (yyval.opval) = (OP*)NULL; ;}
7c70caa5
FC
1703 break;
1704
8d2a5fb4 1705 case 215:
c25611d5
FC
1706#line 1389 "perly.y"
1707 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
764212cf
FC
1708 break;
1709
8d2a5fb4 1710 case 216:
c25611d5
FC
1711#line 1395 "perly.y"
1712 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
4210d3f1
FC
1713 break;
1714
8d2a5fb4 1715 case 217:
c25611d5 1716#line 1399 "perly.y"
1654d593
DM
1717 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1718 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
c25611d5 1719 ;}
0de566d7
DM
1720 break;
1721
8d2a5fb4 1722 case 218:
c25611d5 1723#line 1405 "perly.y"
1654d593
DM
1724 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1725 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
c25611d5 1726 ;}
0de566d7
DM
1727 break;
1728
8d2a5fb4 1729 case 219:
c25611d5 1730#line 1411 "perly.y"
1654d593
DM
1731 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1732 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
c25611d5 1733 ;}
0de566d7
DM
1734 break;
1735
8d2a5fb4 1736 case 220:
c25611d5 1737#line 1417 "perly.y"
1654d593
DM
1738 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1739 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
c25611d5 1740 ;}
500bedb6
DM
1741 break;
1742
8d2a5fb4 1743 case 221:
c25611d5 1744#line 1423 "perly.y"
1654d593
DM
1745 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1746 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
c25611d5 1747 ;}
a72a1c8b
RGS
1748 break;
1749
8d2a5fb4 1750 case 222:
c25611d5 1751#line 1429 "perly.y"
1654d593
DM
1752 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1753 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
c25611d5 1754 ;}
a72a1c8b
RGS
1755 break;
1756
8d2a5fb4 1757 case 223:
c25611d5
FC
1758#line 1436 "perly.y"
1759 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
503de470
DM
1760 break;
1761
8d2a5fb4 1762 case 224:
c25611d5
FC
1763#line 1438 "perly.y"
1764 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
3cd0a11a
RGS
1765 break;
1766
8d2a5fb4 1767 case 225:
c25611d5
FC
1768#line 1440 "perly.y"
1769 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
f05e27e5
DM
1770 break;
1771
8d2a5fb4 1772 case 226:
c25611d5
FC
1773#line 1443 "perly.y"
1774 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f05e27e5
DM
1775 break;
1776
c25611d5
FC
1777
1778/* Line 1267 of yacc.c. */
1779
20515881 1780 default: break;
0de566d7 1781
e8fb9efb 1782
c24c946d 1783/* Generated from:
5504e6cf 1784 * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y
1795f873 1785 * 73288b53f1f6dc0183252a5a8e4f39cfe36e357e77233704fad3021fee88eb5b regen_perly.pl
c24c946d 1786 * ex: set ro: */