annotate src/Stack.cc @ 487:b7539a7224cc

[project @ 1994-07-06 14:26:10 by jwe] Initial revision
author jwe
date Wed, 06 Jul 1994 14:26:10 +0000
parents
children b9284136189a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
487
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
1 // Template stack class -*- C++ -*-
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
2 /*
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
3
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
4 Copyright (C) 1993, 1994 John W. Eaton
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
5
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
6 This file is part of Octave.
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
7
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
10 Free Software Foundation; either version 2, or (at your option) any
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
11 later version.
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
12
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
16 for more details.
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
17
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
19 along with Octave; see the file COPYING. If not, write to the Free
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
20 Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
21
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
22 */
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
23
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
24 // Maybe this will work with 2.6.x and beyond?
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
25
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
26 #ifdef HAVE_CONFIG_H
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
27 #include "config.h"
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
28 #endif
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
29
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
30 #if defined (__GNUG__) && defined (USE_EXTERNAL_TEMPLATES)
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
31 #pragma implementation
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
32 #endif
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
33
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
34 #include <iostream.h>
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
35
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
36 #include "Stack.h"
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
37
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
38 template <class T>
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
39 void
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
40 Stack<T>::error (const char *msg)
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
41 {
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
42 cerr << msg;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
43 }
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
44
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
45 #ifdef __GNUG__
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
46 #if defined (OCTAVE_SOURCE) && defined (USE_EXTERNAL_TEMPLATES)
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
47
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
48 typedef Stack<int> stack_type_int;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
49 typedef Stack<char *> stack_type_p_char;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
50
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
51 #include "symtab.h"
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
52 typedef Stack<symbol_def *> stack_type_p_symbol_def;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
53
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
54 #include "token.h"
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
55 typedef Stack<token *> stack_type_p_token;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
56
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
57 #include "tree.h"
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
58 typedef Stack<tree_matrix *> stack_type_p_tree_matrix;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
59
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
60 #include "unwind-prot.h"
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
61 typedef Stack<unwind_elem> stack_type_unwind_elem;
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
62
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
63 #endif
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
64 #endif
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
65
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
66 /*
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
67 ;;; Local Variables: ***
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
68 ;;; mode: C++ ***
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
69 ;;; page-delimiter: "^/\\*" ***
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
70 ;;; End: ***
b7539a7224cc [project @ 1994-07-06 14:26:10 by jwe]
jwe
parents:
diff changeset
71 */