]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* src/lalr.c (transpose): Free the memory allocated to the
[bison.git] / ChangeLog
index 164460e5fc155e7e614ac0a6e4af40b6effa1fe5..954f35e0967c1bc013b65c4d386e49fb4221ede1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,106 @@
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (transpose): Free the memory allocated to the
+       argument, as it is replaced by the results by the unique caller.
+       (build_relations): Merely invoke transpose: it handles the memory
+       deallocation.
+       Improve variable locality.
+       Avoid variables used as mere abbreviations.
+       (compute_lookaheads): Use arrays instead of pointers.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (initialize_F): Improve variable locality.
+       Avoid variables used as mere abbreviations.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.c (print_derives): Display the ruleno.
+       * src/lalr.c (initialize_F, transpose): Better variable locality
+       to improve readability.
+       Avoid variables used as mere abbreviations.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (traverse): Use arrays instead of pointers.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
+       the handling of squeue.
+       `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
+
+       
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       Because useless nonterminals are now kept alive (instead of being
+       `destroyed'), we now sometimes examine them, and store information
+       related to them.  Hence we need to know their number, and adjust
+       memory allocations.
+
+       * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
+       static.
+       * src/LR0.c (allocate_itemsets): The memory allocated to
+       `symbol_count' was used for two different purpose: once to count
+       the number of occurrences of each symbol, and later reassigned to
+       `shift_symbol', containing the symbol that can be shifted from a
+       given state.
+       Deobfuscate, i.e., allocate, use and free `symbol_count' here
+       only, and...
+       (new_itemsets): Allocate `shift_symbol' here.
+       (allocate_itemsets): symbol_count includes useless nonterminals.
+       Make room for them.
+       (free_storage): Use `free', not `XFREE', for pointers that cannot
+       be null.
+
+       
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (set_nullable): Deobfuscate the handling of
+       ritem.
+       `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
+
+       
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c, src/gram.h (ritem_print): New.
+       * src/gram.c (dummy): Remove, now there is actual code in gram.c.
+       (This useless function was defined only to work around VMS linkers
+       that can't handle compilation units with variables only).
+       * src/reduce.c (dump_grammar): Use it to trace the construction of
+       ritem.
+
+2001-12-04  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (union yyalloc): Change member names
+       to be the same as the stack names.
+       (yyparse): yyptr is now union yyalloc *, not char *.
+       (YYSTACK_RELOCATE): Likewise.  This avoids a GCC warning,
+       and may generate better code on some machines.
+       (yystpcpy): Use prototype if __STDC__ is defined, not just
+       if __cplusplus is defined.
+       
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * configure.in (WARNING_CFLAGS): Add -Werror when possible.
+       (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
+       Gettext doesn't compile cleanly, and dies with -Werror.
+       * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
+       Include WARNING_CFLAGS here.
+       * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
+       before being defined.
+
+2001-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/quotearg.h (quotearg_n, quotearg_n_style):
+       First arg is int, not unsigned.
+       * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
+       (SIZE_MAX, UINT_MAX): New macros.
+       (quotearg_n_options): Abort if N is negative.
+       Avoid overflow check on hosts where size_t is 64 bits and int
+       is 32 bits, as overflow is impossible there.
+       Fix off-by-one typo that caused unnecessary reallocation.
+
 2001-11-29  Paul Eggert  <eggert@twinsun.com>
 
        Name space cleanup in generated parser.