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