More safety, also after terms and nonterminals.

This commit is contained in:
ceriel
1985-10-03 12:38:55 +00:00
parent 5be4b432dc
commit c1d4bb2597
4 changed files with 58 additions and 51 deletions

View File

@@ -204,13 +204,16 @@ check(p) register p_gram p; {
switch (g_gettype(p)) {
case EORULE :
return;
case NONTERM :
if (g_getnpar(p)!=((nonterms[g_getnont(p)].n_flags&077) >> 3)){
case NONTERM : {
register p_nont n;
n = &nonterms[g_getnont(p)];
if (g_getnpar(p) != getntparams(n)) {
error(p->g_lineno,
"Call of %s : parameter count mismatch",
(min_nt_ent+g_getnont(p))->h_name);
}
break;
break; }
case TERM : {
register p_term q;