From: Eric S. Raymond Date: Thu, 3 Nov 1994 23:02:17 +0000 (+0000) Subject: Block ends are now part of a block label's symbol information. X-Git-Tag: 1-2~82 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=826bfca264d8ba071a64031460fbd0bc45e95d8d;p=cupl.git Block ends are now part of a block label's symbol information. --- diff --git a/cupl.h b/cupl.h index 9ab3e5b..02277e0 100644 --- a/cupl.h +++ b/cupl.h @@ -77,6 +77,7 @@ typedef struct lvar_t node *node; /* variable's symbol info */ value value; /* variable's value */ node *target; /* target node, if label */ + node *endnode; /* end node address, if block label */ /* information used for consistency checks */ int blabeldef; diff --git a/interpret.c b/interpret.c index a747167..33cb6c7 100644 --- a/interpret.c +++ b/interpret.c @@ -353,10 +353,11 @@ static void rewrite(node *tree) endnode->car->car->u.string) == 0) { found = TRUE; + np->syminf->endnode = endnode; break; } if (!found) - die("no END matching block label %s\n", sp->car->u.string); + die("no END matching %s BLOCK\n", sp->car->u.string); } /* rewrite code coes here */