]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Regen.
[bison.git] / ChangeLog
index ff06798ab5eecae15b9b638899bf9d77e90f2d85..bbca444ba9c2e56d187f0b82898451984627e636 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,191 @@
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       Make `make distcheck' work.
+
+       * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
+       system.h which uses libgettext.h.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (set_nullable): Useless rules must be skipped,
+       otherwise, since we range over their symbols, we might look at a
+       nonterminal which no longer ``exists'', i.e., it is not counted in
+       `nvars', hence we overflow our arrays.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       The header can also be produced directly, without any obstack!
+       Yahoo!
+
+       * src/files.c, src/files.h (defines_obstack): Remove.
+       (compute_header_macro): Global.
+       (defines_obstack_save): Remove.
+       * src/reader.c (parse_union_decl): No longer output to
+       defines_obstack: its content can be found in the `stype' muscle
+       anyway.
+       (output_token_translations): Merge into...
+       (symbols_output): this.
+       Rename as...
+       (symbols_save): this.
+       (reader): Adjust.
+       * src/output.c (header_output): New.
+       (output): Call it.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_union_decl): Instead of handling two obstack
+       simultaneously, use one to define the `stype' muscle, and use the
+       value of the latter to fill defines_obstack.
+       (copy_comment): Remove.
+       (copy_comment2): Work for a single obstack.
+       Rename as...
+       (copy_comment): this.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c, src/lex.h (xgetc): No longer static.
+       * src/reader.c (parse_union_decl): Revamp.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       Still making progress in separating Bison into (i) input, (ii)
+       process, (iii) output: now we can directly output the parser file
+       without using table_obstack at all.
+
+       * src/files.c, src/files.h (table_obstack): Bye bye.
+       (parser_file_name): New.
+       * src/files.c (compute_output_file_names): Compute it.
+       * src/output.c (actions_output, output_parser)
+       (output_master_parser): To a file instead of an obstack.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       Attach actions to rules, instead of pre-outputting them to
+       actions_obstack.
+
+       * src/gram.h (rule_t): action and action_line are new members.
+       * src/reader.c (symbol_list): Likewise.
+       (copy_action): Save the actions within the rule.
+       (packgram): Save them in rule_table.
+       * src/output.c (actions_output): New.
+       (output_parser): Use it on `%%actions'.
+       (output_rule_data): Don't free rule_table.
+       (output): Do it.
+       (prepare): Don't save the `action' muscle.
+       * src/bison.simple: s/%%action/%%actions/.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_action): When --yacc, don't append a `;'
+       to the user action: let it fail if lacking.
+       Suggested by Aharon Robbins and Tom Tromey.
+
+2001-12-14  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (literalchar): Simply return the char you decoded, non
+       longer mess around with obstacks and int pointers.
+       Adjust all callers.
+
+2001-12-14  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (literalchar): Don't escape the special characters,
+       just decode them, and keep them as char (before, eol was output as
+       the 2 char string `\n' etc.).
+       * src/output.c (output_rule_data): Use quotearg to output the
+       token strings.
+
+2001-12-13  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
+       Do not infringe on the global user namespace when using C++.
+       (YYFPRINTF, YYSTDERR): New macros, needed for the above.
+       All uses of `fprintf' and `stderr' changed.
+
+       * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       The computation of nullable is broken: it doesn't handle empty
+       RHS's properly.
+
+       * tests/torture.at (GNU AWK Grammar): New.
+       * tests/sets.at (Nullable): New.
+       * src/nullable.c (set_nullable): Instead of blindly looping over
+       `ritems', loop over the rules, and then over their rhs's.
+
+       Work around Autotest bugs.
+
+       * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
+       frame, because Autotest understand lines starting with a `+' as
+       traces from the shell.  Then, they are not processed properly.
+       Admittedly an Autotest bug, but we don't have time to wait for
+       Autotest to catch up.
+       * tests/regression.at (Broken Closure): Adjust to the new table
+       frames.
+       Move to...
+       * tests/sets.at: here.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): Use nrules instead of playing tricks
+       with BITS_PER_WORD.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c (print_actions): Output the handling of `$' as the
+       traces do: shifting the token EOF.  Before EOF was treated as a
+       nonterminal.
+       * tests/regression.at: Adjust some tests.
+       * src/print_graph.c (print_core): Complete the set of items via
+       closure.  The next-to-final and final states are still unsatisfying,
+       but that's to be addressed elsewhere.
+       No longer output the rule numbers, but do output the state number.
+       A single loop for the shifts + gotos is enough, but picked a
+       distinct color for each.
+       (print_graph): Initialize and finalize closure.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (readgram): Remove dead code, an strip useless
+       braces.
+       (get_type): Remove, unused.
+
+2001-12-12  Akim Demaille  <akim@epita.fr>
+
+       * src/complain.h, src/complain.c: Remove error_one_per_line, rely
+       on that of lib/error.c.
+
+2001-12-12  Akim Demaille  <akim@epita.fr>
+
+       Some hosts don't like `/' in includes.
+
+       * src/system.h: Include libgettext.h without qualifying the path.
+       * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
+       $(top_srcdir).
+
+2001-12-11  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.c (output_parser): Remove useless muscle.
+
+2001-12-11  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Remove #line just before %%epilogue. It
+       is now handled in ...
+       * src/reader.c (read_additionnal_code): Add the output of a
+       #line for the epilogue.
+
+2001-12-10  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (copy_definition): Re-use CPP-outed code which
+       replace precedent remove.
+       * src/bison.simple: Remove #line before %%prologue because
+       %%input-line is wrong at this time.
+
+2001-12-10  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (symbols_output): Clean up.
+       * src/output.c (output_gram, output): Clean up.
+
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/lalr.c (initialize_lookaheads): New.  Extracted from...
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/lalr.c (initialize_lookaheads): New.  Extracted from...
        attached to state, hence no longer need to be labelled with a
        state number.
 
        attached to state, hence no longer need to be labelled with a
        state number.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        Now that states have a complete set of members, the linked list of
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        Now that states have a complete set of members, the linked list of
        since shifts are attached, it is no longer needed to looking
        merely by its id: its number.
 
        since shifts are attached, it is no longer needed to looking
        merely by its id: its number.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (augment_automaton): Better variable locality.
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (augment_automaton): Better variable locality.
        the start symbol being shifted, then there is shift for the start
        symbol from the initial state.
 
        the start symbol being shifted, then there is shift for the start
        symbol from the initial state.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
        invoked.
        * tests/regression.at (Rule Line Numbers): Adjust.
 
        invoked.
        * tests/regression.at (Rule Line Numbers): Adjust.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (augment_automaton): Now that all states have shifts,
        merge the two cases addition shifts to the initial state.
 
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (augment_automaton): Now that all states have shifts,
        merge the two cases addition shifts to the initial state.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/lalr.c (set_state_table): Move to...
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/lalr.c (set_state_table): Move to...
        * src/LR0.c (generate_states): do it.
        * src/LR0.h (first_state): Remove, only the table is used.
 
        * src/LR0.c (generate_states): do it.
        * src/LR0.h (first_state): Remove, only the table is used.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.h (first_shift, first_reduction): Remove.
        * src/lalr.c: Don't use first_shift: find shifts through the
        states.
 
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.h (first_shift, first_reduction): Remove.
        * src/lalr.c: Don't use first_shift: find shifts through the
        states.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c: Attach shifts to states as soon as they are
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c: Attach shifts to states as soon as they are
        * src/lalr.c (set_state_table): Instead of assigning shifts to
        state, just assert that the mapping was properly done.
 
        * src/lalr.c (set_state_table): Instead of assigning shifts to
        state, just assert that the mapping was properly done.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (insert_start_shift): Rename as...
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c (insert_start_shift): Rename as...
        * src/reader.c (symbols_output): Likewise.
        * src/vmsgetargs.c: Vaguely adjust, but who cares?
 
        * src/reader.c (symbols_output): Likewise.
        * src/vmsgetargs.c: Vaguely adjust, but who cares?
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/muscle_tab.c (muscle_init): NULL is a better default than
        `"0"'.
 
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/muscle_tab.c (muscle_init): NULL is a better default than
        `"0"'.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/reader.c (reader): Calling symbols_output once is enough.
 
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/reader.c (reader): Calling symbols_output once is enough.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        Now that states have a complete set of members, the linked list of
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        Now that states have a complete set of members, the linked list of
        the reductions, then the states: free all the states and their
        members.
 
        the reductions, then the states: free all the states and their
        members.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/options.c (OPTN, DRTV, BOTH): New.
        (option_table): Use them.
 
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/options.c (OPTN, DRTV, BOTH): New.
        (option_table): Use them.
 
