|
|
1.1 ! root 1: /* stack.h - structed access to object stacks ! 2: Copyright (C) 1988 Free Software Foundation, Inc. ! 3: Contributed by Michael Tiemann ([email protected]). ! 4: ! 5: This program is free software; you can redistribute it and/or modify it ! 6: under the terms of the GNU General Public License as published by the ! 7: Free Software Foundation; either version 2, or (at your option) any ! 8: later version. ! 9: ! 10: This program is distributed in the hope that it will be useful, ! 11: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 13: GNU General Public License for more details. ! 14: ! 15: You should have received a copy of the GNU General Public License ! 16: along with this program; if not, write to the Free Software ! 17: Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 18: ! 19: /* Summary: this file contains additional structures that layer ! 20: on top of obstacks for GNU C++. */ ! 21: ! 22: /* Stack of data placed on obstacks. */ ! 23: ! 24: struct stack_level ! 25: { ! 26: /* Pointer back to previous such level. */ ! 27: struct stack_level *prev; ! 28: ! 29: /* Point to obstack we should return to. */ ! 30: struct obstack *obstack; ! 31: ! 32: /* First place we start putting data. */ ! 33: tree *first; ! 34: ! 35: /* Number of entries we can have from `first'. ! 36: Right now we are dumb: if we overflow, abort. */ ! 37: int limit; ! 38: }; ! 39: ! 40: struct stack_level *push_stack_level PROTO((struct obstack *, char *, int)); ! 41: struct stack_level *pop_stack_level PROTO((struct stack_level *));
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.