xref: /openbsd/gnu/usr.bin/perl/perly.act (revision e0680481)
1*e0680481Safresh1/* -*- mode: C; buffer-read-only: t -*-
2898184e3Ssthen   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3898184e3Ssthen   This file is built by regen_perly.pl from perly.y.
4898184e3Ssthen   Any changes made here will be lost!
5898184e3Ssthen */
6898184e3Ssthen
7850e2753Smillertcase 2:
8*e0680481Safresh1#line 161 "perly.y"
9898184e3Ssthen    {
10b8851fccSafresh1			  parser->expect = XSTATE;
119f11ffb7Safresh1                          (yyval.ival) = 0;
1291f110e0Safresh1			}
139f11ffb7Safresh1
14850e2753Smillert    break;
15850e2753Smillert
16850e2753Smillert  case 3:
17*e0680481Safresh1#line 166 "perly.y"
18898184e3Ssthen    {
199f11ffb7Safresh1			  newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval)));
20b8851fccSafresh1			  PL_compiling.cop_seq = 0;
21898184e3Ssthen			  (yyval.ival) = 0;
2291f110e0Safresh1			}
239f11ffb7Safresh1
24850e2753Smillert    break;
25850e2753Smillert
26850e2753Smillert  case 4:
27*e0680481Safresh1#line 172 "perly.y"
28898184e3Ssthen    {
29898184e3Ssthen			  parser->expect = XTERM;
309f11ffb7Safresh1                          (yyval.ival) = 0;
3191f110e0Safresh1			}
329f11ffb7Safresh1
33850e2753Smillert    break;
34850e2753Smillert
35850e2753Smillert  case 5:
36*e0680481Safresh1#line 177 "perly.y"
37898184e3Ssthen    {
389f11ffb7Safresh1			  PL_eval_root = (ps[0].val.opval);
39898184e3Ssthen			  (yyval.ival) = 0;
4091f110e0Safresh1			}
419f11ffb7Safresh1
42850e2753Smillert    break;
43850e2753Smillert
44850e2753Smillert  case 6:
45*e0680481Safresh1#line 182 "perly.y"
46850e2753Smillert    {
47898184e3Ssthen			  parser->expect = XBLOCK;
489f11ffb7Safresh1                          (yyval.ival) = 0;
4991f110e0Safresh1			}
509f11ffb7Safresh1
51850e2753Smillert    break;
52850e2753Smillert
53850e2753Smillert  case 7:
54*e0680481Safresh1#line 187 "perly.y"
55898184e3Ssthen    {
56898184e3Ssthen			  PL_pad_reset_pending = TRUE;
579f11ffb7Safresh1			  PL_eval_root = (ps[0].val.opval);
58898184e3Ssthen			  (yyval.ival) = 0;
59898184e3Ssthen			  yyunlex();
609f11ffb7Safresh1			  parser->yychar = yytoken = YYEOF;
6191f110e0Safresh1			}
629f11ffb7Safresh1
63898184e3Ssthen    break;
64898184e3Ssthen
65898184e3Ssthen  case 8:
66*e0680481Safresh1#line 195 "perly.y"
67898184e3Ssthen    {
68898184e3Ssthen			  parser->expect = XSTATE;
699f11ffb7Safresh1                          (yyval.ival) = 0;
7091f110e0Safresh1			}
719f11ffb7Safresh1
72898184e3Ssthen    break;
73898184e3Ssthen
74898184e3Ssthen  case 9:
75*e0680481Safresh1#line 200 "perly.y"
76898184e3Ssthen    {
77898184e3Ssthen			  PL_pad_reset_pending = TRUE;
789f11ffb7Safresh1			  PL_eval_root = (ps[0].val.opval);
79898184e3Ssthen			  (yyval.ival) = 0;
80898184e3Ssthen			  yyunlex();
819f11ffb7Safresh1			  parser->yychar = yytoken = YYEOF;
8291f110e0Safresh1			}
839f11ffb7Safresh1
84898184e3Ssthen    break;
85898184e3Ssthen
86898184e3Ssthen  case 10:
87*e0680481Safresh1#line 208 "perly.y"
88898184e3Ssthen    {
89898184e3Ssthen			  parser->expect = XSTATE;
909f11ffb7Safresh1                          (yyval.ival) = 0;
9191f110e0Safresh1			}
929f11ffb7Safresh1
93898184e3Ssthen    break;
94898184e3Ssthen
95898184e3Ssthen  case 11:
96*e0680481Safresh1#line 213 "perly.y"
97898184e3Ssthen    {
98898184e3Ssthen			  PL_pad_reset_pending = TRUE;
999f11ffb7Safresh1			  PL_eval_root = (ps[0].val.opval);
100898184e3Ssthen			  (yyval.ival) = 0;
101898184e3Ssthen			  yyunlex();
1029f11ffb7Safresh1			  parser->yychar = yytoken = YYEOF;
10391f110e0Safresh1			}
1049f11ffb7Safresh1
105898184e3Ssthen    break;
106898184e3Ssthen
107898184e3Ssthen  case 12:
108*e0680481Safresh1#line 221 "perly.y"
109898184e3Ssthen    {
110898184e3Ssthen			  parser->expect = XSTATE;
1119f11ffb7Safresh1                          (yyval.ival) = 0;
11291f110e0Safresh1			}
1139f11ffb7Safresh1
114898184e3Ssthen    break;
115898184e3Ssthen
116898184e3Ssthen  case 13:
117*e0680481Safresh1#line 226 "perly.y"
118898184e3Ssthen    {
1199f11ffb7Safresh1			  PL_eval_root = (ps[0].val.opval);
120898184e3Ssthen			  (yyval.ival) = 0;
12191f110e0Safresh1			}
1229f11ffb7Safresh1
123898184e3Ssthen    break;
124898184e3Ssthen
125898184e3Ssthen  case 14:
126*e0680481Safresh1#line 231 "perly.y"
12756d68f1eSafresh1    {
12856d68f1eSafresh1			  parser->expect = XSTATE;
12956d68f1eSafresh1			  (yyval.ival) = 0;
13056d68f1eSafresh1			}
13156d68f1eSafresh1
13256d68f1eSafresh1    break;
13356d68f1eSafresh1
13456d68f1eSafresh1  case 15:
135*e0680481Safresh1#line 236 "perly.y"
13656d68f1eSafresh1    {
13756d68f1eSafresh1			  PL_eval_root = (ps[0].val.opval);
13856d68f1eSafresh1			  (yyval.ival) = 0;
13956d68f1eSafresh1			}
14056d68f1eSafresh1
14156d68f1eSafresh1    break;
14256d68f1eSafresh1
14356d68f1eSafresh1  case 16:
144*e0680481Safresh1#line 245 "perly.y"
145*e0680481Safresh1    { (yyval.ival) = KW_SUB_named_sig; }
146*e0680481Safresh1
147*e0680481Safresh1    break;
148*e0680481Safresh1
149*e0680481Safresh1  case 17:
150*e0680481Safresh1#line 247 "perly.y"
151*e0680481Safresh1    { (yyval.ival) = KW_METHOD_named; }
152*e0680481Safresh1
153*e0680481Safresh1    break;
154*e0680481Safresh1
155*e0680481Safresh1  case 18:
156*e0680481Safresh1#line 252 "perly.y"
1579f11ffb7Safresh1    { if (parser->copline > (line_t)(ps[-3].val.ival))
1589f11ffb7Safresh1			      parser->copline = (line_t)(ps[-3].val.ival);
1599f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
16091f110e0Safresh1			}
1619f11ffb7Safresh1
162850e2753Smillert    break;
163850e2753Smillert
164*e0680481Safresh1  case 19:
165*e0680481Safresh1#line 259 "perly.y"
166eac174f2Safresh1    { (yyval.opval) = NULL; }
167eac174f2Safresh1
168eac174f2Safresh1    break;
169eac174f2Safresh1
170*e0680481Safresh1  case 20:
171*e0680481Safresh1#line 264 "perly.y"
1729f11ffb7Safresh1    { if (parser->copline > (line_t)(ps[-6].val.ival))
1739f11ffb7Safresh1			      parser->copline = (line_t)(ps[-6].val.ival);
1749f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval));
17591f110e0Safresh1			}
1769f11ffb7Safresh1
177850e2753Smillert    break;
178850e2753Smillert
179*e0680481Safresh1  case 21:
180*e0680481Safresh1#line 271 "perly.y"
181b8851fccSafresh1    { (yyval.ival) = block_start(TRUE);
182b8851fccSafresh1			  parser->parsed_sub = 0; }
1839f11ffb7Safresh1
184850e2753Smillert    break;
185850e2753Smillert
186*e0680481Safresh1  case 22:
187*e0680481Safresh1#line 276 "perly.y"
1889f11ffb7Safresh1    { if (parser->copline > (line_t)(ps[-3].val.ival))
1899f11ffb7Safresh1			      parser->copline = (line_t)(ps[-3].val.ival);
1909f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
19191f110e0Safresh1			}
1929f11ffb7Safresh1
193850e2753Smillert    break;
194850e2753Smillert
195*e0680481Safresh1  case 23:
196*e0680481Safresh1#line 283 "perly.y"
197b8851fccSafresh1    { (yyval.ival) = block_start(FALSE);
198b8851fccSafresh1			  parser->parsed_sub = 0; }
1999f11ffb7Safresh1
200898184e3Ssthen    break;
201898184e3Ssthen
20256d68f1eSafresh1  case 25:
203*e0680481Safresh1#line 292 "perly.y"
204*e0680481Safresh1    { parser->in_my = 1; }
205eac174f2Safresh1
206eac174f2Safresh1    break;
207eac174f2Safresh1
208eac174f2Safresh1  case 26:
209*e0680481Safresh1#line 294 "perly.y"
210*e0680481Safresh1    { parser->in_my = 0; intro_my(); }
211*e0680481Safresh1
212*e0680481Safresh1    break;
213*e0680481Safresh1
214*e0680481Safresh1  case 27:
215*e0680481Safresh1#line 296 "perly.y"
216*e0680481Safresh1    { (yyval.opval) = (ps[-2].val.opval); }
217*e0680481Safresh1
218*e0680481Safresh1    break;
219*e0680481Safresh1
220*e0680481Safresh1  case 29:
221*e0680481Safresh1#line 303 "perly.y"
222*e0680481Safresh1    {   (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
223*e0680481Safresh1			    PL_pad_reset_pending = TRUE;
224*e0680481Safresh1			    if ((ps[-1].val.opval) && (ps[0].val.opval))
225*e0680481Safresh1				PL_hints |= HINT_BLOCK_SCOPE;
226*e0680481Safresh1			}
227*e0680481Safresh1
228*e0680481Safresh1    break;
229*e0680481Safresh1
230*e0680481Safresh1  case 31:
231*e0680481Safresh1#line 314 "perly.y"
232*e0680481Safresh1    {   (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
233*e0680481Safresh1			    PL_pad_reset_pending = TRUE;
234*e0680481Safresh1			    if ((ps[-1].val.opval) && (ps[0].val.opval))
235*e0680481Safresh1				PL_hints |= HINT_BLOCK_SCOPE;
236*e0680481Safresh1			}
237*e0680481Safresh1
238*e0680481Safresh1    break;
239*e0680481Safresh1
240*e0680481Safresh1  case 32:
241*e0680481Safresh1#line 323 "perly.y"
242898184e3Ssthen    {
2439f11ffb7Safresh1			  (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL;
24491f110e0Safresh1			}
2459f11ffb7Safresh1
246850e2753Smillert    break;
247850e2753Smillert
248*e0680481Safresh1  case 33:
249*e0680481Safresh1#line 327 "perly.y"
25056d68f1eSafresh1    { (yyval.opval) = (ps[0].val.opval); }
2519f11ffb7Safresh1
252850e2753Smillert    break;
253850e2753Smillert
254*e0680481Safresh1  case 34:
255*e0680481Safresh1#line 331 "perly.y"
25656d68f1eSafresh1    {
25756d68f1eSafresh1                          SV *label = cSVOPx_sv((ps[-1].val.opval));
25856d68f1eSafresh1			  (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8,
25956d68f1eSafresh1                                            savepv(SvPVX_const(label)), (ps[0].val.opval));
26056d68f1eSafresh1                          op_free((ps[-1].val.opval));
26156d68f1eSafresh1			}
26256d68f1eSafresh1
26356d68f1eSafresh1    break;
26456d68f1eSafresh1
265*e0680481Safresh1  case 35:
266*e0680481Safresh1#line 338 "perly.y"
267eac174f2Safresh1    {
268eac174f2Safresh1                          SV *label = cSVOPx_sv((ps[-1].val.opval));
269eac174f2Safresh1			  (yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8,
270eac174f2Safresh1                                            savepv(SvPVX_const(label)), (ps[0].val.opval));
271eac174f2Safresh1                          op_free((ps[-1].val.opval));
272eac174f2Safresh1			}
27356d68f1eSafresh1
27456d68f1eSafresh1    break;
27556d68f1eSafresh1
276*e0680481Safresh1  case 36:
277*e0680481Safresh1#line 348 "perly.y"
278eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
279eac174f2Safresh1
280eac174f2Safresh1    break;
281eac174f2Safresh1
282*e0680481Safresh1  case 37:
283*e0680481Safresh1#line 350 "perly.y"
28491f110e0Safresh1    {
285b8851fccSafresh1			  CV *fmtcv = PL_compcv;
2869f11ffb7Safresh1			  newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval));
2879f11ffb7Safresh1			  (yyval.opval) = NULL;
288b8851fccSafresh1			  if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
289b8851fccSafresh1			      pad_add_weakref(fmtcv);
290b8851fccSafresh1			  }
291b8851fccSafresh1			  parser->parsed_sub = 1;
29291f110e0Safresh1			}
2939f11ffb7Safresh1
29491f110e0Safresh1    break;
29591f110e0Safresh1
296*e0680481Safresh1  case 38:
297*e0680481Safresh1#line 362 "perly.y"
29891f110e0Safresh1    {
2999f11ffb7Safresh1                          init_named_cv(PL_compcv, (ps[-1].val.opval));
300b8851fccSafresh1			  parser->in_my = 0;
301b8851fccSafresh1			  parser->in_my_stash = NULL;
302b8851fccSafresh1			}
3039f11ffb7Safresh1
304b8851fccSafresh1    break;
305b8851fccSafresh1
306*e0680481Safresh1  case 39:
307*e0680481Safresh1#line 368 "perly.y"
308b8851fccSafresh1    {
309b8851fccSafresh1			  SvREFCNT_inc_simple_void(PL_compcv);
3109f11ffb7Safresh1			  (ps[-5].val.opval)->op_type == OP_CONST
3119f11ffb7Safresh1			      ? newATTRSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
3129f11ffb7Safresh1			      : newMYSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
313b8851fccSafresh1			  ;
3149f11ffb7Safresh1			  (yyval.opval) = NULL;
315b8851fccSafresh1			  intro_my();
316b8851fccSafresh1			  parser->parsed_sub = 1;
31791f110e0Safresh1			}
3189f11ffb7Safresh1
31991f110e0Safresh1    break;
32091f110e0Safresh1
321*e0680481Safresh1  case 40:
322*e0680481Safresh1#line 383 "perly.y"
323898184e3Ssthen    {
3249f11ffb7Safresh1                          init_named_cv(PL_compcv, (ps[-1].val.opval));
325*e0680481Safresh1			  if((ps[-2].val.ival) == KW_METHOD_named) {
326*e0680481Safresh1			      croak_kw_unless_class("method");
327*e0680481Safresh1			      class_prepare_method_parse(PL_compcv);
328*e0680481Safresh1			  }
329b8851fccSafresh1			  parser->in_my = 0;
330b8851fccSafresh1			  parser->in_my_stash = NULL;
33191f110e0Safresh1			}
3329f11ffb7Safresh1
333850e2753Smillert    break;
334850e2753Smillert
335*e0680481Safresh1  case 41:
336*e0680481Safresh1#line 393 "perly.y"
337850e2753Smillert    {
338*e0680481Safresh1			  OP *body = (ps[0].val.opval);
339*e0680481Safresh1
340b8851fccSafresh1			  SvREFCNT_inc_simple_void(PL_compcv);
3419f11ffb7Safresh1			  (ps[-4].val.opval)->op_type == OP_CONST
342*e0680481Safresh1			      ? newATTRSUB((ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), body)
343*e0680481Safresh1			      : newMYSUB(  (ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), body)
344b8851fccSafresh1			  ;
3459f11ffb7Safresh1			  (yyval.opval) = NULL;
346b8851fccSafresh1			  intro_my();
347b8851fccSafresh1			  parser->parsed_sub = 1;
34891f110e0Safresh1			}
3499f11ffb7Safresh1
350850e2753Smillert    break;
351850e2753Smillert
352*e0680481Safresh1  case 42:
353*e0680481Safresh1#line 406 "perly.y"
354*e0680481Safresh1    {
355*e0680481Safresh1			  switch((ps[-1].val.ival)) {
356*e0680481Safresh1			      case KEY_ADJUST:
357*e0680481Safresh1			         croak_kw_unless_class("ADJUST");
358*e0680481Safresh1			         class_prepare_method_parse(PL_compcv);
359*e0680481Safresh1			         break;
360*e0680481Safresh1			      default:
361*e0680481Safresh1			         NOT_REACHED;
362*e0680481Safresh1			  }
363*e0680481Safresh1			}
364*e0680481Safresh1
365*e0680481Safresh1    break;
366*e0680481Safresh1
367*e0680481Safresh1  case 43:
368*e0680481Safresh1#line 417 "perly.y"
369*e0680481Safresh1    {
370*e0680481Safresh1			  OP *body = (ps[0].val.opval);
371*e0680481Safresh1			  SvREFCNT_inc_simple_void(PL_compcv);
372*e0680481Safresh1
373*e0680481Safresh1			  CV *cv;
374*e0680481Safresh1
375*e0680481Safresh1			  switch((ps[-3].val.ival)) {
376*e0680481Safresh1			      case KEY_ADJUST:
377*e0680481Safresh1			          cv = newATTRSUB((ps[-2].val.ival), NULL, NULL, NULL, body);
378*e0680481Safresh1			          class_add_ADJUST(PL_curstash, cv);
379*e0680481Safresh1			          break;
380*e0680481Safresh1			  }
381*e0680481Safresh1			  (yyval.opval) = NULL;
382*e0680481Safresh1			}
383*e0680481Safresh1
384*e0680481Safresh1    break;
385*e0680481Safresh1
386*e0680481Safresh1  case 44:
387*e0680481Safresh1#line 436 "perly.y"
388898184e3Ssthen    {
3899f11ffb7Safresh1			  package((ps[-1].val.opval));
3909f11ffb7Safresh1			  if ((ps[-2].val.opval))
3919f11ffb7Safresh1			      package_version((ps[-2].val.opval));
3929f11ffb7Safresh1			  (yyval.opval) = NULL;
39391f110e0Safresh1			}
3949f11ffb7Safresh1
395898184e3Ssthen    break;
396898184e3Ssthen
397*e0680481Safresh1  case 45:
398*e0680481Safresh1#line 443 "perly.y"
399*e0680481Safresh1    {
400*e0680481Safresh1			  package((ps[-2].val.opval));
401*e0680481Safresh1			  if ((ps[-3].val.opval))
402*e0680481Safresh1			      package_version((ps[-3].val.opval));
403*e0680481Safresh1			  (yyval.opval) = NULL;
404*e0680481Safresh1			  class_setup_stash(PL_curstash);
405*e0680481Safresh1			  if ((ps[-1].val.opval)) {
406*e0680481Safresh1			      class_apply_attributes(PL_curstash, (ps[-1].val.opval));
407*e0680481Safresh1			  }
408*e0680481Safresh1			}
409*e0680481Safresh1
410*e0680481Safresh1    break;
411*e0680481Safresh1
412*e0680481Safresh1  case 46:
413*e0680481Safresh1#line 454 "perly.y"
414b8851fccSafresh1    { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
4159f11ffb7Safresh1
416b8851fccSafresh1    break;
417b8851fccSafresh1
418*e0680481Safresh1  case 47:
419*e0680481Safresh1#line 458 "perly.y"
420898184e3Ssthen    {
421b8851fccSafresh1			  SvREFCNT_inc_simple_void(PL_compcv);
4229f11ffb7Safresh1			  utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval));
423b8851fccSafresh1			  parser->parsed_sub = 1;
4249f11ffb7Safresh1			  (yyval.opval) = NULL;
42591f110e0Safresh1			}
4269f11ffb7Safresh1
427898184e3Ssthen    break;
428898184e3Ssthen
429*e0680481Safresh1  case 48:
430*e0680481Safresh1#line 465 "perly.y"
43191f110e0Safresh1    {
4329f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-4].val.ival),
4339f11ffb7Safresh1			      newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval)));
4349f11ffb7Safresh1			  parser->copline = (line_t)(ps[-6].val.ival);
43591f110e0Safresh1			}
4369f11ffb7Safresh1
437898184e3Ssthen    break;
438898184e3Ssthen
439*e0680481Safresh1  case 49:
440*e0680481Safresh1#line 471 "perly.y"
44191f110e0Safresh1    {
4429f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-4].val.ival),
4439f11ffb7Safresh1                              newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval))));
4449f11ffb7Safresh1			  parser->copline = (line_t)(ps[-6].val.ival);
44591f110e0Safresh1			}
4469f11ffb7Safresh1
447898184e3Ssthen    break;
448898184e3Ssthen
449*e0680481Safresh1  case 50:
450*e0680481Safresh1#line 477 "perly.y"
451898184e3Ssthen    {
4529f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0));
4539f11ffb7Safresh1			  parser->copline = (line_t)(ps[-5].val.ival);
45491f110e0Safresh1			}
4559f11ffb7Safresh1
456898184e3Ssthen    break;
457898184e3Ssthen
458*e0680481Safresh1  case 51:
459*e0680481Safresh1#line 482 "perly.y"
4609f11ffb7Safresh1    { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
4619f11ffb7Safresh1
462b8851fccSafresh1    break;
463b8851fccSafresh1
464*e0680481Safresh1  case 52:
465*e0680481Safresh1#line 484 "perly.y"
4669f11ffb7Safresh1    { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
4679f11ffb7Safresh1
468b8851fccSafresh1    break;
469b8851fccSafresh1
470*e0680481Safresh1  case 53:
471*e0680481Safresh1#line 486 "perly.y"
47256d68f1eSafresh1    {
47356d68f1eSafresh1			  (yyval.opval) = block_end((ps[-5].val.ival),
47456d68f1eSafresh1				  newWHILEOP(0, 1, NULL,
47556d68f1eSafresh1				      (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
47656d68f1eSafresh1			  parser->copline = (line_t)(ps[-7].val.ival);
47756d68f1eSafresh1			}
4789f11ffb7Safresh1
479b8851fccSafresh1    break;
480b8851fccSafresh1
481*e0680481Safresh1  case 54:
482*e0680481Safresh1#line 493 "perly.y"
483eac174f2Safresh1    {
484eac174f2Safresh1			  (yyval.opval) = block_end((ps[-5].val.ival),
485eac174f2Safresh1				  newWHILEOP(0, 1, NULL,
486eac174f2Safresh1				      (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
487eac174f2Safresh1			  parser->copline = (line_t)(ps[-7].val.ival);
488eac174f2Safresh1			}
48956d68f1eSafresh1
49056d68f1eSafresh1    break;
49156d68f1eSafresh1
492*e0680481Safresh1  case 55:
493*e0680481Safresh1#line 500 "perly.y"
49456d68f1eSafresh1    { parser->expect = XTERM; }
49556d68f1eSafresh1
49656d68f1eSafresh1    break;
49756d68f1eSafresh1
498*e0680481Safresh1  case 56:
499*e0680481Safresh1#line 502 "perly.y"
500eac174f2Safresh1    { parser->expect = XTERM; }
501eac174f2Safresh1
502eac174f2Safresh1    break;
503eac174f2Safresh1
504*e0680481Safresh1  case 57:
505*e0680481Safresh1#line 505 "perly.y"
506b8851fccSafresh1    {
5079f11ffb7Safresh1			  OP *initop = (ps[-9].val.opval);
5089f11ffb7Safresh1			  OP *forop = newWHILEOP(0, 1, NULL,
5099f11ffb7Safresh1				      scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival));
510898184e3Ssthen			  if (initop) {
511898184e3Ssthen			      forop = op_prepend_elem(OP_LINESEQ, initop,
512898184e3Ssthen				  op_append_elem(OP_LINESEQ,
513898184e3Ssthen				      newOP(OP_UNSTACK, OPf_SPECIAL),
514898184e3Ssthen				      forop));
515898184e3Ssthen			  }
516b8851fccSafresh1			  PL_hints |= HINT_BLOCK_SCOPE;
5179f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-10].val.ival), forop);
5189f11ffb7Safresh1			  parser->copline = (line_t)(ps[-12].val.ival);
51991f110e0Safresh1			}
5209f11ffb7Safresh1
521898184e3Ssthen    break;
522898184e3Ssthen
523*e0680481Safresh1  case 58:
524*e0680481Safresh1#line 520 "perly.y"
525b8851fccSafresh1    {
5269f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
5279f11ffb7Safresh1			  parser->copline = (line_t)(ps[-8].val.ival);
528b8851fccSafresh1			}
5299f11ffb7Safresh1
530b8851fccSafresh1    break;
531b8851fccSafresh1
532*e0680481Safresh1  case 59:
533*e0680481Safresh1#line 525 "perly.y"
534eac174f2Safresh1    {
535eac174f2Safresh1                          if ((ps[-6].val.opval)->op_type == OP_PADSV)
536eac174f2Safresh1                            /* degenerate case of 1 var: for my ($x) ....
537eac174f2Safresh1                               Flag it so it can be special-cased in newFOROP */
538eac174f2Safresh1                                (ps[-6].val.opval)->op_flags |= OPf_PARENS;
539eac174f2Safresh1			  (yyval.opval) = block_end((ps[-8].val.ival), newFOROP(0, (ps[-6].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
540eac174f2Safresh1			  parser->copline = (line_t)(ps[-10].val.ival);
541eac174f2Safresh1			}
542eac174f2Safresh1
543eac174f2Safresh1    break;
544eac174f2Safresh1
545*e0680481Safresh1  case 60:
546*e0680481Safresh1#line 534 "perly.y"
547b8851fccSafresh1    {
5489f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0,
5499f11ffb7Safresh1				      op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
5509f11ffb7Safresh1			  parser->copline = (line_t)(ps[-7].val.ival);
551b8851fccSafresh1			}
5529f11ffb7Safresh1
553b8851fccSafresh1    break;
554b8851fccSafresh1
555*e0680481Safresh1  case 61:
556*e0680481Safresh1#line 540 "perly.y"
5579f11ffb7Safresh1    { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
5589f11ffb7Safresh1
559b8851fccSafresh1    break;
560b8851fccSafresh1
561*e0680481Safresh1  case 62:
562*e0680481Safresh1#line 542 "perly.y"
563b8851fccSafresh1    {
564b8851fccSafresh1			  (yyval.opval) = block_end(
5659f11ffb7Safresh1				(ps[-7].val.ival),
566b8851fccSafresh1				newFOROP(0,
567b8851fccSafresh1					 op_lvalue(
568b8851fccSafresh1					    newUNOP(OP_REFGEN, 0,
5699f11ffb7Safresh1						    (ps[-5].val.opval)),
570b8851fccSafresh1					    OP_ENTERLOOP),
5719f11ffb7Safresh1					 (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
572b8851fccSafresh1			  );
5739f11ffb7Safresh1			  parser->copline = (line_t)(ps[-9].val.ival);
574b8851fccSafresh1			}
5759f11ffb7Safresh1
576b8851fccSafresh1    break;
577b8851fccSafresh1
578*e0680481Safresh1  case 63:
579*e0680481Safresh1#line 555 "perly.y"
580b8851fccSafresh1    {
5819f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(
582b8851fccSafresh1				0, op_lvalue(newUNOP(OP_REFGEN, 0,
5839f11ffb7Safresh1						     (ps[-6].val.opval)),
5849f11ffb7Safresh1					     OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
5859f11ffb7Safresh1			  parser->copline = (line_t)(ps[-8].val.ival);
586b8851fccSafresh1			}
5879f11ffb7Safresh1
588b8851fccSafresh1    break;
589b8851fccSafresh1
590*e0680481Safresh1  case 64:
591*e0680481Safresh1#line 563 "perly.y"
592b8851fccSafresh1    {
5939f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-4].val.ival),
5949f11ffb7Safresh1				  newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
5959f11ffb7Safresh1			  parser->copline = (line_t)(ps[-6].val.ival);
596b8851fccSafresh1			}
5979f11ffb7Safresh1
598b8851fccSafresh1    break;
599b8851fccSafresh1
600*e0680481Safresh1  case 65:
601*e0680481Safresh1#line 569 "perly.y"
602eac174f2Safresh1    {
603*e0680481Safresh1			  if(!(ps[0].val.opval)) {
604*e0680481Safresh1			      yyerror("catch block requires a (VAR)");
605*e0680481Safresh1			      YYERROR;
606*e0680481Safresh1			  }
607eac174f2Safresh1			}
608eac174f2Safresh1
609eac174f2Safresh1    break;
610eac174f2Safresh1
611*e0680481Safresh1  case 66:
612*e0680481Safresh1#line 576 "perly.y"
613*e0680481Safresh1    {
614*e0680481Safresh1			  (yyval.opval) = newTRYCATCHOP(0,
615*e0680481Safresh1				  (ps[-6].val.opval), (ps[-3].val.opval), block_end((ps[-4].val.ival), op_scope((ps[-1].val.opval))));
616*e0680481Safresh1			  if((ps[0].val.opval))
617*e0680481Safresh1			      (yyval.opval) = op_wrap_finally((yyval.opval), (ps[0].val.opval));
618*e0680481Safresh1			  parser->copline = (line_t)(ps[-7].val.ival);
619*e0680481Safresh1			}
620*e0680481Safresh1
621*e0680481Safresh1    break;
622*e0680481Safresh1
623*e0680481Safresh1  case 67:
624*e0680481Safresh1#line 584 "perly.y"
625898184e3Ssthen    {
626898184e3Ssthen			  /* a block is a loop that happens once */
6279f11ffb7Safresh1			  (yyval.opval) = newWHILEOP(0, 1, NULL,
6289f11ffb7Safresh1				  NULL, (ps[-1].val.opval), (ps[0].val.opval), 0);
629898184e3Ssthen			}
6309f11ffb7Safresh1
631898184e3Ssthen    break;
632898184e3Ssthen
633*e0680481Safresh1  case 68:
634*e0680481Safresh1#line 590 "perly.y"
63591f110e0Safresh1    {
6369f11ffb7Safresh1			  package((ps[-2].val.opval));
6379f11ffb7Safresh1			  if ((ps[-3].val.opval)) {
6389f11ffb7Safresh1			      package_version((ps[-3].val.opval));
63991f110e0Safresh1			  }
64091f110e0Safresh1			}
6419f11ffb7Safresh1
64291f110e0Safresh1    break;
64391f110e0Safresh1
644*e0680481Safresh1  case 69:
645*e0680481Safresh1#line 597 "perly.y"
646898184e3Ssthen    {
647898184e3Ssthen			  /* a block is a loop that happens once */
6489f11ffb7Safresh1			  (yyval.opval) = newWHILEOP(0, 1, NULL,
6499f11ffb7Safresh1				  NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0);
6509f11ffb7Safresh1			  if (parser->copline > (line_t)(ps[-4].val.ival))
6519f11ffb7Safresh1			      parser->copline = (line_t)(ps[-4].val.ival);
65291f110e0Safresh1			}
6539f11ffb7Safresh1
654898184e3Ssthen    break;
655898184e3Ssthen
656*e0680481Safresh1  case 70:
657*e0680481Safresh1#line 605 "perly.y"
658*e0680481Safresh1    {
659*e0680481Safresh1			  package((ps[-3].val.opval));
660*e0680481Safresh1
661*e0680481Safresh1			  if ((ps[-4].val.opval)) {
662*e0680481Safresh1			      package_version((ps[-4].val.opval));
663*e0680481Safresh1			  }
664*e0680481Safresh1			  class_setup_stash(PL_curstash);
665*e0680481Safresh1			  if ((ps[-2].val.opval)) {
666*e0680481Safresh1			      class_apply_attributes(PL_curstash, (ps[-2].val.opval));
667*e0680481Safresh1			  }
668*e0680481Safresh1			}
669*e0680481Safresh1
670*e0680481Safresh1    break;
671*e0680481Safresh1
672*e0680481Safresh1  case 71:
673*e0680481Safresh1#line 617 "perly.y"
674*e0680481Safresh1    {
675*e0680481Safresh1			  /* a block is a loop that happens once */
676*e0680481Safresh1			  (yyval.opval) = newWHILEOP(0, 1, NULL,
677*e0680481Safresh1				  NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0);
678*e0680481Safresh1			  if (parser->copline > (line_t)(ps[-4].val.ival))
679*e0680481Safresh1			      parser->copline = (line_t)(ps[-4].val.ival);
680*e0680481Safresh1			}
681*e0680481Safresh1
682*e0680481Safresh1    break;
683*e0680481Safresh1
684*e0680481Safresh1  case 72:
685*e0680481Safresh1#line 625 "perly.y"
686b8851fccSafresh1    {
6879f11ffb7Safresh1			  (yyval.opval) = (ps[-1].val.opval);
688b8851fccSafresh1			}
6899f11ffb7Safresh1
690898184e3Ssthen    break;
691898184e3Ssthen
692*e0680481Safresh1  case 73:
693*e0680481Safresh1#line 629 "perly.y"
694*e0680481Safresh1    {
695*e0680481Safresh1			  (yyval.opval) = (ps[-1].val.opval);
696*e0680481Safresh1			}
697*e0680481Safresh1
698*e0680481Safresh1    break;
699*e0680481Safresh1
700*e0680481Safresh1  case 74:
701*e0680481Safresh1#line 633 "perly.y"
702eac174f2Safresh1    {
703eac174f2Safresh1			  (yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval)));
704eac174f2Safresh1			}
705eac174f2Safresh1
706eac174f2Safresh1    break;
707eac174f2Safresh1
708*e0680481Safresh1  case 75:
709*e0680481Safresh1#line 637 "perly.y"
710b8851fccSafresh1    {
711*e0680481Safresh1                          /* diag_listed_as: Unimplemented */
7129f11ffb7Safresh1			  (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
7139f11ffb7Safresh1				newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
71491f110e0Safresh1			}
7159f11ffb7Safresh1
716898184e3Ssthen    break;
717898184e3Ssthen
718*e0680481Safresh1  case 76:
719*e0680481Safresh1#line 643 "perly.y"
7209f11ffb7Safresh1    {
7219f11ffb7Safresh1			  (yyval.opval) = NULL;
7229f11ffb7Safresh1			  parser->copline = NOLINE;
7239f11ffb7Safresh1			}
7249f11ffb7Safresh1
7259f11ffb7Safresh1    break;
7269f11ffb7Safresh1
727*e0680481Safresh1  case 77:
728*e0680481Safresh1#line 651 "perly.y"
729b8851fccSafresh1    { OP *list;
7309f11ffb7Safresh1			  if ((ps[0].val.opval)) {
7319f11ffb7Safresh1			      OP *term = (ps[0].val.opval);
7329f11ffb7Safresh1			      list = op_append_elem(OP_LIST, (ps[-1].val.opval), term);
733b8851fccSafresh1			  }
734b8851fccSafresh1			  else {
7359f11ffb7Safresh1			      list = (ps[-1].val.opval);
736b8851fccSafresh1			  }
737b8851fccSafresh1			  if (parser->copline == NOLINE)
738b8851fccSafresh1			       parser->copline = CopLINE(PL_curcop)-1;
739b8851fccSafresh1			  else parser->copline--;
740b8851fccSafresh1			  (yyval.opval) = newSTATEOP(0, NULL,
741b8851fccSafresh1					  op_convert_list(OP_FORMLINE, 0, list));
74291f110e0Safresh1			}
743898184e3Ssthen
74491f110e0Safresh1    break;
74591f110e0Safresh1
746*e0680481Safresh1  case 79:
747*e0680481Safresh1#line 670 "perly.y"
74856d68f1eSafresh1    { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
7499f11ffb7Safresh1
750b8851fccSafresh1    break;
751b8851fccSafresh1
752*e0680481Safresh1  case 81:
753*e0680481Safresh1#line 678 "perly.y"
75456d68f1eSafresh1    { (yyval.opval) = NULL; }
7559f11ffb7Safresh1
756898184e3Ssthen    break;
757898184e3Ssthen
758*e0680481Safresh1  case 82:
759*e0680481Safresh1#line 680 "perly.y"
76056d68f1eSafresh1    { (yyval.opval) = (ps[0].val.opval); }
7619f11ffb7Safresh1
762b8851fccSafresh1    break;
763b8851fccSafresh1
764*e0680481Safresh1  case 83:
765*e0680481Safresh1#line 682 "perly.y"
76656d68f1eSafresh1    { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
7679f11ffb7Safresh1
768b8851fccSafresh1    break;
769b8851fccSafresh1
770*e0680481Safresh1  case 84:
771*e0680481Safresh1#line 684 "perly.y"
77256d68f1eSafresh1    { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
7739f11ffb7Safresh1
774b8851fccSafresh1    break;
775b8851fccSafresh1
776*e0680481Safresh1  case 85:
777*e0680481Safresh1#line 686 "perly.y"
77856d68f1eSafresh1    { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
77956d68f1eSafresh1
78056d68f1eSafresh1    break;
78156d68f1eSafresh1
782*e0680481Safresh1  case 86:
783*e0680481Safresh1#line 688 "perly.y"
78456d68f1eSafresh1    { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
78556d68f1eSafresh1
78656d68f1eSafresh1    break;
78756d68f1eSafresh1
788*e0680481Safresh1  case 87:
789*e0680481Safresh1#line 690 "perly.y"
7909f11ffb7Safresh1    { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
7919f11ffb7Safresh1			  parser->copline = (line_t)(ps[-1].val.ival); }
7929f11ffb7Safresh1
793b8851fccSafresh1    break;
794b8851fccSafresh1
795*e0680481Safresh1  case 88:
796*e0680481Safresh1#line 693 "perly.y"
7979f11ffb7Safresh1    { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
7989f11ffb7Safresh1
799b8851fccSafresh1    break;
800b8851fccSafresh1
801*e0680481Safresh1  case 90:
802*e0680481Safresh1#line 700 "perly.y"
8039f11ffb7Safresh1    {
8049f11ffb7Safresh1			  ((ps[0].val.opval))->op_flags |= OPf_PARENS;
8059f11ffb7Safresh1			  (yyval.opval) = op_scope((ps[0].val.opval));
80691f110e0Safresh1			}
8079f11ffb7Safresh1
808898184e3Ssthen    break;
809898184e3Ssthen
810*e0680481Safresh1  case 91:
811*e0680481Safresh1#line 705 "perly.y"
8129f11ffb7Safresh1    { parser->copline = (line_t)(ps[-5].val.ival);
8139f11ffb7Safresh1			    (yyval.opval) = newCONDOP(0,
8149f11ffb7Safresh1				newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)),
8159f11ffb7Safresh1				op_scope((ps[-1].val.opval)), (ps[0].val.opval));
8169f11ffb7Safresh1			  PL_hints |= HINT_BLOCK_SCOPE;
8179f11ffb7Safresh1			}
8189f11ffb7Safresh1
81991f110e0Safresh1    break;
82091f110e0Safresh1
821*e0680481Safresh1  case 93:
822*e0680481Safresh1#line 717 "perly.y"
8239f11ffb7Safresh1    { (yyval.opval) = op_scope((ps[0].val.opval)); }
8249f11ffb7Safresh1
825898184e3Ssthen    break;
826898184e3Ssthen
827*e0680481Safresh1  case 94:
828*e0680481Safresh1#line 722 "perly.y"
829eac174f2Safresh1    { (yyval.opval) = NULL; }
830eac174f2Safresh1
831eac174f2Safresh1    break;
832eac174f2Safresh1
833*e0680481Safresh1  case 95:
834*e0680481Safresh1#line 724 "perly.y"
835eac174f2Safresh1    { (yyval.opval) = op_scope((ps[0].val.opval)); }
836eac174f2Safresh1
837eac174f2Safresh1    break;
838eac174f2Safresh1
839*e0680481Safresh1  case 96:
840*e0680481Safresh1#line 729 "perly.y"
8419f11ffb7Safresh1    { (yyval.ival) = (PL_min_intro_pending &&
8429f11ffb7Safresh1			    PL_max_intro_pending >=  PL_min_intro_pending);
8439f11ffb7Safresh1			  intro_my(); }
8449f11ffb7Safresh1
845898184e3Ssthen    break;
846898184e3Ssthen
847*e0680481Safresh1  case 99:
848*e0680481Safresh1#line 741 "perly.y"
84991f110e0Safresh1    { YYSTYPE tmplval;
85091f110e0Safresh1			  (void)scan_num("1", &tmplval);
85191f110e0Safresh1			  (yyval.opval) = tmplval.opval; }
852898184e3Ssthen
853898184e3Ssthen    break;
854898184e3Ssthen
855*e0680481Safresh1  case 101:
856*e0680481Safresh1#line 749 "perly.y"
8579f11ffb7Safresh1    { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
8589f11ffb7Safresh1
859898184e3Ssthen    break;
860898184e3Ssthen
861*e0680481Safresh1  case 102:
862*e0680481Safresh1#line 754 "perly.y"
863eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); intro_my(); }
864eac174f2Safresh1
865eac174f2Safresh1    break;
866eac174f2Safresh1
867eac174f2Safresh1  case 103:
868*e0680481Safresh1#line 758 "perly.y"
869*e0680481Safresh1    { (yyval.opval) = (ps[0].val.opval); intro_my(); }
870eac174f2Safresh1
871eac174f2Safresh1    break;
872eac174f2Safresh1
873eac174f2Safresh1  case 104:
874*e0680481Safresh1#line 761 "perly.y"
875eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
876eac174f2Safresh1
877eac174f2Safresh1    break;
878eac174f2Safresh1
879eac174f2Safresh1  case 106:
880*e0680481Safresh1#line 766 "perly.y"
881*e0680481Safresh1    { (yyval.ival) = start_subparse(FALSE, 0);
882*e0680481Safresh1			    SAVEFREESV(PL_compcv); }
883eac174f2Safresh1
884eac174f2Safresh1    break;
885eac174f2Safresh1
886eac174f2Safresh1  case 107:
887*e0680481Safresh1#line 772 "perly.y"
888*e0680481Safresh1    { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
889*e0680481Safresh1			    SAVEFREESV(PL_compcv); }
8909f11ffb7Safresh1
891b8851fccSafresh1    break;
892b8851fccSafresh1
893eac174f2Safresh1  case 108:
894*e0680481Safresh1#line 777 "perly.y"
895*e0680481Safresh1    { (yyval.ival) = start_subparse(FALSE, CVf_ANON|CVf_IsMETHOD);
896*e0680481Safresh1			    SAVEFREESV(PL_compcv); }
8979f11ffb7Safresh1
898850e2753Smillert    break;
899850e2753Smillert
900eac174f2Safresh1  case 109:
901*e0680481Safresh1#line 782 "perly.y"
902*e0680481Safresh1    { (yyval.ival) = start_subparse(TRUE, 0);
903*e0680481Safresh1			    SAVEFREESV(PL_compcv); }
904*e0680481Safresh1
905*e0680481Safresh1    break;
906*e0680481Safresh1
907*e0680481Safresh1  case 115:
908*e0680481Safresh1#line 801 "perly.y"
909*e0680481Safresh1    {
910*e0680481Safresh1			  OP *attrlist = (ps[0].val.opval);
911*e0680481Safresh1			  if(attrlist && !PL_parser->sig_seen)
912*e0680481Safresh1			      attrlist = apply_builtin_cv_attributes(PL_compcv, attrlist);
913*e0680481Safresh1			  (yyval.opval) = attrlist;
914*e0680481Safresh1			}
915*e0680481Safresh1
916*e0680481Safresh1    break;
917*e0680481Safresh1
918*e0680481Safresh1  case 116:
919*e0680481Safresh1#line 808 "perly.y"
920*e0680481Safresh1    { (yyval.opval) = NULL; }
921*e0680481Safresh1
922*e0680481Safresh1    break;
923*e0680481Safresh1
924*e0680481Safresh1  case 117:
925*e0680481Safresh1#line 813 "perly.y"
926*e0680481Safresh1    { (yyval.opval) = (ps[0].val.opval); }
927*e0680481Safresh1
928*e0680481Safresh1    break;
929*e0680481Safresh1
930*e0680481Safresh1  case 118:
931*e0680481Safresh1#line 815 "perly.y"
932*e0680481Safresh1    { (yyval.opval) = NULL; }
933*e0680481Safresh1
934*e0680481Safresh1    break;
935*e0680481Safresh1
936*e0680481Safresh1  case 119:
937*e0680481Safresh1#line 826 "perly.y"
938*e0680481Safresh1    { parser->in_my = 0; (yyval.opval) = NULL; }
939*e0680481Safresh1
940*e0680481Safresh1    break;
941*e0680481Safresh1
942*e0680481Safresh1  case 120:
943*e0680481Safresh1#line 828 "perly.y"
944*e0680481Safresh1    { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
945*e0680481Safresh1
946*e0680481Safresh1    break;
947*e0680481Safresh1
948*e0680481Safresh1  case 121:
949*e0680481Safresh1#line 833 "perly.y"
95056d68f1eSafresh1    { (yyval.ival) = '@'; }
95156d68f1eSafresh1
95256d68f1eSafresh1    break;
95356d68f1eSafresh1
954*e0680481Safresh1  case 122:
955*e0680481Safresh1#line 835 "perly.y"
95656d68f1eSafresh1    { (yyval.ival) = '%'; }
95756d68f1eSafresh1
95856d68f1eSafresh1    break;
95956d68f1eSafresh1
960*e0680481Safresh1  case 123:
961*e0680481Safresh1#line 839 "perly.y"
9629f11ffb7Safresh1    {
9639f11ffb7Safresh1                            I32 sigil = (ps[-2].val.ival);
9649f11ffb7Safresh1                            OP *var   = (ps[-1].val.opval);
965*e0680481Safresh1                            OP *defop = (ps[0].val.opval);
9669f11ffb7Safresh1
9679f11ffb7Safresh1                            if (parser->sig_slurpy)
9689f11ffb7Safresh1                                yyerror("Multiple slurpy parameters not allowed");
9699f11ffb7Safresh1                            parser->sig_slurpy = (char)sigil;
9709f11ffb7Safresh1
971*e0680481Safresh1                            if (defop)
9729f11ffb7Safresh1                                yyerror("A slurpy parameter may not have "
9739f11ffb7Safresh1                                        "a default value");
9749f11ffb7Safresh1
9759f11ffb7Safresh1                            (yyval.opval) = var ? newSTATEOP(0, NULL, var) : NULL;
9769f11ffb7Safresh1                        }
9779f11ffb7Safresh1
978850e2753Smillert    break;
979850e2753Smillert
980*e0680481Safresh1  case 125:
981*e0680481Safresh1#line 860 "perly.y"
982*e0680481Safresh1    { (yyval.opval) = newARGDEFELEMOP(0, newOP(OP_NULL, 0), parser->sig_elems); }
9839f11ffb7Safresh1
984b8851fccSafresh1    break;
985b8851fccSafresh1
986*e0680481Safresh1  case 126:
987*e0680481Safresh1#line 862 "perly.y"
988*e0680481Safresh1    {
989*e0680481Safresh1                            I32 flags = 0;
990*e0680481Safresh1                            if ((ps[-1].val.ival) == OP_DORASSIGN)
991*e0680481Safresh1                                flags |= OPpARG_IF_UNDEF << 8;
992*e0680481Safresh1                            if ((ps[-1].val.ival) == OP_ORASSIGN)
993*e0680481Safresh1                                flags |= OPpARG_IF_FALSE << 8;
994*e0680481Safresh1                            (yyval.opval) = newARGDEFELEMOP(flags, (ps[0].val.opval), parser->sig_elems);
995*e0680481Safresh1                        }
9969f11ffb7Safresh1
997b8851fccSafresh1    break;
998b8851fccSafresh1
999*e0680481Safresh1  case 127:
1000*e0680481Safresh1#line 875 "perly.y"
1001850e2753Smillert    {
10029f11ffb7Safresh1                            OP *var   = (ps[-1].val.opval);
1003*e0680481Safresh1                            OP *defop = (ps[0].val.opval);
10049f11ffb7Safresh1
10059f11ffb7Safresh1                            if (parser->sig_slurpy)
10069f11ffb7Safresh1                                yyerror("Slurpy parameter not last");
10079f11ffb7Safresh1
10089f11ffb7Safresh1                            parser->sig_elems++;
10099f11ffb7Safresh1
1010*e0680481Safresh1                            if (defop) {
10119f11ffb7Safresh1                                parser->sig_optelems++;
10129f11ffb7Safresh1
1013*e0680481Safresh1                                OP *defexpr = cLOGOPx(defop)->op_first;
1014*e0680481Safresh1
10159f11ffb7Safresh1                                if (   defexpr->op_type == OP_NULL
10169f11ffb7Safresh1                                    && !(defexpr->op_flags & OPf_KIDS))
10179f11ffb7Safresh1                                {
10189f11ffb7Safresh1                                    /* handle '$=' special case */
10199f11ffb7Safresh1                                    if (var)
10209f11ffb7Safresh1                                        yyerror("Optional parameter "
10219f11ffb7Safresh1                                                    "lacks default expression");
1022*e0680481Safresh1                                    op_free(defop);
102391f110e0Safresh1                                }
10249f11ffb7Safresh1                                else {
10259f11ffb7Safresh1                                    /* a normal '=default' expression */
10269f11ffb7Safresh1                                    if (var) {
10279f11ffb7Safresh1                                        var->op_flags |= OPf_STACKED;
10289f11ffb7Safresh1                                        (void)op_sibling_splice(var,
10299f11ffb7Safresh1                                                        NULL, 0, defop);
10309f11ffb7Safresh1                                        scalar(defop);
10319f11ffb7Safresh1                                    }
10329f11ffb7Safresh1                                    else
10339f11ffb7Safresh1                                        var = newUNOP(OP_NULL, 0, defop);
10349f11ffb7Safresh1
10359f11ffb7Safresh1                                    LINKLIST(var);
10369f11ffb7Safresh1                                    /* NB: normally the first child of a
10379f11ffb7Safresh1                                     * logop is executed before the logop,
10389f11ffb7Safresh1                                     * and it pushes a boolean result
10399f11ffb7Safresh1                                     * ready for the logop. For ARGDEFELEM,
10409f11ffb7Safresh1                                     * the op itself does the boolean
10419f11ffb7Safresh1                                     * calculation, so set the first op to
10429f11ffb7Safresh1                                     * it instead.
10439f11ffb7Safresh1                                     */
10449f11ffb7Safresh1                                    var->op_next = defop;
10459f11ffb7Safresh1                                    defexpr->op_next = var;
10469f11ffb7Safresh1                                }
10479f11ffb7Safresh1                            }
10489f11ffb7Safresh1                            else {
10499f11ffb7Safresh1                                if (parser->sig_optelems)
10509f11ffb7Safresh1                                    yyerror("Mandatory parameter "
10519f11ffb7Safresh1                                            "follows optional parameter");
10529f11ffb7Safresh1                            }
10539f11ffb7Safresh1
10549f11ffb7Safresh1                            (yyval.opval) = var ? newSTATEOP(0, NULL, var) : NULL;
10559f11ffb7Safresh1                        }
10569f11ffb7Safresh1
10579f11ffb7Safresh1    break;
10589f11ffb7Safresh1
1059*e0680481Safresh1  case 128:
1060*e0680481Safresh1#line 935 "perly.y"
106156d68f1eSafresh1    { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
10629f11ffb7Safresh1
1063850e2753Smillert    break;
1064850e2753Smillert
1065*e0680481Safresh1  case 129:
1066*e0680481Safresh1#line 937 "perly.y"
106756d68f1eSafresh1    { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
106856d68f1eSafresh1
106956d68f1eSafresh1    break;
107056d68f1eSafresh1
1071*e0680481Safresh1  case 130:
1072*e0680481Safresh1#line 943 "perly.y"
107356d68f1eSafresh1    { (yyval.opval) = (ps[-1].val.opval); }
107456d68f1eSafresh1
107556d68f1eSafresh1    break;
107656d68f1eSafresh1
1077*e0680481Safresh1  case 131:
1078*e0680481Safresh1#line 945 "perly.y"
10799f11ffb7Safresh1    {
10809f11ffb7Safresh1			  (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval));
108191f110e0Safresh1			}
10829f11ffb7Safresh1
1083850e2753Smillert    break;
1084850e2753Smillert
1085*e0680481Safresh1  case 132:
1086*e0680481Safresh1#line 949 "perly.y"
10879f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
10889f11ffb7Safresh1
1089b8851fccSafresh1    break;
1090b8851fccSafresh1
1091*e0680481Safresh1  case 137:
1092*e0680481Safresh1#line 966 "perly.y"
109356d68f1eSafresh1    { (yyval.opval) = (ps[-1].val.opval); }
109456d68f1eSafresh1
109556d68f1eSafresh1    break;
109656d68f1eSafresh1
1097*e0680481Safresh1  case 138:
1098*e0680481Safresh1#line 969 "perly.y"
10999f11ffb7Safresh1    {
11009f11ffb7Safresh1                            ENTER;
11019f11ffb7Safresh1                            SAVEIV(parser->sig_elems);
11029f11ffb7Safresh1                            SAVEIV(parser->sig_optelems);
11039f11ffb7Safresh1                            SAVEI8(parser->sig_slurpy);
11049f11ffb7Safresh1                            parser->sig_elems    = 0;
11059f11ffb7Safresh1                            parser->sig_optelems = 0;
11069f11ffb7Safresh1                            parser->sig_slurpy   = 0;
11079f11ffb7Safresh1                            parser->in_my        = KEY_sigvar;
11089f11ffb7Safresh1                        }
11099f11ffb7Safresh1
1110850e2753Smillert    break;
1111850e2753Smillert
1112*e0680481Safresh1  case 139:
1113*e0680481Safresh1#line 980 "perly.y"
11149f11ffb7Safresh1    {
111556d68f1eSafresh1                            OP            *sigops = (ps[0].val.opval);
111656d68f1eSafresh1                            struct op_argcheck_aux *aux;
11179f11ffb7Safresh1                            OP            *check;
11189f11ffb7Safresh1
1119*e0680481Safresh1			    if (!FEATURE_SIGNATURES_IS_ENABLED && !CvIsMETHOD(PL_compcv))
11209f11ffb7Safresh1			        Perl_croak(aTHX_ "Experimental "
11219f11ffb7Safresh1                                    "subroutine signatures not enabled");
11229f11ffb7Safresh1
11239f11ffb7Safresh1                            /* We shouldn't get here otherwise */
112456d68f1eSafresh1                            aux = (struct op_argcheck_aux*)
112556d68f1eSafresh1                                    PerlMemShared_malloc(
112656d68f1eSafresh1                                        sizeof(struct op_argcheck_aux));
112756d68f1eSafresh1                            aux->params     = parser->sig_elems;
112856d68f1eSafresh1                            aux->opt_params = parser->sig_optelems;
112956d68f1eSafresh1                            aux->slurpy     = parser->sig_slurpy;
113056d68f1eSafresh1                            check = newUNOP_AUX(OP_ARGCHECK, 0, NULL,
113156d68f1eSafresh1                                            (UNOP_AUX_item *)aux);
11329f11ffb7Safresh1                            sigops = op_prepend_elem(OP_LINESEQ, check, sigops);
11339f11ffb7Safresh1                            sigops = op_prepend_elem(OP_LINESEQ,
11349f11ffb7Safresh1                                                newSTATEOP(0, NULL, NULL),
11359f11ffb7Safresh1                                                sigops);
11369f11ffb7Safresh1                            /* a nextstate at the end handles context
11379f11ffb7Safresh1                             * correctly for an empty sub body */
113856d68f1eSafresh1                            sigops = op_append_elem(OP_LINESEQ,
11399f11ffb7Safresh1                                                sigops,
11409f11ffb7Safresh1                                                newSTATEOP(0, NULL, NULL));
114156d68f1eSafresh1                            /* wrap the list of arg ops in a NULL aux op.
114256d68f1eSafresh1                              This serves two purposes. First, it makes
114356d68f1eSafresh1                              the arg list a separate subtree from the
114456d68f1eSafresh1                              body of the sub, and secondly the null op
114556d68f1eSafresh1                              may in future be upgraded to an OP_SIGNATURE
114656d68f1eSafresh1                              when implemented. For now leave it as
114756d68f1eSafresh1                              ex-argcheck */
114856d68f1eSafresh1                            (yyval.opval) = newUNOP_AUX(OP_ARGCHECK, 0, sigops, NULL);
114956d68f1eSafresh1                            op_null((yyval.opval));
11509f11ffb7Safresh1
1151eac174f2Safresh1			    CvSIGNATURE_on(PL_compcv);
1152eac174f2Safresh1
11539f11ffb7Safresh1                            parser->in_my = 0;
11549f11ffb7Safresh1                            /* tell the toker that attrributes can follow
11559f11ffb7Safresh1                             * this sig, but only so that the toker
11569f11ffb7Safresh1                             * can skip through any (illegal) trailing
11579f11ffb7Safresh1                             * attribute text then give a useful error
11589f11ffb7Safresh1                             * message about "attributes before sig",
11599f11ffb7Safresh1                             * rather than falling over ina mess at
11609f11ffb7Safresh1                             * unrecognised syntax.
11619f11ffb7Safresh1                             */
11629f11ffb7Safresh1                            parser->expect = XATTRBLOCK;
11639f11ffb7Safresh1                            parser->sig_seen = TRUE;
11649f11ffb7Safresh1                            LEAVE;
116591f110e0Safresh1			}
11669f11ffb7Safresh1
11679f11ffb7Safresh1    break;
11689f11ffb7Safresh1
1169*e0680481Safresh1  case 141:
1170*e0680481Safresh1#line 1037 "perly.y"
11719f11ffb7Safresh1    { (yyval.opval) = NULL; }
11729f11ffb7Safresh1
1173850e2753Smillert    break;
1174850e2753Smillert
1175*e0680481Safresh1  case 142:
1176*e0680481Safresh1#line 1043 "perly.y"
11779f11ffb7Safresh1    {
11789f11ffb7Safresh1			  if (parser->copline > (line_t)(ps[-2].val.ival))
11799f11ffb7Safresh1			      parser->copline = (line_t)(ps[-2].val.ival);
11809f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-3].val.ival), (ps[-1].val.opval));
11819f11ffb7Safresh1			}
11829f11ffb7Safresh1
1183850e2753Smillert    break;
1184850e2753Smillert
1185*e0680481Safresh1  case 144:
1186*e0680481Safresh1#line 1055 "perly.y"
11879f11ffb7Safresh1    { (yyval.opval) = NULL; }
11889f11ffb7Safresh1
1189850e2753Smillert    break;
1190850e2753Smillert
1191*e0680481Safresh1  case 145:
1192*e0680481Safresh1#line 1060 "perly.y"
11939f11ffb7Safresh1    {
11949f11ffb7Safresh1			  if (parser->copline > (line_t)(ps[-2].val.ival))
11959f11ffb7Safresh1			      parser->copline = (line_t)(ps[-2].val.ival);
11969f11ffb7Safresh1			  (yyval.opval) = block_end((ps[-4].val.ival),
11979f11ffb7Safresh1				op_append_list(OP_LINESEQ, (ps[-3].val.opval), (ps[-1].val.opval)));
119891f110e0Safresh1 			}
11999f11ffb7Safresh1
1200850e2753Smillert    break;
1201850e2753Smillert
1202*e0680481Safresh1  case 146:
1203*e0680481Safresh1#line 1071 "perly.y"
12049f11ffb7Safresh1    { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
12059f11ffb7Safresh1
1206850e2753Smillert    break;
1207850e2753Smillert
1208*e0680481Safresh1  case 147:
1209*e0680481Safresh1#line 1073 "perly.y"
1210*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1211*e0680481Safresh1
1212*e0680481Safresh1    break;
1213*e0680481Safresh1
1214*e0680481Safresh1  case 148:
1215*e0680481Safresh1#line 1075 "perly.y"
12169f11ffb7Safresh1    { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
12179f11ffb7Safresh1
1218850e2753Smillert    break;
1219850e2753Smillert
1220*e0680481Safresh1  case 149:
1221*e0680481Safresh1#line 1077 "perly.y"
1222*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1223*e0680481Safresh1
1224*e0680481Safresh1    break;
1225*e0680481Safresh1
1226*e0680481Safresh1  case 151:
1227*e0680481Safresh1#line 1083 "perly.y"
12289f11ffb7Safresh1    { (yyval.opval) = (ps[-1].val.opval); }
12299f11ffb7Safresh1
1230850e2753Smillert    break;
1231850e2753Smillert
1232*e0680481Safresh1  case 152:
1233*e0680481Safresh1#line 1085 "perly.y"
12349f11ffb7Safresh1    {
12359f11ffb7Safresh1			  OP* term = (ps[0].val.opval);
12369f11ffb7Safresh1			  (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term);
12379f11ffb7Safresh1			}
1238898184e3Ssthen
1239850e2753Smillert    break;
1240850e2753Smillert
1241*e0680481Safresh1  case 154:
1242*e0680481Safresh1#line 1094 "perly.y"
12439f11ffb7Safresh1    { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
12449f11ffb7Safresh1				op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) );
12459f11ffb7Safresh1			}
12469f11ffb7Safresh1
1247850e2753Smillert    break;
1248850e2753Smillert
1249*e0680481Safresh1  case 155:
1250*e0680481Safresh1#line 1098 "perly.y"
12519f11ffb7Safresh1    { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
12529f11ffb7Safresh1				op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) );
12539f11ffb7Safresh1			}
12549f11ffb7Safresh1
1255850e2753Smillert    break;
1256850e2753Smillert
1257*e0680481Safresh1  case 156:
1258*e0680481Safresh1#line 1102 "perly.y"
12599f11ffb7Safresh1    { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
12609f11ffb7Safresh1				op_append_elem(OP_LIST,
12619f11ffb7Safresh1				    op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)),
12629f11ffb7Safresh1				    newMETHOP(OP_METHOD, 0, (ps[-3].val.opval))));
12639f11ffb7Safresh1			}
12649f11ffb7Safresh1
1265898184e3Ssthen    break;
1266898184e3Ssthen
1267*e0680481Safresh1  case 157:
1268*e0680481Safresh1#line 1108 "perly.y"
12699f11ffb7Safresh1    { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
12709f11ffb7Safresh1				op_append_elem(OP_LIST, scalar((ps[-2].val.opval)),
12719f11ffb7Safresh1				    newMETHOP(OP_METHOD, 0, (ps[0].val.opval))));
12729f11ffb7Safresh1			}
12739f11ffb7Safresh1
127491f110e0Safresh1    break;
127591f110e0Safresh1
1276*e0680481Safresh1  case 158:
1277*e0680481Safresh1#line 1113 "perly.y"
12789f11ffb7Safresh1    { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
12799f11ffb7Safresh1				op_append_elem(OP_LIST,
12809f11ffb7Safresh1				    op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)),
12819f11ffb7Safresh1				    newMETHOP(OP_METHOD, 0, (ps[-2].val.opval))));
12829f11ffb7Safresh1			}
12839f11ffb7Safresh1
128491f110e0Safresh1    break;
128591f110e0Safresh1
1286*e0680481Safresh1  case 159:
1287*e0680481Safresh1#line 1119 "perly.y"
12889f11ffb7Safresh1    { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
12899f11ffb7Safresh1				op_append_elem(OP_LIST,
12909f11ffb7Safresh1				    op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)),
12919f11ffb7Safresh1				    newMETHOP(OP_METHOD, 0, (ps[-4].val.opval))));
12926fb12b70Safresh1			}
12939f11ffb7Safresh1
12946fb12b70Safresh1    break;
12956fb12b70Safresh1
1296*e0680481Safresh1  case 160:
1297*e0680481Safresh1#line 1125 "perly.y"
12989f11ffb7Safresh1    { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
12999f11ffb7Safresh1
13006fb12b70Safresh1    break;
13016fb12b70Safresh1
1302*e0680481Safresh1  case 161:
1303*e0680481Safresh1#line 1127 "perly.y"
13049f11ffb7Safresh1    { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
13059f11ffb7Safresh1
13066fb12b70Safresh1    break;
13076fb12b70Safresh1
1308*e0680481Safresh1  case 162:
1309*e0680481Safresh1#line 1129 "perly.y"
131056d68f1eSafresh1    { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
131156d68f1eSafresh1
131256d68f1eSafresh1    break;
131356d68f1eSafresh1
1314*e0680481Safresh1  case 163:
1315*e0680481Safresh1#line 1131 "perly.y"
13169f11ffb7Safresh1    { SvREFCNT_inc_simple_void(PL_compcv);
13179f11ffb7Safresh1			  (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); }
13189f11ffb7Safresh1
13196fb12b70Safresh1    break;
13206fb12b70Safresh1
1321*e0680481Safresh1  case 164:
1322*e0680481Safresh1#line 1134 "perly.y"
13239f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
13249f11ffb7Safresh1				 op_append_elem(OP_LIST,
13259f11ffb7Safresh1				   op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval)));
13269f11ffb7Safresh1			}
1327850e2753Smillert
1328850e2753Smillert    break;
1329850e2753Smillert
1330*e0680481Safresh1  case 167:
1331*e0680481Safresh1#line 1149 "perly.y"
13329f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
13339f11ffb7Safresh1
1334850e2753Smillert    break;
1335850e2753Smillert
1336*e0680481Safresh1  case 168:
1337*e0680481Safresh1#line 1151 "perly.y"
13389f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
13399f11ffb7Safresh1			}
13409f11ffb7Safresh1
1341850e2753Smillert    break;
1342850e2753Smillert
1343*e0680481Safresh1  case 169:
1344*e0680481Safresh1#line 1154 "perly.y"
13459f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_AELEM, 0,
13469f11ffb7Safresh1					ref(newAVREF((ps[-4].val.opval)),OP_RV2AV),
13479f11ffb7Safresh1					scalar((ps[-1].val.opval)));
13489f11ffb7Safresh1			}
13499f11ffb7Safresh1
1350850e2753Smillert    break;
1351850e2753Smillert
1352*e0680481Safresh1  case 170:
1353*e0680481Safresh1#line 1159 "perly.y"
13549f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_AELEM, 0,
13559f11ffb7Safresh1					ref(newAVREF((ps[-3].val.opval)),OP_RV2AV),
13569f11ffb7Safresh1					scalar((ps[-1].val.opval)));
13579f11ffb7Safresh1			}
13589f11ffb7Safresh1
1359898184e3Ssthen    break;
1360898184e3Ssthen
1361*e0680481Safresh1  case 171:
1362*e0680481Safresh1#line 1164 "perly.y"
13639f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
13649f11ffb7Safresh1			}
13659f11ffb7Safresh1
1366850e2753Smillert    break;
1367850e2753Smillert
1368*e0680481Safresh1  case 172:
1369*e0680481Safresh1#line 1167 "perly.y"
13709f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_HELEM, 0,
13719f11ffb7Safresh1					ref(newHVREF((ps[-5].val.opval)),OP_RV2HV),
13729f11ffb7Safresh1					jmaybe((ps[-2].val.opval))); }
13739f11ffb7Safresh1
1374850e2753Smillert    break;
1375850e2753Smillert
1376*e0680481Safresh1  case 173:
1377*e0680481Safresh1#line 1171 "perly.y"
13789f11ffb7Safresh1    { (yyval.opval) = newBINOP(OP_HELEM, 0,
13799f11ffb7Safresh1					ref(newHVREF((ps[-4].val.opval)),OP_RV2HV),
13809f11ffb7Safresh1					jmaybe((ps[-2].val.opval))); }
13819f11ffb7Safresh1
138291f110e0Safresh1    break;
138391f110e0Safresh1
1384*e0680481Safresh1  case 174:
1385*e0680481Safresh1#line 1175 "perly.y"
13869f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
13879f11ffb7Safresh1				   newCVREF(0, scalar((ps[-3].val.opval))));
13889f11ffb7Safresh1			  if (parser->expect == XBLOCK)
13899f11ffb7Safresh1			      parser->expect = XOPERATOR;
13909f11ffb7Safresh1			}
13919f11ffb7Safresh1
139291f110e0Safresh1    break;
139391f110e0Safresh1
1394*e0680481Safresh1  case 175:
1395*e0680481Safresh1#line 1181 "perly.y"
13969f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
13979f11ffb7Safresh1				   op_append_elem(OP_LIST, (ps[-1].val.opval),
13989f11ffb7Safresh1				       newCVREF(0, scalar((ps[-4].val.opval)))));
13999f11ffb7Safresh1			  if (parser->expect == XBLOCK)
14009f11ffb7Safresh1			      parser->expect = XOPERATOR;
14019f11ffb7Safresh1			}
14029f11ffb7Safresh1
1403b8851fccSafresh1    break;
1404b8851fccSafresh1
1405*e0680481Safresh1  case 176:
1406*e0680481Safresh1#line 1189 "perly.y"
14079f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
14089f11ffb7Safresh1				   op_append_elem(OP_LIST, (ps[-1].val.opval),
14099f11ffb7Safresh1					       newCVREF(0, scalar((ps[-3].val.opval)))));
14109f11ffb7Safresh1			  if (parser->expect == XBLOCK)
14119f11ffb7Safresh1			      parser->expect = XOPERATOR;
14129f11ffb7Safresh1			}
14139f11ffb7Safresh1
1414b8851fccSafresh1    break;
1415b8851fccSafresh1
1416*e0680481Safresh1  case 177:
1417*e0680481Safresh1#line 1196 "perly.y"
14189f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
14199f11ffb7Safresh1				   newCVREF(0, scalar((ps[-2].val.opval))));
14209f11ffb7Safresh1			  if (parser->expect == XBLOCK)
14219f11ffb7Safresh1			      parser->expect = XOPERATOR;
14229f11ffb7Safresh1			}
14239f11ffb7Safresh1
1424b8851fccSafresh1    break;
1425b8851fccSafresh1
1426*e0680481Safresh1  case 178:
1427*e0680481Safresh1#line 1202 "perly.y"
14289f11ffb7Safresh1    { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
14299f11ffb7Safresh1
14309f11ffb7Safresh1    break;
14319f11ffb7Safresh1
1432*e0680481Safresh1  case 179:
1433*e0680481Safresh1#line 1204 "perly.y"
14349f11ffb7Safresh1    { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
14359f11ffb7Safresh1
14369f11ffb7Safresh1    break;
14379f11ffb7Safresh1
1438*e0680481Safresh1  case 180:
1439*e0680481Safresh1#line 1206 "perly.y"
14409f11ffb7Safresh1    { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
14419f11ffb7Safresh1
14429f11ffb7Safresh1    break;
14439f11ffb7Safresh1
1444*e0680481Safresh1  case 181:
1445*e0680481Safresh1#line 1211 "perly.y"
1446*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1447*e0680481Safresh1
1448*e0680481Safresh1    break;
1449*e0680481Safresh1
1450*e0680481Safresh1  case 182:
1451*e0680481Safresh1#line 1213 "perly.y"
14529f11ffb7Safresh1    { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
14539f11ffb7Safresh1
14549f11ffb7Safresh1    break;
14559f11ffb7Safresh1
1456*e0680481Safresh1  case 183:
1457*e0680481Safresh1#line 1215 "perly.y"
1458*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1459*e0680481Safresh1
1460*e0680481Safresh1    break;
1461*e0680481Safresh1
1462*e0680481Safresh1  case 184:
1463*e0680481Safresh1#line 1217 "perly.y"
14649f11ffb7Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
14659f11ffb7Safresh1
14669f11ffb7Safresh1    break;
14679f11ffb7Safresh1
1468*e0680481Safresh1  case 185:
1469*e0680481Safresh1#line 1219 "perly.y"
1470*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1471*e0680481Safresh1
1472*e0680481Safresh1    break;
1473*e0680481Safresh1
1474*e0680481Safresh1  case 186:
1475*e0680481Safresh1#line 1221 "perly.y"
14769f11ffb7Safresh1    {   if ((ps[-1].val.ival) != OP_REPEAT)
14779f11ffb7Safresh1				scalar((ps[-2].val.opval));
14789f11ffb7Safresh1			    (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval)));
14799f11ffb7Safresh1			}
14809f11ffb7Safresh1
14819f11ffb7Safresh1    break;
14829f11ffb7Safresh1
148356d68f1eSafresh1  case 187:
1484*e0680481Safresh1#line 1226 "perly.y"
1485*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
148656d68f1eSafresh1
148756d68f1eSafresh1    break;
148856d68f1eSafresh1
148956d68f1eSafresh1  case 188:
1490*e0680481Safresh1#line 1228 "perly.y"
1491eac174f2Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
149256d68f1eSafresh1
149356d68f1eSafresh1    break;
149456d68f1eSafresh1
149556d68f1eSafresh1  case 189:
1496*e0680481Safresh1#line 1230 "perly.y"
1497*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1498eac174f2Safresh1
1499eac174f2Safresh1    break;
1500eac174f2Safresh1
1501eac174f2Safresh1  case 190:
1502*e0680481Safresh1#line 1232 "perly.y"
1503*e0680481Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1504eac174f2Safresh1
1505eac174f2Safresh1    break;
1506eac174f2Safresh1
1507eac174f2Safresh1  case 191:
1508*e0680481Safresh1#line 1234 "perly.y"
1509eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1510eac174f2Safresh1
1511eac174f2Safresh1    break;
1512eac174f2Safresh1
1513*e0680481Safresh1  case 192:
1514*e0680481Safresh1#line 1236 "perly.y"
1515*e0680481Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1516*e0680481Safresh1
1517*e0680481Safresh1    break;
1518*e0680481Safresh1
1519*e0680481Safresh1  case 193:
1520*e0680481Safresh1#line 1238 "perly.y"
1521*e0680481Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1522*e0680481Safresh1
1523*e0680481Safresh1    break;
1524*e0680481Safresh1
1525*e0680481Safresh1  case 194:
1526*e0680481Safresh1#line 1240 "perly.y"
1527*e0680481Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1528*e0680481Safresh1
1529*e0680481Safresh1    break;
1530*e0680481Safresh1
1531eac174f2Safresh1  case 195:
1532*e0680481Safresh1#line 1242 "perly.y"
1533*e0680481Safresh1    { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1534eac174f2Safresh1
1535eac174f2Safresh1    break;
1536eac174f2Safresh1
1537eac174f2Safresh1  case 196:
1538*e0680481Safresh1#line 1244 "perly.y"
1539*e0680481Safresh1    { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1540eac174f2Safresh1
1541eac174f2Safresh1    break;
1542eac174f2Safresh1
1543eac174f2Safresh1  case 197:
1544*e0680481Safresh1#line 1246 "perly.y"
1545*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1546*e0680481Safresh1
1547*e0680481Safresh1    break;
1548*e0680481Safresh1
1549*e0680481Safresh1  case 198:
1550*e0680481Safresh1#line 1248 "perly.y"
1551*e0680481Safresh1    { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1552*e0680481Safresh1
1553*e0680481Safresh1    break;
1554*e0680481Safresh1
1555*e0680481Safresh1  case 199:
1556*e0680481Safresh1#line 1250 "perly.y"
1557*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1558*e0680481Safresh1
1559*e0680481Safresh1    break;
1560*e0680481Safresh1
1561*e0680481Safresh1  case 200:
1562*e0680481Safresh1#line 1252 "perly.y"
1563*e0680481Safresh1    { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
1564*e0680481Safresh1
1565*e0680481Safresh1    break;
1566*e0680481Safresh1
1567*e0680481Safresh1  case 201:
1568*e0680481Safresh1#line 1254 "perly.y"
1569*e0680481Safresh1    { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
1570*e0680481Safresh1
1571*e0680481Safresh1    break;
1572*e0680481Safresh1
1573*e0680481Safresh1  case 202:
1574*e0680481Safresh1#line 1256 "perly.y"
1575*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1576*e0680481Safresh1
1577*e0680481Safresh1    break;
1578*e0680481Safresh1
1579*e0680481Safresh1  case 203:
1580*e0680481Safresh1#line 1260 "perly.y"
1581*e0680481Safresh1    { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
1582*e0680481Safresh1
1583*e0680481Safresh1    break;
1584*e0680481Safresh1
1585*e0680481Safresh1  case 204:
1586*e0680481Safresh1#line 1262 "perly.y"
1587*e0680481Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1588*e0680481Safresh1
1589*e0680481Safresh1    break;
1590*e0680481Safresh1
1591*e0680481Safresh1  case 205:
1592*e0680481Safresh1#line 1264 "perly.y"
1593*e0680481Safresh1    { yyerror("syntax error"); YYERROR; }
1594*e0680481Safresh1
1595*e0680481Safresh1    break;
1596*e0680481Safresh1
1597*e0680481Safresh1  case 206:
1598*e0680481Safresh1#line 1266 "perly.y"
1599*e0680481Safresh1    { yyerror("syntax error"); YYERROR; }
1600*e0680481Safresh1
1601*e0680481Safresh1    break;
1602*e0680481Safresh1
1603*e0680481Safresh1  case 207:
1604*e0680481Safresh1#line 1268 "perly.y"
1605*e0680481Safresh1    { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
1606*e0680481Safresh1
1607*e0680481Safresh1    break;
1608*e0680481Safresh1
1609*e0680481Safresh1  case 208:
1610*e0680481Safresh1#line 1272 "perly.y"
1611*e0680481Safresh1    { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
1612*e0680481Safresh1
1613*e0680481Safresh1    break;
1614*e0680481Safresh1
1615*e0680481Safresh1  case 209:
1616*e0680481Safresh1#line 1274 "perly.y"
1617*e0680481Safresh1    { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
1618*e0680481Safresh1
1619*e0680481Safresh1    break;
1620*e0680481Safresh1
1621*e0680481Safresh1  case 210:
1622*e0680481Safresh1#line 1278 "perly.y"
1623*e0680481Safresh1    { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
1624*e0680481Safresh1
1625*e0680481Safresh1    break;
1626*e0680481Safresh1
1627*e0680481Safresh1  case 211:
1628*e0680481Safresh1#line 1280 "perly.y"
1629*e0680481Safresh1    { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
1630*e0680481Safresh1
1631*e0680481Safresh1    break;
1632*e0680481Safresh1
1633*e0680481Safresh1  case 212:
1634*e0680481Safresh1#line 1282 "perly.y"
1635*e0680481Safresh1    { yyerror("syntax error"); YYERROR; }
1636*e0680481Safresh1
1637*e0680481Safresh1    break;
1638*e0680481Safresh1
1639*e0680481Safresh1  case 213:
1640*e0680481Safresh1#line 1284 "perly.y"
1641*e0680481Safresh1    { yyerror("syntax error"); YYERROR; }
1642*e0680481Safresh1
1643*e0680481Safresh1    break;
1644*e0680481Safresh1
1645*e0680481Safresh1  case 214:
1646*e0680481Safresh1#line 1288 "perly.y"
1647*e0680481Safresh1    { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
1648*e0680481Safresh1
1649*e0680481Safresh1    break;
1650*e0680481Safresh1
1651*e0680481Safresh1  case 215:
1652*e0680481Safresh1#line 1290 "perly.y"
1653*e0680481Safresh1    { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
1654*e0680481Safresh1
1655*e0680481Safresh1    break;
1656*e0680481Safresh1
1657*e0680481Safresh1  case 216:
1658*e0680481Safresh1#line 1295 "perly.y"
1659*e0680481Safresh1    { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
1660*e0680481Safresh1
1661*e0680481Safresh1    break;
1662*e0680481Safresh1
1663*e0680481Safresh1  case 217:
1664*e0680481Safresh1#line 1297 "perly.y"
1665*e0680481Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1666*e0680481Safresh1
1667*e0680481Safresh1    break;
1668*e0680481Safresh1
1669*e0680481Safresh1  case 218:
1670*e0680481Safresh1#line 1300 "perly.y"
1671*e0680481Safresh1    { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
1672*e0680481Safresh1
1673*e0680481Safresh1    break;
1674*e0680481Safresh1
1675*e0680481Safresh1  case 219:
1676*e0680481Safresh1#line 1302 "perly.y"
1677*e0680481Safresh1    { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
1678*e0680481Safresh1
1679*e0680481Safresh1    break;
1680*e0680481Safresh1
1681*e0680481Safresh1  case 220:
1682*e0680481Safresh1#line 1304 "perly.y"
16839f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_POSTINC, 0,
16849f11ffb7Safresh1					op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
16859f11ffb7Safresh1
16869f11ffb7Safresh1    break;
16879f11ffb7Safresh1
1688*e0680481Safresh1  case 221:
1689*e0680481Safresh1#line 1307 "perly.y"
16909f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
16919f11ffb7Safresh1					op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
16929f11ffb7Safresh1
16939f11ffb7Safresh1    break;
16949f11ffb7Safresh1
1695*e0680481Safresh1  case 222:
1696*e0680481Safresh1#line 1310 "perly.y"
1697b8851fccSafresh1    { (yyval.opval) = op_convert_list(OP_JOIN, 0,
16986fb12b70Safresh1				       op_append_elem(
16996fb12b70Safresh1					OP_LIST,
17006fb12b70Safresh1					newSVREF(scalar(
17016fb12b70Safresh1					    newSVOP(OP_CONST,0,
17026fb12b70Safresh1						    newSVpvs("\""))
17036fb12b70Safresh1					)),
17049f11ffb7Safresh1					(ps[-1].val.opval)
17056fb12b70Safresh1				       ));
170691f110e0Safresh1			}
170791f110e0Safresh1
17086fb12b70Safresh1    break;
17096fb12b70Safresh1
1710*e0680481Safresh1  case 223:
1711*e0680481Safresh1#line 1321 "perly.y"
17129f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_PREINC, 0,
17139f11ffb7Safresh1					op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
17149f11ffb7Safresh1
1715b8851fccSafresh1    break;
1716b8851fccSafresh1
1717*e0680481Safresh1  case 224:
1718*e0680481Safresh1#line 1324 "perly.y"
17199f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_PREDEC, 0,
17209f11ffb7Safresh1					op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
17219f11ffb7Safresh1
1722b8851fccSafresh1    break;
1723b8851fccSafresh1
1724*e0680481Safresh1  case 225:
1725*e0680481Safresh1#line 1332 "perly.y"
17269f11ffb7Safresh1    { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
17279f11ffb7Safresh1
1728b8851fccSafresh1    break;
1729b8851fccSafresh1
1730*e0680481Safresh1  case 226:
1731*e0680481Safresh1#line 1334 "perly.y"
17329f11ffb7Safresh1    { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
17339f11ffb7Safresh1
1734850e2753Smillert    break;
1735850e2753Smillert
1736*e0680481Safresh1  case 227:
1737*e0680481Safresh1#line 1336 "perly.y"
17389f11ffb7Safresh1    { SvREFCNT_inc_simple_void(PL_compcv);
17399f11ffb7Safresh1			  (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
17409f11ffb7Safresh1
1741850e2753Smillert    break;
1742850e2753Smillert
1743*e0680481Safresh1  case 228:
1744*e0680481Safresh1#line 1339 "perly.y"
17459f11ffb7Safresh1    { SvREFCNT_inc_simple_void(PL_compcv);
17469f11ffb7Safresh1			  (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); }
17479f11ffb7Safresh1
1748850e2753Smillert    break;
1749850e2753Smillert
1750*e0680481Safresh1  case 229:
1751*e0680481Safresh1#line 1342 "perly.y"
1752*e0680481Safresh1    {
1753*e0680481Safresh1			  SvREFCNT_inc_simple_void(PL_compcv);
1754*e0680481Safresh1			  (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval));
1755*e0680481Safresh1			}
1756*e0680481Safresh1
1757*e0680481Safresh1    break;
1758*e0680481Safresh1
1759*e0680481Safresh1  case 230:
1760*e0680481Safresh1#line 1350 "perly.y"
17619f11ffb7Safresh1    { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
17629f11ffb7Safresh1
1763850e2753Smillert    break;
1764850e2753Smillert
1765*e0680481Safresh1  case 231:
1766*e0680481Safresh1#line 1352 "perly.y"
17679f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
17686fb12b70Safresh1
17696fb12b70Safresh1    break;
17706fb12b70Safresh1
1771*e0680481Safresh1  case 236:
1772*e0680481Safresh1#line 1360 "perly.y"
17739f11ffb7Safresh1    { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
17749f11ffb7Safresh1
1775850e2753Smillert    break;
1776850e2753Smillert
1777*e0680481Safresh1  case 237:
1778*e0680481Safresh1#line 1362 "perly.y"
17799f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
17809f11ffb7Safresh1
1781b39c5158Smillert    break;
1782b39c5158Smillert
1783*e0680481Safresh1  case 238:
1784*e0680481Safresh1#line 1364 "perly.y"
17859f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
17869f11ffb7Safresh1
178791f110e0Safresh1    break;
178891f110e0Safresh1
1789*e0680481Safresh1  case 239:
1790*e0680481Safresh1#line 1366 "perly.y"
1791eac174f2Safresh1    { (yyval.opval) = localize((ps[0].val.opval),0); }
17929f11ffb7Safresh1
1793b8851fccSafresh1    break;
1794b8851fccSafresh1
1795*e0680481Safresh1  case 240:
1796*e0680481Safresh1#line 1368 "perly.y"
1797eac174f2Safresh1    { (yyval.opval) = sawparens((ps[-1].val.opval)); }
17989f11ffb7Safresh1
1799b8851fccSafresh1    break;
1800b8851fccSafresh1
1801*e0680481Safresh1  case 241:
1802*e0680481Safresh1#line 1370 "perly.y"
18039f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
18049f11ffb7Safresh1
1805b8851fccSafresh1    break;
1806b8851fccSafresh1
1807*e0680481Safresh1  case 242:
1808*e0680481Safresh1#line 1372 "perly.y"
1809eac174f2Safresh1    { (yyval.opval) = sawparens(newNULLLIST()); }
18109f11ffb7Safresh1
1811b8851fccSafresh1    break;
1812b8851fccSafresh1
1813*e0680481Safresh1  case 243:
1814*e0680481Safresh1#line 1374 "perly.y"
18159f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
18169f11ffb7Safresh1
181791f110e0Safresh1    break;
181891f110e0Safresh1
1819*e0680481Safresh1  case 244:
1820*e0680481Safresh1#line 1376 "perly.y"
1821eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1822eac174f2Safresh1
1823eac174f2Safresh1    break;
1824eac174f2Safresh1
1825*e0680481Safresh1  case 245:
1826*e0680481Safresh1#line 1378 "perly.y"
1827eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1828eac174f2Safresh1
1829eac174f2Safresh1    break;
1830eac174f2Safresh1
1831*e0680481Safresh1  case 246:
1832*e0680481Safresh1#line 1380 "perly.y"
1833eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1834eac174f2Safresh1
1835eac174f2Safresh1    break;
1836eac174f2Safresh1
1837*e0680481Safresh1  case 247:
1838*e0680481Safresh1#line 1382 "perly.y"
1839eac174f2Safresh1    { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
1840eac174f2Safresh1
1841eac174f2Safresh1    break;
1842eac174f2Safresh1
1843*e0680481Safresh1  case 248:
1844*e0680481Safresh1#line 1384 "perly.y"
1845eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
1846eac174f2Safresh1
1847eac174f2Safresh1    break;
1848eac174f2Safresh1
1849*e0680481Safresh1  case 249:
1850*e0680481Safresh1#line 1386 "perly.y"
18519f11ffb7Safresh1    { (yyval.opval) = op_prepend_elem(OP_ASLICE,
18529f11ffb7Safresh1				newOP(OP_PUSHMARK, 0),
18539f11ffb7Safresh1				    newLISTOP(OP_ASLICE, 0,
18549f11ffb7Safresh1					list((ps[-1].val.opval)),
18559f11ffb7Safresh1					ref((ps[-3].val.opval), OP_ASLICE)));
18569f11ffb7Safresh1			  if ((yyval.opval) && (ps[-3].val.opval))
18579f11ffb7Safresh1			      (yyval.opval)->op_private |=
18589f11ffb7Safresh1				  (ps[-3].val.opval)->op_private & OPpSLICEWARNING;
18599f11ffb7Safresh1			}
18609f11ffb7Safresh1
1861850e2753Smillert    break;
1862850e2753Smillert
1863*e0680481Safresh1  case 250:
1864*e0680481Safresh1#line 1396 "perly.y"
18659f11ffb7Safresh1    { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
18669f11ffb7Safresh1				newOP(OP_PUSHMARK, 0),
18679f11ffb7Safresh1				    newLISTOP(OP_KVASLICE, 0,
18689f11ffb7Safresh1					list((ps[-1].val.opval)),
18699f11ffb7Safresh1					ref(oopsAV((ps[-3].val.opval)), OP_KVASLICE)));
18709f11ffb7Safresh1			  if ((yyval.opval) && (ps[-3].val.opval))
18719f11ffb7Safresh1			      (yyval.opval)->op_private |=
18729f11ffb7Safresh1				  (ps[-3].val.opval)->op_private & OPpSLICEWARNING;
18739f11ffb7Safresh1			}
18749f11ffb7Safresh1
1875850e2753Smillert    break;
1876850e2753Smillert
1877*e0680481Safresh1  case 251:
1878*e0680481Safresh1#line 1406 "perly.y"
18799f11ffb7Safresh1    { (yyval.opval) = op_prepend_elem(OP_HSLICE,
18809f11ffb7Safresh1				newOP(OP_PUSHMARK, 0),
18819f11ffb7Safresh1				    newLISTOP(OP_HSLICE, 0,
18829f11ffb7Safresh1					list((ps[-2].val.opval)),
18839f11ffb7Safresh1					ref(oopsHV((ps[-4].val.opval)), OP_HSLICE)));
18849f11ffb7Safresh1			  if ((yyval.opval) && (ps[-4].val.opval))
18859f11ffb7Safresh1			      (yyval.opval)->op_private |=
18869f11ffb7Safresh1				  (ps[-4].val.opval)->op_private & OPpSLICEWARNING;
18879f11ffb7Safresh1			}
18889f11ffb7Safresh1
1889850e2753Smillert    break;
1890850e2753Smillert
1891*e0680481Safresh1  case 252:
1892*e0680481Safresh1#line 1416 "perly.y"
18939f11ffb7Safresh1    { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
18949f11ffb7Safresh1				newOP(OP_PUSHMARK, 0),
18959f11ffb7Safresh1				    newLISTOP(OP_KVHSLICE, 0,
18969f11ffb7Safresh1					list((ps[-2].val.opval)),
18979f11ffb7Safresh1					ref((ps[-4].val.opval), OP_KVHSLICE)));
18989f11ffb7Safresh1			  if ((yyval.opval) && (ps[-4].val.opval))
18999f11ffb7Safresh1			      (yyval.opval)->op_private |=
19009f11ffb7Safresh1				  (ps[-4].val.opval)->op_private & OPpSLICEWARNING;
19019f11ffb7Safresh1			}
19029f11ffb7Safresh1
1903b8851fccSafresh1    break;
1904b8851fccSafresh1
1905*e0680481Safresh1  case 253:
1906*e0680481Safresh1#line 1426 "perly.y"
19079f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
19089f11ffb7Safresh1
1909b8851fccSafresh1    break;
1910b8851fccSafresh1
1911*e0680481Safresh1  case 254:
1912*e0680481Safresh1#line 1428 "perly.y"
19139f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
19149f11ffb7Safresh1
1915b8851fccSafresh1    break;
1916b8851fccSafresh1
1917*e0680481Safresh1  case 255:
1918*e0680481Safresh1#line 1430 "perly.y"
19199f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
19209f11ffb7Safresh1			}
19219f11ffb7Safresh1
1922b8851fccSafresh1    break;
1923b8851fccSafresh1
1924*e0680481Safresh1  case 256:
1925*e0680481Safresh1#line 1433 "perly.y"
192691f110e0Safresh1    {
19279f11ffb7Safresh1			  (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
19289f11ffb7Safresh1				op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval))));
19299f11ffb7Safresh1			}
19309f11ffb7Safresh1
19319f11ffb7Safresh1    break;
19329f11ffb7Safresh1
1933*e0680481Safresh1  case 257:
1934*e0680481Safresh1#line 1438 "perly.y"
19359f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
19369f11ffb7Safresh1			    op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval))));
19379f11ffb7Safresh1			}
19389f11ffb7Safresh1
19399f11ffb7Safresh1    break;
19409f11ffb7Safresh1
1941*e0680481Safresh1  case 258:
1942*e0680481Safresh1#line 1442 "perly.y"
19439f11ffb7Safresh1    { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
19449f11ffb7Safresh1
19459f11ffb7Safresh1    break;
19469f11ffb7Safresh1
1947*e0680481Safresh1  case 259:
1948*e0680481Safresh1#line 1444 "perly.y"
19499f11ffb7Safresh1    { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
19509f11ffb7Safresh1
19519f11ffb7Safresh1    break;
19529f11ffb7Safresh1
1953*e0680481Safresh1  case 260:
1954*e0680481Safresh1#line 1446 "perly.y"
19559f11ffb7Safresh1    { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
19569f11ffb7Safresh1
19579f11ffb7Safresh1    break;
19589f11ffb7Safresh1
1959*e0680481Safresh1  case 261:
1960*e0680481Safresh1#line 1448 "perly.y"
19619f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
19629f11ffb7Safresh1				       scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
19639f11ffb7Safresh1
19649f11ffb7Safresh1    break;
19659f11ffb7Safresh1
1966*e0680481Safresh1  case 262:
1967*e0680481Safresh1#line 1451 "perly.y"
19689f11ffb7Safresh1    { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
19699f11ffb7Safresh1
19709f11ffb7Safresh1    break;
19719f11ffb7Safresh1
1972*e0680481Safresh1  case 263:
1973*e0680481Safresh1#line 1453 "perly.y"
19749f11ffb7Safresh1    { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
19759f11ffb7Safresh1			    PL_hints |= HINT_BLOCK_SCOPE; }
19769f11ffb7Safresh1
19779f11ffb7Safresh1    break;
19789f11ffb7Safresh1
1979*e0680481Safresh1  case 264:
1980*e0680481Safresh1#line 1456 "perly.y"
19819f11ffb7Safresh1    { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
19829f11ffb7Safresh1
19839f11ffb7Safresh1    break;
19849f11ffb7Safresh1
1985*e0680481Safresh1  case 265:
1986*e0680481Safresh1#line 1458 "perly.y"
19879f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
19889f11ffb7Safresh1
19899f11ffb7Safresh1    break;
19909f11ffb7Safresh1
1991*e0680481Safresh1  case 266:
1992*e0680481Safresh1#line 1460 "perly.y"
19939f11ffb7Safresh1    { (yyval.opval) = newOP((ps[0].val.ival), 0); }
19949f11ffb7Safresh1
19959f11ffb7Safresh1    break;
19969f11ffb7Safresh1
1997*e0680481Safresh1  case 267:
1998*e0680481Safresh1#line 1462 "perly.y"
19999f11ffb7Safresh1    { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
20009f11ffb7Safresh1
20019f11ffb7Safresh1    break;
20029f11ffb7Safresh1
2003*e0680481Safresh1  case 268:
2004*e0680481Safresh1#line 1464 "perly.y"
20059f11ffb7Safresh1    { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
20069f11ffb7Safresh1
20079f11ffb7Safresh1    break;
20089f11ffb7Safresh1
2009*e0680481Safresh1  case 269:
2010*e0680481Safresh1#line 1466 "perly.y"
20119f11ffb7Safresh1    { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
20129f11ffb7Safresh1
20139f11ffb7Safresh1    break;
20149f11ffb7Safresh1
2015*e0680481Safresh1  case 270:
2016*e0680481Safresh1#line 1468 "perly.y"
20179f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
20189f11ffb7Safresh1
20199f11ffb7Safresh1    break;
20209f11ffb7Safresh1
2021*e0680481Safresh1  case 271:
2022*e0680481Safresh1#line 1470 "perly.y"
20239f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
20249f11ffb7Safresh1
20259f11ffb7Safresh1    break;
20269f11ffb7Safresh1
2027*e0680481Safresh1  case 272:
2028*e0680481Safresh1#line 1472 "perly.y"
20299f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
20309f11ffb7Safresh1			    op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
20319f11ffb7Safresh1
20329f11ffb7Safresh1    break;
20339f11ffb7Safresh1
2034*e0680481Safresh1  case 273:
2035*e0680481Safresh1#line 1475 "perly.y"
20369f11ffb7Safresh1    { (yyval.opval) = newOP((ps[0].val.ival), 0); }
20379f11ffb7Safresh1
20389f11ffb7Safresh1    break;
20399f11ffb7Safresh1
2040*e0680481Safresh1  case 274:
2041*e0680481Safresh1#line 1477 "perly.y"
20429f11ffb7Safresh1    { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
20439f11ffb7Safresh1
20449f11ffb7Safresh1    break;
20459f11ffb7Safresh1
2046*e0680481Safresh1  case 275:
2047*e0680481Safresh1#line 1479 "perly.y"
20489f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
20499f11ffb7Safresh1
20509f11ffb7Safresh1    break;
20519f11ffb7Safresh1
2052*e0680481Safresh1  case 276:
2053*e0680481Safresh1#line 1481 "perly.y"
20549f11ffb7Safresh1    { (yyval.opval) = (ps[-2].val.opval); }
20559f11ffb7Safresh1
20569f11ffb7Safresh1    break;
20579f11ffb7Safresh1
2058*e0680481Safresh1  case 277:
2059*e0680481Safresh1#line 1483 "perly.y"
20609f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
20619f11ffb7Safresh1
20629f11ffb7Safresh1    break;
20639f11ffb7Safresh1
2064*e0680481Safresh1  case 278:
2065*e0680481Safresh1#line 1485 "perly.y"
20669f11ffb7Safresh1    { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
20679f11ffb7Safresh1                          ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
20689f11ffb7Safresh1                          : newOP((ps[-2].val.ival), OPf_SPECIAL); }
20699f11ffb7Safresh1
20709f11ffb7Safresh1    break;
20719f11ffb7Safresh1
2072*e0680481Safresh1  case 279:
2073*e0680481Safresh1#line 1489 "perly.y"
20749f11ffb7Safresh1    { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
20759f11ffb7Safresh1
20769f11ffb7Safresh1    break;
20779f11ffb7Safresh1
2078*e0680481Safresh1  case 280:
2079*e0680481Safresh1#line 1491 "perly.y"
20809f11ffb7Safresh1    {
20819f11ffb7Safresh1			    if (   (ps[0].val.opval)->op_type != OP_TRANS
20829f11ffb7Safresh1			        && (ps[0].val.opval)->op_type != OP_TRANSR
20839f11ffb7Safresh1				&& (((PMOP*)(ps[0].val.opval))->op_pmflags & PMf_HAS_CV))
208491f110e0Safresh1			    {
208591f110e0Safresh1				(yyval.ival) = start_subparse(FALSE, CVf_ANON);
208691f110e0Safresh1				SAVEFREESV(PL_compcv);
208791f110e0Safresh1			    } else
208891f110e0Safresh1				(yyval.ival) = 0;
208991f110e0Safresh1			}
2090850e2753Smillert
20916fb12b70Safresh1    break;
20926fb12b70Safresh1
2093*e0680481Safresh1  case 281:
2094*e0680481Safresh1#line 1502 "perly.y"
20959f11ffb7Safresh1    { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
20966fb12b70Safresh1
209791f110e0Safresh1    break;
209891f110e0Safresh1
2099*e0680481Safresh1  case 285:
2100*e0680481Safresh1#line 1511 "perly.y"
21019f11ffb7Safresh1    { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
21029f11ffb7Safresh1
210391f110e0Safresh1    break;
210491f110e0Safresh1
2105*e0680481Safresh1  case 286:
2106*e0680481Safresh1#line 1513 "perly.y"
21079f11ffb7Safresh1    { (yyval.opval) = localize((ps[0].val.opval),1); }
21089f11ffb7Safresh1
2109b8851fccSafresh1    break;
2110b8851fccSafresh1
2111*e0680481Safresh1  case 287:
2112*e0680481Safresh1#line 1515 "perly.y"
21139f11ffb7Safresh1    { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
21149f11ffb7Safresh1
21159f11ffb7Safresh1    break;
21169f11ffb7Safresh1
2117*e0680481Safresh1  case 288:
2118*e0680481Safresh1#line 1517 "perly.y"
2119eac174f2Safresh1    { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
212056d68f1eSafresh1
212156d68f1eSafresh1    break;
212256d68f1eSafresh1
2123*e0680481Safresh1  case 289:
2124*e0680481Safresh1#line 1522 "perly.y"
2125eac174f2Safresh1    { (yyval.opval) = sawparens((ps[-1].val.opval)); }
212656d68f1eSafresh1
212756d68f1eSafresh1    break;
212856d68f1eSafresh1
2129*e0680481Safresh1  case 290:
2130*e0680481Safresh1#line 1524 "perly.y"
2131eac174f2Safresh1    { (yyval.opval) = sawparens(newNULLLIST()); }
213256d68f1eSafresh1
213356d68f1eSafresh1    break;
213456d68f1eSafresh1
2135*e0680481Safresh1  case 291:
2136*e0680481Safresh1#line 1527 "perly.y"
213756d68f1eSafresh1    { (yyval.opval) = (ps[0].val.opval); }
213856d68f1eSafresh1
213956d68f1eSafresh1    break;
214056d68f1eSafresh1
2141*e0680481Safresh1  case 292:
2142*e0680481Safresh1#line 1529 "perly.y"
214356d68f1eSafresh1    { (yyval.opval) = (ps[0].val.opval); }
214456d68f1eSafresh1
214556d68f1eSafresh1    break;
214656d68f1eSafresh1
2147*e0680481Safresh1  case 293:
2148*e0680481Safresh1#line 1531 "perly.y"
2149eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
2150eac174f2Safresh1
2151eac174f2Safresh1    break;
2152eac174f2Safresh1
2153*e0680481Safresh1  case 294:
2154*e0680481Safresh1#line 1536 "perly.y"
2155*e0680481Safresh1    {
2156*e0680481Safresh1			  (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ];
2157*e0680481Safresh1			  op_free((ps[0].val.opval));
2158*e0680481Safresh1			}
2159*e0680481Safresh1
2160*e0680481Safresh1    break;
2161*e0680481Safresh1
2162*e0680481Safresh1  case 295:
2163*e0680481Safresh1#line 1541 "perly.y"
2164*e0680481Safresh1    {
2165*e0680481Safresh1			  (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ];
2166*e0680481Safresh1			  op_free((ps[0].val.opval));
2167*e0680481Safresh1			}
2168*e0680481Safresh1
2169*e0680481Safresh1    break;
2170*e0680481Safresh1
2171*e0680481Safresh1  case 296:
2172*e0680481Safresh1#line 1546 "perly.y"
2173*e0680481Safresh1    {
2174*e0680481Safresh1			  (yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ];
2175*e0680481Safresh1			  op_free((ps[0].val.opval));
2176*e0680481Safresh1			}
2177*e0680481Safresh1
2178*e0680481Safresh1    break;
2179*e0680481Safresh1
2180*e0680481Safresh1  case 297:
2181*e0680481Safresh1#line 1554 "perly.y"
2182eac174f2Safresh1    { (yyval.opval) = (ps[0].val.opval); }
2183eac174f2Safresh1
2184eac174f2Safresh1    break;
2185eac174f2Safresh1
2186*e0680481Safresh1  case 298:
2187*e0680481Safresh1#line 1556 "perly.y"
2188*e0680481Safresh1    { (yyval.opval) = NULL; }
2189*e0680481Safresh1
2190*e0680481Safresh1    break;
2191*e0680481Safresh1
2192*e0680481Safresh1  case 300:
2193*e0680481Safresh1#line 1562 "perly.y"
2194*e0680481Safresh1    {
2195*e0680481Safresh1			  parser->in_my = 0;
2196*e0680481Safresh1			  if((ps[0].val.opval))
2197*e0680481Safresh1			    class_apply_field_attributes((PADNAME *)(ps[-1].val.pval), (ps[0].val.opval));
2198*e0680481Safresh1			  (yyval.opval) = newOP(OP_NULL, 0);
2199*e0680481Safresh1			}
2200*e0680481Safresh1
2201*e0680481Safresh1    break;
2202*e0680481Safresh1
2203*e0680481Safresh1  case 301:
2204*e0680481Safresh1#line 1569 "perly.y"
2205*e0680481Safresh1    {
2206*e0680481Safresh1			  parser->in_my = 0;
2207*e0680481Safresh1			  if((ps[-1].val.opval))
2208*e0680481Safresh1			    class_apply_field_attributes((PADNAME *)(ps[-2].val.pval), (ps[-1].val.opval));
2209*e0680481Safresh1			  ENTER;
2210*e0680481Safresh1			  class_prepare_initfield_parse();
2211*e0680481Safresh1			}
2212*e0680481Safresh1
2213*e0680481Safresh1    break;
2214*e0680481Safresh1
2215*e0680481Safresh1  case 302:
2216*e0680481Safresh1#line 1577 "perly.y"
2217*e0680481Safresh1    {
2218*e0680481Safresh1			  class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval));
2219*e0680481Safresh1			  LEAVE;
2220*e0680481Safresh1			  (yyval.opval) = newOP(OP_NULL, 0);
2221*e0680481Safresh1			}
2222*e0680481Safresh1
2223*e0680481Safresh1    break;
2224*e0680481Safresh1
2225*e0680481Safresh1  case 308:
2226*e0680481Safresh1#line 1597 "perly.y"
2227*e0680481Safresh1    { (yyval.opval) = (ps[0].val.opval); }
2228*e0680481Safresh1
2229*e0680481Safresh1    break;
2230*e0680481Safresh1
2231*e0680481Safresh1  case 309:
2232*e0680481Safresh1#line 1603 "perly.y"
223356d68f1eSafresh1    { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
223456d68f1eSafresh1
223556d68f1eSafresh1    break;
223656d68f1eSafresh1
2237*e0680481Safresh1  case 310:
2238*e0680481Safresh1#line 1608 "perly.y"
2239eac174f2Safresh1    { (yyval.opval) = (ps[-1].val.opval); }
224056d68f1eSafresh1
224156d68f1eSafresh1    break;
224256d68f1eSafresh1
2243*e0680481Safresh1  case 311:
2244*e0680481Safresh1#line 1610 "perly.y"
2245eac174f2Safresh1    {
2246eac174f2Safresh1			  (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval));
2247eac174f2Safresh1			}
224856d68f1eSafresh1
224956d68f1eSafresh1    break;
225056d68f1eSafresh1
2251*e0680481Safresh1  case 313:
2252*e0680481Safresh1#line 1617 "perly.y"
2253eac174f2Safresh1    { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
2254eac174f2Safresh1
2255eac174f2Safresh1    break;
2256eac174f2Safresh1
2257*e0680481Safresh1  case 321:
2258*e0680481Safresh1#line 1634 "perly.y"
2259eac174f2Safresh1    { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
2260eac174f2Safresh1
2261eac174f2Safresh1    break;
2262eac174f2Safresh1
2263*e0680481Safresh1  case 322:
2264*e0680481Safresh1#line 1638 "perly.y"
2265eac174f2Safresh1    { (yyval.opval) = newSVREF((ps[0].val.opval)); }
2266eac174f2Safresh1
2267eac174f2Safresh1    break;
2268eac174f2Safresh1
2269*e0680481Safresh1  case 323:
2270*e0680481Safresh1#line 1642 "perly.y"
22719f11ffb7Safresh1    { (yyval.opval) = newAVREF((ps[0].val.opval));
22729f11ffb7Safresh1			  if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
22739f11ffb7Safresh1			}
22749f11ffb7Safresh1
22759f11ffb7Safresh1    break;
22769f11ffb7Safresh1
2277*e0680481Safresh1  case 324:
2278*e0680481Safresh1#line 1648 "perly.y"
22799f11ffb7Safresh1    { (yyval.opval) = newHVREF((ps[0].val.opval));
22809f11ffb7Safresh1			  if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
22819f11ffb7Safresh1			}
22829f11ffb7Safresh1
22839f11ffb7Safresh1    break;
22849f11ffb7Safresh1
2285*e0680481Safresh1  case 325:
2286*e0680481Safresh1#line 1654 "perly.y"
22879f11ffb7Safresh1    { (yyval.opval) = newAVREF((ps[0].val.opval)); }
22889f11ffb7Safresh1
22899f11ffb7Safresh1    break;
22909f11ffb7Safresh1
2291*e0680481Safresh1  case 326:
2292*e0680481Safresh1#line 1656 "perly.y"
22939f11ffb7Safresh1    { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
22949f11ffb7Safresh1
22959f11ffb7Safresh1    break;
22969f11ffb7Safresh1
2297*e0680481Safresh1  case 327:
2298*e0680481Safresh1#line 1660 "perly.y"
22999f11ffb7Safresh1    { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
23009f11ffb7Safresh1
23019f11ffb7Safresh1    break;
23029f11ffb7Safresh1
2303*e0680481Safresh1  case 329:
2304*e0680481Safresh1#line 1665 "perly.y"
23059f11ffb7Safresh1    { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
23069f11ffb7Safresh1
23079f11ffb7Safresh1    break;
23089f11ffb7Safresh1
2309*e0680481Safresh1  case 331:
2310*e0680481Safresh1#line 1670 "perly.y"
23119f11ffb7Safresh1    { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
23129f11ffb7Safresh1
23139f11ffb7Safresh1    break;
23149f11ffb7Safresh1
2315*e0680481Safresh1  case 333:
2316*e0680481Safresh1#line 1675 "perly.y"
23179f11ffb7Safresh1    { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
23189f11ffb7Safresh1
23199f11ffb7Safresh1    break;
23209f11ffb7Safresh1
2321*e0680481Safresh1  case 334:
2322*e0680481Safresh1#line 1680 "perly.y"
23239f11ffb7Safresh1    { (yyval.opval) = scalar((ps[0].val.opval)); }
23249f11ffb7Safresh1
23259f11ffb7Safresh1    break;
23269f11ffb7Safresh1
2327*e0680481Safresh1  case 335:
2328*e0680481Safresh1#line 1682 "perly.y"
23299f11ffb7Safresh1    { (yyval.opval) = scalar((ps[0].val.opval)); }
23309f11ffb7Safresh1
23319f11ffb7Safresh1    break;
23329f11ffb7Safresh1
2333*e0680481Safresh1  case 336:
2334*e0680481Safresh1#line 1684 "perly.y"
23359f11ffb7Safresh1    { (yyval.opval) = op_scope((ps[0].val.opval)); }
23369f11ffb7Safresh1
23379f11ffb7Safresh1    break;
23389f11ffb7Safresh1
2339*e0680481Safresh1  case 337:
2340*e0680481Safresh1#line 1687 "perly.y"
23419f11ffb7Safresh1    { (yyval.opval) = (ps[0].val.opval); }
23429f11ffb7Safresh1
23439f11ffb7Safresh1    break;
23449f11ffb7Safresh1
23459f11ffb7Safresh1
23469f11ffb7Safresh1
2347850e2753Smillert      default: break;
2348850e2753Smillert
2349898184e3Ssthen
2350898184e3Ssthen/* Generated from:
2351*e0680481Safresh1 * 0a5fcd15cf0b7afb57ade6ceaf68037a38dd194acd9d60d3e4ad99c15233af75 perly.y
2352eac174f2Safresh1 * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
2353*e0680481Safresh1 * ex: set ro ft=c: */
2354