stack.str 773 B

123456789101112131415161718192021222324252627282930
  1. /* $Header$ */
  2. /* IDENTIFIER STACK DEFINITIONS */
  3. /* The identifier stack is implemented as a stack of sets.
  4. The stack is implemented by a doubly linked list,
  5. the sets by singly linked lists.
  6. */
  7. struct stack_level {
  8. struct stack_level *next;
  9. struct stack_level *sl_next; /* upward link */
  10. struct stack_level *sl_previous; /* downward link */
  11. struct stack_entry *sl_entry; /* sideward link */
  12. arith sl_local_offset; /* @ for first coming object */
  13. arith sl_max_block; /* maximum size of sub-block */
  14. int sl_level;
  15. };
  16. /* ALLOCDEF "stack_level" 5 */
  17. struct stack_entry {
  18. struct stack_entry *next;
  19. struct idf *se_idf;
  20. };
  21. /* ALLOCDEF "stack_entry" 5 */
  22. extern struct stack_level *local_level;
  23. extern struct stack_level *stack_level_of();
  24. extern int level;