summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--src/LR0.c1
-rw-r--r--src/closure.c1
-rw-r--r--src/conflicts.c1
-rw-r--r--src/derives.c1
-rw-r--r--src/files.c6
-rw-r--r--src/lalr.c1
-rw-r--r--src/lex.c10
-rw-r--r--src/lex.h3
-rw-r--r--src/main.c2
-rw-r--r--src/nullable.c1
-rw-r--r--src/output.c1
-rw-r--r--src/print.c1
-rw-r--r--src/print_graph.c1
-rw-r--r--src/reader.c3
-rw-r--r--src/reduce.c1
-rw-r--r--src/symtab.c1
-rw-r--r--src/system.h10
-rw-r--r--src/vcg.c1
19 files changed, 32 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d6384aa..5aad1421 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2001-09-25 Akim Demaille <akim@epita.fr>
+
+ * src/system.h: Include `xalloc.h'.
+ Remove it from the C files.
+ * src/files.c (output_files): Free the obstacks.
+ * src/lex.c (init_lex): Rename as...
+ (lex_init): this.
+ (lex_free): New.
+ * src/main.c (main): Use it.
+
2001-09-24 Marc Autret <autret_m@epita.fr>
* src/vcg.c (open_edge, close_edge, open_node, close_node): Change
diff --git a/src/LR0.c b/src/LR0.c
index 644d2644..133a8218 100644
--- a/src/LR0.c
+++ b/src/LR0.c
@@ -23,7 +23,6 @@
The entry point is generate_states. */
#include "system.h"
-#include "xalloc.h"
#include "gram.h"
#include "state.h"
#include "complain.h"
diff --git a/src/closure.c b/src/closure.c
index 6d3d2207..03a59f0b 100644
--- a/src/closure.c
+++ b/src/closure.c
@@ -19,7 +19,6 @@
02111-1307, USA. */
#include "system.h"
-#include "xalloc.h"
#include "gram.h"
#include "closure.h"
#include "derives.h"
diff --git a/src/conflicts.c b/src/conflicts.c
index dc9ee3d6..626db934 100644
--- a/src/conflicts.c
+++ b/src/conflicts.c
@@ -20,7 +20,6 @@
#include "system.h"
#include "getargs.h"
-#include "xalloc.h"
#include "files.h"
#include "gram.h"
#include "state.h"
diff --git a/src/derives.c b/src/derives.c
index 49b4edff..e9c75649 100644
--- a/src/derives.c
+++ b/src/derives.c
@@ -25,7 +25,6 @@
*/
#include "system.h"
-#include "xalloc.h"
#include "types.h"
#include "gram.h"
#include "derives.h"
diff --git a/src/files.c b/src/files.c
index 3966ef55..628ce8f2 100644
--- a/src/files.c
+++ b/src/files.c
@@ -22,7 +22,6 @@
#include "system.h"
#include "getargs.h"
#include "files.h"
-#include "xalloc.h"
#include "gram.h"
#include "complain.h"
@@ -467,14 +466,17 @@ output_files (void)
obstack_save (&table_obstack, spec_outfile);
else
obstack_save (&table_obstack, stringappend (base_name, src_extension));
+ obstack_free (&table_obstack, NULL);
/* Output the header file if wanted. */
if (defines_flag)
defines_obstack_save (spec_defines_file);
+ obstack_free (&defines_obstack, NULL);
/* If we output only the table, dump the actions in ACTFILE. */
if (no_parser_flag)
obstack_save (&action_obstack, stringappend (short_base_name, ".act"));
+ obstack_free (&action_obstack, NULL);
/* If we produced a semantic parser ATTRS_OBSTACK must be dumped
into its own file, ATTTRSFILE. */
@@ -483,10 +485,12 @@ output_files (void)
char *temp_name;
obstack_save (&attrs_obstack, attrsfile);
+ obstack_free (&attrs_obstack, NULL);
temp_name = stringappend (short_base_name, EXT_GUARD_C);
#ifndef MSDOS
temp_name = stringappend (temp_name, src_extension);
#endif /* MSDOS */
obstack_save (&guard_obstack, temp_name);
+ obstack_free (&guard_obstack, NULL);
}
}
diff --git a/src/lalr.c b/src/lalr.c
index 7e8aff70..48635ef3 100644
--- a/src/lalr.c
+++ b/src/lalr.c
@@ -26,7 +26,6 @@
#include "system.h"
#include "types.h"
#include "LR0.h"
-#include "xalloc.h"
#include "gram.h"
#include "complain.h"
#include "lalr.h"
diff --git a/src/lex.c b/src/lex.c
index ecb6507e..6c66caac 100644
--- a/src/lex.c
+++ b/src/lex.c
@@ -24,7 +24,6 @@
#include "getopt.h" /* for optarg */
#include "symtab.h"
#include "lex.h"
-#include "xalloc.h"
#include "complain.h"
#include "gram.h"
#include "quote.h"
@@ -43,13 +42,20 @@ static bucket *unlexed_symval = NULL;
void
-init_lex (void)
+lex_init (void)
{
obstack_init (&token_obstack);
unlexed = tok_undef;
}
+void
+lex_free (void)
+{
+ obstack_free (&token_obstack, NULL);
+}
+
+
int
skip_white_space (void)
{
diff --git a/src/lex.h b/src/lex.h
index 1bf675a2..6a9b2f5a 100644
--- a/src/lex.h
+++ b/src/lex.h
@@ -58,7 +58,8 @@ extern const char *token_buffer;
extern bucket *symval;
extern int numval;
-void init_lex PARAMS ((void));
+void lex_init PARAMS ((void));
+void lex_free PARAMS ((void));
int skip_white_space PARAMS ((void));
void unlex PARAMS ((int));
void read_type_name PARAMS ((FILE *fin));
diff --git a/src/main.c b/src/main.c
index 6e7a87c0..60322cf3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -102,6 +102,8 @@ main (int argc, char *argv[])
/* Free the symbol table data structure. */
free_symtab ();
+ lex_free ();
+
/* Close the input files. */
close_files ();
diff --git a/src/nullable.c b/src/nullable.c
index 7240132f..33654918 100644
--- a/src/nullable.c
+++ b/src/nullable.c
@@ -26,7 +26,6 @@
#include "system.h"
#include "types.h"
#include "gram.h"
-#include "xalloc.h"
#include "nullable.h"
char *nullable = NULL;
diff --git a/src/output.c b/src/output.c
index 83476c5f..19fcb019 100644
--- a/src/output.c
+++ b/src/output.c
@@ -94,7 +94,6 @@
#include "obstack.h"
#include "quotearg.h"
#include "getargs.h"
-#include "xalloc.h"
#include "files.h"
#include "gram.h"
#include "LR0.h"
diff --git a/src/print.c b/src/print.c
index 619b8a76..ccafbdc6 100644
--- a/src/print.c
+++ b/src/print.c
@@ -20,7 +20,6 @@
#include "system.h"
-#include "xalloc.h"
#include "files.h"
#include "gram.h"
#include "LR0.h"
diff --git a/src/print_graph.c b/src/print_graph.c
index e326341a..a00434db 100644
--- a/src/print_graph.c
+++ b/src/print_graph.c
@@ -19,7 +19,6 @@
Boston, MA 02111-1307, USA. */
#include "system.h"
-#include "xalloc.h"
#include "files.h"
#include "gram.h"
#include "LR0.h"
diff --git a/src/reader.c b/src/reader.c
index 2e489846..5731bf8f 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -26,7 +26,6 @@
#include "quote.h"
#include "getargs.h"
#include "files.h"
-#include "xalloc.h"
#include "symtab.h"
#include "lex.h"
#include "gram.h"
@@ -1912,7 +1911,7 @@ reader (void)
grammar = NULL;
- init_lex ();
+ lex_init ();
lineno = 1;
/* Initialize the symbol table. */
diff --git a/src/reduce.c b/src/reduce.c
index ce295b5b..b2299b33 100644
--- a/src/reduce.c
+++ b/src/reduce.c
@@ -29,7 +29,6 @@
#include "getargs.h"
#include "files.h"
#include "gram.h"
-#include "xalloc.h"
#include "complain.h"
#include "reduce.h"
#include "reader.h"
diff --git a/src/symtab.c b/src/symtab.c
index bf4a882f..6e5d5ea9 100644
--- a/src/symtab.c
+++ b/src/symtab.c
@@ -20,7 +20,6 @@
#include "system.h"
-#include "xalloc.h"
#include "symtab.h"
#include "gram.h"
diff --git a/src/system.h b/src/system.h
index 5d15969a..b3c8f6d9 100644
--- a/src/system.h
+++ b/src/system.h
@@ -73,7 +73,7 @@ extern int errno;
# define PARAMS(p) ()
#endif
-
+# include "xalloc.h"
/*---------------------.
| Missing prototypes. |
@@ -159,9 +159,9 @@ typedef int bool;
| Obstacks. |
`-----------*/
-#define obstack_chunk_alloc xmalloc
-#define obstack_chunk_free free
-#include "obstack.h"
+# define obstack_chunk_alloc xmalloc
+# define obstack_chunk_free free
+# include "obstack.h"
#define obstack_sgrow(Obs, Str) \
obstack_grow (Obs, Str, strlen (Str))
@@ -271,8 +271,6 @@ do { \
# if WITH_DMALLOC
# define DMALLOC_FUNC_CHECK
# include <dmalloc.h>
-
# endif /* WITH_DMALLOC */
-
#endif /* BISON_SYSTEM_H */
diff --git a/src/vcg.c b/src/vcg.c
index 515e9a2f..f6466481 100644
--- a/src/vcg.c
+++ b/src/vcg.c
@@ -19,7 +19,6 @@
Boston, MA 02111-1307, USA. */
#include "system.h"
-#include "xalloc.h"
#include "vcg.h"
#include "vcg_defaults.h"