-       
        * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
        the job of system.h.
        * src/options.c: Don't include stdio.h and xalloc.h for the same
        reasons.
 
        * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
        the job of system.h.
        * src/options.c: Don't include stdio.h and xalloc.h for the same
        reasons.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/output.c (output, prepare): Make sure the values of the
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        * src/output.c (output, prepare): Make sure the values of the
        * m4/m4.m4: Remove.
        * tests/Makefile.am: Adjust.
 
        * m4/m4.m4: Remove.
        * tests/Makefile.am: Adjust.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        One structure for states is enough, even though theoretically
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        One structure for states is enough, even though theoretically
        * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
        * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
 
        * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
        * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
 
-       
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        Bison dumps core on bash.y.
 2001-12-10  Akim Demaille  <akim@epita.fr>
 
        Bison dumps core on bash.y.
        * src/files.h (graph_obstack): New extern declaration.
        * src/Makefile.am: Add new source files.
 
        * src/files.h (graph_obstack): New extern declaration.
        * src/Makefile.am: Add new source files.
 
-2001-08-06  Marc Autret   <autret_m@epita.fr>
+2001-08-06  Marc Autret  <autret_m@epita.fr>
 
        * src/print_graph.c, src/print_graph.h (graph): New.
        * src/vcg.h: New file.
 
        * src/print_graph.c, src/print_graph.h (graph): New.
        * src/vcg.h: New file.