Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / cemcom / l_brace.str
1 /*
2  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3  * See the copyright notice in the ACK home directory, in the file "Copyright".
4  */
5 /* $Id: l_brace.str,v 3.3 1994/06/24 12:04:22 ceriel Exp $ */
6
7 /*      To determine the minimum scope of a local variable, all (braced)
8         scopes are numbered consecutively.  Next we maintain an array which
9         maps the nesting depth (level) onto the scope number; we record
10         the scope number of the first application of a local variable
11         in its definition.  Each further application requires that the
12         level of the variable be at least large enough to comprise both
13         the present scope and that of its first application.  That level
14         number is determined by searching the array and is then recorded in
15         the definition (beacuse it is always equal to or smaller than the
16         level already there).
17
18         The array is implemented as a linked list of struct brace.
19 */
20
21 struct brace    {
22         struct brace *next;
23         int br_count;
24         int br_level;
25 };
26
27 /* ALLOCDEF "brace" 10 */
28