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