git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2059
4a8a32a2-be11-0410-ad9d-
d568d2c75423
default:
// this could be just "constant"
// werror(W_PTR_TYPE_INVALID);
default:
// this could be just "constant"
// werror(W_PTR_TYPE_INVALID);
initializer
: assignment_expr { $$ = newiList(INIT_NODE,$1); }
initializer
: assignment_expr { $$ = newiList(INIT_NODE,$1); }
sprintf (lbuff,"_whilebody_%d",Lblnum++);
$$ = newSymbol(lbuff,NestLevel);
}
sprintf (lbuff,"_whilebody_%d",Lblnum++);
$$ = newSymbol(lbuff,NestLevel);
}
do : DO { /* create and push the continue , break & body Labels */
static int Lblnum = 0 ;
do : DO { /* create and push the continue , break & body Labels */
static int Lblnum = 0 ;
sprintf (lbuff,"_dobody_%d",Lblnum++);
$$ = newSymbol (lbuff,NestLevel);
}
sprintf (lbuff,"_dobody_%d",Lblnum++);
$$ = newSymbol (lbuff,NestLevel);
}
for : FOR { /* create & push continue, break & body labels */
static int Lblnum = 0 ;
for : FOR { /* create & push continue, break & body labels */
static int Lblnum = 0 ;
sprintf (lbuff,"_forcond_%d",Lblnum++);
STACK_PUSH(forStack,newSymbol(lbuff,NestLevel));
}
sprintf (lbuff,"_forcond_%d",Lblnum++);
STACK_PUSH(forStack,newSymbol(lbuff,NestLevel));
}
iteration_statement
: while '(' expr ')' statement
iteration_statement
: while '(' expr ')' statement