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