1989-02-07 11:04:05 +00:00
|
|
|
/*
|
|
|
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
|
|
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
|
|
|
*/
|
1994-06-27 08:03:14 +00:00
|
|
|
/* $Id$ */
|
1989-02-07 11:04:05 +00:00
|
|
|
/* 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 {
|
1991-06-24 16:33:43 +00:00
|
|
|
/* struct stack_level *next; */
|
1989-02-07 11:04:05 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
1990-01-10 17:33:35 +00:00
|
|
|
/* ALLOCDEF "stack_entry" 50 */
|
1989-02-07 11:04:05 +00:00
|
|
|
|
|
|
|
extern struct stack_level *local_level;
|
|
|
|
extern struct stack_level *stack_level_of();
|
|
|
|
extern int level;
|