X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/bc82c5a5938c88f921dc2ce1f4edb06c4097e966..da12206a7c7fd16bdeb0fa716c029eec1309176d:/ChangeLog?ds=sidebyside diff --git a/ChangeLog b/ChangeLog index 133b2615..f4d7374d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,137 @@ +2004-12-25 Paul Eggert + + * NEWS: Version 2.0. Reformat the existing news items since + 1.875, so that related items are grouped together. + * configure.ac (AC_INIT): Bump version to 1.875f. + * src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0. + + * data/lalr1.cc (yydestruct_): Pacify unused variable warning + for yymsg, too. + + * src/LR0.c (new_itemsets): Use memset rather than zeroing by + hand. This avoids a warning about comparing int to size_t when + GCC warnings are enabled. + +2004-12-22 Paul Eggert + + * NEWS: Bison-generated parsers no longer default to using the + alloca function (when available) to extend the parser stack, due + to widespread problems in unchecked stack-overflow detection. + * data/glr.c (YYMAXDEPTH): Remove undef when zero. It's the user's + responsibility to set it to a positive value. This lets the user + specify a value that is not a preprocessor constant. + * data/yacc.c (YYMAXDEPTH): Likewise. + (YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero. + * doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs + to be a compile-time constant. However, explain the constraints on it. + Also, explain the constraints on YYINITDEPTH. + (Table of Symbols): Explain that alloca is no longer the default. + Explain the user's responsibility if they define YYSTACK_USE_ALLOCA + to 1. + + * doc/bison.texinfo (Location Default Action): Mention that n must + be zero when k is zero. Suggested by Frank Heckenbach. + +2004-12-22 Akim Demaille + + * data/lalr1.cc (parser::token_number_type, parser::rhs_number_type) + (parser::state_type, parser::semantic_type, parser::location_type): + Private, not public. + (parser::parse): Return ints, not bool. + Returning a bool introduces a problem: 0 corresponds to false, and + it seems weird to return false on success. Returning true changes + the conventions for yyparse. + Alternatively we could return void and send an exception. + There is no clear consensus (yet?). + (state_stack, semantic_stack, location_stack): Rename as... + (state_stack_type, semantic_stack_type, location_stack_type): these. + Private, not public. + * tests/c++.at: New. + * tests/testsuite.at, tests/Makefile.am: Adjust. + +2004-12-21 Akim Demaille + + * data/lalr1.cc (parser::parse): Return a bool instead of an int. + +2004-12-21 Akim Demaille + + Don't impose std::string for filenames. + + * data/lalr1.cc (b4_filename_type): New. + (position::filename): Use it. + (parser.hh): Move the inclusion of stack.hh and location.hh below + the user code, so that needed headers for the filename type can be + included first. + Forward declare them before the user code. + * tests/Makefile.am (check-local, installcheck-local): Pass + TESTSUITEFLAGS to the TESTSUITE. + +2004-12-20 Akim Demaille + + Use more STL like names: my_class instead of MyClass. + + * data/lalr1.cc (LocationStack, LocationType, RhsNumberType) + (SemanticStack, SemanticType, StateStack, StateType) + (TokenNumberType, Stack, Slice, Traits, Parser::location) + (Parser::value): Rename as... + (location_stack, location_type, rhs_number_type, semantic_stack) + (semantic_type, state_stack, state_type, token_number_type, stack) + (slice, traits, parser::yylloc, parser::yylval): these. + + * tests/calc.at, tests/regression.at, tests/actions.at: Adjust. + +2004-12-19 Paul Eggert + + * data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions. + * data/yacc.c (YYLLOC_DEFAULT): Likewise. + +2004-12-17 Paul Eggert + + Remove uses of 'short int' and 'unsigned short int'. This raises + some arbitrary limits. It uses more memory but nowadays that's + not much of an issue. + + This change does not affect the generated parsers; that's a different + task, as some users will want to conserve memory there. + + Ideally we should use size_t to represent all object counts, and + something like ptrdiff_t to represent signed differences of object + counts; but that will require more code-cleanup than I have the + time to do right now. + + * src/LR0.c (allocate_itemsets, new_itemsets, save_reductions): + Use size_t, not int or short int, to count objects. + * src/closure.c (nritemset, closure): Likewise. + * src/closure.h (nritemset, closure): Likewise. + * src/nullable.c (nullable_compute): Likewise. + * src/print.c (print_core): Likewise. + * src/print_graph.c (print_core): Likewise. + * src/state.c (state_compare, state_hash): Likewise. + * src/state.h (struct state): Likewise. + * src/tables.c (default_goto, goto_actions): Likewise. + + * src/gram.h (rule_number, rule): Use int, not short int. + * src/output.c (prepare_rules): Likewise. + * src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions, + errs, reductions): Likewise. + * src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol): + Likewise. + * src/tables.c (vector_number, tally, action_number, + ACTION_NUMBER_MINIMUM): Likewise. + * src/output.c (muscle_insert_short_int_table): Remove. + +2004-12-17 Akim Demaille + + * data/lalr1.cc: Extensive Doxygenation. + (error_): Rename as... + (error): this, since it is visible to the user. + Adjust callers. + (Parser::message): Now an automatic variable from... + (Parser::yyreport_syntax_error_): here. + * tests/actions.at, tests/calc.at, tests/regression.at: Adjust to + Parser::error. + * tests/input.at: Escape $. + 2004-12-16 Paul Eggert * data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):