X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/710ddc4f18039668a7672c8670eb3e010b59292a..f87685c3245a30154897374780d5d0471c7229c0:/ChangeLog diff --git a/ChangeLog b/ChangeLog index a48a2ac7..8c80d922 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,226 @@ +2001-12-17 Akim Demaille + + * src/output.c (output_obstack): Be static and rename as... + (format_obstack): this, to avoid any confusion with files.c's + output_obstack. + * src/reader.h (muscle_obstack): Move to... + * src/output.h: here, since it's defined in output.c. + + +2001-12-17 Akim Demaille + + * src/output.c (action_row, save_column, default_goto) + (sort_actions, matching_state, pack_vector): Better variable + locality. + + +2001-12-17 Akim Demaille + + * src/output.c: Various formatting changes. + + +2001-12-17 Akim Demaille + + * src/files.c (output_files): Free the output_obstack. + * src/main.c (main): Call print and print_graph conditionally. + * src/print.c (print): Work unconditionally. + * src/print_graph.c (print_graph): Work unconditionally. + * src/conflicts.c (log_resolution): Output only if verbose_flag. + +2001-12-16 Marc Autret + + * src/output.c (actions_output): Fix. When we use %no-lines, + there is one less line per action. + +2001-12-16 Marc Autret + + * src/bison.simple: Remove a useless #line directive. + s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'. + * src/output.c (get_lines_number): New. + (output_parser): Adjust, now takes care about the lines of a + output muscles. + Fix line numbering. + (actions_output): Computes the number of lines taken by actions. + (output_master_parser): Insert new skeleton which is the name of + the output parser file name. + +2001-12-15 Marc Autret + + * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility. + +2001-12-15 Marc Autret + + * src/output.c (output_gram): Keep track of the hairy one. + +2001-12-15 Akim Demaille + + 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 + + * 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 + + 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 + + * 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 + + * src/lex.c, src/lex.h (xgetc): No longer static. + * src/reader.c (parse_union_decl): Revamp. + +2001-12-15 Akim Demaille + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * src/closure.c (closure): Use nrules instead of playing tricks + with BITS_PER_WORD. + +2001-12-13 Akim Demaille + + * 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 + + * src/reader.c (readgram): Remove dead code, an strip useless + braces. + (get_type): Remove, unused. + +2001-12-12 Akim Demaille + + * src/complain.h, src/complain.c: Remove error_one_per_line, rely + on that of lib/error.c. + +2001-12-12 Akim Demaille + + 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 + + * src/output.c (output_parser): Remove useless muscle. + 2001-12-11 Marc Autret * src/bison.simple: Remove #line just before %%epilogue. It @@ -7,7 +230,7 @@ 2001-12-10 Marc Autret - * src/reader.c (copy_definition): Re-use CPP-outed code which + * 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. @@ -15,7 +238,7 @@ 2001-12-10 Marc Autret * src/reader.c (symbols_output): Clean up. - * src/output.c (output_gram, output): Clean up. + * src/output.c (output_gram, output): Clean up. 2001-12-10 Akim Demaille @@ -2196,7 +2419,7 @@ * src/files.h (graph_obstack): New extern declaration. * src/Makefile.am: Add new source files. -2001-08-06 Marc Autret +2001-08-06 Marc Autret * src/print_graph.c, src/print_graph.h (graph): New. * src/vcg.h: New file.