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