]> thyrsus.com Git - cupl.git/commitdiff
Block ends are now part of a block label's symbol information.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 3 Nov 1994 23:02:17 +0000 (23:02 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 3 Nov 1994 23:02:17 +0000 (23:02 +0000)
cupl.h
interpret.c

diff --git a/cupl.h b/cupl.h
index 9ab3e5b1a66ae72136ebd2175c8a89e064798671..02277e05af74320015ae9c6f6ba110fb2e3f59ff 100644 (file)
--- 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;
index a747167d65d647b159ca0622ee2d706224108d61..33cb6c776e285d6d83f444e8365fe17683a0e707 100644 (file)
@@ -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 */