Commit | Line | Data |
---|---|---|
0de566d7 | 1 | case 2: |
166f8a29 | 2 | #line 97 "perly.y" |
a758b0b5 | 3 | { (yyval.ival) = (yyvsp[-1].ival); newPROG(block_end((yyvsp[-1].ival),(yyvsp[0].opval))); ;} |
0de566d7 DM |
4 | break; |
5 | ||
6 | case 3: | |
166f8a29 | 7 | #line 102 "perly.y" |
a758b0b5 MHM |
8 | { if (PL_copline > (line_t)(yyvsp[-3].ival)) |
9 | PL_copline = (line_t)(yyvsp[-3].ival); | |
10 | (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); ;} | |
0de566d7 DM |
11 | break; |
12 | ||
13 | case 4: | |
166f8a29 | 14 | #line 108 "perly.y" |
a758b0b5 | 15 | { (yyval.ival) = block_start(TRUE); ;} |
0de566d7 DM |
16 | break; |
17 | ||
18 | case 5: | |
166f8a29 | 19 | #line 112 "perly.y" |
0de566d7 | 20 | { |
a758b0b5 | 21 | PL_expect = XSTATE; (yyval.ival) = block_start(TRUE); |
0de566d7 DM |
22 | ;} |
23 | break; | |
24 | ||
25 | case 6: | |
166f8a29 | 26 | #line 119 "perly.y" |
a758b0b5 MHM |
27 | { if (PL_copline > (line_t)(yyvsp[-3].ival)) |
28 | PL_copline = (line_t)(yyvsp[-3].ival); | |
29 | (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval)); ;} | |
0de566d7 DM |
30 | break; |
31 | ||
32 | case 7: | |
166f8a29 | 33 | #line 125 "perly.y" |
a758b0b5 | 34 | { (yyval.ival) = block_start(FALSE); ;} |
0de566d7 DM |
35 | break; |
36 | ||
37 | case 8: | |
166f8a29 | 38 | #line 129 "perly.y" |
a758b0b5 | 39 | { (yyval.ival) = PL_savestack_ix; ;} |
0de566d7 DM |
40 | break; |
41 | ||
42 | case 9: | |
166f8a29 | 43 | #line 133 "perly.y" |
a758b0b5 | 44 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
45 | break; |
46 | ||
47 | case 10: | |
166f8a29 | 48 | #line 135 "perly.y" |
a758b0b5 | 49 | { (yyval.opval) = (yyvsp[-1].opval); ;} |
0de566d7 DM |
50 | break; |
51 | ||
52 | case 11: | |
166f8a29 | 53 | #line 137 "perly.y" |
a758b0b5 MHM |
54 | { LEAVE_SCOPE((yyvsp[-1].ival)); |
55 | (yyval.opval) = append_list(OP_LINESEQ, | |
56 | (LISTOP*)(yyvsp[-2].opval), (LISTOP*)(yyvsp[0].opval)); | |
500bedb6 | 57 | PL_pad_reset_pending = TRUE; |
a758b0b5 | 58 | if ((yyvsp[-2].opval) && (yyvsp[0].opval)) PL_hints |= HINT_BLOCK_SCOPE; ;} |
500bedb6 DM |
59 | break; |
60 | ||
61 | case 12: | |
166f8a29 | 62 | #line 146 "perly.y" |
a758b0b5 | 63 | { (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
64 | break; |
65 | ||
500bedb6 | 66 | case 14: |
166f8a29 | 67 | #line 149 "perly.y" |
a758b0b5 MHM |
68 | { if ((yyvsp[-1].pval) != Nullch) { |
69 | (yyval.opval) = newSTATEOP(0, (yyvsp[-1].pval), newOP(OP_NULL, 0)); | |
0de566d7 DM |
70 | } |
71 | else { | |
a758b0b5 | 72 | (yyval.opval) = Nullop; |
0de566d7 DM |
73 | PL_copline = NOLINE; |
74 | } | |
75 | PL_expect = XSTATE; ;} | |
76 | break; | |
77 | ||
500bedb6 | 78 | case 15: |
166f8a29 | 79 | #line 158 "perly.y" |
a758b0b5 | 80 | { (yyval.opval) = newSTATEOP(0, (yyvsp[-2].pval), (yyvsp[-1].opval)); |
0de566d7 DM |
81 | PL_expect = XSTATE; ;} |
82 | break; | |
83 | ||
500bedb6 | 84 | case 16: |
166f8a29 | 85 | #line 164 "perly.y" |
a758b0b5 | 86 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
87 | break; |
88 | ||
500bedb6 | 89 | case 17: |
166f8a29 | 90 | #line 166 "perly.y" |
a758b0b5 | 91 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
92 | break; |
93 | ||
500bedb6 | 94 | case 18: |
166f8a29 | 95 | #line 168 "perly.y" |
a758b0b5 | 96 | { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); ;} |
0de566d7 DM |
97 | break; |
98 | ||
500bedb6 | 99 | case 19: |
166f8a29 | 100 | #line 170 "perly.y" |
a758b0b5 | 101 | { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[0].opval), (yyvsp[-2].opval)); ;} |
0de566d7 DM |
102 | break; |
103 | ||
500bedb6 | 104 | case 20: |
166f8a29 | 105 | #line 172 "perly.y" |
a758b0b5 | 106 | { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((yyvsp[0].opval)), (yyvsp[-2].opval)); ;} |
0de566d7 DM |
107 | break; |
108 | ||
500bedb6 | 109 | case 21: |
166f8a29 | 110 | #line 174 "perly.y" |
a758b0b5 | 111 | { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (yyvsp[0].opval), (yyvsp[-2].opval));;} |
0de566d7 DM |
112 | break; |
113 | ||
500bedb6 | 114 | case 22: |
166f8a29 | 115 | #line 176 "perly.y" |
a758b0b5 MHM |
116 | { (yyval.opval) = newFOROP(0, Nullch, (line_t)(yyvsp[-1].ival), |
117 | Nullop, (yyvsp[0].opval), (yyvsp[-2].opval), Nullop); ;} | |
0de566d7 DM |
118 | break; |
119 | ||
500bedb6 | 120 | case 23: |
166f8a29 | 121 | #line 182 "perly.y" |
a758b0b5 | 122 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
123 | break; |
124 | ||
500bedb6 | 125 | case 24: |
166f8a29 | 126 | #line 184 "perly.y" |
a758b0b5 | 127 | { ((yyvsp[0].opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((yyvsp[0].opval)); ;} |
0de566d7 DM |
128 | break; |
129 | ||
500bedb6 | 130 | case 25: |
166f8a29 | 131 | #line 186 "perly.y" |
a758b0b5 MHM |
132 | { PL_copline = (line_t)(yyvsp[-5].ival); |
133 | (yyval.opval) = newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)); | |
0de566d7 DM |
134 | PL_hints |= HINT_BLOCK_SCOPE; ;} |
135 | break; | |
136 | ||
500bedb6 | 137 | case 26: |
166f8a29 | 138 | #line 193 "perly.y" |
a758b0b5 MHM |
139 | { PL_copline = (line_t)(yyvsp[-6].ival); |
140 | (yyval.opval) = block_end((yyvsp[-4].ival), | |
141 | newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); ;} | |
0de566d7 DM |
142 | break; |
143 | ||
500bedb6 | 144 | case 27: |
166f8a29 | 145 | #line 197 "perly.y" |
a758b0b5 MHM |
146 | { PL_copline = (line_t)(yyvsp[-6].ival); |
147 | (yyval.opval) = block_end((yyvsp[-4].ival), | |
148 | newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval))); ;} | |
0de566d7 DM |
149 | break; |
150 | ||
500bedb6 | 151 | case 28: |
166f8a29 | 152 | #line 204 "perly.y" |
a758b0b5 | 153 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
154 | break; |
155 | ||
500bedb6 | 156 | case 29: |
166f8a29 | 157 | #line 206 "perly.y" |
a758b0b5 | 158 | { (yyval.opval) = scope((yyvsp[0].opval)); ;} |
0de566d7 DM |
159 | break; |
160 | ||
500bedb6 | 161 | case 30: |
166f8a29 | 162 | #line 211 "perly.y" |
a758b0b5 MHM |
163 | { PL_copline = (line_t)(yyvsp[-6].ival); |
164 | (yyval.opval) = block_end((yyvsp[-4].ival), | |
165 | newSTATEOP(0, (yyvsp[-7].pval), | |
0de566d7 | 166 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 | 167 | (yyvsp[-6].ival), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)))); ;} |
0de566d7 DM |
168 | break; |
169 | ||
500bedb6 | 170 | case 31: |
166f8a29 | 171 | #line 217 "perly.y" |
a758b0b5 MHM |
172 | { PL_copline = (line_t)(yyvsp[-6].ival); |
173 | (yyval.opval) = block_end((yyvsp[-4].ival), | |
174 | newSTATEOP(0, (yyvsp[-7].pval), | |
0de566d7 | 175 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 | 176 | (yyvsp[-6].ival), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)))); ;} |
0de566d7 DM |
177 | break; |
178 | ||
500bedb6 | 179 | case 32: |
166f8a29 | 180 | #line 223 "perly.y" |
a758b0b5 MHM |
181 | { (yyval.opval) = block_end((yyvsp[-6].ival), |
182 | newFOROP(0, (yyvsp[-9].pval), (line_t)(yyvsp[-8].ival), (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} | |
0de566d7 DM |
183 | break; |
184 | ||
500bedb6 | 185 | case 33: |
166f8a29 | 186 | #line 226 "perly.y" |
a758b0b5 MHM |
187 | { (yyval.opval) = block_end((yyvsp[-4].ival), |
188 | newFOROP(0, (yyvsp[-8].pval), (line_t)(yyvsp[-7].ival), mod((yyvsp[-6].opval), OP_ENTERLOOP), | |
189 | (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} | |
0de566d7 DM |
190 | break; |
191 | ||
500bedb6 | 192 | case 34: |
166f8a29 | 193 | #line 230 "perly.y" |
a758b0b5 MHM |
194 | { (yyval.opval) = block_end((yyvsp[-4].ival), |
195 | newFOROP(0, (yyvsp[-7].pval), (line_t)(yyvsp[-6].ival), Nullop, (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval))); ;} | |
0de566d7 DM |
196 | break; |
197 | ||
500bedb6 | 198 | case 35: |
166f8a29 | 199 | #line 234 "perly.y" |
0de566d7 | 200 | { OP *forop; |
a758b0b5 MHM |
201 | PL_copline = (line_t)(yyvsp[-9].ival); |
202 | forop = newSTATEOP(0, (yyvsp[-10].pval), | |
0de566d7 | 203 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 MHM |
204 | (yyvsp[-9].ival), scalar((yyvsp[-4].opval)), |
205 | (yyvsp[0].opval), (yyvsp[-2].opval))); | |
206 | if ((yyvsp[-6].opval)) { | |
0de566d7 | 207 | forop = append_elem(OP_LINESEQ, |
a758b0b5 MHM |
208 | newSTATEOP(0, ((yyvsp[-10].pval)?savepv((yyvsp[-10].pval)):Nullch), |
209 | (yyvsp[-6].opval)), | |
0de566d7 DM |
210 | forop); |
211 | } | |
212 | ||
a758b0b5 | 213 | (yyval.opval) = block_end((yyvsp[-7].ival), forop); ;} |
0de566d7 DM |
214 | break; |
215 | ||
500bedb6 | 216 | case 36: |
166f8a29 | 217 | #line 249 "perly.y" |
a758b0b5 | 218 | { (yyval.opval) = newSTATEOP(0, (yyvsp[-2].pval), |
0de566d7 | 219 | newWHILEOP(0, 1, (LOOP*)Nullop, |
a758b0b5 | 220 | NOLINE, Nullop, (yyvsp[-1].opval), (yyvsp[0].opval))); ;} |
0de566d7 DM |
221 | break; |
222 | ||
500bedb6 | 223 | case 37: |
166f8a29 | 224 | #line 256 "perly.y" |
a758b0b5 | 225 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
226 | break; |
227 | ||
500bedb6 | 228 | case 39: |
166f8a29 | 229 | #line 262 "perly.y" |
a758b0b5 | 230 | { (void)scan_num("1", &yylval); (yyval.opval) = yylval.opval; ;} |
0de566d7 DM |
231 | break; |
232 | ||
0de566d7 | 233 | case 41: |
166f8a29 | 234 | #line 268 "perly.y" |
a758b0b5 | 235 | { (yyval.opval) = invert(scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
236 | break; |
237 | ||
238 | case 42: | |
166f8a29 | 239 | #line 273 "perly.y" |
a758b0b5 | 240 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 DM |
241 | break; |
242 | ||
243 | case 43: | |
166f8a29 | 244 | #line 277 "perly.y" |
a758b0b5 | 245 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 DM |
246 | break; |
247 | ||
248 | case 44: | |
166f8a29 | 249 | #line 281 "perly.y" |
a758b0b5 | 250 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 DM |
251 | break; |
252 | ||
253 | case 45: | |
166f8a29 | 254 | #line 285 "perly.y" |
a758b0b5 | 255 | { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;} |
0de566d7 DM |
256 | break; |
257 | ||
500bedb6 | 258 | case 46: |
166f8a29 | 259 | #line 290 "perly.y" |
a758b0b5 | 260 | { (yyval.pval) = Nullch; ;} |
0de566d7 DM |
261 | break; |
262 | ||
263 | case 48: | |
166f8a29 | 264 | #line 296 "perly.y" |
a758b0b5 | 265 | { (yyval.ival) = 0; ;} |
0de566d7 DM |
266 | break; |
267 | ||
268 | case 49: | |
166f8a29 | 269 | #line 298 "perly.y" |
a758b0b5 | 270 | { (yyval.ival) = 0; ;} |
0de566d7 DM |
271 | break; |
272 | ||
273 | case 50: | |
166f8a29 | 274 | #line 300 "perly.y" |
a758b0b5 | 275 | { (yyval.ival) = 0; ;} |
0de566d7 DM |
276 | break; |
277 | ||
278 | case 51: | |
166f8a29 | 279 | #line 302 "perly.y" |
a758b0b5 | 280 | { (yyval.ival) = 0; ;} |
0de566d7 DM |
281 | break; |
282 | ||
283 | case 52: | |
166f8a29 | 284 | #line 304 "perly.y" |
a758b0b5 | 285 | { (yyval.ival) = 0; ;} |
0de566d7 DM |
286 | break; |
287 | ||
288 | case 53: | |
166f8a29 | 289 | #line 308 "perly.y" |
a758b0b5 | 290 | { newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
291 | break; |
292 | ||
293 | case 54: | |
166f8a29 | 294 | #line 311 "perly.y" |
a758b0b5 | 295 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
296 | break; |
297 | ||
298 | case 55: | |
166f8a29 | 299 | #line 312 "perly.y" |
a758b0b5 | 300 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
301 | break; |
302 | ||
303 | case 56: | |
166f8a29 | 304 | #line 317 "perly.y" |
a758b0b5 | 305 | { newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
306 | break; |
307 | ||
308 | case 57: | |
166f8a29 | 309 | #line 322 "perly.y" |
a758b0b5 | 310 | { newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
311 | break; |
312 | ||
313 | case 58: | |
166f8a29 | 314 | #line 326 "perly.y" |
a758b0b5 | 315 | { (yyval.ival) = start_subparse(FALSE, 0); ;} |
0de566d7 DM |
316 | break; |
317 | ||
318 | case 59: | |
166f8a29 | 319 | #line 330 "perly.y" |
a758b0b5 | 320 | { (yyval.ival) = start_subparse(FALSE, CVf_ANON); ;} |
0de566d7 DM |
321 | break; |
322 | ||
323 | case 60: | |
166f8a29 | 324 | #line 334 "perly.y" |
a758b0b5 | 325 | { (yyval.ival) = start_subparse(TRUE, 0); ;} |
500bedb6 DM |
326 | break; |
327 | ||
328 | case 61: | |
166f8a29 | 329 | #line 338 "perly.y" |
a758b0b5 | 330 | { STRLEN n_a; char *name = SvPV(((SVOP*)(yyvsp[0].opval))->op_sv,n_a); |
0de566d7 DM |
331 | if (strEQ(name, "BEGIN") || strEQ(name, "END") |
332 | || strEQ(name, "INIT") || strEQ(name, "CHECK")) | |
333 | CvSPECIAL_on(PL_compcv); | |
a758b0b5 | 334 | (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
335 | break; |
336 | ||
500bedb6 | 337 | case 62: |
166f8a29 | 338 | #line 347 "perly.y" |
a758b0b5 | 339 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
340 | break; |
341 | ||
342 | case 64: | |
166f8a29 | 343 | #line 353 "perly.y" |
a758b0b5 | 344 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
345 | break; |
346 | ||
347 | case 65: | |
166f8a29 | 348 | #line 355 "perly.y" |
a758b0b5 | 349 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
350 | break; |
351 | ||
352 | case 66: | |
166f8a29 | 353 | #line 357 "perly.y" |
a758b0b5 | 354 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
355 | break; |
356 | ||
357 | case 67: | |
166f8a29 | 358 | #line 362 "perly.y" |
a758b0b5 | 359 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
360 | break; |
361 | ||
362 | case 68: | |
166f8a29 | 363 | #line 364 "perly.y" |
a758b0b5 | 364 | { (yyval.opval) = Nullop; ;} |
0de566d7 DM |
365 | break; |
366 | ||
367 | case 69: | |
166f8a29 | 368 | #line 368 "perly.y" |
a758b0b5 | 369 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
370 | break; |
371 | ||
372 | case 70: | |
166f8a29 | 373 | #line 369 "perly.y" |
a758b0b5 | 374 | { (yyval.opval) = Nullop; PL_expect = XSTATE; ;} |
0de566d7 DM |
375 | break; |
376 | ||
377 | case 71: | |
166f8a29 | 378 | #line 373 "perly.y" |
a758b0b5 | 379 | { package((yyvsp[-1].opval)); ;} |
0de566d7 DM |
380 | break; |
381 | ||
382 | case 72: | |
166f8a29 | 383 | #line 377 "perly.y" |
500bedb6 | 384 | { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;} |
0de566d7 DM |
385 | break; |
386 | ||
387 | case 73: | |
166f8a29 | 388 | #line 379 "perly.y" |
a758b0b5 | 389 | { utilize((yyvsp[-6].ival), (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval)); ;} |
0de566d7 DM |
390 | break; |
391 | ||
392 | case 74: | |
166f8a29 | 393 | #line 384 "perly.y" |
a758b0b5 | 394 | { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
395 | break; |
396 | ||
397 | case 75: | |
166f8a29 | 398 | #line 386 "perly.y" |
a758b0b5 | 399 | { (yyval.opval) = newLOGOP((yyvsp[-1].ival), 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
500bedb6 DM |
400 | break; |
401 | ||
402 | case 76: | |
166f8a29 | 403 | #line 388 "perly.y" |
a758b0b5 | 404 | { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
405 | break; |
406 | ||
500bedb6 | 407 | case 78: |
166f8a29 | 408 | #line 394 "perly.y" |
a758b0b5 | 409 | { (yyval.opval) = (yyvsp[-1].opval); ;} |
0de566d7 DM |
410 | break; |
411 | ||
500bedb6 | 412 | case 79: |
166f8a29 | 413 | #line 396 "perly.y" |
a758b0b5 | 414 | { (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
415 | break; |
416 | ||
500bedb6 | 417 | case 81: |
166f8a29 | 418 | #line 402 "perly.y" |
a758b0b5 MHM |
419 | { (yyval.opval) = convert((yyvsp[-2].ival), OPf_STACKED, |
420 | prepend_elem(OP_LIST, newGVREF((yyvsp[-2].ival),(yyvsp[-1].opval)), (yyvsp[0].opval)) ); ;} | |
0de566d7 DM |
421 | break; |
422 | ||
500bedb6 | 423 | case 82: |
166f8a29 | 424 | #line 405 "perly.y" |
a758b0b5 MHM |
425 | { (yyval.opval) = convert((yyvsp[-4].ival), OPf_STACKED, |
426 | prepend_elem(OP_LIST, newGVREF((yyvsp[-4].ival),(yyvsp[-2].opval)), (yyvsp[-1].opval)) ); ;} | |
0de566d7 DM |
427 | break; |
428 | ||
500bedb6 | 429 | case 83: |
166f8a29 | 430 | #line 408 "perly.y" |
a758b0b5 | 431 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
0de566d7 | 432 | append_elem(OP_LIST, |
a758b0b5 MHM |
433 | prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)), |
434 | newUNOP(OP_METHOD, 0, (yyvsp[-3].opval)))); ;} | |
0de566d7 DM |
435 | break; |
436 | ||
500bedb6 | 437 | case 84: |
166f8a29 | 438 | #line 413 "perly.y" |
a758b0b5 MHM |
439 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
440 | append_elem(OP_LIST, scalar((yyvsp[-2].opval)), | |
441 | newUNOP(OP_METHOD, 0, (yyvsp[0].opval)))); ;} | |
0de566d7 DM |
442 | break; |
443 | ||
500bedb6 | 444 | case 85: |
166f8a29 | 445 | #line 417 "perly.y" |
a758b0b5 | 446 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
0de566d7 | 447 | append_elem(OP_LIST, |
a758b0b5 MHM |
448 | prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)), |
449 | newUNOP(OP_METHOD, 0, (yyvsp[-2].opval)))); ;} | |
0de566d7 DM |
450 | break; |
451 | ||
500bedb6 | 452 | case 86: |
166f8a29 | 453 | #line 422 "perly.y" |
a758b0b5 | 454 | { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED, |
0de566d7 | 455 | append_elem(OP_LIST, |
a758b0b5 MHM |
456 | prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)), |
457 | newUNOP(OP_METHOD, 0, (yyvsp[-4].opval)))); ;} | |
0de566d7 DM |
458 | break; |
459 | ||
500bedb6 | 460 | case 87: |
166f8a29 | 461 | #line 427 "perly.y" |
a758b0b5 | 462 | { (yyval.opval) = convert((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} |
0de566d7 DM |
463 | break; |
464 | ||
500bedb6 | 465 | case 88: |
166f8a29 | 466 | #line 429 "perly.y" |
a758b0b5 | 467 | { (yyval.opval) = convert((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;} |
0de566d7 DM |
468 | break; |
469 | ||
500bedb6 | 470 | case 89: |
166f8a29 | 471 | #line 431 "perly.y" |
a758b0b5 | 472 | { (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;} |
0de566d7 DM |
473 | break; |
474 | ||
500bedb6 | 475 | case 90: |
166f8a29 | 476 | #line 433 "perly.y" |
a758b0b5 | 477 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
0de566d7 | 478 | append_elem(OP_LIST, |
a758b0b5 | 479 | prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval))); ;} |
0de566d7 DM |
480 | break; |
481 | ||
500bedb6 | 482 | case 93: |
166f8a29 | 483 | #line 447 "perly.y" |
a758b0b5 | 484 | { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval))); |
0de566d7 DM |
485 | PL_expect = XOPERATOR; ;} |
486 | break; | |
487 | ||
500bedb6 | 488 | case 94: |
166f8a29 | 489 | #line 450 "perly.y" |
a758b0b5 | 490 | { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval))); ;} |
0de566d7 DM |
491 | break; |
492 | ||
500bedb6 | 493 | case 95: |
166f8a29 | 494 | #line 452 "perly.y" |
a758b0b5 MHM |
495 | { (yyval.opval) = newBINOP(OP_AELEM, 0, |
496 | ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV), | |
497 | scalar((yyvsp[-1].opval)));;} | |
0de566d7 DM |
498 | break; |
499 | ||
500bedb6 | 500 | case 96: |
166f8a29 | 501 | #line 456 "perly.y" |
a758b0b5 MHM |
502 | { (yyval.opval) = newBINOP(OP_AELEM, 0, |
503 | ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV), | |
504 | scalar((yyvsp[-1].opval)));;} | |
0de566d7 DM |
505 | break; |
506 | ||
500bedb6 | 507 | case 97: |
166f8a29 | 508 | #line 460 "perly.y" |
a758b0b5 | 509 | { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval))); |
0de566d7 DM |
510 | PL_expect = XOPERATOR; ;} |
511 | break; | |
512 | ||
500bedb6 | 513 | case 98: |
166f8a29 | 514 | #line 463 "perly.y" |
a758b0b5 MHM |
515 | { (yyval.opval) = newBINOP(OP_HELEM, 0, |
516 | ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV), | |
517 | jmaybe((yyvsp[-2].opval))); | |
0de566d7 DM |
518 | PL_expect = XOPERATOR; ;} |
519 | break; | |
520 | ||
500bedb6 | 521 | case 99: |
166f8a29 | 522 | #line 468 "perly.y" |
a758b0b5 MHM |
523 | { (yyval.opval) = newBINOP(OP_HELEM, 0, |
524 | ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV), | |
525 | jmaybe((yyvsp[-2].opval))); | |
0de566d7 DM |
526 | PL_expect = XOPERATOR; ;} |
527 | break; | |
528 | ||
500bedb6 | 529 | case 100: |
166f8a29 | 530 | #line 473 "perly.y" |
a758b0b5 MHM |
531 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
532 | newCVREF(0, scalar((yyvsp[-3].opval)))); ;} | |
0de566d7 DM |
533 | break; |
534 | ||
500bedb6 | 535 | case 101: |
166f8a29 | 536 | #line 476 "perly.y" |
a758b0b5 MHM |
537 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
538 | append_elem(OP_LIST, (yyvsp[-1].opval), | |
539 | newCVREF(0, scalar((yyvsp[-4].opval))))); ;} | |
0de566d7 DM |
540 | break; |
541 | ||
500bedb6 | 542 | case 102: |
166f8a29 | 543 | #line 481 "perly.y" |
a758b0b5 MHM |
544 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
545 | append_elem(OP_LIST, (yyvsp[-1].opval), | |
546 | newCVREF(0, scalar((yyvsp[-3].opval))))); ;} | |
0de566d7 DM |
547 | break; |
548 | ||
500bedb6 | 549 | case 103: |
166f8a29 | 550 | #line 485 "perly.y" |
a758b0b5 MHM |
551 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
552 | newCVREF(0, scalar((yyvsp[-2].opval)))); ;} | |
0de566d7 DM |
553 | break; |
554 | ||
500bedb6 | 555 | case 104: |
166f8a29 | 556 | #line 491 "perly.y" |
a758b0b5 | 557 | { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), (yyvsp[-1].ival), (yyvsp[0].opval)); ;} |
0de566d7 DM |
558 | break; |
559 | ||
500bedb6 | 560 | case 105: |
166f8a29 | 561 | #line 493 "perly.y" |
a758b0b5 | 562 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
563 | break; |
564 | ||
500bedb6 | 565 | case 106: |
166f8a29 | 566 | #line 495 "perly.y" |
a758b0b5 MHM |
567 | { if ((yyvsp[-1].ival) != OP_REPEAT) |
568 | scalar((yyvsp[-2].opval)); | |
569 | (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval))); ;} | |
0de566d7 DM |
570 | break; |
571 | ||
0de566d7 | 572 | case 107: |
166f8a29 | 573 | #line 499 "perly.y" |
a758b0b5 | 574 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
575 | break; |
576 | ||
577 | case 108: | |
166f8a29 | 578 | #line 501 "perly.y" |
a758b0b5 | 579 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
580 | break; |
581 | ||
582 | case 109: | |
166f8a29 | 583 | #line 503 "perly.y" |
a758b0b5 | 584 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
585 | break; |
586 | ||
587 | case 110: | |
166f8a29 | 588 | #line 505 "perly.y" |
a758b0b5 | 589 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
590 | break; |
591 | ||
592 | case 111: | |
166f8a29 | 593 | #line 507 "perly.y" |
a758b0b5 | 594 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
595 | break; |
596 | ||
597 | case 112: | |
166f8a29 | 598 | #line 509 "perly.y" |
a758b0b5 | 599 | { (yyval.opval) = newBINOP((yyvsp[-1].ival), 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
600 | break; |
601 | ||
602 | case 113: | |
166f8a29 | 603 | #line 511 "perly.y" |
a758b0b5 | 604 | { (yyval.opval) = newRANGE((yyvsp[-1].ival), scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));;} |
0de566d7 DM |
605 | break; |
606 | ||
607 | case 114: | |
166f8a29 | 608 | #line 513 "perly.y" |
a758b0b5 | 609 | { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
610 | break; |
611 | ||
612 | case 115: | |
166f8a29 | 613 | #line 515 "perly.y" |
a758b0b5 | 614 | { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
615 | break; |
616 | ||
617 | case 116: | |
166f8a29 | 618 | #line 517 "perly.y" |
a758b0b5 | 619 | { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
620 | break; |
621 | ||
622 | case 117: | |
166f8a29 | 623 | #line 519 "perly.y" |
a758b0b5 | 624 | { (yyval.opval) = bind_match((yyvsp[-1].ival), (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
625 | break; |
626 | ||
627 | case 118: | |
166f8a29 | 628 | #line 524 "perly.y" |
a758b0b5 | 629 | { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
630 | break; |
631 | ||
632 | case 119: | |
166f8a29 | 633 | #line 526 "perly.y" |
a758b0b5 | 634 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
635 | break; |
636 | ||
637 | case 120: | |
166f8a29 | 638 | #line 528 "perly.y" |
a758b0b5 | 639 | { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
640 | break; |
641 | ||
642 | case 121: | |
166f8a29 | 643 | #line 530 "perly.y" |
a758b0b5 | 644 | { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));;} |
500bedb6 DM |
645 | break; |
646 | ||
647 | case 122: | |
166f8a29 | 648 | #line 532 "perly.y" |
a758b0b5 MHM |
649 | { (yyval.opval) = newUNOP(OP_POSTINC, 0, |
650 | mod(scalar((yyvsp[-1].opval)), OP_POSTINC)); ;} | |
0de566d7 DM |
651 | break; |
652 | ||
500bedb6 | 653 | case 123: |
166f8a29 | 654 | #line 535 "perly.y" |
a758b0b5 MHM |
655 | { (yyval.opval) = newUNOP(OP_POSTDEC, 0, |
656 | mod(scalar((yyvsp[-1].opval)), OP_POSTDEC)); ;} | |
0de566d7 DM |
657 | break; |
658 | ||
500bedb6 | 659 | case 124: |
166f8a29 | 660 | #line 538 "perly.y" |
a758b0b5 MHM |
661 | { (yyval.opval) = newUNOP(OP_PREINC, 0, |
662 | mod(scalar((yyvsp[0].opval)), OP_PREINC)); ;} | |
0de566d7 DM |
663 | break; |
664 | ||
500bedb6 | 665 | case 125: |
166f8a29 | 666 | #line 541 "perly.y" |
a758b0b5 MHM |
667 | { (yyval.opval) = newUNOP(OP_PREDEC, 0, |
668 | mod(scalar((yyvsp[0].opval)), OP_PREDEC)); ;} | |
0de566d7 DM |
669 | break; |
670 | ||
500bedb6 | 671 | case 126: |
166f8a29 | 672 | #line 548 "perly.y" |
a758b0b5 | 673 | { (yyval.opval) = newANONLIST((yyvsp[-1].opval)); ;} |
0de566d7 DM |
674 | break; |
675 | ||
500bedb6 | 676 | case 127: |
166f8a29 | 677 | #line 550 "perly.y" |
a758b0b5 | 678 | { (yyval.opval) = newANONLIST(Nullop); ;} |
0de566d7 DM |
679 | break; |
680 | ||
500bedb6 | 681 | case 128: |
166f8a29 | 682 | #line 552 "perly.y" |
a758b0b5 | 683 | { (yyval.opval) = newANONHASH((yyvsp[-2].opval)); ;} |
0de566d7 DM |
684 | break; |
685 | ||
500bedb6 | 686 | case 129: |
166f8a29 | 687 | #line 554 "perly.y" |
a758b0b5 | 688 | { (yyval.opval) = newANONHASH(Nullop); ;} |
0de566d7 DM |
689 | break; |
690 | ||
500bedb6 | 691 | case 130: |
166f8a29 | 692 | #line 556 "perly.y" |
a758b0b5 | 693 | { (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
694 | break; |
695 | ||
500bedb6 | 696 | case 131: |
166f8a29 | 697 | #line 562 "perly.y" |
a758b0b5 | 698 | { (yyval.opval) = dofile((yyvsp[0].opval)); ;} |
0de566d7 DM |
699 | break; |
700 | ||
500bedb6 | 701 | case 132: |
166f8a29 | 702 | #line 564 "perly.y" |
a758b0b5 | 703 | { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval))); ;} |
0de566d7 DM |
704 | break; |
705 | ||
500bedb6 | 706 | case 133: |
166f8a29 | 707 | #line 566 "perly.y" |
a758b0b5 | 708 | { (yyval.opval) = newUNOP(OP_ENTERSUB, |
0de566d7 DM |
709 | OPf_SPECIAL|OPf_STACKED, |
710 | prepend_elem(OP_LIST, | |
711 | scalar(newCVREF( | |
712 | (OPpENTERSUB_AMPER<<8), | |
a758b0b5 | 713 | scalar((yyvsp[-2].opval)) |
0de566d7 DM |
714 | )),Nullop)); dep();;} |
715 | break; | |
716 | ||
500bedb6 | 717 | case 134: |
166f8a29 | 718 | #line 574 "perly.y" |
a758b0b5 | 719 | { (yyval.opval) = newUNOP(OP_ENTERSUB, |
0de566d7 DM |
720 | OPf_SPECIAL|OPf_STACKED, |
721 | append_elem(OP_LIST, | |
a758b0b5 | 722 | (yyvsp[-1].opval), |
0de566d7 DM |
723 | scalar(newCVREF( |
724 | (OPpENTERSUB_AMPER<<8), | |
a758b0b5 | 725 | scalar((yyvsp[-3].opval)) |
0de566d7 DM |
726 | )))); dep();;} |
727 | break; | |
728 | ||
500bedb6 | 729 | case 135: |
166f8a29 | 730 | #line 583 "perly.y" |
a758b0b5 | 731 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, |
0de566d7 | 732 | prepend_elem(OP_LIST, |
a758b0b5 | 733 | scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();;} |
0de566d7 DM |
734 | break; |
735 | ||
500bedb6 | 736 | case 136: |
166f8a29 | 737 | #line 587 "perly.y" |
a758b0b5 | 738 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED, |
0de566d7 | 739 | prepend_elem(OP_LIST, |
a758b0b5 MHM |
740 | (yyvsp[-1].opval), |
741 | scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();;} | |
0de566d7 DM |
742 | break; |
743 | ||
0de566d7 | 744 | case 141: |
166f8a29 | 745 | #line 599 "perly.y" |
a758b0b5 | 746 | { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval)); ;} |
0de566d7 DM |
747 | break; |
748 | ||
749 | case 142: | |
166f8a29 | 750 | #line 601 "perly.y" |
a758b0b5 | 751 | { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN)); ;} |
0de566d7 DM |
752 | break; |
753 | ||
754 | case 143: | |
166f8a29 | 755 | #line 603 "perly.y" |
a758b0b5 | 756 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
757 | break; |
758 | ||
759 | case 144: | |
166f8a29 | 760 | #line 605 "perly.y" |
a758b0b5 | 761 | { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;} |
0de566d7 DM |
762 | break; |
763 | ||
764 | case 145: | |
166f8a29 | 765 | #line 607 "perly.y" |
a758b0b5 | 766 | { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;} |
0de566d7 DM |
767 | break; |
768 | ||
769 | case 146: | |
166f8a29 | 770 | #line 609 "perly.y" |
a758b0b5 | 771 | { (yyval.opval) = sawparens(newNULLLIST()); ;} |
0de566d7 DM |
772 | break; |
773 | ||
774 | case 147: | |
166f8a29 | 775 | #line 611 "perly.y" |
a758b0b5 | 776 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
777 | break; |
778 | ||
779 | case 148: | |
166f8a29 | 780 | #line 613 "perly.y" |
a758b0b5 | 781 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
782 | break; |
783 | ||
784 | case 149: | |
166f8a29 | 785 | #line 615 "perly.y" |
a758b0b5 | 786 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
787 | break; |
788 | ||
789 | case 150: | |
166f8a29 | 790 | #line 617 "perly.y" |
a758b0b5 | 791 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
792 | break; |
793 | ||
794 | case 151: | |
166f8a29 | 795 | #line 619 "perly.y" |
a758b0b5 | 796 | { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;} |
0de566d7 DM |
797 | break; |
798 | ||
799 | case 152: | |
166f8a29 | 800 | #line 621 "perly.y" |
a758b0b5 | 801 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
802 | break; |
803 | ||
804 | case 153: | |
166f8a29 | 805 | #line 623 "perly.y" |
a758b0b5 | 806 | { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval)); ;} |
0de566d7 DM |
807 | break; |
808 | ||
809 | case 154: | |
166f8a29 | 810 | #line 625 "perly.y" |
a758b0b5 | 811 | { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop); ;} |
500bedb6 DM |
812 | break; |
813 | ||
814 | case 155: | |
166f8a29 | 815 | #line 627 "perly.y" |
a758b0b5 | 816 | { (yyval.opval) = prepend_elem(OP_ASLICE, |
0de566d7 DM |
817 | newOP(OP_PUSHMARK, 0), |
818 | newLISTOP(OP_ASLICE, 0, | |
a758b0b5 MHM |
819 | list((yyvsp[-1].opval)), |
820 | ref((yyvsp[-3].opval), OP_ASLICE))); ;} | |
0de566d7 DM |
821 | break; |
822 | ||
500bedb6 | 823 | case 156: |
166f8a29 | 824 | #line 633 "perly.y" |
a758b0b5 | 825 | { (yyval.opval) = prepend_elem(OP_HSLICE, |
0de566d7 DM |
826 | newOP(OP_PUSHMARK, 0), |
827 | newLISTOP(OP_HSLICE, 0, | |
a758b0b5 MHM |
828 | list((yyvsp[-2].opval)), |
829 | ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE))); | |
0de566d7 DM |
830 | PL_expect = XOPERATOR; ;} |
831 | break; | |
832 | ||
500bedb6 | 833 | case 157: |
166f8a29 | 834 | #line 640 "perly.y" |
a758b0b5 | 835 | { (yyval.opval) = (yyvsp[0].opval); ;} |
0de566d7 DM |
836 | break; |
837 | ||
500bedb6 | 838 | case 158: |
166f8a29 | 839 | #line 642 "perly.y" |
a758b0b5 | 840 | { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
841 | break; |
842 | ||
500bedb6 | 843 | case 159: |
166f8a29 | 844 | #line 644 "perly.y" |
a758b0b5 | 845 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval))); ;} |
0de566d7 DM |
846 | break; |
847 | ||
500bedb6 | 848 | case 160: |
166f8a29 | 849 | #line 646 "perly.y" |
a758b0b5 MHM |
850 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
851 | append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval)))); ;} | |
0de566d7 DM |
852 | break; |
853 | ||
500bedb6 | 854 | case 161: |
166f8a29 | 855 | #line 649 "perly.y" |
a758b0b5 MHM |
856 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
857 | append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} | |
0de566d7 DM |
858 | break; |
859 | ||
500bedb6 | 860 | case 162: |
166f8a29 | 861 | #line 652 "perly.y" |
a758b0b5 | 862 | { (yyval.opval) = newOP((yyvsp[0].ival), OPf_SPECIAL); |
0de566d7 DM |
863 | PL_hints |= HINT_BLOCK_SCOPE; ;} |
864 | break; | |
865 | ||
500bedb6 | 866 | case 163: |
166f8a29 | 867 | #line 655 "perly.y" |
a758b0b5 | 868 | { (yyval.opval) = newLOOPEX((yyvsp[-1].ival),(yyvsp[0].opval)); ;} |
0de566d7 DM |
869 | break; |
870 | ||
500bedb6 | 871 | case 164: |
166f8a29 | 872 | #line 657 "perly.y" |
a758b0b5 | 873 | { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval))); ;} |
0de566d7 DM |
874 | break; |
875 | ||
500bedb6 | 876 | case 165: |
166f8a29 | 877 | #line 659 "perly.y" |
a758b0b5 | 878 | { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;} |
0de566d7 DM |
879 | break; |
880 | ||
500bedb6 | 881 | case 166: |
166f8a29 | 882 | #line 661 "perly.y" |
a758b0b5 | 883 | { (yyval.opval) = newUNOP((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} |
0de566d7 DM |
884 | break; |
885 | ||
500bedb6 | 886 | case 167: |
166f8a29 | 887 | #line 663 "perly.y" |
a758b0b5 | 888 | { (yyval.opval) = newUNOP((yyvsp[-1].ival), 0, (yyvsp[0].opval)); ;} |
0de566d7 DM |
889 | break; |
890 | ||
500bedb6 | 891 | case 168: |
166f8a29 | 892 | #line 665 "perly.y" |
a758b0b5 MHM |
893 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
894 | append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;} | |
0de566d7 DM |
895 | break; |
896 | ||
500bedb6 | 897 | case 169: |
166f8a29 | 898 | #line 668 "perly.y" |
a758b0b5 | 899 | { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;} |
0de566d7 DM |
900 | break; |
901 | ||
500bedb6 | 902 | case 170: |
166f8a29 | 903 | #line 670 "perly.y" |
a758b0b5 | 904 | { (yyval.opval) = newOP((yyvsp[-2].ival), 0); ;} |
0de566d7 DM |
905 | break; |
906 | ||
500bedb6 | 907 | case 171: |
166f8a29 | 908 | #line 672 "perly.y" |
a758b0b5 MHM |
909 | { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, |
910 | scalar((yyvsp[0].opval))); ;} | |
0de566d7 DM |
911 | break; |
912 | ||
500bedb6 | 913 | case 172: |
166f8a29 | 914 | #line 675 "perly.y" |
a758b0b5 MHM |
915 | { (yyval.opval) = (yyvsp[-2].ival) == OP_NOT ? newUNOP((yyvsp[-2].ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) |
916 | : newOP((yyvsp[-2].ival), OPf_SPECIAL); ;} | |
0de566d7 DM |
917 | break; |
918 | ||
500bedb6 | 919 | case 173: |
a758b0b5 MHM |
920 | #line 678 "perly.y" |
921 | { (yyval.opval) = newUNOP((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;} | |
0de566d7 DM |
922 | break; |
923 | ||
500bedb6 | 924 | case 174: |
a758b0b5 MHM |
925 | #line 680 "perly.y" |
926 | { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1); ;} | |
0de566d7 DM |
927 | break; |
928 | ||
131b3ad0 | 929 | case 177: |
a758b0b5 MHM |
930 | #line 687 "perly.y" |
931 | { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval)); ;} | |
0de566d7 DM |
932 | break; |
933 | ||
0de566d7 | 934 | case 178: |
a758b0b5 MHM |
935 | #line 689 "perly.y" |
936 | { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;} | |
0de566d7 DM |
937 | break; |
938 | ||
939 | case 179: | |
a758b0b5 MHM |
940 | #line 694 "perly.y" |
941 | { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;} | |
0de566d7 DM |
942 | break; |
943 | ||
944 | case 180: | |
a758b0b5 MHM |
945 | #line 696 "perly.y" |
946 | { (yyval.opval) = sawparens(newNULLLIST()); ;} | |
0de566d7 DM |
947 | break; |
948 | ||
949 | case 181: | |
a758b0b5 MHM |
950 | #line 698 "perly.y" |
951 | { (yyval.opval) = (yyvsp[0].opval); ;} | |
0de566d7 DM |
952 | break; |
953 | ||
954 | case 182: | |
a758b0b5 MHM |
955 | #line 700 "perly.y" |
956 | { (yyval.opval) = (yyvsp[0].opval); ;} | |
0de566d7 DM |
957 | break; |
958 | ||
959 | case 183: | |
a758b0b5 MHM |
960 | #line 702 "perly.y" |
961 | { (yyval.opval) = (yyvsp[0].opval); ;} | |
0de566d7 DM |
962 | break; |
963 | ||
964 | case 184: | |
a758b0b5 MHM |
965 | #line 707 "perly.y" |
966 | { (yyval.opval) = Nullop; ;} | |
0de566d7 DM |
967 | break; |
968 | ||
969 | case 185: | |
a758b0b5 MHM |
970 | #line 709 "perly.y" |
971 | { (yyval.opval) = (yyvsp[0].opval); ;} | |
0de566d7 DM |
972 | break; |
973 | ||
974 | case 186: | |
a758b0b5 MHM |
975 | #line 713 "perly.y" |
976 | { (yyval.opval) = Nullop; ;} | |
0de566d7 DM |
977 | break; |
978 | ||
979 | case 187: | |
a758b0b5 MHM |
980 | #line 715 "perly.y" |
981 | { (yyval.opval) = (yyvsp[0].opval); ;} | |
0de566d7 DM |
982 | break; |
983 | ||
984 | case 188: | |
a758b0b5 MHM |
985 | #line 717 "perly.y" |
986 | { (yyval.opval) = (yyvsp[-1].opval); ;} | |
0de566d7 DM |
987 | break; |
988 | ||
989 | case 189: | |
a758b0b5 MHM |
990 | #line 723 "perly.y" |
991 | { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;} | |
0de566d7 DM |
992 | break; |
993 | ||
994 | case 190: | |
a758b0b5 MHM |
995 | #line 727 "perly.y" |
996 | { (yyval.opval) = newCVREF((yyvsp[-1].ival),(yyvsp[0].opval)); ;} | |
0de566d7 DM |
997 | break; |
998 | ||
999 | case 191: | |
a758b0b5 MHM |
1000 | #line 731 "perly.y" |
1001 | { (yyval.opval) = newSVREF((yyvsp[0].opval)); ;} | |
0de566d7 DM |
1002 | break; |
1003 | ||
1004 | case 192: | |
a758b0b5 MHM |
1005 | #line 735 "perly.y" |
1006 | { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;} | |
0de566d7 DM |
1007 | break; |
1008 | ||
1009 | case 193: | |
a758b0b5 MHM |
1010 | #line 739 "perly.y" |
1011 | { (yyval.opval) = newHVREF((yyvsp[0].opval)); ;} | |
0de566d7 DM |
1012 | break; |
1013 | ||
1014 | case 194: | |
a758b0b5 MHM |
1015 | #line 743 "perly.y" |
1016 | { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;} | |
0de566d7 DM |
1017 | break; |
1018 | ||
1019 | case 195: | |
a758b0b5 MHM |
1020 | #line 747 "perly.y" |
1021 | { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); ;} | |
0de566d7 DM |
1022 | break; |
1023 | ||
1024 | case 196: | |
a758b0b5 MHM |
1025 | #line 752 "perly.y" |
1026 | { (yyval.opval) = scalar((yyvsp[0].opval)); ;} | |
0de566d7 DM |
1027 | break; |
1028 | ||
1029 | case 197: | |
a758b0b5 MHM |
1030 | #line 754 "perly.y" |
1031 | { (yyval.opval) = scalar((yyvsp[0].opval)); ;} | |
0de566d7 DM |
1032 | break; |
1033 | ||
1034 | case 198: | |
a758b0b5 MHM |
1035 | #line 756 "perly.y" |
1036 | { (yyval.opval) = scope((yyvsp[0].opval)); ;} | |
500bedb6 DM |
1037 | break; |
1038 | ||
131b3ad0 | 1039 | case 199: |
a758b0b5 MHM |
1040 | #line 759 "perly.y" |
1041 | { (yyval.opval) = (yyvsp[0].opval); ;} | |
0de566d7 DM |
1042 | break; |
1043 | ||
1044 | ||
1045 |