X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/bb88b0fc9e1f8ff9f2f5e672078a81d13288e0d5..8a9566d401c151d250a45046d0cc96b073876953:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 3d45d5d8..59410d59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,223 @@ +2002-05-01 Akim Demaille + + * src/skeleton.h: Fix the #endif. + Reported by Magnus Fromreide. + +2002-04-26 Paul Eggert + + * data/bison.simple (YYSTYPE_IS_TRIVIAL, YYLTYPE_IS_TRIVIAL): + Define if we define YYSTYPE and YYLTYPE, respectively. + (YYCOPY): Fix [] quoting problem in the non-GCC case. + +2002-04-25 Robert Anisko + + * src/scan-skel.l: Postprocess quadrigraphs. + + * src/reader.c (copy_character): New function, used to output + single characters while replacing `[' and `]' with quadrigraphs, to + avoid troubles with M4 quotes. + (copy_comment): Output characters with copy_character. + (read_additionnal_code): Likewise. + (copy_string2): Likewise. + (copy_definition): Likewise. + + * tests/calc.at: Exercise M4 quoting. + +2002-04-25 Akim Demaille + + * tests/sets.at (AT_EXTRACT_SETS): Sed portability issue: no space + between `!' and the command. + Reported by Paul Eggert. + +2002-04-24 Robert Anisko + + * tests/calc.at: Exercise prologue splitting. + + * data/bison.simple, data/bison.c++: Use `b4_pre_prologue' and + `b4_post_prologue' instead of `b4_prologue'. + + * src/output.c (prepare): Add the `pre_prologue' and `post_prologue' + muscles. + (output): Free pre_prologue_obstack and post_prologue_obstack. + * src/files.h, src/files.c (attrs_obstack): Remove. + (pre_prologue_obstack, post_prologue_obstack): New. + * src/reader.c (copy_definition): Add a parameter to specify the + obstack to fill, instead of using attrs_obstack unconditionally. + (read_declarations): Pass pre_prologue_obstack to copy_definition if + `%union' has not yet been seen, pass post_prologue_obstack otherwise. + +2002-04-23 Paul Eggert + + * data/bison.simple: Remove unnecessary commentary and white + space differences from 1_29-branch. + Depend on YYERROR_VERBOSE, not defined (YYERROR_VERBOSE). + + (union yyalloc, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYCOPY, + YYSTACK_RELOCATE): Do not define if yyoverflow is defined, or + if this is a C++ parser and YYSTYPE or YYLTYPE has nontrivial + constructors or destructors. + + (yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack. + +2002-04-23 Akim Demaille + + * tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels. + * tests/synclines.at (AT_TEST_SYNCLINE): Be robust to GCC's + location with columns. + * tests/conflicts.at (%nonassoc and eof): Don't use `error.h'. + All reported by Paul Eggert. + +2002-04-22 Akim Demaille + + * src/reduce.c (dump_grammar): Move to... + * src/gram.h, src/gram.c (grammar_dump): here. + Be sure to separate long item numbers. + Don't read the members of a rule's prec if its nil. + +2002-04-22 Akim Demaille + + * src/output.c (table_size, table_grow): New. + (MAXTABLE): Remove, replace uses with table_size. + (pack_vector): Instead of dying when the table is too big, grow it. + +2002-04-22 Akim Demaille + + * data/bison.simple (yyr1): Its type is that of a token number. + * data/bison.c++ (r1_): Likewise. + * tests/regression.at (Web2c Actions): Adjust. + +2002-04-22 Akim Demaille + + * src/reader.c (token_translations_init): 256 is now the default + value for the error token, i.e., it will be assigned another + number if the user assigned 256 to one of her tokens. + (reader): Don't force 256 to error. + * doc/bison.texinfo (Symbols): Adjust. + * tests/torture.at (AT_DATA_HORIZONTAL_GRAMMAR) + (AT_DATA_TRIANGULAR_GRAMMAR): Number the tokens as 1, 2, 3 + etc. instead of 10, 20, 30 (which was used to `jump' over error + (256) and undefined (2)). + +2002-04-22 Akim Demaille + + Propagate more token_number_t. + + * src/gram.h (token_number_as_item_number) + (item_number_as_token_number): New. + * src/output.c (GENERATE_OUTPUT_TABLE): New. + Use it to create output_item_number_table and + output_token_number_table. + * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c, + * src/lex.c, src/nullable.c, src/output.c, src/print.c, + * src/print_graph.c, src/reader.c, src/reduce.c, src/state.h, + * src/symtab.c, src/symtab.h: Use token_number_t instead of shorts. + +2002-04-22 Akim Demaille + + * src/output.h, src/output.c (get_lines_number): Remove. + +2002-04-19 Akim Demaille + + * doc/bison.texinfo (Actions): Make clear that `|' is not the same + as Lex/Flex'. + (Debugging): More details about enabling the debugging features. + (Table of Symbols): Describe $$, $n, @$, and @n. + Suggested by Tim Josling. + +2002-04-19 Akim Demaille + + * doc/bison.texinfo: Remove the uses of the obsolete @refill. + +2002-04-10 Akim Demaille + + * src/system.h: Rely on HAVE_LIMITS_H. + Suggested by Paul Eggert. + +2002-04-09 Akim Demaille + + * tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the + full stderr, and strip it according to the bison options, instead + of composing the error message from different bits. + This makes it easier to check for several error messages. + Adjust all the invocations. + Add an invocation exercising the error token. + Add an invocation demonstrating a stupid error message. + (_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0. + Adjust the tests. + Error message are for stderr, not stdout. + +2002-04-09 Akim Demaille + + * src/gram.h, src/gram.c (error_token_number): Remove, use + errtoken->number. + * src/reader.c (reader): Don't specify the user token number (2) + for $undefined, as it uselessly prevents using it. + * src/gram.h (token_number_t): Move to... + * src/symtab.h: here. + (state_t.number): Is a token_number_t. + * src/print.c, src/reader.c: Use undeftoken->number instead of + hard coded 2. + (Even though this 2 is not the same as above: the number of the + undeftoken remains being 2, it is its user token number which + might not be 2). + * src/output.c (prepare_tokens): Rename the `maxtok' muscle with + `user_token_number_max'. + Output `undef_token_number'. + * data/bison.simple, data/bison.c++: Use them. + Be sure to map invalid yylex return values to + `undef_token_number'. This saves us from gratuitous SEGV. + + * tests/conflicts.at (Solved SR Conflicts) + (Unresolved SR Conflicts): Adjust. + * tests/regression.at (Web2c Actions): Adjust. + +2002-04-08 Akim Demaille + + * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/. + Adding #line. + Remove the duplicate `typedefs'. + (RhsNumberType): Fix the declaration and various other typos. + Use __ofile__. + * data/bison.simple: Use __ofile__. + * src/scan-skel.l: Handle __ofile__. + +2002-04-08 Akim Demaille + + * src/gram.h (item_number_t): New, the type of item numbers in + RITEM. Note that it must be able to code symbol numbers as + positive number, and the negation of rule numbers as negative + numbers. + Adjust all dependencies (pretty many). + * src/reduce.c (rule): Remove this `short *' pointer: use + item_number_t. + * src/system.h (MINSHORT, MAXSHORT): Remove. + Include `limits.h'. + Adjust dependencies to using SHRT_MAX and SHRT_MIN. + (shortcpy): Remove. + (MAXTABLE): Move to... + * src/output.c (MAXTABLE): here. + (prepare_rules): Use output_int_table to output rhs. + * data/bison.simple, data/bison.c++: Adjust. + * tests/torture.at (Big triangle): Move the limit from 254 to + 500. + * tests/regression.at (Web2c Actions): Ajust. + + Trying with bigger grammars shows various phenomena: at 3000 (28Mb + of grammar file) bison is killed by my system, at 2000 (12Mb) bison + passes, but produces negative #line number, once fixed, GCC is + killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of + C), it passes. + * src/state.h (state_h): Code input lines on ints, not shorts. + 2002-04-08 Akim Demaille * src/reduce.c (reduce_grammar): First reduce the nonterminals, and then the grammar. - 2002-04-08 Akim Demaille * src/system.h: No longer using strndup. - 2002-04-07 Akim Demaille * src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New. @@ -6081,3 +6290,23 @@ 1987-12-16 Richard Stallman * REFERENCES: entered into RCS +----- + +Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + +This file is part of GNU Autoconf. + +GNU Autoconf is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Autoconf is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with autoconf; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA.