35 lines
937 B
Plaintext
35 lines
937 B
Plaintext
|
/*
|
||
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
||
|
*/
|
||
|
/* $Header$ */
|
||
|
/* 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;
|