void cntstr __P((void));
int getcc __P((void));
int mapch __P((int ac));
-union tree0 *tree0 __P((int eflag));
+union tree0 *tree0 __P((/*int eflag*/));
union tree0 *xprtype0 __P((void));
char *copnum __P((int len));
void setinit __P((register struct nmlist *np));
void statement __P((void));
int forstmt __P((void));
-union tree0 *pexpr __P((int eflag));
+union tree0 *pexpr __P((/*int eflag*/));
void pswitch0 __P((void));
void funchead __P((void));
void blockhead __P((void));
* "," or ":" because those delimiters are special
* in initializer (and some other) expressions.
*/
-union tree0 *tree0(eflag) int eflag; {
+union tree0 *tree0(/*eflag*/) /*int eflag;*/ {
int *op, opst[SSIZE], *pp, prst[SSIZE];
register int andflg, o;
register struct nmlist *cs;
int p, ps, os, xo = 0, *xop;
- char *svtree;
+ /*char *svtree;*/
static struct cnode garbage = { CON, INT, (int *)NULL, (union str *)NULL, 0 };
- svtree = starttree();
+ /*svtree = starttree();*/
op = opst;
pp = prst;
*op = SEOF;
case SEOF:
peeksym = o;
build(0); /* flush conversions */
- if (eflag)
- endtree(svtree);
+ /*if (eflag)
+ endtree(svtree);*/
return(*--cp0);
case COMMA:
syntax:
error0("Expression syntax");
errflush(o);
- if (eflag)
- endtree(svtree);
+ /*if (eflag)
+ endtree(svtree);*/
return((union tree0 *) &garbage);
}
*/
int conexp() {
register union tree0 *t;
-
+ char *st = starttree();
initflg++;
- if (t = tree0(1))
+ if (t = tree0(/*1*/))
if (t->t.op != CON)
error0("Constant required");
initflg--;
/*fprintf(stderr, "conexp() %d\n", t->c.value);*/
+ endtree(st);
return(t->c.value);
}
char *st;
initflg++;
st = starttree();
- s = tree0(0);
+ s = tree0(/*0*/);
initflg = 0;
if (np.hflag&FFIELD)
error0("No field initialization");
register int o2;
register union tree0 *np;
- np = pexpr(1);
+ char *st = starttree();
+ np = pexpr(/*1*/);
o2 = 0;
if ((o1=symbol())==KEYW) switch (cval) {
case GOTO:
chconbrk(o2);
cbranch0(np, o2, 1);
hardif:
+ endtree(st);
if ((o=symbol())!=SEMI)
goto syntax;
if ((o1=symbol())==KEYW && cval==ELSE)
}
peeksym = o1;
cbranch0(np, o1=isn0++, 0);
+ endtree(st);
statement();
if ((o=symbol())==KEYW && cval==ELSE) {
o2 = isn0++;
}
case WHILE: {
+ char *st;
register int o2;
o1 = contlab;
o2 = brklab;
label0(contlab = isn0++);
- cbranch0(pexpr(1), brklab=isn0++, 0);
+ st = starttree();
+ cbranch0(pexpr(/*1*/), brklab=isn0++, 0);
+ endtree(st);
statement();
branch0(contlab);
label0(brklab);
label0(contlab);
contlab = o1;
if ((o=symbol())==KEYW && cval==WHILE) {
- cbranch0(tree0(1), o3, 1);
+ char *st = starttree();
+ cbranch0(tree0(/*1*/), o3, 1);
+ endtree(st);
label0(brklab);
brklab = o2;
goto semi;
o1 = brklab;
brklab = isn0++;
st = starttree();
- np = pexpr(0);
+ np = pexpr(/*0*/);
chkw(np, -1);
rcexpr0(block(RFORCE,0,(int *)NULL,(union str *)NULL,np,TNULL0));
endtree(st);
}
}
peeksym = o;
- rcexpr0(tree0(1));
+ {
+ char *st = starttree();
+ rcexpr0(tree0(/*1*/));
+ endtree(st);
+ }
semi:
if ((o=symbol())==SEMI)
if ((o=symbol()) != LPARN)
return(o);
+ ss = starttree();
if ((o=symbol()) != SEMI) { /* init part */
peeksym = o;
- rcexpr0(tree0(1));
+ rcexpr0(tree0(/*1*/));
if ((o=symbol()) != SEMI)
+ {
+ endtree(ss);
return(o);
+ }
}
l = isn0;
isn0 += 3;
st = NULL;
if ((o=symbol()) != SEMI) { /* test part */
peeksym = o;
- ss = starttree();
+ /* ss = starttree();*/
st = tree0(0);
if ((o=symbol()) != SEMI) {
endtree(ss);
}
if ((o=symbol()) != RPARN) { /* incr part */
peeksym = o;
- rcexpr0(tree0(1));
+ rcexpr0(tree0(/*1*/));
if ((o=symbol()) != RPARN) {
- if (st)
+ /* if (st)*/
endtree(ss);
return(o);
}
label0(l+0);
if (st) {
cbranch0(st, l+1, 1);
- endtree(ss);
+ /* endtree(ss);*/
} else
branch0(l+1);
+ endtree(ss);
branch0(brklab);
label0(l+2);
statement();
* A parenthesized expression,
* as after "if".
*/
-union tree0 *pexpr(eflag) int eflag; {
+union tree0 *pexpr(/*eflag*/) /*int eflag;*/ {
register int o;
register union tree0 *t;
if ((o=symbol())!=LPARN)
goto syntax;
- t = tree0(eflag);
+ t = tree0(/*eflag*/);
if ((o=symbol())!=RPARN)
goto syntax;
if (t->t.type==VOID)
register char *st;
st = starttree();
- *cp0++ = tree0(0);
+ *cp0++ = tree0(/*0*/);
build(STAR);
chkw(np = *--cp0, -1);
rcexpr0(block(JUMP, 0, (int *)NULL, (union str *)NULL, np, TNULL0));
st = starttree();
*cp0++ = (union tree0 *)&funcblk0;
- *cp0++ = tree0(0);
+ *cp0++ = tree0(/*0*/);
build(ASSIGN);
cp0[-1] = cp0[-1]->t.tr2;
build(RFORCE);