]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* data/glr.c (yyprocessOneStack): Synchronize the shift for all
[bison.git] / ChangeLog
index e7dd36687fc22bc69417f7a47c53515e2552e304..fe8bf3135f1cbd2a9166260323eb6c91404acf89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,277 @@
+2005-12-06  "Joel E. Denny" <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyprocessOneStack): Synchronize the shift for all
+       stacks, and iterate another stack in order to call user
+       destructors.
+       * tests/glr-regression.at (No users destructors if stack 0 deleted):
+       New test case.
+       (Duplicated user destructor for lookahead): This test now is expected
+       to succeed.
+
+2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Document the following change.
+       * data/yacc.c: Say "parser skeleton" rather than "file", since
+       it's no longer just a file.
+       * data/glr.c: Grant a special exception for C GLR parsers, that
+       reads like the already-existing exception for C LALR(1) parsers.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/location.cc: Likewise.
+       * data/yacc.c: Reword the "written by" statement to clarify that
+       it was the parser skeleton, not the entire output file.
+       * data/glr.c: Written by Paul Hilfinger.
+       * data/glr.cc: Written by Akim Demaille.
+       * data/lalr1.cc: Likewise.
+
+2005-11-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
+       Fix typos in previous change that broke 'make check'.
+       YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
+       supported in C.
+       * tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
+       Don't check NUM-STDERR-LINES, since the output format is fluctuating.
+       We can revert this once things settle down.
+
+       * src/conflicts.c (conflicts_print): Don't print file name twice
+       when %expect fails because there were no conflicts.
+       * doc/bison.texinfo (Expect Decl): Tighten up wording in previous
+       change.
+       * tests/conflicts.at (%expect not enough, %expect too much):
+       (%expect with reduce conflicts): Adjust to new behavior.
+
+2005-11-18  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflicts_print): Unsatisfied %expectation are
+       errors.
+       * NEWS: Document this.
+       * doc/bison.texinfo (Expect Decl): Likewise.
+
+2005-11-16  Akim Demaille  <akim@epita.fr>
+
+       Generalize the display of semantic values and locations in traces.
+       * data/glr.c (yy_reduce_print): Fix indices (again).
+       * data/c++.m4 (b4_rhs_value, b4_rhs_location): Don't expect
+       literal integers.
+       * data/lalr1.cc (yyreduce_print): Rename as...
+       (yy_reduce_print): this.
+       Display values and locations.
+       * data/yacc.c (yy_reduce_print): Likewise.
+       (YY_REDUCE_PRINT): Adjust to pass the required arguments.
+       (yysymprint): Move higher to be visible from yy_reduce_print).
+       (yyparse): Adjust.
+       * tests/calc.at: Adjust the expected length of the traces.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yy_reduce_print): The loop was quite wrong: type are
+       from 1 to N, while values and location start at 0.
+       (b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yy_reduce_print): Fix the $ number.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       "Use" parse parameters.
+       * data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
+       * data/glr.c, data/glr.cc: Use them.
+       * data/glr.c (YYUSE): Have a C++ definition that supports
+       non-pointer types.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yyexpandGLRStack): Declare only if defined.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.cc: New.
+       * data/m4sugar/m4sugar.m4 (m4_prepend): New.
+
+2005-11-12  Akim Demaille  <akim@epita.fr>
+
+       Let position and location be PODs.
+       * data/location.cc (position::initialize, location::initialize): New.
+       (position::position, location::location): Define only if
+       b4_location_constructors is defined.
+       * data/lalr1.cc (b4_location_constructors): Define it for backward
+       compatibility.
+       * doc/bison.texinfo (Initial Action Decl): Use initialize.
+
+2005-11-12  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Move the body of the ctor and dtor into the
+       parser file (instead of the header).
+       Wrap the implementations in a "namespace yy".
+
+2005-11-12  Akim Demaille  <akim@epita.fr>
+
+       Have glr.c include its header file when created.
+       * data/glr.c (b4_shared_declarations): New.
+       Output them verbatim in the parser if !%defines, otherwise
+       output then in the header file, and include it instead.
+
+2005-11-11  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c: Comment changes.
+
+2005-11-11  Akim Demaille  <akim@epita.fr>
+
+       When yydebug, report semantic and location values for reductions.
+       * data/glr.c (yy_reduce_print): Report the semantic values and the
+       locations.
+       (YY_REDUCE_PRINT): Adjust.
+       (yyglrReduce): Use them.
+       (b4_rhs_value, b4_rhs_location): Remove m4_eval invocations.
+       * data/c.m4 (b4_yysymprint_generate): Specify the const arguments.
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Remove the reduction
+       traces.
+
+2005-11-10  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
+       (yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
+       (yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.
+
+2005-11-09  Albert Chin-A-Young  <china@thewrittenword.com>
+
+       * m4/cxx.m4, examples/Makefile.am: Don't build
+       examples/calc++ if no C++ compiler is available.  (trivial change)
+
+2005-11-09  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-skel.l: Use a couple of asserts.
+
+2005-11-03  Akim Demaille  <akim@epita.fr>
+
+       In some (weird) cases, the final state number is incorrect.
+       Reported by Alexandre Duret-Lutz.
+       * src/LR0.c (state_list_append): Remove the computation of
+       final_state.
+       (save_reductions): Do it here.
+       (get_state): Alpha conversion.
+       (generate_states): Use a for loop.
+       * src/gram.h (item_number_is_rule_number)
+       (item_number_is_symbol_number): New.
+       * src/state.c: Use assert.
+       * src/system.h: Include assert.h.
+       * tests/sets.at (Accept): New.
+
+2005-10-30  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * data/glr.c (yyfill): Adjust comment.
+       (yyresolveAction): Initialize default location properly
+       for empty right-hand sides.
+       (yydoAction): Ditto.
+       Add comment explaining apparently dead code.
+       * tests/glr-regression.at
+       (Incorrectly initialized location for empty right-hand side in GLR):
+       New test.
+
+2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (cleanup_gnulib): New function.  Use it to clean up
+       gnulib when interrupted.  This fixes some race conditions and
+       works around some portability problems (one noted by Paul
+       Hilfinger).
+
+2005-10-22  Akim  <akim@epita.fr>
+
+       * Makefile.cfg: Adjust to config -> build-aux.
+       Reported by twledo.
+
+2005-10-21  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
+       the %parse-params.
+       * data/glr.c (YY_SYMBOL_PRINT, yydestroyGLRState): Adjust.
+       * data/yacc.c (b4_Pure_if): Rename as...
+       (b4_yacc_pure_if): this.
+       (YY_SYMBOL_PRINT, yyparse): Adjust.
+       * doc/bison.texinfo: Formatting changes.
+
+2005-10-21  Akim Demaille  <akim@epita.fr>
+
+       Finish the transition config -> build-aux.
+       * configure.ac, Makefile.am: Use build-aux.
+       * config/prev-version, config/announce-gen, config/Makefile.am:
+       Move to...
+       * build-aux/prev-version, build-aux/announce-gen,
+       * build-aux/Makefile.am: here.
+
+2005-10-14  Akim Demaille  <akim@epita.fr>
+
+       * examples/calc++/test: Use set -x only when VERBOSE.
+
+2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
+       * src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.
+
+2005-10-13  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-skel.l: Output the base name parts of the parser and
+       header file names.
+       * tests/output.at (AT_CHECK_OUTPUT): Support subdirectories, and
+       additional checks.
+       Use this to exercise C++ outputs in subdirs.
+       Reported by Oleg Smolsky.
+
+2005-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
+       __STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
+       Problem reported by John P. Hartmann.
+       * data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
+       already defined it.
+
+2005-10-12  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (version_check): Exit 63 to please missing
+       (stands for "version mismatch).
+       * tests/input.at, doc/bison.texinfo: Adjust.
+
+2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around portability problems with Visual Age C compiler
+       (xlc and xlC_r) reported by John P. Hartmann.
+       * data/location.cc (initial_column, initial_line): Remove.
+       All uses replaced by 0 and 1.
+       * src/scan-gram.l (gram_wrap): Redefine to avoid bug in flex 2.5.31
+       that xlc complains about.
+       * src/scan-skel.l (skel_wrap): Likewise.
+       * data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
+       as __STDC__.
+       * data/yacc.c (YYMODERN_C): New macro, which also looks at
+       __STDC_VERSION__.  Use it everywhere instead of looking at
+       __STDC__ and __cplusplus.
+
+2005-10-10  Akim Demaille  <akim@epita.fr>
+
+       * examples/calc++/test: Be quiet unless VERBOSE.
+
 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * data/c.m4 (yydestruct, yysymprint):
+       Use YYUSE instead of casting to void.
+       * data/glr.c (YYUSE): New macro.
+       (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
+       Use it instead of rolling our own.
+       (YYLLOC_DEFAULT, YYCHK, YYDPRINTF, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
+       (YYCHK1):
+       Use /*CONSTCOND*/ to suppress lint warnings.
+       * data/lalr1.cc (YYLLOC_DEFAULT, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
+       (YY_STACK_PRINT): Use 'false' not '0'.
+       (YYUSE): New macro.
+       (yysymprint_, yydestruct_): Use it instead of rolling our own.
+       * data/yacc.c (YYUSE): New macro.
+       (YYCOPY, YYSTACK_RELOCATE, YYBACKUP, YYLLOC_DEFAULT):
+       (YYDPRINTF, YY_SYMBOL_PRINT, YY_STACK_PRINT, YY_REDUCE_PRINT):
+       (yyerrorlab): Use /*CONSTCOND*/ to suppress lint warnings.
+
+
        * data/m4sugar/m4sugar.m4 (_m4_map): New macro.
        (m4_map, m4_map_sep): Use it.  Handle the empty list correctly.
 
        Reported by Charles-Henry de Boysson.
 
        * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
-       check the length of the traces when %glr.
+       check the length of the traces when %glr.
        (_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
        GLR's traces.
        (AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
        struct lbitset_struct, struct bitset_stats_struct): New types.
        All uses of struct bitset_struct changed to union bitset_union,
        etc.
-       * lib/abitset.c (struct abitset_struct, abitset,
+       * lib/abitset.c (struct abitset_struct, abitset,
        struct bitset_struct): Remove.
        * lib/bitset_stats.c (struct bitset_stats_struct, bitset_stats,
        struct bitset_struct): Remove.
 
 2002-06-28  Akim Demaille  <akim@epita.fr>
 
-       * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
+       * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
        * src/conflicts.c (conflicts_total_count): `i' is unsigned, to
        pacify GCC.
        * src/output.c (save_row): Initialize all the variables to pacify GCC.
        * src/getargs.c:
 
        * src/symlist.h:  Add dprec and merger fields to symbol_list_s.
-       * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
+       * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
 
        Originally 2002-06-16  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
 
 
 2002-01-20  Marc Autret  <marc@gnu.org>
 
-       * src/system.h: Need to define __attribute__ away for non-GCC
-       compilers as well (i.e. the vendor C compiler).
+       * src/system.h: Need to define __attribute__ away for non-GCC
+       compilers as well (i.e., the vendor C compiler).
        Suggested by Albert Chin-A-Young.
 
 2002-01-11  Tim Van Holder  <tim.van.holder@pandora.be>
 
        * src/warshall.c (bitmatrix_print): New.
        (TC): Use it.
-       When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
+       When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
        j must be the outer loop.
        * tests/regression.at (Broken Closure): New.
 
 
        * src/output.c (output): Delete call to reader_output_yylsp.
        * src/reader.c (reader): Likewise.
-       * src/reader.h: Delete declaration of reader_output_yylsp.
+       * src/reader.h: Delete declaration of reader_output_yylsp.
 
 2001-09-02  Marc Autret  <autret_m@epita.fr>