X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7651439487857a666baa5fa5df453b715a85a090..febef6caeca3c31c336edd636609d9f4ec865452:/src/main.c diff --git a/src/main.c b/src/main.c index 16634de5..2eb8f150 100644 --- a/src/main.c +++ b/src/main.c @@ -23,6 +23,8 @@ #include "system.h" #include "bitset.h" #include "getargs.h" +#include "symtab.h" +#include "gram.h" #include "files.h" #include "complain.h" #include "derives.h" @@ -36,8 +38,6 @@ #include "conflicts.h" #include "print_graph.h" #include "muscle_tab.h" -#include "symtab.h" -#include "lex.h" /* The name this program was run with, for messages. */ char *program_name; @@ -50,6 +50,8 @@ main (int argc, char *argv[]) bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); + bitset_stats_init (); + lineno = 0; getargs (argc, argv); @@ -81,14 +83,14 @@ main (int argc, char *argv[]) lookahead is not enough to disambiguate the parsing. In file conflicts. Also resolve s/r conflicts based on precedence declarations. */ - solve_conflicts (); + conflicts_solve (); conflicts_print (); /* Output file names. */ compute_output_file_names (); /* Output the detailed report on the grammar. */ - if (verbose_flag) + if (report_flag) print_results (); /* Stop if there were errors, to avoid trashing previous output @@ -104,11 +106,15 @@ main (int argc, char *argv[]) output (); reduce_free (); - free_conflicts (); + conflicts_free (); free_nullable (); free_derives (); grammar_free (); + /* The scanner memory cannot be released right after parsing, as it + contains things such as user actions, prologue, epilogue etc. */ + scanner_free (); + muscle_free (); /* If using alloca.c, flush the alloca'ed memory for the benefit of people running Bison as a library in IDEs. */ #if C_ALLOCA