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 CopLABEL_alloc(((ps[(1) - (12)].val.p_tkval))->tk_lval.pval),
328 ((ps[(5) - (12)].val.opval) ? newOP(OP_NULL, 0) : (ps[(5) - (12)].val.opval)) ),
331 token_getmad((ps[(2) - (12)].val.i_tkval),forop,'3');
332 token_getmad((ps[(3) - (12)].val.i_tkval),forop,'(');
333 token_getmad((ps[(6) - (12)].val.i_tkval),forop,'1');
334 token_getmad((ps[(8) - (12)].val.i_tkval),forop,'2');
335 token_getmad((ps[(11) - (12)].val.i_tkval),forop,')');
336 token_getmad((ps[(1) - (12)].val.p_tkval),forop,'L');
338 if ((ps[(5) - (12)].val.opval)) {
339 forop = append_elem(OP_LINESEQ,
340 newSTATEOP(0, CopLABEL_alloc((ps[(1) - (12)].val.p_tkval)), (ps[(5) - (12)].val.opval)),
346 (yyval.opval) = block_end((ps[(4) - (12)].val.ival), forop); ;}
351 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)),
352 newWHILEOP(0, 1, (LOOP*)Nullop,
353 NOLINE, Nullop, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
354 TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
359 { PL_copline = (line_t) (ps[(2) - (8)].val.i_tkval);
360 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
361 newSTATEOP(0, PVAL((ps[(1) - (8)].val.p_tkval)),
362 newGIVENOP((ps[(6) - (8)].val.opval), scope((ps[(8) - (8)].val.opval)),
363 (PADOFFSET) (ps[(5) - (8)].val.ival)) )); ;}
368 { (yyval.ival) = (PL_min_intro_pending &&
369 PL_max_intro_pending >= PL_min_intro_pending);
375 { (yyval.opval) = Nullop; ;}
381 (void)scan_num("1", &tmplval);
382 (yyval.opval) = tmplval.opval; ;}
387 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
392 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
397 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
402 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
410 tmplval.pval = Nullch;
411 (yyval.p_tkval) = newTOKEN(OP_NULL, tmplval, 0);
413 (yyval.p_tkval) = Nullch;
420 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
425 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
430 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
435 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
440 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
445 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
450 { (yyval.opval) = newOP(OP_NULL,0);
451 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
457 { SvREFCNT_inc(PL_compcv);
459 (yyval.opval) = newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
460 prepend_madprops((ps[(1) - (4)].val.i_tkval)->tk_mad, (yyval.opval), 'F');
461 (ps[(1) - (4)].val.i_tkval)->tk_mad = 0;
462 token_free((ps[(1) - (4)].val.i_tkval));
464 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
465 (yyval.opval) = Nullop;
472 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
477 { (yyval.opval) = Nullop; ;}
482 { SvREFCNT_inc(PL_compcv);
484 (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));
485 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
487 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));
488 (yyval.opval) = Nullop;
495 { SvREFCNT_inc(PL_compcv);
497 OP* o = newSVOP(OP_ANONCODE, 0,
498 (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)));
499 (yyval.opval) = newOP(OP_NULL,0);
500 op_getmad(o,(yyval.opval),'&');
501 op_getmad((ps[(3) - (6)].val.opval),(yyval.opval),'n');
502 op_getmad((ps[(4) - (6)].val.opval),(yyval.opval),'s');
503 op_getmad((ps[(5) - (6)].val.opval),(yyval.opval),'a');
504 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
505 append_madprops((ps[(6) - (6)].val.opval)->op_madprop, (yyval.opval), 0);
506 (ps[(6) - (6)].val.opval)->op_madprop = 0;
508 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));
509 (yyval.opval) = Nullop;
516 { (yyval.ival) = start_subparse(FALSE, 0);
517 SAVEFREESV(PL_compcv); ;}
522 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
523 SAVEFREESV(PL_compcv); ;}
528 { (yyval.ival) = start_subparse(TRUE, 0);
529 SAVEFREESV(PL_compcv); ;}
534 { const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv);
535 if (strEQ(name, "BEGIN") || strEQ(name, "END")
536 || strEQ(name, "INIT") || strEQ(name, "CHECK")
537 || strEQ(name, "UNITCHECK"))
538 CvSPECIAL_on(PL_compcv);
539 (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
544 { (yyval.opval) = Nullop; ;}
549 { (yyval.opval) = Nullop; ;}
554 { (yyval.opval) = (ps[(2) - (2)].val.opval);
555 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
561 { (yyval.opval) = IF_MAD(
565 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
571 { (yyval.opval) = (ps[(2) - (2)].val.opval);
572 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
578 { (yyval.opval) = IF_MAD(
582 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
588 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
593 { (yyval.opval) = IF_MAD(
598 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
606 (yyval.opval) = package((ps[(2) - (3)].val.opval));
607 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
608 token_getmad((ps[(3) - (3)].val.i_tkval),(yyval.opval),';');
610 package((ps[(2) - (3)].val.opval));
611 (yyval.opval) = Nullop;
618 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
623 { SvREFCNT_inc(PL_compcv);
625 (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));
626 token_getmad((ps[(1) - (7)].val.i_tkval),(yyval.opval),'o');
627 token_getmad((ps[(7) - (7)].val.i_tkval),(yyval.opval),';');
628 if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
629 append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
631 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));
632 (yyval.opval) = Nullop;
639 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
640 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
646 { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
647 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
653 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
654 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
662 OP* op = newNULLLIST();
663 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
664 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
666 (yyval.opval) = (ps[(1) - (2)].val.opval);
674 OP* term = (ps[(3) - (3)].val.opval);
676 term = newUNOP(OP_NULL, 0, term);
677 token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
679 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
685 { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
686 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
687 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
693 { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
694 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
695 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
696 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
697 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
703 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
705 prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
706 newUNOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
707 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
708 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
709 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
715 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
716 append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
717 newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
718 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
724 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
726 prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
727 newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
733 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
735 prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
736 newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
737 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
738 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
744 { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
745 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
751 { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
752 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
753 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
754 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
760 { SvREFCNT_inc(PL_compcv);
761 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, Nullop, (ps[(3) - (3)].val.opval)); ;}
766 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
768 prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
774 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
775 PL_expect = XOPERATOR;
776 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
777 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
778 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
784 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
785 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
786 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
792 { (yyval.opval) = newBINOP(OP_AELEM, 0,
793 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
794 scalar((ps[(4) - (5)].val.opval)));
795 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
796 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
797 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
803 { (yyval.opval) = newBINOP(OP_AELEM, 0,
804 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
805 scalar((ps[(3) - (4)].val.opval)));
806 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
807 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
813 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
814 PL_expect = XOPERATOR;
815 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
816 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
817 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
823 { (yyval.opval) = newBINOP(OP_HELEM, 0,
824 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
825 jmaybe((ps[(4) - (6)].val.opval)));
826 PL_expect = XOPERATOR;
827 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'a');
828 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
829 TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
830 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
836 { (yyval.opval) = newBINOP(OP_HELEM, 0,
837 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
838 jmaybe((ps[(3) - (5)].val.opval)));
839 PL_expect = XOPERATOR;
840 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
841 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
842 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
848 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
849 newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
850 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
851 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
852 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
858 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
859 append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
860 newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
861 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
862 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
863 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
869 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
870 append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
871 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
872 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
873 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
879 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
880 newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
881 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
882 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
888 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
889 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
890 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
891 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
892 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
898 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), Nullop);
899 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
900 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
901 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
902 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
908 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
909 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
915 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
916 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
922 { if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
923 scalar((ps[(1) - (3)].val.opval));
924 (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
925 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
931 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
932 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
938 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
939 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
945 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
946 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
952 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
953 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
959 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
960 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
966 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
967 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
974 (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
977 op = (UNOP*)(yyval.opval);
978 op = (UNOP*)op->op_first; /* get to flop */
979 op = (UNOP*)op->op_first; /* get to flip */
980 op = (UNOP*)op->op_first; /* get to range */
981 token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
988 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
989 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
995 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
996 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
1002 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1003 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
1009 { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1010 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
1011 ((yyval.opval)->op_type == OP_NOT
1012 ? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
1019 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
1020 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1026 { (yyval.opval) = IF_MAD(
1027 newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
1028 (ps[(2) - (2)].val.opval)
1030 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
1036 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1037 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1043 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
1044 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1050 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1051 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
1052 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
1058 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1059 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
1060 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
1066 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1067 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
1068 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1074 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1075 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
1076 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1082 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
1083 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
1084 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
1090 { (yyval.opval) = newANONLIST(Nullop);
1091 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
1092 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
1098 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
1099 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
1100 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
1101 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
1107 { (yyval.opval) = newANONHASH(Nullop);
1108 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
1109 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
1110 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
1115 #line 1005 "perly.y"
1116 { SvREFCNT_inc(PL_compcv);
1117 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1118 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1119 OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
1120 OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
1125 #line 1016 "perly.y"
1126 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
1127 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1132 #line 1020 "perly.y"
1133 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((ps[(2) - (2)].val.opval)));
1134 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
1139 #line 1024 "perly.y"
1140 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1141 OPf_SPECIAL|OPf_STACKED,
1142 prepend_elem(OP_LIST,
1144 (OPpENTERSUB_AMPER<<8),
1145 scalar((ps[(2) - (4)].val.opval))
1147 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1148 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1149 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1154 #line 1036 "perly.y"
1155 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1156 OPf_SPECIAL|OPf_STACKED,
1157 append_elem(OP_LIST,
1158 (ps[(4) - (5)].val.opval),
1160 (OPpENTERSUB_AMPER<<8),
1161 scalar((ps[(2) - (5)].val.opval))
1163 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1164 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1165 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
1170 #line 1049 "perly.y"
1171 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1172 prepend_elem(OP_LIST,
1173 scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), Nullop)); dep();
1174 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1175 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1176 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1181 #line 1057 "perly.y"
1182 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1183 prepend_elem(OP_LIST,
1184 (ps[(4) - (5)].val.opval),
1185 scalar(newCVREF(0,scalar((ps[(2) - (5)].val.opval)))))); dep();
1186 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1187 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1188 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
1193 #line 1073 "perly.y"
1194 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1195 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1196 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
1201 #line 1078 "perly.y"
1202 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((ps[(2) - (2)].val.opval),OP_REFGEN));
1203 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1208 #line 1082 "perly.y"
1209 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1213 #line 1084 "perly.y"
1214 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1215 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
1220 #line 1088 "perly.y"
1221 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1222 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1223 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1228 #line 1093 "perly.y"
1229 { (yyval.opval) = sawparens(newNULLLIST());
1230 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1231 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
1236 #line 1098 "perly.y"
1237 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1241 #line 1100 "perly.y"
1242 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1246 #line 1102 "perly.y"
1247 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1251 #line 1104 "perly.y"
1252 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1256 #line 1106 "perly.y"
1257 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
1261 #line 1108 "perly.y"
1262 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1266 #line 1110 "perly.y"
1267 { (yyval.opval) = prepend_elem(OP_ASLICE,
1268 newOP(OP_PUSHMARK, 0),
1269 newLISTOP(OP_ASLICE, 0,
1270 list((ps[(3) - (4)].val.opval)),
1271 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1272 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1273 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
1278 #line 1119 "perly.y"
1279 { (yyval.opval) = prepend_elem(OP_HSLICE,
1280 newOP(OP_PUSHMARK, 0),
1281 newLISTOP(OP_HSLICE, 0,
1282 list((ps[(3) - (5)].val.opval)),
1283 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
1284 PL_expect = XOPERATOR;
1285 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1286 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1287 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
1292 #line 1130 "perly.y"
1293 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1297 #line 1132 "perly.y"
1298 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
1302 #line 1134 "perly.y"
1303 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1304 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1305 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1310 #line 1139 "perly.y"
1312 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1313 append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
1315 OP* op = (yyval.opval);
1316 if (op->op_type == OP_CONST) { /* defeat const fold */
1317 op = (OP*)op->op_madprop->mad_val;
1319 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1320 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
1326 #line 1152 "perly.y"
1327 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1328 append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1329 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1334 #line 1157 "perly.y"
1335 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
1336 PL_hints |= HINT_BLOCK_SCOPE;
1337 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1342 #line 1162 "perly.y"
1343 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1344 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1349 #line 1166 "perly.y"
1350 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1351 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1356 #line 1170 "perly.y"
1357 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1358 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1363 #line 1174 "perly.y"
1364 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1365 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1370 #line 1178 "perly.y"
1371 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1372 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1377 #line 1182 "perly.y"
1378 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0); ;}
1382 #line 1184 "perly.y"
1383 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); ;}
1387 #line 1186 "perly.y"
1388 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
1392 #line 1188 "perly.y"
1393 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1394 append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
1398 #line 1191 "perly.y"
1399 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1400 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1405 #line 1195 "perly.y"
1406 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1407 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1408 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1409 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1414 #line 1201 "perly.y"
1415 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1416 scalar((ps[(1) - (1)].val.opval))); ;}
1420 #line 1204 "perly.y"
1421 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1422 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1423 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
1425 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1426 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1427 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1432 #line 1213 "perly.y"
1433 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1434 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1435 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1436 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1441 #line 1219 "perly.y"
1442 { (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
1443 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1444 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
1449 #line 1229 "perly.y"
1450 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
1452 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1453 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1454 (ps[(3) - (3)].val.opval)->op_madprop = 0;
1460 #line 1237 "perly.y"
1461 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1462 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
1467 #line 1244 "perly.y"
1468 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1469 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1470 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
1475 #line 1249 "perly.y"
1476 { (yyval.opval) = sawparens(newNULLLIST());
1477 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1478 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
1483 #line 1254 "perly.y"
1484 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1488 #line 1256 "perly.y"
1489 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1493 #line 1258 "perly.y"
1494 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1498 #line 1263 "perly.y"
1499 { (yyval.opval) = Nullop; ;}
1503 #line 1265 "perly.y"
1504 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1508 #line 1269 "perly.y"
1509 { (yyval.opval) = Nullop; ;}
1513 #line 1271 "perly.y"
1514 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1518 #line 1273 "perly.y"
1521 OP* op = newNULLLIST();
1522 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
1523 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
1525 (yyval.opval) = (ps[(1) - (2)].val.opval);
1532 #line 1288 "perly.y"
1533 { PL_in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
1537 #line 1292 "perly.y"
1538 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1539 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
1544 #line 1298 "perly.y"
1545 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1546 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
1551 #line 1304 "perly.y"
1552 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1553 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
1558 #line 1310 "perly.y"
1559 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1560 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
1565 #line 1316 "perly.y"
1566 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1567 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
1572 #line 1322 "perly.y"
1573 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1574 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
1579 #line 1329 "perly.y"
1580 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1584 #line 1331 "perly.y"
1585 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1589 #line 1333 "perly.y"
1590 { (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
1594 #line 1336 "perly.y"
1595 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1599 /* Line 1267 of yacc.c. */