case 9:
#line 180 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 10:
else {
(yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
- Nullop);
+ (OP*)NULL);
PL_parser->copline = NOLINE;
TOKEN_FREE((ps[(1) - (2)].val.p_tkval));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
case 18:
#line 243 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 19:
case 24:
#line 263 "perly.y"
{ (yyval.opval) = newFOROP(0, NULL, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)),
- Nullop, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), Nullop);
+ (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
;}
break;
case 25:
#line 271 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 26:
case 32:
#line 315 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 33:
PL_parser->copline = (line_t)(ps[(2) - (9)].val.i_tkval);
(yyval.opval) = block_end((ps[(4) - (9)].val.ival),
newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
- innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
+ innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
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))));
TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
PL_parser->copline = (line_t)(ps[(2) - (9)].val.i_tkval);
(yyval.opval) = block_end((ps[(4) - (9)].val.ival),
newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
- innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
+ innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
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))));
TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
{ OP *innerop;
(yyval.opval) = block_end((ps[(4) - (8)].val.ival),
innerop = newFOROP(0, PVAL((ps[(1) - (8)].val.p_tkval)), (line_t)IVAL((ps[(2) - (8)].val.i_tkval)),
- Nullop, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
+ (OP*)NULL, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
TOKEN_GETMAD((ps[(1) - (8)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
{ OP *forop;
PL_parser->copline = (line_t)IVAL((ps[(2) - (12)].val.i_tkval));
forop = newSTATEOP(0, PVAL((ps[(1) - (12)].val.p_tkval)),
- newWHILEOP(0, 1, (LOOP*)Nullop,
+ newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
IVAL((ps[(2) - (12)].val.i_tkval)), scalar((ps[(7) - (12)].val.opval)),
(ps[(12) - (12)].val.opval), (ps[(10) - (12)].val.opval), (ps[(9) - (12)].val.ival)));
#ifdef MAD
case 40:
#line 412 "perly.y"
{ (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)),
- newWHILEOP(0, 1, (LOOP*)Nullop,
- NOLINE, Nullop, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
+ newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
+ NOLINE, (OP*)NULL, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
break;
case 43:
#line 435 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 45:
token_free((ps[(1) - (4)].val.i_tkval));
#else
newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
- (yyval.opval) = Nullop;
+ (yyval.opval) = (OP*)NULL;
#endif
;}
break;
case 62:
#line 518 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 63:
token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
#else
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));
- (yyval.opval) = Nullop;
+ (yyval.opval) = (OP*)NULL;
#endif
;}
break;
}
#else
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));
- (yyval.opval) = Nullop;
+ (yyval.opval) = (OP*)NULL;
#endif
;}
break;
case 69:
#line 584 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 71:
#line 590 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 72:
#line 596 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
- Nullop
+ (OP*)NULL
);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
;}
#line 610 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
- Nullop
+ (OP*)NULL
);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
;}
#line 620 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL,0),
- Nullop
+ (OP*)NULL
);
PL_parser->expect = XSTATE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
token_getmad((ps[(3) - (3)].val.i_tkval),(yyval.opval),';');
#else
package((ps[(2) - (3)].val.opval));
- (yyval.opval) = Nullop;
+ (yyval.opval) = (OP*)NULL;
#endif
;}
break;
append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
#else
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));
- (yyval.opval) = Nullop;
+ (yyval.opval) = (OP*)NULL;
#endif
;}
break;
case 96:
#line 752 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, Nullop, (ps[(3) - (3)].val.opval)); ;}
+ (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
break;
case 97:
case 112:
#line 859 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), Nullop);
+ { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
case 136:
#line 989 "perly.y"
- { (yyval.opval) = newANONLIST(Nullop);
+ { (yyval.opval) = newANONLIST((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
;}
case 138:
#line 1000 "perly.y"
- { (yyval.opval) = newANONHASH(Nullop);
+ { (yyval.opval) = newANONHASH((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
scalar(newCVREF(
(OPpENTERSUB_AMPER<<8),
scalar((ps[(2) - (4)].val.opval))
- )),Nullop)); dep();
+ )),(OP*)NULL)); dep();
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
#line 1050 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
- scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), Nullop)); dep();
+ scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
case 194:
#line 1268 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 195:
case 196:
#line 1274 "perly.y"
- { (yyval.opval) = Nullop; ;}
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 197:
/* A collection of "lines" in the program */
lineseq : /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| lineseq decl
{
$$ = IF_MAD(
else {
$$ = IF_MAD(
newOP(OP_NULL, 0),
- Nullop);
+ (OP*)NULL);
PL_parser->copline = NOLINE;
TOKEN_FREE($1);
TOKEN_GETMAD($2,$$,';');
/* An expression which may have a side-effect */
sideff : error
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| expr
{ $$ = $1; }
| expr IF expr
}
| expr FOR expr
{ $$ = newFOROP(0, NULL, (line_t)IVAL($2),
- Nullop, $3, $1, Nullop);
+ (OP*)NULL, $3, $1, (OP*)NULL);
TOKEN_GETMAD($2,((LISTOP*)$$)->op_first->op_sibling,'w');
}
;
/* else and elsif blocks */
else : /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| ELSE mblock
{ ($2)->op_flags |= OPf_PARENS; $$ = scope($2);
TOKEN_GETMAD($1,$$,'o');
/* Continue blocks */
cont : /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| CONTINUE block
{ $$ = scope($2);
TOKEN_GETMAD($1,$$,'o');
PL_parser->copline = (line_t)$2;
$$ = block_end($4,
newSTATEOP(0, PVAL($1),
- innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
+ innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
IVAL($2), $5, $8, $9, $7)));
TOKEN_GETMAD($1,innerop,'L');
TOKEN_GETMAD($2,innerop,'W');
PL_parser->copline = (line_t)$2;
$$ = block_end($4,
newSTATEOP(0, PVAL($1),
- innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
+ innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
IVAL($2), $5, $8, $9, $7)));
TOKEN_GETMAD($1,innerop,'L');
TOKEN_GETMAD($2,innerop,'W');
{ OP *innerop;
$$ = block_end($4,
innerop = newFOROP(0, PVAL($1), (line_t)IVAL($2),
- Nullop, $5, $7, $8));
+ (OP*)NULL, $5, $7, $8));
TOKEN_GETMAD($1,((LISTOP*)innerop)->op_first,'L');
TOKEN_GETMAD($2,((LISTOP*)innerop)->op_first->op_sibling,'W');
TOKEN_GETMAD($3,((LISTOP*)innerop)->op_first->op_sibling,'(');
{ OP *forop;
PL_parser->copline = (line_t)IVAL($2);
forop = newSTATEOP(0, PVAL($1),
- newWHILEOP(0, 1, (LOOP*)Nullop,
+ newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
IVAL($2), scalar($7),
$12, $10, $9));
#ifdef MAD
$$ = block_end($4, forop); }
| label block cont /* a block is a loop that happens once */
{ $$ = newSTATEOP(0, PVAL($1),
- newWHILEOP(0, 1, (LOOP*)Nullop,
- NOLINE, Nullop, $2, $3, 0));
+ newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
+ NOLINE, (OP*)NULL, $2, $3, 0));
TOKEN_GETMAD($1,((LISTOP*)$$)->op_first,'L'); }
;
/* Normal expression */
nexpr : /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| sideff
;
token_free($1);
#else
newFORM($2, $3, $4);
- $$ = Nullop;
+ $$ = (OP*)NULL;
#endif
}
;
formname: WORD { $$ = $1; }
- | /* NULL */ { $$ = Nullop; }
+ | /* NULL */ { $$ = (OP*)NULL; }
;
/* Unimplemented "my sub foo { }" */
token_getmad($1,$$,'d');
#else
newMYSUB($2, $3, $4, $5, $6);
- $$ = Nullop;
+ $$ = (OP*)NULL;
#endif
}
;
}
#else
newATTRSUB($2, $3, $4, $5, $6);
- $$ = Nullop;
+ $$ = (OP*)NULL;
#endif
}
;
/* Subroutine prototype */
proto : /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| THING
;
/* Optional list of subroutine attributes */
subattrlist: /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| COLONATTR THING
{ $$ = $2;
TOKEN_GETMAD($1,$$,':');
| COLONATTR
{ $$ = IF_MAD(
newOP(OP_NULL, 0),
- Nullop
+ (OP*)NULL
);
TOKEN_GETMAD($1,$$,':');
}
| COLONATTR
{ $$ = IF_MAD(
newOP(OP_NULL, 0),
- Nullop
+ (OP*)NULL
);
TOKEN_GETMAD($1,$$,':');
}
subbody : block { $$ = $1; }
| ';' { $$ = IF_MAD(
newOP(OP_NULL,0),
- Nullop
+ (OP*)NULL
);
PL_parser->expect = XSTATE;
TOKEN_GETMAD($1,$$,';');
token_getmad($3,$$,';');
#else
package($2);
- $$ = Nullop;
+ $$ = (OP*)NULL;
#endif
}
;
append_madprops(newMADPROP('!', MAD_PV, "", 0), $$, 0);
#else
utilize(IVAL($1), $2, $4, $5, $6);
- $$ = Nullop;
+ $$ = (OP*)NULL;
#endif
}
;
}
| LSTOPSUB startanonsub block /* sub f(&@); f { foo } ... */
{ SvREFCNT_inc_simple_void(PL_compcv);
- $<opval>$ = newANONATTRSUB($2, 0, Nullop, $3); }
+ $<opval>$ = newANONATTRSUB($2, 0, (OP*)NULL, $3); }
listexpr %prec LSTOP /* ... @bar */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
TOKEN_GETMAD($6,$$,']');
}
| '(' ')' '[' expr ']' /* empty list slice! */
- { $$ = newSLICEOP(0, $4, Nullop);
+ { $$ = newSLICEOP(0, $4, (OP*)NULL);
TOKEN_GETMAD($1,$$,'(');
TOKEN_GETMAD($2,$$,')');
TOKEN_GETMAD($3,$$,'[');
TOKEN_GETMAD($3,$$,']');
}
| '[' ']'
- { $$ = newANONLIST(Nullop);
+ { $$ = newANONLIST((OP*)NULL);
TOKEN_GETMAD($1,$$,'[');
TOKEN_GETMAD($2,$$,']');
}
TOKEN_GETMAD($4,$$,'}');
}
| HASHBRACK ';' '}' %prec '(' /* { } (';' by tokener) */
- { $$ = newANONHASH(Nullop);
+ { $$ = newANONHASH((OP*)NULL);
TOKEN_GETMAD($1,$$,'{');
TOKEN_GETMAD($2,$$,';');
TOKEN_GETMAD($3,$$,'}');
scalar(newCVREF(
(OPpENTERSUB_AMPER<<8),
scalar($2)
- )),Nullop)); dep();
+ )),(OP*)NULL)); dep();
TOKEN_GETMAD($1,$$,'o');
TOKEN_GETMAD($3,$$,'(');
TOKEN_GETMAD($4,$$,')');
| DO scalar '(' ')' /* do $subref () */
{ $$ = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
- scalar(newCVREF(0,scalar($2))), Nullop)); dep();
+ scalar(newCVREF(0,scalar($2))), (OP*)NULL)); dep();
TOKEN_GETMAD($1,$$,'o');
TOKEN_GETMAD($3,$$,'(');
TOKEN_GETMAD($4,$$,')');
/* Basic list expressions */
listexpr: /* NULL */ %prec PREC_LOW
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| argexpr %prec PREC_LOW
{ $$ = $1; }
;
listexprcom: /* NULL */
- { $$ = Nullop; }
+ { $$ = (OP*)NULL; }
| expr
{ $$ = $1; }
| expr ','