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