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