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 { (yyval.opval) = newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval));
435 prepend_madprops((yyvsp[-3].tkval)->tk_mad, (yyval.opval), 'F');
436 (yyvsp[-3].tkval)->tk_mad = 0;
437 token_free((yyvsp[-3].tkval));
443 { (yyval.opval) = (yyvsp[0].opval); ;}
448 { (yyval.opval) = Nullop; ;}
453 { (yyval.opval) = newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
454 token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
460 { OP* o = newSVOP(OP_ANONCODE, 0,
461 (SV*)newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
462 (yyval.opval) = newOP(OP_NULL,0);
463 op_getmad(o,(yyval.opval),'&');
464 op_getmad((yyvsp[-3].opval),(yyval.opval),'n');
465 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
466 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
467 token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
468 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 0);
469 (yyvsp[0].opval)->op_madprop = 0;
475 { (yyval.ival) = start_subparse(FALSE, 0); ;}
480 { (yyval.ival) = start_subparse(FALSE, CVf_ANON); ;}
485 { (yyval.ival) = start_subparse(TRUE, 0); ;}
490 { const char *const name = SvPV_nolen_const(((SVOP*)(yyvsp[0].opval))->op_sv);
491 if (strEQ(name, "BEGIN") || strEQ(name, "END")
492 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
493 CvSPECIAL_on(PL_compcv);
494 (yyval.opval) = (yyvsp[0].opval); ;}
499 { (yyval.opval) = Nullop; ;}
504 { (yyval.opval) = Nullop; ;}
509 { (yyval.opval) = (yyvsp[0].opval);
510 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
516 { (yyval.opval) = newOP(OP_NULL, 0);
517 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
523 { (yyval.opval) = (yyvsp[0].opval);
524 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
530 { (yyval.opval) = newOP(OP_NULL, 0);
531 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
537 { (yyval.opval) = (yyvsp[0].opval); ;}
542 { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE;
543 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
549 { (yyval.opval) = package((yyvsp[-1].opval));
550 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
551 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
557 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
562 { (yyval.opval) = utilize(((yyvsp[-6].tkval))->tk_lval.ival, (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval));
563 token_getmad((yyvsp[-6].tkval),(yyval.opval),'o');
564 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
565 if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
566 append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
572 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
573 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
579 { (yyval.opval) = newLOGOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
580 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
586 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
587 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
593 { OP* op = newNULLLIST();
594 token_getmad((yyvsp[0].tkval),op,',');
595 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
602 (yyvsp[0].opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
603 token_getmad((yyvsp[-1].tkval),(yyvsp[0].opval),',');
604 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval));
610 { (yyval.opval) = convert(((yyvsp[-2].tkval))->tk_lval.ival, OPf_STACKED,
611 prepend_elem(OP_LIST, newGVREF(((yyvsp[-2].tkval))->tk_lval.ival,(yyvsp[-1].opval)), (yyvsp[0].opval)) );
612 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
618 { (yyval.opval) = convert(((yyvsp[-4].tkval))->tk_lval.ival, OPf_STACKED,
619 prepend_elem(OP_LIST, newGVREF(((yyvsp[-4].tkval))->tk_lval.ival,(yyvsp[-2].opval)), (yyvsp[-1].opval)) );
620 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
621 token_getmad((yyvsp[-3].tkval),(yyval.opval),'(');
622 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
628 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
630 prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)),
631 newUNOP(OP_METHOD, 0, (yyvsp[-3].opval))));
632 token_getmad((yyvsp[-4].tkval),(yyval.opval),'A');
633 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
634 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
640 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
641 append_elem(OP_LIST, scalar((yyvsp[-2].opval)),
642 newUNOP(OP_METHOD, 0, (yyvsp[0].opval))));
643 token_getmad((yyvsp[-1].tkval),(yyval.opval),'A');
649 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
651 prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)),
652 newUNOP(OP_METHOD, 0, (yyvsp[-2].opval))));
658 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
660 prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)),
661 newUNOP(OP_METHOD, 0, (yyvsp[-4].opval))));
662 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
663 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
669 { (yyval.opval) = convert(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
670 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
676 { (yyval.opval) = convert(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
677 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
678 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
679 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
685 { (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;}
690 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
692 prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval)));
698 { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval)));
699 PL_expect = XOPERATOR;
700 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
701 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
702 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
708 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval)));
709 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
710 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
716 { (yyval.opval) = newBINOP(OP_AELEM, 0,
717 ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV),
718 scalar((yyvsp[-1].opval)));
719 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
720 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
721 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
727 { (yyval.opval) = newBINOP(OP_AELEM, 0,
728 ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV),
729 scalar((yyvsp[-1].opval)));
730 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
731 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
737 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval)));
738 PL_expect = XOPERATOR;
739 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
740 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
741 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
747 { (yyval.opval) = newBINOP(OP_HELEM, 0,
748 ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV),
749 jmaybe((yyvsp[-2].opval)));
750 PL_expect = XOPERATOR;
751 token_getmad((yyvsp[-4].tkval),(yyval.opval),'a');
752 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
753 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
754 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
760 { (yyval.opval) = newBINOP(OP_HELEM, 0,
761 ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV),
762 jmaybe((yyvsp[-2].opval)));
763 PL_expect = XOPERATOR;
764 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
765 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
766 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
772 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
773 newCVREF(0, scalar((yyvsp[-3].opval))));
774 token_getmad((yyvsp[-2].tkval),(yyval.opval),'a');
775 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
776 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
782 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
783 append_elem(OP_LIST, (yyvsp[-1].opval),
784 newCVREF(0, scalar((yyvsp[-4].opval)))));
785 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
786 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
787 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
793 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
794 append_elem(OP_LIST, (yyvsp[-1].opval),
795 newCVREF(0, scalar((yyvsp[-3].opval)))));
796 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
797 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
803 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
804 newCVREF(0, scalar((yyvsp[-2].opval))));
805 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
806 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
812 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval));
813 token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
814 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
815 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
816 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
822 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop);
823 token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
824 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
825 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
826 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
832 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), ((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[0].opval));
833 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
839 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
840 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
846 { if (((yyvsp[-1].tkval))->tk_lval.ival != OP_REPEAT)
847 scalar((yyvsp[-2].opval));
848 (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval)));
849 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
855 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
856 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
862 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
863 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
869 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
870 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
876 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
877 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
883 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
884 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
890 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
891 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
898 (yyval.opval) = newRANGE(((yyvsp[-1].tkval))->tk_lval.ival, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
899 op = (UNOP*)(yyval.opval);
900 op = (UNOP*)op->op_first; /* get to flop */
901 op = (UNOP*)op->op_first; /* get to flip */
902 op = (UNOP*)op->op_first; /* get to range */
903 token_getmad((yyvsp[-1].tkval),(OP*)op,'o');
909 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
910 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
916 { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
917 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
923 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
924 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
930 { (yyval.opval) = bind_match(((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[-2].opval), (yyvsp[0].opval));
931 if ((yyval.opval)->op_type == OP_NOT)
932 token_getmad((yyvsp[-1].tkval),((UNOP*)(yyval.opval))->op_first,'~');
934 token_getmad((yyvsp[-1].tkval),(yyval.opval),'~');
940 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval)));
941 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
947 { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
948 token_getmad((yyvsp[-1].tkval),(yyval.opval),'+');
954 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
955 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
961 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));
962 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
968 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
969 mod(scalar((yyvsp[-1].opval)), OP_POSTINC));
970 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
976 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
977 mod(scalar((yyvsp[-1].opval)), OP_POSTDEC));
978 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
984 { (yyval.opval) = newUNOP(OP_PREINC, 0,
985 mod(scalar((yyvsp[0].opval)), OP_PREINC));
986 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
992 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
993 mod(scalar((yyvsp[0].opval)), OP_PREDEC));
994 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1000 { (yyval.opval) = newANONLIST((yyvsp[-1].opval));
1001 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1002 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1008 { (yyval.opval) = newANONLIST(Nullop);
1009 token_getmad((yyvsp[-1].tkval),(yyval.opval),'[');
1010 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1016 { (yyval.opval) = newANONHASH((yyvsp[-2].opval));
1017 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1018 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1019 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1025 { (yyval.opval) = newANONHASH(Nullop);
1026 token_getmad((yyvsp[-2].tkval),(yyval.opval),'{');
1027 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1028 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1034 { (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
1035 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1036 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
1037 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
1043 { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval));
1044 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1050 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval)));
1051 token_getmad((yyvsp[-1].tkval),(yyval.opval),'D');
1057 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1058 OPf_SPECIAL|OPf_STACKED,
1059 prepend_elem(OP_LIST,
1061 (OPpENTERSUB_AMPER<<8),
1062 scalar((yyvsp[-2].opval))
1064 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1065 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1066 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1072 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1073 OPf_SPECIAL|OPf_STACKED,
1074 append_elem(OP_LIST,
1077 (OPpENTERSUB_AMPER<<8),
1078 scalar((yyvsp[-3].opval))
1080 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1081 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1082 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1088 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1089 prepend_elem(OP_LIST,
1090 scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();
1091 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1092 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1093 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1099 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1100 prepend_elem(OP_LIST,
1102 scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();
1103 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1104 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1105 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1111 { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
1112 token_getmad((yyvsp[-3].tkval),(yyval.opval),'?');
1113 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
1119 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN));
1120 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1126 { (yyval.opval) = (yyvsp[0].opval); ;}
1131 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1132 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1138 { (yyval.opval) = sawparens(newUNOP(OP_NULL,0,(yyvsp[-1].opval)));
1139 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1140 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1146 { (yyval.opval) = sawparens(newNULLLIST());
1147 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1148 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1154 { (yyval.opval) = (yyvsp[0].opval); ;}
1159 { (yyval.opval) = (yyvsp[0].opval); ;}
1164 { (yyval.opval) = (yyvsp[0].opval); ;}
1169 { (yyval.opval) = (yyvsp[0].opval); ;}
1174 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;}
1179 { (yyval.opval) = (yyvsp[0].opval); ;}
1184 { (yyval.opval) = prepend_elem(OP_ASLICE,
1185 newOP(OP_PUSHMARK, 0),
1186 newLISTOP(OP_ASLICE, 0,
1187 list((yyvsp[-1].opval)),
1188 ref((yyvsp[-3].opval), OP_ASLICE)));
1189 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1190 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1196 { (yyval.opval) = prepend_elem(OP_HSLICE,
1197 newOP(OP_PUSHMARK, 0),
1198 newLISTOP(OP_HSLICE, 0,
1199 list((yyvsp[-2].opval)),
1200 ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE)));
1201 PL_expect = XOPERATOR;
1202 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1203 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1204 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1209 #line 1009 "madly.y"
1210 { (yyval.opval) = (yyvsp[0].opval); ;}
1214 #line 1011 "madly.y"
1215 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;}
1219 #line 1013 "madly.y"
1220 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval)));
1221 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1222 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1227 #line 1018 "madly.y"
1229 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1230 append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval))));
1232 if (op->op_type == OP_CONST) { /* defeat const fold */
1233 op = (OP*)op->op_madprop->mad_val;
1235 token_getmad((yyvsp[-2].tkval),op,'(');
1236 token_getmad((yyvsp[0].tkval),op,')');
1241 #line 1029 "madly.y"
1242 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1243 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval))));
1244 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1249 #line 1034 "madly.y"
1250 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, OPf_SPECIAL);
1251 PL_hints |= HINT_BLOCK_SCOPE;
1252 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1257 #line 1039 "madly.y"
1258 { (yyval.opval) = newLOOPEX(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1259 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1264 #line 1043 "madly.y"
1265 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
1266 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1271 #line 1047 "madly.y"
1272 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1273 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1278 #line 1051 "madly.y"
1279 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1280 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1285 #line 1055 "madly.y"
1286 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1287 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1292 #line 1059 "madly.y"
1293 { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;}
1297 #line 1061 "madly.y"
1298 { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;}
1302 #line 1063 "madly.y"
1303 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1304 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
1308 #line 1066 "madly.y"
1309 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1310 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1315 #line 1070 "madly.y"
1316 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, 0);
1317 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1318 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1319 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1324 #line 1076 "madly.y"
1325 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1326 scalar((yyvsp[0].opval))); ;}
1330 #line 1079 "madly.y"
1331 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, OPf_SPECIAL);
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 1085 "madly.y"
1340 { (yyval.opval) = newUNOP(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
1341 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1342 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1343 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1348 #line 1091 "madly.y"
1349 { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1);
1350 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1351 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1356 #line 1101 "madly.y"
1357 { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval));
1358 token_getmad((yyvsp[-2].tkval),(yyval.opval),'d');
1359 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 'a');
1360 (yyvsp[0].opval)->op_madprop = 0;
1365 #line 1107 "madly.y"
1366 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1367 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1372 #line 1114 "madly.y"
1373 { (yyval.opval) = sawparens((yyvsp[-1].opval));
1374 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1375 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1380 #line 1119 "madly.y"
1381 { (yyval.opval) = sawparens(newNULLLIST());
1382 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1383 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1388 #line 1124 "madly.y"
1389 { (yyval.opval) = (yyvsp[0].opval); ;}
1393 #line 1126 "madly.y"
1394 { (yyval.opval) = (yyvsp[0].opval); ;}
1398 #line 1128 "madly.y"
1399 { (yyval.opval) = (yyvsp[0].opval); ;}
1403 #line 1133 "madly.y"
1404 { (yyval.opval) = Nullop; ;}
1408 #line 1135 "madly.y"
1409 { (yyval.opval) = (yyvsp[0].opval); ;}
1413 #line 1139 "madly.y"
1414 { (yyval.opval) = Nullop; ;}
1418 #line 1141 "madly.y"
1419 { (yyval.opval) = (yyvsp[0].opval); ;}
1423 #line 1143 "madly.y"
1424 { OP* op = newNULLLIST();
1425 token_getmad((yyvsp[0].tkval),op,',');
1426 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
1431 #line 1152 "madly.y"
1432 { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
1436 #line 1156 "madly.y"
1437 { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1438 token_getmad((yyvsp[-1].tkval),(yyval.opval),'&');
1443 #line 1162 "madly.y"
1444 { (yyval.opval) = newSVREF((yyvsp[0].opval));
1445 token_getmad((yyvsp[-1].tkval),(yyval.opval),'$');
1450 #line 1168 "madly.y"
1451 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1452 token_getmad((yyvsp[-1].tkval),(yyval.opval),'@');
1457 #line 1174 "madly.y"
1458 { (yyval.opval) = newHVREF((yyvsp[0].opval));
1459 token_getmad((yyvsp[-1].tkval),(yyval.opval),'%');
1464 #line 1180 "madly.y"
1465 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1466 token_getmad((yyvsp[-1].tkval),(yyval.opval),'l');
1471 #line 1186 "madly.y"
1472 { (yyval.opval) = newGVREF(0,(yyvsp[0].opval));
1473 token_getmad((yyvsp[-1].tkval),(yyval.opval),'*');
1478 #line 1193 "madly.y"
1479 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1483 #line 1195 "madly.y"
1484 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1488 #line 1197 "madly.y"
1489 { (yyval.opval) = scope((yyvsp[0].opval)); ;}
1493 #line 1200 "madly.y"
1494 { (yyval.opval) = (yyvsp[0].opval); ;}