* src/output.c (output): Don't free the grammar.

* src/reader.c (grammar_free): New.
* src/main.c (main): Call it and don't free symtab here.
This commit is contained in:
Akim Demaille
2002-03-04 12:06:42 +00:00
parent 550245801e
commit 7651439487
5 changed files with 21 additions and 8 deletions

View File

@@ -1,3 +1,9 @@
2002-03-04 Akim Demaille <akim@epita.fr>
* src/output.c (output): Don't free the grammar.
* src/reader.c (grammar_free): New.
* src/main.c (main): Call it and don't free symtab here.
2002-03-04 Akim Demaille <akim@epita.fr>
* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer

View File

@@ -103,13 +103,11 @@ main (int argc, char *argv[])
/* Output the tables and the parser to ftable. In file output. */
output ();
/* Free the symbol table data structure. */
free_symtab ();
reduce_free ();
free_conflicts ();
free_nullable ();
free_derives ();
grammar_free ();
/* If using alloca.c, flush the alloca'ed memory for the benefit of
people running Bison as a library in IDEs. */

View File

@@ -1084,7 +1084,6 @@ output (void)
output_token_translations ();
output_gram ();
XFREE (ritem);
if (semantic_parser)
output_stos ();
output_rule_data ();
@@ -1095,7 +1094,6 @@ output (void)
/* Process the selected skeleton file. */
output_skeleton ();
free (rules + 1);
obstack_free (&muscle_obstack, NULL);
obstack_free (&format_obstack, NULL);
obstack_free (&action_obstack, NULL);

View File

@@ -1,5 +1,5 @@
/* Input parser for bison
Copyright 1984, 1986, 1989, 1992, 1998, 2000, 2001
Copyright (C) 1984, 1986, 1989, 1992, 1998, 2000, 2001, 2002
Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -1821,3 +1821,12 @@ reader (void)
/* The grammar as a symbol_list is no longer needed. */
LIST_FREE (symbol_list, grammar);
}
void
grammar_free (void)
{
XFREE (ritem);
free (rules + 1);
/* Free the symbol table data structure. */
free_symtab ();
}

View File

@@ -1,5 +1,5 @@
/* Input parser for bison
Copyright 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -27,8 +27,10 @@
function (YYGUARD or YYACTION) which contains a switch statement to
decide which guard or action to execute. */
extern void reader PARAMS ((void));
void reader PARAMS ((void));
/* Free the packed grammar. */
void grammar_free PARAMS ((void));
extern int lineno;