]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Fixes in the ChangeLog.
[bison.git] / ChangeLog
index 8aad420556ca47a7056c7473ea44386693fc9dd6..3b925957f2599a40122ec57be1f9bde1196a52e9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,86 @@
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_symbol for printers and destructors everywhere.
+       * data/bison.m4 (b4_symbol_action_location): New.
+       * data/c.m4 (b4_symbol_actions): Remove.
+       Adjust all callers to use by b4_symbol_foreach and the corresponding
+       b4_symbol_printer/destructor macro.
+       * data/glr.cc: Adjust.
+       * data/lalr1.java: Adjust the %destructor sanity check.
+       * src/output.c (symbol_code_props_output): Remove, we no longer
+       need the b4_symbol_printers/destructors tables.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_symbol_case_.
+       * data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use
+       b4_symbol_case_.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Move b4_symbol based macro to bison.m4.
+       * data/lalr1.cc (b4_symbol_, b4_symbol, b4_symbol_if)
+       (b4_symbol_action, b4_symbol_destructor, b4_symbol_printer)
+       (b4_symbol_case_, b4_symbol_foreach, b4_type_action_)
+       (b4_type_foreach): Move to...
+       * data/bison.m4: Here.
+       * data/lalr1.cc (b4_symbol_action): Specialize for C++: use
+       b4_symbol_value_template instead of b4_symbol_value.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       b4_symbol/type_foreach.
+       * data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New.
+       Use them.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use the symbol properties to output the printer/destructor for lalr1.cc.
+       Instead of defining complex list of tuples to define various
+       properties of the symbols, we now prefer to define symbols as
+       "structs" in m4: using the symbol key (its number), and the
+       property name, b4_symbol gives it value.  Use this to handle
+       destructors and printers.
+
+       * src/output.c (CODE_PROP): New.
+       (prepare_symbol_definitions): Use it to define the printer and
+       destructor related attributes of the symbols.
+       * data/lalr1.cc (b4_symbol_actions): Rename as...
+       (b4_symbol_action): this.
+       Use b4_symbol instead of 6 arguments.
+       (b4_symbol_printer, b4_symbol_destructor): New.
+       Use them instead of b4_symbol_actions.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Avoid capturing variables too easily.
+       * src/muscle_tab.h (MUSCLE_INSERT_BOOL, MUSCLE_OBSTACK_SGROW): Use
+       v__ and p__ instead of v and p.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Remove spurious empty line before syncline.
+       * data/bison.m4 (b4_syncline): Don't output an empty line before
+       the output.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Convert lib/Makefile.am into lib/local.mk.
+       The real problem is rather gnulib.mk, which itself is extracted
+       from a Makefile.am that gnulib expects to the "recursive".  The
+       tool prefix-gnulib-mk converts such a gnulib.mk to be
+       non-recursive.  Also, some AC_SUBST variables need to be adjusted.
+
+       * etc/prefix-gnulib-mk: New.
+       * bootstrap (slurp): Use it to convert further gnulib.mk.
+       No longer try to avoid re-creation of lib/gnulib.mk as the changes
+       are deeper.
+       * lib/Makefile.am: Rename as...
+       * lib/local.mk: this.
+       Adjust to be prefixed.
+       * Makefile.am, configure.ac: Adjust.
+       * src/local.mk (AM_CPPFLAGS): Extend it, don't define it.
+
 2008-11-26  Akim Demaille  <demaille@gostai.com>
 
        s/_FLAGS/FLAGS/.
 2008-11-26  Akim Demaille  <demaille@gostai.com>
 
        s/_FLAGS/FLAGS/.
        Get rid of (yy)rhs and (yy)prhs.
        These tables are no longer needed in the parsers, and they don't seem to
        be useful.  They are not documented either.
        Get rid of (yy)rhs and (yy)prhs.
        These tables are no longer needed in the parsers, and they don't seem to
        be useful.  They are not documented either.
-       
+
        * src/output.c (prepare_rules): Get rid of rhs and prhs.
        Adjust the computation of (yy)r2.
 
        * src/output.c (prepare_rules): Get rid of rhs and prhs.
        Adjust the computation of (yy)r2.
 
 
        Get rid of lalr1-split.cc.
        It was no longer maintainer.
 
        Get rid of lalr1-split.cc.
        It was no longer maintainer.
-       
+
        * data/lalr1-split.cc: Remove.
        * etc/bench.pl.in (bench_fusion_parser): Remove.
        Adjust.
        * data/lalr1-split.cc: Remove.
        * etc/bench.pl.in (bench_fusion_parser): Remove.
        Adjust.
 
        Prefer TESTSUITE_FLAGS.
        TESTSUITEFLAGS is barely readable.
 
        Prefer TESTSUITE_FLAGS.
        TESTSUITEFLAGS is barely readable.
-       
+
        * tests/local.mk (TESTSUITE_FLAGS): Default to $(TESTSUITEFLAGS)
        for backward compatibility.
        Use the former instead of the latter.
        * tests/local.mk (TESTSUITE_FLAGS): Default to $(TESTSUITEFLAGS)
        for backward compatibility.
        Use the former instead of the latter.
 2008-11-25  Akim Demaille  <demaille@gostai.com>
 
        Get rid of yyrhs and yyprhs in yacc.c.
 2008-11-25  Akim Demaille  <demaille@gostai.com>
 
        Get rid of yyrhs and yyprhs in yacc.c.
-       They were used to get the symbol types, given a rule number,  when
-       displaying the top of the stack before a reduction.  But the symbol type
-       is available from the state stack.  This has two be benefits: two tables
-       less in the parser (making it smaller), and a more consistent use of the
-       three stacks which will help to fuse them.
-       
+       They were used to get the symbol types, given a rule number, when
+       displaying the top of the stack before a reduction.  But the
+       symbol type is available from the state stack.  This has two be
+       benefits: two tables less in the parser (making it smaller), and a
+       more consistent use of the three stacks which will help to fuse
+       them.
+
        * data/yacc.c (yyprhs, yyrhs): Remove.
        (YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
        (yy_reduce_print): Take yyssp as argument.
        * data/yacc.c (yyprhs, yyrhs): Remove.
        (YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
        (yy_reduce_print): Take yyssp as argument.
        b4_tables_map.
        The point is to factor the generation of the tables across skeletons.
        This is language dependant.
        b4_tables_map.
        The point is to factor the generation of the tables across skeletons.
        This is language dependant.
-       
+
        * data/c.m4 (b4_comment_): New.
        Should be usable to define how to generate tables independently of
        the language.
        * data/c.m4 (b4_comment_): New.
        Should be usable to define how to generate tables independently of
        the language.
        (Option Cross Key): Implement FIXME: listing directives also.
        * build-aux/cross-options.pl:  Read from <STDIN> rather than <>.
        (Short Option): Special case -d.  Put arguments inside @option.
        (Option Cross Key): Implement FIXME: listing directives also.
        * build-aux/cross-options.pl:  Read from <STDIN> rather than <>.
        (Short Option): Special case -d.  Put arguments inside @option.
-       (Bison Directive): Add column, automatically extracted from 
+       (Bison Directive): Add column, automatically extracted from
        src/scan-gram.l (actual name passed as the first argument)
        with special case for %define.
        * doc/local.mk (doc/cross-options.texi): Pass src/scan-gram.l
        src/scan-gram.l (actual name passed as the first argument)
        with special case for %define.
        * doc/local.mk (doc/cross-options.texi): Pass src/scan-gram.l