]> git.saurik.com Git - bison.git/blobdiff - src/main.c
Regen.
[bison.git] / src / main.c
index 6b73f9eb67bb37c962f74fd624f1c8981d36549f..b5a8e0010cba635f13dead55b0e107927e6cb2b6 100644 (file)
@@ -1,5 +1,5 @@
 /* Top level entry point of bison,
 /* Top level entry point of bison,
-   Copyright 1984, 1986, 1989, 1992, 1995, 2000, 2001, 2002
+   Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000, 2001, 2002
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
@@ -51,8 +51,8 @@ main (int argc, char *argv[])
 {
   program_name = argv[0];
   setlocale (LC_ALL, "");
 {
   program_name = argv[0];
   setlocale (LC_ALL, "");
-  bindtextdomain (PACKAGE, LOCALEDIR);
-  textdomain (PACKAGE);
+  (void) bindtextdomain (PACKAGE, LOCALEDIR);
+  (void) textdomain (PACKAGE);
 
   getargs (argc, argv);
 
 
   getargs (argc, argv);
 
@@ -84,8 +84,8 @@ main (int argc, char *argv[])
   /* Record other info about the grammar.  In files derives and
      nullable.  */
   timevar_push (TV_SETS);
   /* Record other info about the grammar.  In files derives and
      nullable.  */
   timevar_push (TV_SETS);
-  set_derives ();
-  set_nullable ();
+  derives_compute ();
+  nullable_compute ();
   timevar_pop (TV_SETS);
 
   /* Convert to nondeterministic finite state machine.  In file LR0.
   timevar_pop (TV_SETS);
 
   /* Convert to nondeterministic finite state machine.  In file LR0.
@@ -108,6 +108,14 @@ main (int argc, char *argv[])
   conflicts_print ();
   timevar_pop (TV_CONFLICTS);
 
   conflicts_print ();
   timevar_pop (TV_CONFLICTS);
 
+  /* Compute the parser tables.  */
+  timevar_push (TV_ACTIONS);
+  tables_generate ();
+  timevar_pop (TV_ACTIONS);
+
+  grammar_rules_never_reduced_report
+    (_("rule never reduced because of conflicts"));
+
   /* Output file names. */
   compute_output_file_names ();
 
   /* Output file names. */
   compute_output_file_names ();
 
@@ -119,11 +127,6 @@ main (int argc, char *argv[])
       timevar_pop (TV_REPORT);
     }
 
       timevar_pop (TV_REPORT);
     }
 
-  /* Stop if there were errors, to avoid trashing previous output
-     files.  */
-  if (complain_message_count)
-    exit (1);
-
   /* Output the VCG graph.  */
   if (graph_flag)
     {
   /* Output the VCG graph.  */
   if (graph_flag)
     {
@@ -132,10 +135,15 @@ main (int argc, char *argv[])
       timevar_pop (TV_GRAPH);
     }
 
       timevar_pop (TV_GRAPH);
     }
 
-  /* Compute the parser tables.  */
-  timevar_push (TV_ACTIONS);
-  tables_generate ();
-  timevar_pop (TV_ACTIONS);
+  /* Stop if there were errors, to avoid trashing previous output
+     files.  */
+  if (complain_message_count)
+    exit (1);
+
+  /* Lookaheads are no longer needed. */
+  timevar_push (TV_FREE);
+  lalr_free ();
+  timevar_pop (TV_FREE);
 
   /* Output the tables and the parser to ftable.  In file output.  */
   timevar_push (TV_PARSER);
 
   /* Output the tables and the parser to ftable.  In file output.  */
   timevar_push (TV_PARSER);
@@ -143,12 +151,12 @@ main (int argc, char *argv[])
   timevar_pop (TV_PARSER);
 
   timevar_push (TV_FREE);
   timevar_pop (TV_PARSER);
 
   timevar_push (TV_FREE);
+  nullable_free ();
+  derives_free ();
   tables_free ();
   states_free ();
   reduce_free ();
   conflicts_free ();
   tables_free ();
   states_free ();
   reduce_free ();
   conflicts_free ();
-  free_nullable ();
-  free_derives ();
   grammar_free ();
 
   /* The scanner memory cannot be released right after parsing, as it
   grammar_free ();
 
   /* The scanner memory cannot be released right after parsing, as it