]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Factor the generation of the (integral) tables bw yacc.c and lalr1.cc.
[bison.git] / ChangeLog
index 7b3358caa55e8991e0573e6f6ae25e526014477c..0cb281b16045fa408d9e66c558cf12532882c9b4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,139 @@
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Factor the generation of the (integral) tables bw yacc.c and lalr1.cc.
+       * data/lalr1.cc (b4_tables_map): Move to...
+       * data/bison.m4: here.
+       Update the comment for yytable during the flight.
+       (b4_tables_declare, b4_tables_define): New.
+       * data/lalr1.cc: Use them.
+       * data/c.m4 (b4_table_define): New.
+       * data/yacc.c: Use b4_tables_define instead of output the tables
+       by hand.
+       * tests/regression.at (Web2c Actions): Adjust the expected output,
+       the order of the tables changed.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       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.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Rule length is unsigned.
+       * src/gram.h, src/gram.c (rule_rhs_length): Return a size_t.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       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.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Use yy* consistently.
+       * data/glr.c: Now that yyrhs no longer exists as a global
+       variable, rename local "rhs" variables into "yyrhs" for
+       consistency.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of yyrhs and yyprhs in glr.c.
+       * data/glr.c (yyrhs, yyprhs): Remove.
+       Instead, use the state stack and yystos.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Flag glr tests.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): If glr, declare it
+       as an Autotest keyword.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       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.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of yyrhs and yyprhs in larl1.java.
+       * data/lalr1.java (yyrhs_, yyprhs_): Remove.
+       (yy_reduce_print): Rather, use yystos_ and the state stack.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+
+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.
+       
+       * data/yacc.c (yyprhs, yyrhs): Remove.
+       (YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
+       (yy_reduce_print): Take yyssp as argument.
+       Use it, together with yystos, to get the symbol type.
+       * tests/regression.at (Web2c Report): Remove these tables from the
+       expected output.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       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.
+       (b4_c_comment): New.
+       (b4_comment): Bounce to b4_c_comment.
+       Now support $2 = [PREFIX] for indentation.
+       * data/lalr1.cc (b4_table_declare): Don't output a comment if
+       there is no comment.
+       Indent it properly when there is one.
+       Output the ending semicolon.
+       (b4_table_define): Space changes.
+       Output the ending semicolon.
+       (b4_tables_map): New.
+       Use it twice instead of declaring and defining the (integral)
+       tables by hand.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       b4_table_declare.
+       * data/lalr1.cc (b4_table_declare): New.
+       Use it to declare the tables defined with b4_table_define.
+       (b4_table_define): Declare a third arg to match b4_table_declare
+       signature.
+       Move all the comments around invocations of b4_table_define into
+       the invocations itselves.
+       Move things around to have the order for declarations and
+       definitions.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/lalr1.java: here.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       b4_args is more general than only C++.
+       * data/lalr1.cc (b4_args, _b4_args): Move to...
+       * data/bison.m4: here.
+
 2008-11-21  Di-an Jan  <dianj@freeshell.org>
 
        Implement no-XXX arguments for --warnings, --report, --trace.
 2008-11-21  Di-an Jan  <dianj@freeshell.org>
 
        Implement no-XXX arguments for --warnings, --report, --trace.