X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/56ddee7f8d7286b599f7c4dc86eaa5ef9668db9c..30c10fafcc93dbfa796914faff5d338a3a846e7d:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 8aad4205..3b925957 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,86 @@ +2008-12-01 Akim Demaille + + 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 + + Use b4_symbol_case_. + * data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use + b4_symbol_case_. + +2008-12-01 Akim Demaille + + 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 + + b4_symbol/type_foreach. + * data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New. + Use them. + +2008-12-01 Akim Demaille + + 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 + + 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 + + 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 + + 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 s/_FLAGS/FLAGS/. @@ -64,7 +147,7 @@ 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. @@ -77,7 +160,7 @@ 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. @@ -105,7 +188,7 @@ 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. @@ -123,12 +206,13 @@ 2008-11-25 Akim Demaille 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. @@ -141,7 +225,7 @@ 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. @@ -201,7 +285,7 @@ (Option Cross Key): Implement FIXME: listing directives also. * build-aux/cross-options.pl: Read from 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