/* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ /* $Id$ */ /* IDENTIFIER STACK DEFINITIONS */ /* The identifier stack is implemented as a stack of sets. The stack is implemented by a doubly linked list, the sets by singly linked lists. */ struct stack_level { struct stack_level *next; struct stack_level *sl_next; /* upward link */ struct stack_level *sl_previous; /* downward link */ struct stack_entry *sl_entry; /* sideward link */ arith sl_local_offset; /* @ for first coming object */ arith sl_max_block; /* maximum size of sub-block */ int sl_level; }; /* ALLOCDEF "stack_level" 5 */ struct stack_entry { struct stack_entry *next; struct idf *se_idf; }; /* ALLOCDEF "stack_entry" 5 */ extern struct stack_level *local_level; extern struct stack_level *stack_level_of(); extern int level;