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;
 |