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