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