uchar iota; // OLITERAL made from iota
uchar embedded; // ODCLFIELD embedded type
uchar colas; // OAS resulting from :=
+ uchar diag; // already printed error about this
// most nodes
Node* left;
}
break;
}
-
- yyerror("bad shape across assignment - cr=%d cl=%d\n", cr, cl);
+ if(l->diag == 0) {
+ l->diag = 1;
+ yyerror("assignment count mismatch: %d = %d", cl, cr);
+ }
goto ret;
case OBREAK:
return n;
badt:
- yyerror("shape error across :=");
+ if(nl->diag == 0) {
+ nl->diag = 1;
+ yyerror("assignment count mismatch: %d = %d", cl, cr);
+ }
return nl;
}