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