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