]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* src/getargs.c (statistics_flag): Replace with...
[bison.git] / ChangeLog
index a033a1d147e08229ed6f456e9134fa2a79d7596f..cd1080aace21323c6fb5f7086ce1aa21e6a015a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,396 @@
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (statistics_flag): Replace with...
+       (trace_flag): New.
+       (longopts): Accept --trace instead of --statistics.
+       * src/getargs.h, src/options.c: Adjust.
+       * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
+       * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_itemsets, get_state): Use more arrays and less
+       pointers to clarify the code.
+       (save_reductions, save_shifts): Factor common parts of alternatives.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state, get_state): Complete TRACE code.
+       * src/closure.c: Include `reader.h' to get `tags', needed by the
+       trace code.
+       Rename the conditional DEBUG as TRACE.
+       Output consistently TRACEs to stderr, not stdout.
+       * src/derives.c: Likewise.
+       * src/reduce.c: (inaccessable_symbols): Using if is better style
+       than goto.
+       Use `#if TRACE' instead of `#if 0' for tracing code.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (LIST_FREE, shortcpy): New.
+       * src/LR0.c: Use them.
+       * src/output.c (free_itemsets, free_reductions, free_shifts):
+       Remove, replaced by LIST_FREE.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
+       (REDUCTIONS_ALLOC):  New.
+       * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
+       allocation.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state): Complete trace code.
+       * src/nullable.c (set_nullable): Don't translate traces.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/print_graph.c (print_core): Better locality of variables.
+       * src/print.c (print_core): Likewise.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/vcg.c: You do the output, so you are responsible of the
+       handling of VCG syntax, in particular: use quotearg.
+       * src/print_graph.c: Don't.
+       (print_actions): Don't output the actions as part of the nodes,
+       since that's the job of the edges.
+       (print_state): Don't output by hand: fill the node description,
+       and ask for its output.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (yyparse): When reporting verbosely an error,
+       no longer issue additional quotes around token names.
+       * tests/calc.at: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
+       * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
+       * src/output.c: Adjust.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
+       (rule_t): this.
+       * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_t): New.
+       (rule_table): New.
+       (rrhs, rlhs): Remove, part of state_t.
+       * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
+       * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
+       * src/reader.c, src/reduce.c: Adjust.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (symbols_output): New, extracted from...
+       (packsymbols): Here.
+       (reader): Call it.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
+       (maxrhs): this new function.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (F): New macro to access to the variable F.
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (LA): New macro to access to the variable LA.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       * src/lalr.c: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (initialize_LA): Only initialize LA.  Let...
+       (set_state_table): handle the `lookaheads' members.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (lookaheads): Removed array, which contents is now
+       member of...
+       (state_t): this structure.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (consistent): Removed array, which contents is now
+       member of...
+       (state_t): this structure.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (reduction_table, shift_table): Removed arrays, which
+       contents is now members of...
+       (state_t): this structure.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       Adjust.
+
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (state_t): New.
+       (state_table): Be a state_t * instead of a core **.
+       (accessing_symbol): Remove, part of state_t.
+       * src/lalr.c: Adjust.
+       (set_accessing_symbol): Merge into...
+       (set_state_table): this.
+       * src/print_graph.c, src/conflicts.c: Adjust.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at, tests/output.at, tests/regression.at,
+       * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
+       now the tests are run in private dirs, therefore AC_CLEANUP and
+       family can be simplified to 0-ary.
+       * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
+       use abs. path to find config.h.
+       * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
+       stderr, there can be way too much random noise.
+       Instead pass -Werror to GCC and rely on the exit status.
+       Reported by Wolfram Wagner.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
+       defined only if yyoverflow is defined, to avoid `warning: unused
+       variable `yyvs1''.
+       Reported by The Test Suite.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c: Include reduce.h.
+       Reported by Hans Aberg.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
+       Revert a previous patch:  these are really const.
+       * src/conflicts.c (conflict_report): Additional useless pair of
+       braces to pacify GCC's warnings for `if () if () {} else {}'.
+       * src/lex.c (parse_percent_token): Replace equal_offset with
+       arg_offset.
+       arg is const.
+       Be sure to strdup `arg' when used, since there is no reason for
+       token_buffer not to change.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
+       definition.
+       * src/main.c (main): Use them.
+       Suggested by Hans Aberg.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (ngettext): Now that we use ngettext, be sure to
+       provide a default definition when NLS are not used.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
+       Use @kbd to denote user input.
+       (Language and Grammar): ANSIfy the example.
+       Adjust its layout for info/notinfo.
+       (Location Tracking Calc): Output error messages to stderr.
+       Output locations in a more GNUtically correct way.
+       Fix a couple of Englishos.
+       Adjust @group/@end group pairs.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       %expext was not functioning at all.
+
+       * src/conflicts.c (expected_conflicts): Set to -1.
+       (conflict_report): Use ngettext.
+       (conflicts_print): Check %expect and make its violation an error.
+       * doc/bison.texinfo (Expect Decl): Adjust.
+       * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
+       * tests/regression.at (%expect not enough, %expect right)
+       (%expect too much): New.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Conflicts): Rename as...
+       (Unresolved SR Conflicts): this.
+       (Solved SR Conflicts): New.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (print_results): Rename as...
+       (reduce_output): This.
+       Output to OUT, passed as argument, instead of output_obstack.
+       (dump_grammar): Likewise.
+       (reduce_free): New.
+       Also free V1.
+       (reduce_grammar): No longer call reduce_output, since...
+       * src/print.c (print_results): do it.
+       * src/main.c (main): Call reduce_free;
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Accept OUT as argument.
+       Output to it, not to output_obstack.
+       * src/print.c (print_actions): Adjust.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
+       the result instead of using...
+       (src_total, rrc_total, src_count, rrc_count): Remove.
+       (any_conflicts): Remove.
+       (print_conflicts): Split into...
+       (conflicts_print, conflicts_output): New.
+       * src/conflicts.h: Adjust.
+       * src/main.c (main): Invoke both conflicts_output and conflicts_print.
+       * src/print.c (print_grammar): Issue `\n' between two rules.
+       * tests/regression.at (Conflicts): New.
+       Reported by Tom Lane.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid input): Remove, duplicate with
+       ``Invalid input: 1''.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/torture.at (AT_DATA_STACK_TORTURE)
+       (Exploding the Stack Size with Alloca)
+       (Exploding the Stack Size with Malloc): New.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (YYSTACK_REALLOC): New.
+       (yyparse) [!yyoverflow]: Use it and free the old stack.
+       Reported by Per Allansson.
+
+2001-11-12  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/bison.simple: Define type yystype instead of YYSTYPE, and
+       define CPP macro, which substitute YYSTYPE by yystype.
+       * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
+       with yyltype/YYLTYPE.  This allows inclusion of the generated
+       header within the parser if the compiler, such as GGC, accepts
+       multiple equivalent #defines.
+       From Akim.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (symbols_output): New, extracted from...
+       (packsymbols): here.
+       (reader): Adjust.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (parse_percent_token): s/quotearg/quote/.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
+       pattern.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/options.h (struct option_table_struct): set_flags is void*.
+       * src/options.c (longopts): Support `--output' and `%output'.
+       (usage): Adjust.
+       * src/lex.h (tok_setopt): Remove, replaced with...
+       (tok_intopt, tok_stropt): these new guys.
+       * src/lex.c (getopt.h): Not needed.
+       (token_buffer, unlexed_token_buffer): Not const.
+       (percent_table): Promote `-' over `_' in directive names.
+       Active `%name-prefix', `file-prefix', and `output'.
+       (parse_percent_token): Accept possible arguments to directives.
+       Promote `-' over `_' in directive names.
+
+2001-11-04  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Decl Summary): Split the list into
+       `directives for grammars' and `directives for bison'.
+       Sort'em.
+       Add description of `%name-prefix', `file-prefix', and `output'.
+       Promote `-' over `_' in directive names.
+       (Bison Options): s/%locactions/%locations/.  Nice Freudian slip.
+       Simplify the description of `--name-prefix'.
+       Promote `-' over `_' in directive names.
+       Promote `--output' over `--output-file'.
+       Fix the description of `--defines'.
+       * tests/output.at: Exercise %file-prefix and %output.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * doc/refcard.tex: Update.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h (SUNDEF): New.
+       * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
+       stand for `uninitialized', instead of 0.
+       * src/reader.c (packsymbols, parse_thong_decl): Adjust.
+       * src/lex.c (lex): Adjust.
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
+       Number it 0.
+       Let yylex return it instead of a plain 0.
+       Reported by Dick Streefland.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Mixing %token styles): New test.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_thong_decl): Formatting changes.
+       (token_translations_init): New, extracted from...
+       (packsymbols): Here.
+       Adjust.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
+       Check that `9foo.y' produces correct cpp guards.
+       * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
+       guards.
+       Reported by Wwp.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid input: 2): New.
+       * src/lex.c (unlexed_token_buffer): New.
+       (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
+       too.
+       Reported by Wwp.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Catch up with 1.30.
+       * configure.in: Bump to 1.49a.
+       Adjust to newer Autotest.
+
+2001-10-19  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/conflicts.c: Move global variables rrc_total and src_total ...
+       (print_conflicts): here.
+       * src/output.c (output): Free global variable user_toknums.
+       * src/lex.c (token_obstack): Become static.
+
 2001-10-18  Akim Demaille  <akim@epita.fr>
 
        * tests/atlocal.in (GCC): Add.