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 CvSPECIAL_on(PL_compcv);
500 (yyval.opval) = (yyvsp[0].opval); ;}
505 { (yyval.opval) = Nullop; ;}
510 { (yyval.opval) = Nullop; ;}
515 { (yyval.opval) = (yyvsp[0].opval);
516 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
522 { (yyval.opval) = newOP(OP_NULL, 0);
523 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
529 { (yyval.opval) = (yyvsp[0].opval);
530 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
536 { (yyval.opval) = newOP(OP_NULL, 0);
537 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
543 { (yyval.opval) = (yyvsp[0].opval); ;}
548 { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE;
549 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
555 { (yyval.opval) = package((yyvsp[-1].opval));
556 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
557 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
563 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
568 { SvREFCNT_inc(PL_compcv);
569 (yyval.opval) = utilize(((yyvsp[-6].tkval))->tk_lval.ival, (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval));
570 token_getmad((yyvsp[-6].tkval),(yyval.opval),'o');
571 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
572 if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
573 append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
579 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
580 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
586 { (yyval.opval) = newLOGOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
587 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
593 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
594 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
600 { OP* op = newNULLLIST();
601 token_getmad((yyvsp[0].tkval),op,',');
602 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
609 (yyvsp[0].opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
610 token_getmad((yyvsp[-1].tkval),(yyvsp[0].opval),',');
611 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval));
617 { (yyval.opval) = convert(((yyvsp[-2].tkval))->tk_lval.ival, OPf_STACKED,
618 prepend_elem(OP_LIST, newGVREF(((yyvsp[-2].tkval))->tk_lval.ival,(yyvsp[-1].opval)), (yyvsp[0].opval)) );
619 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
625 { (yyval.opval) = convert(((yyvsp[-4].tkval))->tk_lval.ival, OPf_STACKED,
626 prepend_elem(OP_LIST, newGVREF(((yyvsp[-4].tkval))->tk_lval.ival,(yyvsp[-2].opval)), (yyvsp[-1].opval)) );
627 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
628 token_getmad((yyvsp[-3].tkval),(yyval.opval),'(');
629 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
635 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
637 prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)),
638 newUNOP(OP_METHOD, 0, (yyvsp[-3].opval))));
639 token_getmad((yyvsp[-4].tkval),(yyval.opval),'A');
640 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
641 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
647 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
648 append_elem(OP_LIST, scalar((yyvsp[-2].opval)),
649 newUNOP(OP_METHOD, 0, (yyvsp[0].opval))));
650 token_getmad((yyvsp[-1].tkval),(yyval.opval),'A');
656 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
658 prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)),
659 newUNOP(OP_METHOD, 0, (yyvsp[-2].opval))));
665 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
667 prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)),
668 newUNOP(OP_METHOD, 0, (yyvsp[-4].opval))));
669 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
670 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
676 { (yyval.opval) = convert(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
677 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
683 { (yyval.opval) = convert(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
684 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
685 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
686 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
692 { SvREFCNT_inc(PL_compcv);
693 (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;}
698 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
700 prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval)));
706 { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval)));
707 PL_expect = XOPERATOR;
708 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
709 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
710 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
716 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval)));
717 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
718 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
724 { (yyval.opval) = newBINOP(OP_AELEM, 0,
725 ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV),
726 scalar((yyvsp[-1].opval)));
727 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
728 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
729 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
735 { (yyval.opval) = newBINOP(OP_AELEM, 0,
736 ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV),
737 scalar((yyvsp[-1].opval)));
738 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
739 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
745 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval)));
746 PL_expect = XOPERATOR;
747 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
748 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
749 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
755 { (yyval.opval) = newBINOP(OP_HELEM, 0,
756 ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV),
757 jmaybe((yyvsp[-2].opval)));
758 PL_expect = XOPERATOR;
759 token_getmad((yyvsp[-4].tkval),(yyval.opval),'a');
760 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
761 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
762 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
768 { (yyval.opval) = newBINOP(OP_HELEM, 0,
769 ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV),
770 jmaybe((yyvsp[-2].opval)));
771 PL_expect = XOPERATOR;
772 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
773 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
774 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
780 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
781 newCVREF(0, scalar((yyvsp[-3].opval))));
782 token_getmad((yyvsp[-2].tkval),(yyval.opval),'a');
783 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
784 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
790 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
791 append_elem(OP_LIST, (yyvsp[-1].opval),
792 newCVREF(0, scalar((yyvsp[-4].opval)))));
793 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
794 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
795 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
801 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
802 append_elem(OP_LIST, (yyvsp[-1].opval),
803 newCVREF(0, scalar((yyvsp[-3].opval)))));
804 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
805 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
811 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
812 newCVREF(0, scalar((yyvsp[-2].opval))));
813 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
814 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
820 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval));
821 token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
822 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
823 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
824 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
830 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop);
831 token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
832 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
833 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
834 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
840 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), ((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[0].opval));
841 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
847 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
848 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
854 { if (((yyvsp[-1].tkval))->tk_lval.ival != OP_REPEAT)
855 scalar((yyvsp[-2].opval));
856 (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval)));
857 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
863 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
864 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
870 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
871 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
877 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
878 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
884 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
885 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
891 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
892 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
898 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
899 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
906 (yyval.opval) = newRANGE(((yyvsp[-1].tkval))->tk_lval.ival, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
907 op = (UNOP*)(yyval.opval);
908 op = (UNOP*)op->op_first; /* get to flop */
909 op = (UNOP*)op->op_first; /* get to flip */
910 op = (UNOP*)op->op_first; /* get to range */
911 token_getmad((yyvsp[-1].tkval),(OP*)op,'o');
917 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
918 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
924 { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
925 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
931 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
932 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
938 { (yyval.opval) = bind_match(((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[-2].opval), (yyvsp[0].opval));
939 if ((yyval.opval)->op_type == OP_NOT)
940 token_getmad((yyvsp[-1].tkval),((UNOP*)(yyval.opval))->op_first,'~');
942 token_getmad((yyvsp[-1].tkval),(yyval.opval),'~');
948 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval)));
949 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
955 { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
956 token_getmad((yyvsp[-1].tkval),(yyval.opval),'+');
962 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
963 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
969 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));
970 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
976 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
977 mod(scalar((yyvsp[-1].opval)), OP_POSTINC));
978 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
984 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
985 mod(scalar((yyvsp[-1].opval)), OP_POSTDEC));
986 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
992 { (yyval.opval) = newUNOP(OP_PREINC, 0,
993 mod(scalar((yyvsp[0].opval)), OP_PREINC));
994 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1000 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1001 mod(scalar((yyvsp[0].opval)), OP_PREDEC));
1002 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1008 { (yyval.opval) = newANONLIST((yyvsp[-1].opval));
1009 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1010 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1016 { (yyval.opval) = newANONLIST(Nullop);
1017 token_getmad((yyvsp[-1].tkval),(yyval.opval),'[');
1018 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1024 { (yyval.opval) = newANONHASH((yyvsp[-2].opval));
1025 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1026 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1027 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1033 { (yyval.opval) = newANONHASH(Nullop);
1034 token_getmad((yyvsp[-2].tkval),(yyval.opval),'{');
1035 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1036 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1042 { SvREFCNT_inc(PL_compcv);
1043 (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
1044 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1045 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
1046 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
1052 { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval));
1053 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1059 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval)));
1060 token_getmad((yyvsp[-1].tkval),(yyval.opval),'D');
1066 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1067 OPf_SPECIAL|OPf_STACKED,
1068 prepend_elem(OP_LIST,
1070 (OPpENTERSUB_AMPER<<8),
1071 scalar((yyvsp[-2].opval))
1073 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1074 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1075 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1081 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1082 OPf_SPECIAL|OPf_STACKED,
1083 append_elem(OP_LIST,
1086 (OPpENTERSUB_AMPER<<8),
1087 scalar((yyvsp[-3].opval))
1089 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1090 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1091 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1097 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1098 prepend_elem(OP_LIST,
1099 scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();
1100 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1101 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1102 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1108 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1109 prepend_elem(OP_LIST,
1111 scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();
1112 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1113 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1114 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1120 { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
1121 token_getmad((yyvsp[-3].tkval),(yyval.opval),'?');
1122 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
1128 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN));
1129 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1135 { (yyval.opval) = (yyvsp[0].opval); ;}
1140 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1141 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1147 { (yyval.opval) = sawparens(newUNOP(OP_NULL,0,(yyvsp[-1].opval)));
1148 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1149 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1155 { (yyval.opval) = sawparens(newNULLLIST());
1156 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1157 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1163 { (yyval.opval) = (yyvsp[0].opval); ;}
1168 { (yyval.opval) = (yyvsp[0].opval); ;}
1173 { (yyval.opval) = (yyvsp[0].opval); ;}
1178 { (yyval.opval) = (yyvsp[0].opval); ;}
1183 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;}
1188 { (yyval.opval) = (yyvsp[0].opval); ;}
1193 { (yyval.opval) = prepend_elem(OP_ASLICE,
1194 newOP(OP_PUSHMARK, 0),
1195 newLISTOP(OP_ASLICE, 0,
1196 list((yyvsp[-1].opval)),
1197 ref((yyvsp[-3].opval), OP_ASLICE)));
1198 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1199 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1204 #line 1008 "madly.y"
1205 { (yyval.opval) = prepend_elem(OP_HSLICE,
1206 newOP(OP_PUSHMARK, 0),
1207 newLISTOP(OP_HSLICE, 0,
1208 list((yyvsp[-2].opval)),
1209 ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE)));
1210 PL_expect = XOPERATOR;
1211 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1212 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1213 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1218 #line 1019 "madly.y"
1219 { (yyval.opval) = (yyvsp[0].opval); ;}
1223 #line 1021 "madly.y"
1224 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;}
1228 #line 1023 "madly.y"
1229 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval)));
1230 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1231 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1236 #line 1028 "madly.y"
1238 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1239 append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval))));
1241 if (op->op_type == OP_CONST) { /* defeat const fold */
1242 op = (OP*)op->op_madprop->mad_val;
1244 token_getmad((yyvsp[-2].tkval),op,'(');
1245 token_getmad((yyvsp[0].tkval),op,')');
1250 #line 1039 "madly.y"
1251 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1252 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval))));
1253 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1258 #line 1044 "madly.y"
1259 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, OPf_SPECIAL);
1260 PL_hints |= HINT_BLOCK_SCOPE;
1261 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1266 #line 1049 "madly.y"
1267 { (yyval.opval) = newLOOPEX(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1268 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1273 #line 1053 "madly.y"
1274 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
1275 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1280 #line 1057 "madly.y"
1281 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1282 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1287 #line 1061 "madly.y"
1288 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1289 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1294 #line 1065 "madly.y"
1295 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1296 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1301 #line 1069 "madly.y"
1302 { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;}
1306 #line 1071 "madly.y"
1307 { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;}
1311 #line 1073 "madly.y"
1312 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1313 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
1317 #line 1076 "madly.y"
1318 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1319 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1324 #line 1080 "madly.y"
1325 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, 0);
1326 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1327 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1328 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1333 #line 1086 "madly.y"
1334 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1335 scalar((yyvsp[0].opval))); ;}
1339 #line 1089 "madly.y"
1340 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, OPf_SPECIAL);
1341 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1342 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1343 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1348 #line 1095 "madly.y"
1349 { (yyval.opval) = newUNOP(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
1350 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1351 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1352 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1357 #line 1101 "madly.y"
1358 { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1);
1359 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1360 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1365 #line 1111 "madly.y"
1366 { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval));
1367 token_getmad((yyvsp[-2].tkval),(yyval.opval),'d');
1368 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 'a');
1369 (yyvsp[0].opval)->op_madprop = 0;
1374 #line 1117 "madly.y"
1375 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1376 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1381 #line 1124 "madly.y"
1382 { (yyval.opval) = sawparens((yyvsp[-1].opval));
1383 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1384 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1389 #line 1129 "madly.y"
1390 { (yyval.opval) = sawparens(newNULLLIST());
1391 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1392 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1397 #line 1134 "madly.y"
1398 { (yyval.opval) = (yyvsp[0].opval); ;}
1402 #line 1136 "madly.y"
1403 { (yyval.opval) = (yyvsp[0].opval); ;}
1407 #line 1138 "madly.y"
1408 { (yyval.opval) = (yyvsp[0].opval); ;}
1412 #line 1143 "madly.y"
1413 { (yyval.opval) = Nullop; ;}
1417 #line 1145 "madly.y"
1418 { (yyval.opval) = (yyvsp[0].opval); ;}
1422 #line 1149 "madly.y"
1423 { (yyval.opval) = Nullop; ;}
1427 #line 1151 "madly.y"
1428 { (yyval.opval) = (yyvsp[0].opval); ;}
1432 #line 1153 "madly.y"
1433 { OP* op = newNULLLIST();
1434 token_getmad((yyvsp[0].tkval),op,',');
1435 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
1440 #line 1162 "madly.y"
1441 { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
1445 #line 1166 "madly.y"
1446 { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1447 token_getmad((yyvsp[-1].tkval),(yyval.opval),'&');
1452 #line 1172 "madly.y"
1453 { (yyval.opval) = newSVREF((yyvsp[0].opval));
1454 token_getmad((yyvsp[-1].tkval),(yyval.opval),'$');
1459 #line 1178 "madly.y"
1460 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1461 token_getmad((yyvsp[-1].tkval),(yyval.opval),'@');
1466 #line 1184 "madly.y"
1467 { (yyval.opval) = newHVREF((yyvsp[0].opval));
1468 token_getmad((yyvsp[-1].tkval),(yyval.opval),'%');
1473 #line 1190 "madly.y"
1474 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1475 token_getmad((yyvsp[-1].tkval),(yyval.opval),'l');
1480 #line 1196 "madly.y"
1481 { (yyval.opval) = newGVREF(0,(yyvsp[0].opval));
1482 token_getmad((yyvsp[-1].tkval),(yyval.opval),'*');
1487 #line 1203 "madly.y"
1488 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1492 #line 1205 "madly.y"
1493 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1497 #line 1207 "madly.y"
1498 { (yyval.opval) = scope((yyvsp[0].opval)); ;}
1502 #line 1210 "madly.y"
1503 { (yyval.opval) = (yyvsp[0].opval); ;}