3 { (yyval.ival) = (yyvsp[-1].ival); newPROG(block_end((yyvsp[-1].ival),(yyvsp[0].opval))); ;}
8 { if (PL_copline > (line_t)((yyvsp[-3].tkval))->tk_lval.ival)
9 PL_copline = (line_t)((yyvsp[-3].tkval))->tk_lval.ival;
10 (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval));
11 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
12 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
18 { (yyval.ival) = block_start(TRUE); ;}
23 { (yyval.ival) = (I32) allocmy("$_"); ;}
29 PL_expect = XSTATE; (yyval.ival) = block_start(TRUE);
35 { if (PL_copline > (line_t)((yyvsp[-3].tkval))->tk_lval.ival)
36 PL_copline = (line_t)((yyvsp[-3].tkval))->tk_lval.ival;
37 (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval));
38 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
39 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
45 { (yyval.ival) = block_start(FALSE); ;}
50 { (yyval.ival) = PL_savestack_ix; ;}
55 { (yyval.opval) = Nullop; ;}
60 { (yyval.opval) = append_list(OP_LINESEQ,
61 (LISTOP*)(yyvsp[-1].opval), (LISTOP*)(yyvsp[0].opval)); ;}
66 { LEAVE_SCOPE((yyvsp[-1].ival));
67 (yyval.opval) = append_list(OP_LINESEQ,
68 (LISTOP*)(yyvsp[-2].opval), (LISTOP*)(yyvsp[0].opval));
69 PL_pad_reset_pending = TRUE;
70 if ((yyvsp[-2].opval) && (yyvsp[0].opval)) PL_hints |= HINT_BLOCK_SCOPE; ;}
75 { (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, (yyvsp[0].opval));
76 token_getmad((yyvsp[-1].tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
81 { (yyval.opval) = (yyvsp[0].opval); ;}
86 { (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, (yyvsp[0].opval)); ;}
92 if (((yyvsp[-1].tkval))->tk_lval.pval) {
93 (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, newOP(OP_NULL, 0));
94 token_getmad((yyvsp[-1].tkval),(yyval.opval),'L');
95 token_getmad((yyvsp[0].tkval),((LISTOP*)(yyval.opval))->op_first,';');
98 (yyval.opval) = newOP(OP_NULL, 0);
100 token_free((yyvsp[-1].tkval));
101 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
110 (yyval.opval) = newSTATEOP(0, ((yyvsp[-2].tkval))->tk_lval.pval, (yyvsp[-1].opval));
112 /* sideff might already have a nexstate */
113 op = ((LISTOP*)(yyval.opval))->op_first;
115 while (op->op_sibling &&
116 op->op_sibling->op_type == OP_NEXTSTATE)
118 token_getmad((yyvsp[-2].tkval),op,'L');
119 token_getmad((yyvsp[0].tkval),op,';');
126 { (yyval.opval) = Nullop; ;}
131 { (yyval.opval) = (yyvsp[0].opval); ;}
136 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[0].opval), (yyvsp[-2].opval));
137 token_getmad((yyvsp[-1].tkval),(yyval.opval),'i');
143 { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[0].opval), (yyvsp[-2].opval));
144 token_getmad((yyvsp[-1].tkval),(yyval.opval),'i');
150 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((yyvsp[0].opval)), (yyvsp[-2].opval));
151 token_getmad((yyvsp[-1].tkval),(yyval.opval),'w');
157 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (yyvsp[0].opval), (yyvsp[-2].opval));
158 token_getmad((yyvsp[-1].tkval),(yyval.opval),'w');
164 { (yyval.opval) = newFOROP(0, Nullch, (line_t)((yyvsp[-1].tkval))->tk_lval.ival,
165 Nullop, (yyvsp[0].opval), (yyvsp[-2].opval), Nullop);
166 token_getmad((yyvsp[-1].tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
172 { (yyval.opval) = Nullop; ;}
177 { ((yyvsp[0].opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((yyvsp[0].opval));
178 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
184 { PL_copline = (line_t)((yyvsp[-5].tkval))->tk_lval.ival;
185 (yyval.opval) = newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval));
186 PL_hints |= HINT_BLOCK_SCOPE;
187 token_getmad((yyvsp[-5].tkval),(yyval.opval),'I');
188 token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
189 token_getmad((yyvsp[-2].tkval),(yyval.opval),')');
195 { PL_copline = (line_t)((yyvsp[-6].tkval))->tk_lval.ival;
196 (yyval.opval) = block_end((yyvsp[-4].ival),
197 newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)));
198 token_getmad((yyvsp[-6].tkval),(yyval.opval),'I');
199 token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
200 token_getmad((yyvsp[-2].tkval),(yyval.opval),')');
206 { PL_copline = (line_t)((yyvsp[-6].tkval))->tk_lval.ival;
207 (yyval.opval) = block_end((yyvsp[-4].ival),
208 newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)));
209 token_getmad((yyvsp[-6].tkval),(yyval.opval),'I');
210 token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
211 token_getmad((yyvsp[-2].tkval),(yyval.opval),')');
217 { (yyval.opval) = block_end((yyvsp[-3].ival),
218 newWHENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)))); ;}
223 { (yyval.opval) = newWHENOP(0, scope((yyvsp[0].opval))); ;}
228 { (yyval.opval) = Nullop; ;}
233 { (yyval.opval) = scope((yyvsp[0].opval));
234 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
241 PL_copline = (line_t)(yyvsp[-7].tkval);
242 (yyval.opval) = block_end((yyvsp[-5].ival),
243 newSTATEOP(0, ((yyvsp[-8].tkval))->tk_lval.pval,
244 innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
245 ((yyvsp[-7].tkval))->tk_lval.ival, (yyvsp[-4].opval), (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].ival))));
246 token_getmad((yyvsp[-8].tkval),innerop,'L');
247 token_getmad((yyvsp[-7].tkval),innerop,'W');
248 token_getmad((yyvsp[-6].tkval),innerop,'(');
249 token_getmad((yyvsp[-3].tkval),innerop,')');
256 PL_copline = (line_t)(yyvsp[-7].tkval);
257 (yyval.opval) = block_end((yyvsp[-5].ival),
258 newSTATEOP(0, ((yyvsp[-8].tkval))->tk_lval.pval,
259 newWHILEOP(0, 1, (LOOP*)Nullop,
260 ((yyvsp[-7].tkval))->tk_lval.ival, (yyvsp[-4].opval), (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].ival))));
261 token_getmad((yyvsp[-8].tkval),innerop,'L');
262 token_getmad((yyvsp[-7].tkval),innerop,'W');
263 token_getmad((yyvsp[-6].tkval),innerop,'(');
264 token_getmad((yyvsp[-3].tkval),innerop,')');
271 (yyval.opval) = block_end((yyvsp[-6].ival),
272 innerop = newFOROP(0, ((yyvsp[-9].tkval))->tk_lval.pval, (line_t)((yyvsp[-8].tkval))->tk_lval.ival, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
273 token_getmad((yyvsp[-9].tkval),((LISTOP*)innerop)->op_first,'L');
274 token_getmad((yyvsp[-8].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
275 token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first->op_sibling,'d');
276 token_getmad((yyvsp[-4].tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
277 token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
284 (yyval.opval) = block_end((yyvsp[-4].ival),
285 innerop = newFOROP(0, ((yyvsp[-8].tkval))->tk_lval.pval, (line_t)((yyvsp[-7].tkval))->tk_lval.ival, mod((yyvsp[-6].opval), OP_ENTERLOOP),
286 (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
287 token_getmad((yyvsp[-8].tkval),((LISTOP*)innerop)->op_first,'L');
288 token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
289 token_getmad((yyvsp[-5].tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
290 token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
297 (yyval.opval) = block_end((yyvsp[-4].ival),
298 innerop = newFOROP(0, ((yyvsp[-7].tkval))->tk_lval.pval, (line_t)((yyvsp[-6].tkval))->tk_lval.ival, Nullop, (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
299 token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first,'L');
300 token_getmad((yyvsp[-6].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
301 token_getmad((yyvsp[-5].tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
302 token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
309 PL_copline = (line_t)((yyvsp[-10].tkval))->tk_lval.ival;
310 forop = newSTATEOP(0, ((yyvsp[-11].tkval))->tk_lval.pval,
311 newWHILEOP(0, 1, (LOOP*)Nullop,
312 ((yyvsp[-10].tkval))->tk_lval.ival, scalar((yyvsp[-5].opval)),
313 (yyvsp[0].opval), (yyvsp[-2].opval), (yyvsp[-3].ival)));
314 if (!(yyvsp[-7].opval))
315 (yyvsp[-7].opval) = newOP(OP_NULL, 0);
316 forop = newUNOP(OP_NULL, 0, append_elem(OP_LINESEQ,
318 (((yyvsp[-11].tkval))->tk_lval.pval
319 ?savepv(((yyvsp[-11].tkval))->tk_lval.pval):Nullch),
323 token_getmad((yyvsp[-10].tkval),forop,'3');
324 token_getmad((yyvsp[-9].tkval),forop,'(');
325 token_getmad((yyvsp[-6].tkval),forop,'1');
326 token_getmad((yyvsp[-4].tkval),forop,'2');
327 token_getmad((yyvsp[-1].tkval),forop,')');
328 token_getmad((yyvsp[-11].tkval),forop,'L');
329 (yyval.opval) = block_end((yyvsp[-8].ival), forop); ;}
334 { (yyval.opval) = newSTATEOP(0, ((yyvsp[-2].tkval))->tk_lval.pval,
335 newWHILEOP(0, 1, (LOOP*)Nullop,
336 NOLINE, Nullop, (yyvsp[-1].opval), (yyvsp[0].opval), 0));
337 token_getmad((yyvsp[-2].tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
342 { PL_copline = (line_t) (yyvsp[-6].tkval);
343 (yyval.opval) = block_end((yyvsp[-4].ival),
344 newSTATEOP(0, ((yyvsp[-7].tkval))->tk_lval.pval,
345 newGIVENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)),
346 (PADOFFSET) (yyvsp[-3].ival)) )); ;}
351 { (yyval.ival) = (PL_min_intro_pending &&
352 PL_max_intro_pending >= PL_min_intro_pending);
358 { (yyval.opval) = Nullop; ;}
364 (void)scan_num("1", &tmplval);
365 (yyval.opval) = tmplval.opval; ;}
370 { (yyval.opval) = invert(scalar((yyvsp[0].opval))); ;}
375 { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;}
380 { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;}
385 { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;}
391 tmplval.pval = Nullch;
392 (yyval.tkval) = newTOKEN(OP_NULL, tmplval, 0); ;}
397 { (yyval.opval) = (yyvsp[0].opval); ;}
402 { (yyval.opval) = (yyvsp[0].opval); ;}
407 { (yyval.opval) = (yyvsp[0].opval); ;}
412 { (yyval.opval) = (yyvsp[0].opval); ;}
417 { (yyval.opval) = (yyvsp[0].opval); ;}
422 { (yyval.opval) = (yyvsp[0].opval); ;}
427 { (yyval.opval) = newOP(OP_NULL,0);
428 token_getmad((yyvsp[0].tkval),(yyval.opval),'p');
434 { SvREFCNT_inc(PL_compcv);
435 (yyval.opval) = newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval));
436 prepend_madprops((yyvsp[-3].tkval)->tk_mad, (yyval.opval), 'F');
437 (yyvsp[-3].tkval)->tk_mad = 0;
438 token_free((yyvsp[-3].tkval));
444 { (yyval.opval) = (yyvsp[0].opval); ;}
449 { (yyval.opval) = Nullop; ;}
454 { SvREFCNT_inc(PL_compcv);
455 (yyval.opval) = newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
456 token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
462 { SvREFCNT_inc(PL_compcv);
463 OP* o = newSVOP(OP_ANONCODE, 0,
464 (SV*)newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
465 (yyval.opval) = newOP(OP_NULL,0);
466 op_getmad(o,(yyval.opval),'&');
467 op_getmad((yyvsp[-3].opval),(yyval.opval),'n');
468 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
469 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
470 token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
471 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 0);
472 (yyvsp[0].opval)->op_madprop = 0;
478 { (yyval.ival) = start_subparse(FALSE, 0);
479 SAVEFREESV(PL_compcv); ;}
484 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
485 SAVEFREESV(PL_compcv); ;}
490 { (yyval.ival) = start_subparse(TRUE, 0);
491 SAVEFREESV(PL_compcv); ;}
496 { const char *const name = SvPV_nolen_const(((SVOP*)(yyvsp[0].opval))->op_sv);
497 if (strEQ(name, "BEGIN") || strEQ(name, "END")
498 || strEQ(name, "INIT") || strEQ(name, "CHECK")
499 || strEQ(name, "UNITCHECK"))
500 CvSPECIAL_on(PL_compcv);
501 (yyval.opval) = (yyvsp[0].opval); ;}
506 { (yyval.opval) = Nullop; ;}
511 { (yyval.opval) = Nullop; ;}
516 { (yyval.opval) = (yyvsp[0].opval);
517 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
523 { (yyval.opval) = newOP(OP_NULL, 0);
524 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
530 { (yyval.opval) = (yyvsp[0].opval);
531 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
537 { (yyval.opval) = newOP(OP_NULL, 0);
538 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
544 { (yyval.opval) = (yyvsp[0].opval); ;}
549 { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE;
550 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
556 { (yyval.opval) = package((yyvsp[-1].opval));
557 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
558 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
564 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
569 { SvREFCNT_inc(PL_compcv);
570 (yyval.opval) = utilize(((yyvsp[-6].tkval))->tk_lval.ival, (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval));
571 token_getmad((yyvsp[-6].tkval),(yyval.opval),'o');
572 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
573 if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
574 append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
580 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
581 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
587 { (yyval.opval) = newLOGOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
588 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
594 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
595 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
601 { OP* op = newNULLLIST();
602 token_getmad((yyvsp[0].tkval),op,',');
603 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
610 (yyvsp[0].opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
611 token_getmad((yyvsp[-1].tkval),(yyvsp[0].opval),',');
612 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval));
618 { (yyval.opval) = convert(((yyvsp[-2].tkval))->tk_lval.ival, OPf_STACKED,
619 prepend_elem(OP_LIST, newGVREF(((yyvsp[-2].tkval))->tk_lval.ival,(yyvsp[-1].opval)), (yyvsp[0].opval)) );
620 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
626 { (yyval.opval) = convert(((yyvsp[-4].tkval))->tk_lval.ival, OPf_STACKED,
627 prepend_elem(OP_LIST, newGVREF(((yyvsp[-4].tkval))->tk_lval.ival,(yyvsp[-2].opval)), (yyvsp[-1].opval)) );
628 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
629 token_getmad((yyvsp[-3].tkval),(yyval.opval),'(');
630 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
636 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
638 prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)),
639 newUNOP(OP_METHOD, 0, (yyvsp[-3].opval))));
640 token_getmad((yyvsp[-4].tkval),(yyval.opval),'A');
641 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
642 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
648 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
649 append_elem(OP_LIST, scalar((yyvsp[-2].opval)),
650 newUNOP(OP_METHOD, 0, (yyvsp[0].opval))));
651 token_getmad((yyvsp[-1].tkval),(yyval.opval),'A');
657 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
659 prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)),
660 newUNOP(OP_METHOD, 0, (yyvsp[-2].opval))));
666 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
668 prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)),
669 newUNOP(OP_METHOD, 0, (yyvsp[-4].opval))));
670 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
671 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
677 { (yyval.opval) = convert(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
678 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
684 { (yyval.opval) = convert(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
685 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
686 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
687 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
693 { SvREFCNT_inc(PL_compcv);
694 (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;}
699 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
701 prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval)));
707 { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval)));
708 PL_expect = XOPERATOR;
709 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
710 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
711 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
717 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval)));
718 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
719 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
725 { (yyval.opval) = newBINOP(OP_AELEM, 0,
726 ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV),
727 scalar((yyvsp[-1].opval)));
728 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
729 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
730 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
736 { (yyval.opval) = newBINOP(OP_AELEM, 0,
737 ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV),
738 scalar((yyvsp[-1].opval)));
739 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
740 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
746 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval)));
747 PL_expect = XOPERATOR;
748 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
749 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
750 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
756 { (yyval.opval) = newBINOP(OP_HELEM, 0,
757 ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV),
758 jmaybe((yyvsp[-2].opval)));
759 PL_expect = XOPERATOR;
760 token_getmad((yyvsp[-4].tkval),(yyval.opval),'a');
761 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
762 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
763 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
769 { (yyval.opval) = newBINOP(OP_HELEM, 0,
770 ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV),
771 jmaybe((yyvsp[-2].opval)));
772 PL_expect = XOPERATOR;
773 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
774 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
775 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
781 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
782 newCVREF(0, scalar((yyvsp[-3].opval))));
783 token_getmad((yyvsp[-2].tkval),(yyval.opval),'a');
784 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
785 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
791 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
792 append_elem(OP_LIST, (yyvsp[-1].opval),
793 newCVREF(0, scalar((yyvsp[-4].opval)))));
794 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
795 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
796 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
802 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
803 append_elem(OP_LIST, (yyvsp[-1].opval),
804 newCVREF(0, scalar((yyvsp[-3].opval)))));
805 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
806 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
812 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
813 newCVREF(0, scalar((yyvsp[-2].opval))));
814 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
815 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
821 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval));
822 token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
823 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
824 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
825 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
831 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop);
832 token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
833 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
834 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
835 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
841 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), ((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[0].opval));
842 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
848 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
849 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
855 { if (((yyvsp[-1].tkval))->tk_lval.ival != OP_REPEAT)
856 scalar((yyvsp[-2].opval));
857 (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval)));
858 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
864 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
865 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
871 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
872 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
878 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
879 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
885 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
886 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
892 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
893 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
899 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
900 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
907 (yyval.opval) = newRANGE(((yyvsp[-1].tkval))->tk_lval.ival, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
908 op = (UNOP*)(yyval.opval);
909 op = (UNOP*)op->op_first; /* get to flop */
910 op = (UNOP*)op->op_first; /* get to flip */
911 op = (UNOP*)op->op_first; /* get to range */
912 token_getmad((yyvsp[-1].tkval),(OP*)op,'o');
918 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
919 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
925 { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
926 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
932 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
933 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
939 { (yyval.opval) = bind_match(((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[-2].opval), (yyvsp[0].opval));
940 if ((yyval.opval)->op_type == OP_NOT)
941 token_getmad((yyvsp[-1].tkval),((UNOP*)(yyval.opval))->op_first,'~');
943 token_getmad((yyvsp[-1].tkval),(yyval.opval),'~');
949 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval)));
950 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
956 { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
957 token_getmad((yyvsp[-1].tkval),(yyval.opval),'+');
963 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
964 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
970 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));
971 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
977 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
978 mod(scalar((yyvsp[-1].opval)), OP_POSTINC));
979 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
985 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
986 mod(scalar((yyvsp[-1].opval)), OP_POSTDEC));
987 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
993 { (yyval.opval) = newUNOP(OP_PREINC, 0,
994 mod(scalar((yyvsp[0].opval)), OP_PREINC));
995 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1001 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1002 mod(scalar((yyvsp[0].opval)), OP_PREDEC));
1003 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1009 { (yyval.opval) = newANONLIST((yyvsp[-1].opval));
1010 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1011 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1017 { (yyval.opval) = newANONLIST(Nullop);
1018 token_getmad((yyvsp[-1].tkval),(yyval.opval),'[');
1019 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1025 { (yyval.opval) = newANONHASH((yyvsp[-2].opval));
1026 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1027 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1028 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1034 { (yyval.opval) = newANONHASH(Nullop);
1035 token_getmad((yyvsp[-2].tkval),(yyval.opval),'{');
1036 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1037 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1043 { SvREFCNT_inc(PL_compcv);
1044 (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
1045 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1046 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
1047 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
1053 { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval));
1054 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1060 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval)));
1061 token_getmad((yyvsp[-1].tkval),(yyval.opval),'D');
1067 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1068 OPf_SPECIAL|OPf_STACKED,
1069 prepend_elem(OP_LIST,
1071 (OPpENTERSUB_AMPER<<8),
1072 scalar((yyvsp[-2].opval))
1074 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1075 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1076 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1082 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1083 OPf_SPECIAL|OPf_STACKED,
1084 append_elem(OP_LIST,
1087 (OPpENTERSUB_AMPER<<8),
1088 scalar((yyvsp[-3].opval))
1090 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1091 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1092 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1098 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1099 prepend_elem(OP_LIST,
1100 scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();
1101 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1102 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1103 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1109 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1110 prepend_elem(OP_LIST,
1112 scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();
1113 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1114 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1115 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1121 { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
1122 token_getmad((yyvsp[-3].tkval),(yyval.opval),'?');
1123 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
1129 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN));
1130 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1136 { (yyval.opval) = (yyvsp[0].opval); ;}
1141 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1142 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1148 { (yyval.opval) = sawparens(newUNOP(OP_NULL,0,(yyvsp[-1].opval)));
1149 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1150 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1156 { (yyval.opval) = sawparens(newNULLLIST());
1157 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1158 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1164 { (yyval.opval) = (yyvsp[0].opval); ;}
1169 { (yyval.opval) = (yyvsp[0].opval); ;}
1174 { (yyval.opval) = (yyvsp[0].opval); ;}
1179 { (yyval.opval) = (yyvsp[0].opval); ;}
1184 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;}
1189 { (yyval.opval) = (yyvsp[0].opval); ;}
1193 #line 1000 "madly.y"
1194 { (yyval.opval) = prepend_elem(OP_ASLICE,
1195 newOP(OP_PUSHMARK, 0),
1196 newLISTOP(OP_ASLICE, 0,
1197 list((yyvsp[-1].opval)),
1198 ref((yyvsp[-3].opval), OP_ASLICE)));
1199 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1200 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1205 #line 1009 "madly.y"
1206 { (yyval.opval) = prepend_elem(OP_HSLICE,
1207 newOP(OP_PUSHMARK, 0),
1208 newLISTOP(OP_HSLICE, 0,
1209 list((yyvsp[-2].opval)),
1210 ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE)));
1211 PL_expect = XOPERATOR;
1212 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1213 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1214 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1219 #line 1020 "madly.y"
1220 { (yyval.opval) = (yyvsp[0].opval); ;}
1224 #line 1022 "madly.y"
1225 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;}
1229 #line 1024 "madly.y"
1230 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval)));
1231 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1232 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1237 #line 1029 "madly.y"
1239 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1240 append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval))));
1242 if (op->op_type == OP_CONST) { /* defeat const fold */
1243 op = (OP*)op->op_madprop->mad_val;
1245 token_getmad((yyvsp[-2].tkval),op,'(');
1246 token_getmad((yyvsp[0].tkval),op,')');
1251 #line 1040 "madly.y"
1252 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1253 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval))));
1254 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1259 #line 1045 "madly.y"
1260 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, OPf_SPECIAL);
1261 PL_hints |= HINT_BLOCK_SCOPE;
1262 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1267 #line 1050 "madly.y"
1268 { (yyval.opval) = newLOOPEX(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1269 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1274 #line 1054 "madly.y"
1275 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
1276 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1281 #line 1058 "madly.y"
1282 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1283 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1288 #line 1062 "madly.y"
1289 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1290 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1295 #line 1066 "madly.y"
1296 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1297 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1302 #line 1070 "madly.y"
1303 { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;}
1307 #line 1072 "madly.y"
1308 { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;}
1312 #line 1074 "madly.y"
1313 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[0].opval))); ;}
1317 #line 1076 "madly.y"
1318 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1319 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
1323 #line 1079 "madly.y"
1324 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1325 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1330 #line 1083 "madly.y"
1331 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, 0);
1332 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1333 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1334 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1339 #line 1089 "madly.y"
1340 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1341 scalar((yyvsp[0].opval))); ;}
1345 #line 1092 "madly.y"
1346 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, OPf_SPECIAL);
1347 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1348 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1349 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1354 #line 1098 "madly.y"
1355 { (yyval.opval) = newUNOP(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
1356 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1357 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1358 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1363 #line 1104 "madly.y"
1364 { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1);
1365 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1366 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1371 #line 1114 "madly.y"
1372 { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval));
1373 token_getmad((yyvsp[-2].tkval),(yyval.opval),'d');
1374 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 'a');
1375 (yyvsp[0].opval)->op_madprop = 0;
1380 #line 1120 "madly.y"
1381 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1382 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1387 #line 1127 "madly.y"
1388 { (yyval.opval) = sawparens((yyvsp[-1].opval));
1389 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1390 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1395 #line 1132 "madly.y"
1396 { (yyval.opval) = sawparens(newNULLLIST());
1397 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1398 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1403 #line 1137 "madly.y"
1404 { (yyval.opval) = (yyvsp[0].opval); ;}
1408 #line 1139 "madly.y"
1409 { (yyval.opval) = (yyvsp[0].opval); ;}
1413 #line 1141 "madly.y"
1414 { (yyval.opval) = (yyvsp[0].opval); ;}
1418 #line 1146 "madly.y"
1419 { (yyval.opval) = Nullop; ;}
1423 #line 1148 "madly.y"
1424 { (yyval.opval) = (yyvsp[0].opval); ;}
1428 #line 1152 "madly.y"
1429 { (yyval.opval) = Nullop; ;}
1433 #line 1154 "madly.y"
1434 { (yyval.opval) = (yyvsp[0].opval); ;}
1438 #line 1156 "madly.y"
1439 { OP* op = newNULLLIST();
1440 token_getmad((yyvsp[0].tkval),op,',');
1441 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
1446 #line 1165 "madly.y"
1447 { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
1451 #line 1169 "madly.y"
1452 { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1453 token_getmad((yyvsp[-1].tkval),(yyval.opval),'&');
1458 #line 1175 "madly.y"
1459 { (yyval.opval) = newSVREF((yyvsp[0].opval));
1460 token_getmad((yyvsp[-1].tkval),(yyval.opval),'$');
1465 #line 1181 "madly.y"
1466 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1467 token_getmad((yyvsp[-1].tkval),(yyval.opval),'@');
1472 #line 1187 "madly.y"
1473 { (yyval.opval) = newHVREF((yyvsp[0].opval));
1474 token_getmad((yyvsp[-1].tkval),(yyval.opval),'%');
1479 #line 1193 "madly.y"
1480 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1481 token_getmad((yyvsp[-1].tkval),(yyval.opval),'l');
1486 #line 1199 "madly.y"
1487 { (yyval.opval) = newGVREF(0,(yyvsp[0].opval));
1488 token_getmad((yyvsp[-1].tkval),(yyval.opval),'*');
1493 #line 1206 "madly.y"
1494 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1498 #line 1208 "madly.y"
1499 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1503 #line 1210 "madly.y"
1504 { (yyval.opval) = scope((yyvsp[0].opval)); ;}
1508 #line 1213 "madly.y"
1509 { (yyval.opval) = (yyvsp[0].opval); ;}