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