3 { (yyval.ival) = (ps[(1) - (2)].val.ival); newPROG(block_end((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval))); ;}
8 { if (PL_copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
9 PL_copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
10 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
11 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
12 TOKEN_GETMAD((ps[(4) - (4)].val.i_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)IVAL((ps[(1) - (4)].val.i_tkval)))
36 PL_copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
37 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
38 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
39 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
45 { (yyval.ival) = block_start(FALSE); ;}
50 { (yyval.ival) = PL_savestack_ix; ;}
55 { (yyval.opval) = Nullop; ;}
61 (yyval.opval) = IF_MAD(
62 append_list(OP_LINESEQ,
63 (LISTOP*)(ps[(1) - (2)].val.opval), (LISTOP*)(ps[(2) - (2)].val.opval)),
64 (ps[(1) - (2)].val.opval));
70 { LEAVE_SCOPE((ps[(2) - (3)].val.ival));
71 (yyval.opval) = append_list(OP_LINESEQ,
72 (LISTOP*)(ps[(1) - (3)].val.opval), (LISTOP*)(ps[(3) - (3)].val.opval));
73 PL_pad_reset_pending = TRUE;
74 if ((ps[(1) - (3)].val.opval) && (ps[(3) - (3)].val.opval)) PL_hints |= HINT_BLOCK_SCOPE; ;}
79 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
80 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
85 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
90 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); ;}
96 if (PVAL((ps[(1) - (2)].val.p_tkval))) {
97 (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), newOP(OP_NULL, 0));
98 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),(yyval.opval),'L');
99 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first,';');
102 (yyval.opval) = IF_MAD(
106 TOKEN_FREE((ps[(1) - (2)].val.p_tkval));
107 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
116 (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)), (ps[(2) - (3)].val.opval));
119 /* sideff might already have a nexstate */
120 OP* op = ((LISTOP*)(yyval.opval))->op_first;
122 while (op->op_sibling &&
123 op->op_sibling->op_type == OP_NEXTSTATE)
125 token_getmad((ps[(1) - (3)].val.p_tkval),op,'L');
126 token_getmad((ps[(3) - (3)].val.i_tkval),op,';');
134 { (yyval.opval) = Nullop; ;}
139 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
144 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
145 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
151 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
152 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
158 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
159 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
165 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
166 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
172 { (yyval.opval) = newFOROP(0, Nullch, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)),
173 Nullop, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), Nullop);
174 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
180 { (yyval.opval) = Nullop; ;}
185 { ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((ps[(2) - (2)].val.opval));
186 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
192 { PL_copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
193 (yyval.opval) = newCONDOP(0, (ps[(3) - (6)].val.opval), scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
194 PL_hints |= HINT_BLOCK_SCOPE;
195 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I');
196 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'(');
197 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),')');
203 { PL_copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
204 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
205 newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
206 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
207 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
208 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
214 { PL_copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
215 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
216 newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
217 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
218 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
219 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
225 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
226 newWHENOP((ps[(4) - (6)].val.opval), scope((ps[(6) - (6)].val.opval)))); ;}
231 { (yyval.opval) = newWHENOP(0, scope((ps[(2) - (2)].val.opval))); ;}
236 { (yyval.opval) = Nullop; ;}
241 { (yyval.opval) = scope((ps[(2) - (2)].val.opval));
242 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
249 PL_copline = (line_t)(ps[(2) - (9)].val.i_tkval);
250 (yyval.opval) = block_end((ps[(4) - (9)].val.ival),
251 newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
252 innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
253 IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival))));
254 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
255 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
256 TOKEN_GETMAD((ps[(3) - (9)].val.i_tkval),innerop,'(');
257 TOKEN_GETMAD((ps[(6) - (9)].val.i_tkval),innerop,')');
264 PL_copline = (line_t)(ps[(2) - (9)].val.i_tkval);
265 (yyval.opval) = block_end((ps[(4) - (9)].val.ival),
266 newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
267 innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
268 IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival))));
269 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
270 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
271 TOKEN_GETMAD((ps[(3) - (9)].val.i_tkval),innerop,'(');
272 TOKEN_GETMAD((ps[(6) - (9)].val.i_tkval),innerop,')');
279 (yyval.opval) = block_end((ps[(4) - (10)].val.ival),
280 innerop = newFOROP(0, PVAL((ps[(1) - (10)].val.p_tkval)), (line_t)IVAL((ps[(2) - (10)].val.i_tkval)),
281 (ps[(5) - (10)].val.opval), (ps[(7) - (10)].val.opval), (ps[(9) - (10)].val.opval), (ps[(10) - (10)].val.opval)));
282 TOKEN_GETMAD((ps[(1) - (10)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
283 TOKEN_GETMAD((ps[(2) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
284 TOKEN_GETMAD((ps[(3) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'d');
285 TOKEN_GETMAD((ps[(6) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
286 TOKEN_GETMAD((ps[(8) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
293 (yyval.opval) = block_end((ps[(5) - (9)].val.ival),
294 innerop = newFOROP(0, PVAL((ps[(1) - (9)].val.p_tkval)), (line_t)IVAL((ps[(2) - (9)].val.i_tkval)),
295 mod((ps[(3) - (9)].val.opval), OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
296 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
297 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
298 TOKEN_GETMAD((ps[(4) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
299 TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
306 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
307 innerop = newFOROP(0, PVAL((ps[(1) - (8)].val.p_tkval)), (line_t)IVAL((ps[(2) - (8)].val.i_tkval)),
308 Nullop, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
309 TOKEN_GETMAD((ps[(1) - (8)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
310 TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
311 TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
312 TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
319 PL_copline = (line_t)IVAL((ps[(2) - (12)].val.i_tkval));
320 forop = newSTATEOP(0, PVAL((ps[(1) - (12)].val.p_tkval)),
321 newWHILEOP(0, 1, (LOOP*)Nullop,
322 IVAL((ps[(2) - (12)].val.i_tkval)), scalar((ps[(7) - (12)].val.opval)),
323 (ps[(12) - (12)].val.opval), (ps[(10) - (12)].val.opval), (ps[(9) - (12)].val.ival)));
325 forop = newUNOP(OP_NULL, 0, append_elem(OP_LINESEQ,
327 (((ps[(1) - (12)].val.p_tkval))->tk_lval.pval
328 ?savepv(((ps[(1) - (12)].val.p_tkval))->tk_lval.pval):Nullch),
329 ((ps[(5) - (12)].val.opval) ? newOP(OP_NULL, 0) : (ps[(5) - (12)].val.opval)) ),
332 token_getmad((ps[(2) - (12)].val.i_tkval),forop,'3');
333 token_getmad((ps[(3) - (12)].val.i_tkval),forop,'(');
334 token_getmad((ps[(6) - (12)].val.i_tkval),forop,'1');
335 token_getmad((ps[(8) - (12)].val.i_tkval),forop,'2');
336 token_getmad((ps[(11) - (12)].val.i_tkval),forop,')');
337 token_getmad((ps[(1) - (12)].val.p_tkval),forop,'L');
339 if ((ps[(5) - (12)].val.opval)) {
340 forop = append_elem(OP_LINESEQ,
341 newSTATEOP(0, ((ps[(1) - (12)].val.p_tkval)?savepv((ps[(1) - (12)].val.p_tkval)):Nullch),
342 (ps[(5) - (12)].val.opval)),
348 (yyval.opval) = block_end((ps[(4) - (12)].val.ival), forop); ;}
353 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)),
354 newWHILEOP(0, 1, (LOOP*)Nullop,
355 NOLINE, Nullop, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
356 TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
361 { PL_copline = (line_t) (ps[(2) - (8)].val.i_tkval);
362 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
363 newSTATEOP(0, PVAL((ps[(1) - (8)].val.p_tkval)),
364 newGIVENOP((ps[(6) - (8)].val.opval), scope((ps[(8) - (8)].val.opval)),
365 (PADOFFSET) (ps[(5) - (8)].val.ival)) )); ;}
370 { (yyval.ival) = (PL_min_intro_pending &&
371 PL_max_intro_pending >= PL_min_intro_pending);
377 { (yyval.opval) = Nullop; ;}
383 (void)scan_num("1", &tmplval);
384 (yyval.opval) = tmplval.opval; ;}
389 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
394 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
399 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
404 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
412 tmplval.pval = Nullch;
413 (yyval.p_tkval) = newTOKEN(OP_NULL, tmplval, 0);
415 (yyval.p_tkval) = Nullch;
422 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
427 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
432 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
437 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
442 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
447 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
452 { (yyval.opval) = newOP(OP_NULL,0);
453 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
459 { SvREFCNT_inc(PL_compcv);
461 (yyval.opval) = newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
462 prepend_madprops((ps[(1) - (4)].val.i_tkval)->tk_mad, (yyval.opval), 'F');
463 (ps[(1) - (4)].val.i_tkval)->tk_mad = 0;
464 token_free((ps[(1) - (4)].val.i_tkval));
466 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
467 (yyval.opval) = Nullop;
474 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
479 { (yyval.opval) = Nullop; ;}
484 { SvREFCNT_inc(PL_compcv);
486 (yyval.opval) = newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
487 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
489 newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
490 (yyval.opval) = Nullop;
497 { SvREFCNT_inc(PL_compcv);
499 OP* o = newSVOP(OP_ANONCODE, 0,
500 (SV*)newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval)));
501 (yyval.opval) = newOP(OP_NULL,0);
502 op_getmad(o,(yyval.opval),'&');
503 op_getmad((ps[(3) - (6)].val.opval),(yyval.opval),'n');
504 op_getmad((ps[(4) - (6)].val.opval),(yyval.opval),'s');
505 op_getmad((ps[(5) - (6)].val.opval),(yyval.opval),'a');
506 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
507 append_madprops((ps[(6) - (6)].val.opval)->op_madprop, (yyval.opval), 0);
508 (ps[(6) - (6)].val.opval)->op_madprop = 0;
510 newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
511 (yyval.opval) = Nullop;
518 { (yyval.ival) = start_subparse(FALSE, 0);
519 SAVEFREESV(PL_compcv); ;}
524 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
525 SAVEFREESV(PL_compcv); ;}
530 { (yyval.ival) = start_subparse(TRUE, 0);
531 SAVEFREESV(PL_compcv); ;}
536 { const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv);
537 if (strEQ(name, "BEGIN") || strEQ(name, "END")
538 || strEQ(name, "INIT") || strEQ(name, "CHECK")
539 || strEQ(name, "UNITCHECK"))
540 CvSPECIAL_on(PL_compcv);
541 (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
546 { (yyval.opval) = Nullop; ;}
551 { (yyval.opval) = Nullop; ;}
556 { (yyval.opval) = (ps[(2) - (2)].val.opval);
557 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
563 { (yyval.opval) = IF_MAD(
567 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
573 { (yyval.opval) = (ps[(2) - (2)].val.opval);
574 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
580 { (yyval.opval) = IF_MAD(
584 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
590 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
595 { (yyval.opval) = IF_MAD(
600 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
608 (yyval.opval) = package((ps[(2) - (3)].val.opval));
609 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
610 token_getmad((ps[(3) - (3)].val.i_tkval),(yyval.opval),';');
612 package((ps[(2) - (3)].val.opval));
613 (yyval.opval) = Nullop;
620 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
625 { SvREFCNT_inc(PL_compcv);
627 (yyval.opval) = utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
628 token_getmad((ps[(1) - (7)].val.i_tkval),(yyval.opval),'o');
629 token_getmad((ps[(7) - (7)].val.i_tkval),(yyval.opval),';');
630 if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
631 append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
633 utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
634 (yyval.opval) = Nullop;
641 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
642 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
648 { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
649 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
655 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
656 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
664 OP* op = newNULLLIST();
665 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
666 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
668 (yyval.opval) = (ps[(1) - (2)].val.opval);
676 OP* term = (ps[(3) - (3)].val.opval);
678 term = newUNOP(OP_NULL, 0, term);
679 token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
681 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
687 { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
688 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
689 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
695 { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
696 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
697 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
698 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
699 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
705 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
707 prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
708 newUNOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
709 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
710 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
711 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
717 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
718 append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
719 newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
720 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
726 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
728 prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
729 newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
735 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
737 prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
738 newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
739 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
740 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
746 { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
747 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
753 { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
754 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
755 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
756 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
762 { SvREFCNT_inc(PL_compcv);
763 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, Nullop, (ps[(3) - (3)].val.opval)); ;}
768 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
770 prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
776 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
777 PL_expect = XOPERATOR;
778 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
779 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
780 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
786 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
787 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
788 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
794 { (yyval.opval) = newBINOP(OP_AELEM, 0,
795 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
796 scalar((ps[(4) - (5)].val.opval)));
797 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
798 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
799 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
805 { (yyval.opval) = newBINOP(OP_AELEM, 0,
806 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
807 scalar((ps[(3) - (4)].val.opval)));
808 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
809 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
815 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
816 PL_expect = XOPERATOR;
817 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
818 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
819 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
825 { (yyval.opval) = newBINOP(OP_HELEM, 0,
826 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
827 jmaybe((ps[(4) - (6)].val.opval)));
828 PL_expect = XOPERATOR;
829 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'a');
830 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
831 TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
832 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
838 { (yyval.opval) = newBINOP(OP_HELEM, 0,
839 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
840 jmaybe((ps[(3) - (5)].val.opval)));
841 PL_expect = XOPERATOR;
842 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
843 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
844 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
850 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
851 newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
852 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
853 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
854 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
860 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
861 append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
862 newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
863 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
864 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
865 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
871 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
872 append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
873 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
874 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
875 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
881 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
882 newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
883 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
884 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
890 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
891 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
892 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
893 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
894 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
900 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), Nullop);
901 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
902 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
903 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
904 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
910 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
911 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
917 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
918 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
924 { if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
925 scalar((ps[(1) - (3)].val.opval));
926 (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
927 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
933 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
934 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
940 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
941 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
947 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
948 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
954 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
955 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
961 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
962 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
968 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
969 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
976 (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
979 op = (UNOP*)(yyval.opval);
980 op = (UNOP*)op->op_first; /* get to flop */
981 op = (UNOP*)op->op_first; /* get to flip */
982 op = (UNOP*)op->op_first; /* get to range */
983 token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
990 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
991 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
997 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
998 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
1004 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1005 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
1011 { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1012 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
1013 ((yyval.opval)->op_type == OP_NOT
1014 ? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
1021 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
1022 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1028 { (yyval.opval) = IF_MAD(
1029 newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
1030 (ps[(2) - (2)].val.opval)
1032 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
1038 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1039 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1045 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
1046 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1052 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1053 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
1054 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
1060 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1061 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
1062 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
1068 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1069 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
1070 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1076 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1077 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
1078 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1084 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
1085 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
1086 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
1092 { (yyval.opval) = newANONLIST(Nullop);
1093 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
1094 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
1100 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
1101 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
1102 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
1103 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
1108 #line 1001 "perly.y"
1109 { (yyval.opval) = newANONHASH(Nullop);
1110 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
1111 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
1112 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
1117 #line 1007 "perly.y"
1118 { SvREFCNT_inc(PL_compcv);
1119 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1120 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1121 OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
1122 OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
1127 #line 1018 "perly.y"
1128 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
1129 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1134 #line 1022 "perly.y"
1135 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((ps[(2) - (2)].val.opval)));
1136 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
1141 #line 1026 "perly.y"
1142 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1143 OPf_SPECIAL|OPf_STACKED,
1144 prepend_elem(OP_LIST,
1146 (OPpENTERSUB_AMPER<<8),
1147 scalar((ps[(2) - (4)].val.opval))
1149 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1150 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1151 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1156 #line 1038 "perly.y"
1157 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1158 OPf_SPECIAL|OPf_STACKED,
1159 append_elem(OP_LIST,
1160 (ps[(4) - (5)].val.opval),
1162 (OPpENTERSUB_AMPER<<8),
1163 scalar((ps[(2) - (5)].val.opval))
1165 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1166 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1167 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
1172 #line 1051 "perly.y"
1173 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1174 prepend_elem(OP_LIST,
1175 scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), Nullop)); dep();
1176 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1177 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1178 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1183 #line 1059 "perly.y"
1184 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1185 prepend_elem(OP_LIST,
1186 (ps[(4) - (5)].val.opval),
1187 scalar(newCVREF(0,scalar((ps[(2) - (5)].val.opval)))))); dep();
1188 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1189 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1190 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
1195 #line 1075 "perly.y"
1196 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1197 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1198 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
1203 #line 1080 "perly.y"
1204 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((ps[(2) - (2)].val.opval),OP_REFGEN));
1205 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1210 #line 1084 "perly.y"
1211 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1215 #line 1086 "perly.y"
1216 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1217 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
1222 #line 1090 "perly.y"
1223 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1224 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1225 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1230 #line 1095 "perly.y"
1231 { (yyval.opval) = sawparens(newNULLLIST());
1232 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1233 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
1238 #line 1100 "perly.y"
1239 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1243 #line 1102 "perly.y"
1244 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1248 #line 1104 "perly.y"
1249 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1253 #line 1106 "perly.y"
1254 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1258 #line 1108 "perly.y"
1259 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
1263 #line 1110 "perly.y"
1264 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1268 #line 1112 "perly.y"
1269 { (yyval.opval) = prepend_elem(OP_ASLICE,
1270 newOP(OP_PUSHMARK, 0),
1271 newLISTOP(OP_ASLICE, 0,
1272 list((ps[(3) - (4)].val.opval)),
1273 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1274 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1275 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
1280 #line 1121 "perly.y"
1281 { (yyval.opval) = prepend_elem(OP_HSLICE,
1282 newOP(OP_PUSHMARK, 0),
1283 newLISTOP(OP_HSLICE, 0,
1284 list((ps[(3) - (5)].val.opval)),
1285 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
1286 PL_expect = XOPERATOR;
1287 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1288 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1289 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
1294 #line 1132 "perly.y"
1295 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1299 #line 1134 "perly.y"
1300 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
1304 #line 1136 "perly.y"
1305 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1306 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1307 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1312 #line 1141 "perly.y"
1314 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1315 append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
1317 OP* op = (yyval.opval);
1318 if (op->op_type == OP_CONST) { /* defeat const fold */
1319 op = (OP*)op->op_madprop->mad_val;
1321 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1322 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
1328 #line 1154 "perly.y"
1329 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1330 append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1331 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1336 #line 1159 "perly.y"
1337 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
1338 PL_hints |= HINT_BLOCK_SCOPE;
1339 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1344 #line 1164 "perly.y"
1345 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1346 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1351 #line 1168 "perly.y"
1352 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1353 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1358 #line 1172 "perly.y"
1359 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1360 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1365 #line 1176 "perly.y"
1366 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1367 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1372 #line 1180 "perly.y"
1373 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1374 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1379 #line 1184 "perly.y"
1380 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0); ;}
1384 #line 1186 "perly.y"
1385 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); ;}
1389 #line 1188 "perly.y"
1390 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1394 #line 1190 "perly.y"
1395 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1396 append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
1400 #line 1193 "perly.y"
1401 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1402 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1407 #line 1197 "perly.y"
1408 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1409 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1410 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1411 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1416 #line 1203 "perly.y"
1417 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1418 scalar((ps[(1) - (1)].val.opval))); ;}
1422 #line 1206 "perly.y"
1423 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1424 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1425 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
1427 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1428 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1429 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1434 #line 1215 "perly.y"
1435 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1436 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1437 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1438 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1443 #line 1221 "perly.y"
1444 { (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
1445 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1446 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1451 #line 1231 "perly.y"
1452 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
1454 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1455 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1456 (ps[(3) - (3)].val.opval)->op_madprop = 0;
1462 #line 1239 "perly.y"
1463 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1464 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
1469 #line 1246 "perly.y"
1470 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1471 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1472 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1477 #line 1251 "perly.y"
1478 { (yyval.opval) = sawparens(newNULLLIST());
1479 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1480 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
1485 #line 1256 "perly.y"
1486 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1490 #line 1258 "perly.y"
1491 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1495 #line 1260 "perly.y"
1496 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1500 #line 1265 "perly.y"
1501 { (yyval.opval) = Nullop; ;}
1505 #line 1267 "perly.y"
1506 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1510 #line 1271 "perly.y"
1511 { (yyval.opval) = Nullop; ;}
1515 #line 1273 "perly.y"
1516 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1520 #line 1275 "perly.y"
1523 OP* op = newNULLLIST();
1524 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
1525 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
1527 (yyval.opval) = (ps[(1) - (2)].val.opval);
1534 #line 1290 "perly.y"
1535 { PL_in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
1539 #line 1294 "perly.y"
1540 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1541 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
1546 #line 1300 "perly.y"
1547 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1548 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
1553 #line 1306 "perly.y"
1554 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1555 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
1560 #line 1312 "perly.y"
1561 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1562 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
1567 #line 1318 "perly.y"
1568 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1569 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
1574 #line 1324 "perly.y"
1575 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1576 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
1581 #line 1331 "perly.y"
1582 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1586 #line 1333 "perly.y"
1587 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1591 #line 1335 "perly.y"
1592 { (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
1596 #line 1338 "perly.y"
1597 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1601 /* Line 1267 of yacc.c. */