34 lines
		
	
	
	
		
			933 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			933 B
		
	
	
	
		
			Text
		
	
	
	
	
	
/*
 | 
						|
 * (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;
 |