help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bison 1.28b


From: Akim Demaille
Subject: Bison 1.28b
Date: 03 Aug 2001 12:36:34 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Academic Rigor)

We are finally on the right tracks to release 1.29.  There are still
some documentation issues to handle, we might include some code to
output VCG representation of the automaton, but the core is stable.

The most dangerous change wrt 1.28 is the use of obstacks instead of
temporary files.  I'm afraid this could cause problems on low memory
machines.  Please, test it exhaustively.

Enjoy!

  ftp://alpha.gnu.org/gnu/bison/bison-1.28b.tar.gz   (574 kB)
  ftp://alpha.gnu.org/gnu/bison/bison-1.28b.tar.bz2  (462 kB)

And here are xdelta-style diffs

  ftp://alpha.gnu.org/gnu/bison/bison-1.28-1.28b.xdelta   (265 kB)

Here are the MD5 and SHA1 signatures for the compressed tar files:

dfd00fe97cf834f1854bc8b33b75a283  bison-1.28b.tar.gz
e59162a2ce8895550187ff0a8eef92f0  bison-1.28b.tar.bz2
d544cbd96b063962f172719095337aed427ef7c7  bison-1.28b.tar.gz
8f9464f8218f17b8583726750be7c088119fe562  bison-1.28b.tar.bz2

NEWS:
Changes in version 1.28b:

* the input and the output files has automatically a similar extension.

* Russian translation added.

* NLS support updated; should hopefully be less troublesome.

* Added the old Bison reference card.

* Added `--locations' and `%locations'.

* Added `-S' and `--skeleton'.

* `%raw', `-r', `--raw' is disabled.

* Special characters are escaped when output.  This solves the problems
  of the #line lines with path names including backslashes.

* New directives.
  `%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
  `%debug'.

ChangeLog entries:

2001-08-03  Akim Demaille  <address@hidden>

        Version 1.28b.

2001-08-03  Akim Demaille  <address@hidden>

        * tests/Makefile.am (check-local): Ship testsuite.
        * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
        Include `string.h'.

2001-08-03  Akim Demaille  <address@hidden>

        * configure.in: Try using -Wformat when compiling.

2001-08-03  Akim Demaille  <address@hidden>

        * configure.in: Bump to 1.28b.

2001-08-03  Akim Demaille  <address@hidden>

        * src/complain.c: Adjust strerror_r portability issues.

2001-08-03  Akim Demaille  <address@hidden>

        Version 1.28a.

2001-08-03  Akim Demaille  <address@hidden>

        * src/getargs.c, src/getarg.h (skeleton)): Constify.
        * src/lex.c (literalchar): Avoid name clashes on `buf'.
        * src/getargs.c: Include complain.h.
        * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
        * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.

2001-08-03  Akim Demaille  <address@hidden>

        * src/reader.c (readgram): Display hidden chars in error messages.

2001-08-03  Akim Demaille  <address@hidden>

        Update to gettext 0.10.39.

2001-08-03  Akim Demaille  <address@hidden>

        * lib/strspn.c: New.

2001-08-01  Marc Autret  <address@hidden>

        * doc/bison.texinfo: Update.
        * doc/bison.1 (mandoc): Update.
        * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
        * src/files.c: Support output files extensions computing.
        (src_extension): New static variable.
        (header_extension): New static variable.
        (tr): New function.
        (get_extension_index): New function, gets the index of an extension
        filename in a string.
        (compute_exts_from_gf): New function, computes extensions from the
        grammar file extension.
        (compute_exts_from_src): New functions, computes extensions from the
        C source file extension, file given by ``-o'' option.
        (compute_base_names): Update.
        (output_files): Update.

2001-08-01  Robert Anisko  <address@hidden>

        * doc/bison.texi: Document @$.
        (Locations): New section.

2001-07-18  Akim Demaille  <address@hidden>

        * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
        * config/prev-version.txt, config/move-if-change: New.
        * Makefile.am: Adjust.

2001-07-08  Pascal Bart  <address@hidden>

        * src/bison.simple (yyparse): Suppress warning `comparaison
        between signed and unsigned'.

2001-07-05  Pascal Bart  <address@hidden>

        * src/getargs.h (raw_flag): Remove.
        * src/getargs.c: Die on `-r'/`--raw'.
        * src/lex.c (parse_percent_token): Die on `%raw'.
        * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
        * tests/calc.at: Suppress test with option `--raw'.

2001-07-14  Akim Demaille  <address@hidden>

        * config/: New.
        * configure.in: Require Autoconf 2.50.
        Update to gettext 0.10.38.

2001-03-16  Akim Demaille  <address@hidden>

        * doc/bison.texinfo: ANSIfy the examples.

2001-03-16  Akim Demaille  <address@hidden>

        * getargs.c (skeleton): New variable.
        (longopts): --skeleton is a new option.
        (shortopts, getargs): -S is a new option.
        * getargs.h: Declare skeleton.
        * output.c (output_parser): Use it.

2001-03-16  Akim Demaille  <address@hidden>

        * m4/strerror_r.m4: New.
        * m4/error.m4: Run AC_FUNC_STRERROR_R.
        * lib/error.h, lib/error.c: Update.

2001-03-16  Akim Demaille  <address@hidden>

        * src/getargs.c (longopts): Clean up.

2001-02-21  Akim Demaille  <address@hidden>

        * src/reader.c (gensym): `gensym_count' is your own.
        Use a static buf to create the symbol name, as token_buffer is no
        longer a buffer.

2001-02-08  Akim Demaille  <address@hidden>

        * src/conflicts.c (conflict_report): Be sure not to append to res
        between two calls, which could happen if both first sprintf were
        skipped, but not the first cp += strlen.

2001-02-08  Akim Demaille  <address@hidden>

        * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
        New, from fileutils 4.0.37.
        * configure.in: Require Autoconf 2.49c.  I took some time before
        making this decision.  This is the only way out for portability
        issues in Bison, it would mean way too much duplicate effort to
        import in Bison features implemented in 2.49c since 2.13.
        AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.

2001-02-02  Akim Demaille  <address@hidden>

        * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
        * lib/xalloc.h, lib/xmalloc.c: Update.

2001-01-19  Akim Demaille  <address@hidden>

        Get rid of the ad hoc handling of token_buffer in the scanner: use
        the obstacks.

        * src/lex.c (token_obstack): New.
        (init_lex): Initialize it.  No longer call...
        (grow_token_buffer): this.  Remove it.
        Adjust all the places which used it to use the obstack.

2001-01-19  Akim Demaille  <address@hidden>

        * src/lex.h: Rename all the tokens:
        s/\bENDFILE\b/tok_eof/g;
        s/\bIDENTIFIER\b/tok_identifier/g;
        etc.
        Let them be enums, not #define, to ease debugging.
        Adjust all the code.

2001-01-18  Akim Demaille  <address@hidden>

        * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
        * src/lex.c (maxtoken, grow_token_buffer): Static.

2001-01-18  Akim Demaille  <address@hidden>

        Since we now use obstacks, more % directives can be enabled.

        * src/lex.c (percent_table): Also accept `%yacc',
        `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
        `%debug'.
        Handle the actions for `%semantic_parser' and `%pure_parser' here,
        instead of returning a token.
        * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
        * src/reader.c (read_declarations): Adjust.
        * src/files.c (open_files): Don't call `compute_base_names', don't
        compute `attrsfile' since they depend upon data which might be
        *in* the input file now.
        (output_files): Do it here.
        * src/output.c (output_headers): Document the fact that this patch
        introduces a guaranteed SEGV for semantic parsers.
        * doc/bison.texinfo: Document them.
        * tests/suite.at: Exercise these %options.

2000-12-20  Akim Demaille  <address@hidden>

        Also handle the output file (--verbose) with obstacks.

        * files.c (foutput): Remove.
        (output_obstack): New.
        Adjust all dependencies.
        * src/conflicts.c: Return a string.
        * src/system.h (obstack_grow_string): Rename as...
        (obstack_sgrow): this.  Be ready to work with non literals.
        (obstack_fgrow4): New.

2000-12-20  Akim Demaille  <address@hidden>

        * src/files.c (open_files): Fix the computation of short_base_name
        in the case of `-o foo.tab.c'.

2000-12-20  Akim Demaille  <address@hidden>

        * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
        (copy_dollar): Now that everything uses obstacks, get rid of the
        FILE * parameters.

2000-12-20  Akim Demaille  <address@hidden>

        * src/files.c (open_files): Actually the `.output' file is based
        on the short_base_name, not base_name.
        * tests/suite.at (Checking output file names): Adjust.

2000-12-20  Akim Demaille  <address@hidden>

        * src/bison.s1: Remove, we now use directly...
        * src/bison.simple: this.
        * src/Makefile.am: Use pkgdata instead of data.

2000-12-20  Akim Demaille  <address@hidden>

        * src/files.c (guard_obstack): New.
        (open_files): Initialize it.
        (output_files): Dump it...
        * src/files.h: Export it.
        * src/reader.c (copy_guard): Use it.

2000-12-19  Akim Demaille  <address@hidden>

        * src/files.c (outfile, defsfile, actfile): Removed as global
        vars.
        (open_files): Don't compute them.
        (output_files): Adjust.
        (base_name, short_base_name): Be global.
        Adjust dependencies.

2000-12-19  Akim Demaille  <address@hidden>

        * src/files.c (strsuffix): New.
        (stringappend): Be just like strcat but allocate.
        (base_names): Eve out from open_files.
        Try to simplify the rather hairy computation of base_name and
        short_base_name.
        (open_files): Use it.
        * tests/suite.at (Checking output file names): New test.

2000-12-19  Akim Demaille  <address@hidden>

        * src/system.h (obstack_grow_literal_string): Rename as...
        (obstack_grow_string): this.
        * src/output.c (output_parser): Recognize `%% actions' instead of
        `$'.
        * src/bison.s1: s/$/%% actions/.
        * src/bison.hairy: Likewise.

2000-12-19  Akim Demaille  <address@hidden>

        * src/output.c (output_parser): Compute the `#line' lines when
        there are.
        * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
        Suggested by Hans Aberg.

2000-12-19  Akim Demaille  <address@hidden>

        Let the handling of the skeleton files be local to the procedures
        that use it.

        * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
        longer static.
        (fparser, open_extra_files): Remove.
        (open_files, output_files): Don't take care of fparser.
        * src/files.h: Adjust.
        * src/output.c (output_parser): Open and close the file to the
        skeleton.
        * src/reader.c (read_declarations): When %semantic_parser, open
        fguard.

2000-12-19  Akim Demaille  <address@hidden>

        * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
        * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.

2000-12-19  Akim Demaille  <address@hidden>

        * src/files.c (open_files): Yipee!  We no longer need all the code
        looking for `/tmp' since we have no tmp file.

2000-12-19  Akim Demaille  <address@hidden>

        * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
        New macros.
        * src/files.c (open_files): Less dependency on MSDOS etc.

2000-12-14  Akim Demaille  <address@hidden>

        * src/bison.s1 (YYLLOC_DEFAULT): New macro.
        Provide a default definition.
        Use it when executing the default @ action.
        * src/reader.c (reader_output_yylsp): No longer include
        `timestamp' and `text' in the default YYLTYPE.

2000-12-12  Akim Demaille  <address@hidden>

        * src/reader.c (copy_definition, parse_union_decl, copy_action)
        (copy_guard): Quote the file names.
        Reported by Laurent Mascherpa.

2000-12-12  Akim Demaille  <address@hidden>

        * src/output.c (output_headers, output_program, output): Be sure
        to escape special characters when outputting filenames.
        (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
        (output_headers): Don't depend on them, Use ACTSTR.

2000-11-17  Akim Demaille  <address@hidden>

        * lib/obstack.h: Formatting changes.
        (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
        prevents type checking.
        (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
        cast the value to (void *): assigning a `foo *' to a `void *'
        variable is valid.
        (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
        * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
        append characters.

2000-11-17  Akim Demaille  <address@hidden>

        * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
        as...
        (suite.m4, regression.m4, calc.m4): these.
        * tests/atgeneral.m4: Update from CVS Autoconf.

2000-11-17  Akim Demaille  <address@hidden>

        * tests/regression.m4 (%union and --defines): New test,
        demonstrating a current bug in the obstack implementation.

2000-11-17  Akim Demaille  <address@hidden>

        * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
        macros.
        Use them to declare the variables which are global or local to
        `yyparse'.

2000-11-17  Akim Demaille  <address@hidden>

        * acconfig.h: Remove, no longer used.

2000-11-07  Akim Demaille  <address@hidden>

        * src: s/Copyright (C)/Copyright/g.

2000-11-07  Akim Demaille  <address@hidden>

        * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
        defining.
        * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.

2000-11-07  Akim Demaille  <address@hidden>

        * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
        Merge in a single CPP if/else.

2000-11-07  Akim Demaille  <address@hidden>

        * src/output.c (output): Remove useless variables.
        * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
        argument `data' for consistency with the prototypes.
        Qualify it `const'.
        (obstack_copy, obstack_copy0): Rename the second argument as
        `address' for consistency.  Qualify it `const'.
        * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
        (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
        `const' their input argument (`data' or `address').
        Adjust the corresponding macros to include `const' in casts.

2000-11-03  Akim Demaille  <address@hidden>

        * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
        s/PFILE1/BISON_HAIRY/.
        Adjust dependencies.

2000-11-03  Akim Demaille  <address@hidden>

        For some reason, this was not applied.

        * src/files.c [VMS]: No longer include `ssdef.h', no longer define
        `unlink': it's no longer used.

2000-11-03  Akim Demaille  <address@hidden>

        * src/files.c (skeleton_find): New function, eved out of...
        (open_files, open_extra_files): here.

2000-11-03  Akim Demaille  <address@hidden>

        Don't use `atexit'.

        * src/files.c (obstack_save): New function.
        (done): Rename as...
        (output_files): this.
        Use `obstack_save'.
        * src/main.c (main): Don't use `atexit' to register `done', since
        it no longer has to remove tmp files, just call `output_files'
        when there are no errors.

2000-11-02  Akim Demaille  <address@hidden>

        * src/files.c [VMS]: No longer include `ssdef.h', no longer define
        `unlink': it's no longer used.
        * src/files.h: Formatting changes.

2000-11-02  Akim Demaille  <address@hidden>

        Remove the last uses of mktemp and unlink/delete.

        * src/files.c (fdefines, ftable): Removed.
        (defines_ostack, table_obstack): New.
        Adjust dependencies of the former into uses of the latter.
        * src/output.c (output_short_or_char_table, output_short_table):
        Convert to using obstacks.
        * src/reader.c (copy_comment2): Accept one FILE * and two
        obstacks.
        (output_token_defines, reader_output_yylsp): Use obstacks.
        * src/system.h (obstack_fgrow3): New.

2000-11-01  Akim Demaille  <address@hidden>

        Change each use of `fattrs' into a use of `attrs_obstack'.

        * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
        * src/files.c (fattrs): Remove.
        (attrs_obstack): New.
        Adjust all dependencies.
        (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.

2000-11-01  Akim Demaille  <address@hidden>

        Introduce obstacks.
        Change each use of `faction' into a use of `action_obstack'.

        * lib/obstack.h, lib/obstack.c: New files.
        * src/files.c (faction): Remove.
        (action_obstack): New.
        Adjust all dependencies.

2000-10-20  Akim Demaille  <address@hidden>

        * lib/quote.h (PARAMS): New macro.  Use it.

2000-10-16  Akim Demaille  <address@hidden>

        * src/output.c (output_short_or_char_table): New function.
        (output_short_table, output_token_translations): Use it.
        (goto_actions): Use output_short_table.

2000-10-16  Akim Demaille  <address@hidden>

        * src/symtab.c (bucket_new): New function.
        (getsym): Use it.

        * src/output.c (output_short_table): New argument to display the
        comment associated with the table.
        Adjust dependencies.
        (output_gram): Use it.
        (output_rule_data): Nicer output layout for YYTNAME.

2000-10-16  Akim Demaille  <address@hidden>

        * src/lex.c (read_typename): New function.
        (lex): Use it.
        * src/reader.c (copy_dollar): Likewise.

2000-10-16  Akim Demaille  <address@hidden>

        * src/reader.c (copy_comment2): Expect the input stream to be on
        the `/' which is suspected to open a comment, instead of being
        called after `//' or `/*' was read.
        (copy_comment, copy_definition, parse_union_decl, copy_action)
        (copy_guard): Adjust.

2000-10-16  Akim Demaille  <address@hidden>

        * src/reader.c (parse_expect_decl): Use `skip_white_space' and
        `read_signed_integer'.

2000-10-16  Akim Demaille  <address@hidden>

        * src/reader.c (copy_dollar): New function.
        (copy_guard, copy_action): Use it.

2000-10-16  Akim Demaille  <address@hidden>

        * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
        * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
        New files, from Fileutils 4.0.27.
        * src/main.c (printable_version): Remove.
        * src/lex.c, src/reader.c: Use `quote'.

2000-10-04  Akim Demaille  <address@hidden>

        * lib/error.c, lib/error.h: New files, needed by xmalloc.c.

2000-10-04  Akim Demaille  <address@hidden>

        * doc/bison.texinfo: Various typos spotted by Neil Booth.

2000-10-04  Akim Demaille  <address@hidden>

        When a literal string is used to define two different tokens,
        `bison -v' segfaults.
        Reported by Piotr Gackiewicz, and fixed by Neil Booth.

        * tests/regression.m4: New file.
        Include the core of the sample provided by Piotr Gackiewicz.
        * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
        properly.

2000-10-04  Akim Demaille  <address@hidden>

        * src/reader.c (parse_expect_decl): Keep `count' within the size
        of `buffer'.
        From Neil Booth.

2000-10-02  Paul Eggert  <address@hidden>

        * bison.s1 (yyparse): Assign the default value
        unconditionally, to avoid a GCC warning and make the parser a
        tad smaller.

2000-10-02  Akim Demaille  <address@hidden>

        * src/getargs.c (getargs): Don't dump `--help' on unrecognized
        options.

2000-10-02  Akim Demaille  <address@hidden>

        * src/derives.c, src/print.c, src/reduce.c: To ease the
        translation, move some `\n' out of the translated strings.

2000-10-02  Akim Demaille  <address@hidden>

        The location tracking mechanism is precious for parse error
        messages.  Nevertheless, it is enabled only when address@hidden' is 
used in
        the grammar, which is a different issue (you can use it in error
        message, but not in the grammar per se).  Therefore, there should
        be another means to enable it.

        * src/getargs.c (getargs): Support `--locations'.
        (usage): Report it.
        * src/getargs.h (locationsflag): Export it.
        * src/lex.c (percent_table): Support `%locations'.
        * src/reader.c (yylsp_needed): Remove this variable, now replaced
        with `locationsflag'.
        * doc/bison.texinfo: Document `--locations' and `%locations'.
        Sort the options.
        * tests/calc.m4: Test it.

        For regularity of the names, replace each
        (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
        (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
        In addition replace each `flag' with `_flag'.

2000-10-02  Akim Demaille  <address@hidden>

        Also test parse error messages, including with YYERROR_VERBOSE.

        * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
        associative).
        Use it to check the computations.
        Use it to check `nonassoc' is honored.
        (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
        `--yyerror-verbose'.
        (_AT_CHECK_CALC): Adjust to this option.
        (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.

2000-10-02  Akim Demaille  <address@hidden>

        Test also `--verbose', `--defines' and `--name-prefix'.  Testing
        the latter demonstrates a flaw in the handling of non debugging
        parsers introduced by myself on 2000-03-16: `#define yydebug 0'
        was used in order to simplify:

        #if YYDEBUG
        if (yydebug)
        {
        ...
        }
        #endif

        into

        if (yydebug)
        {
        ...
        }

        unfortunately this leads to a CPP conflict when
        `--name-prefix=foo' is used since it produces `#define yydebug
        foodebug'.

        * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
        (YYDPRINTF): New macro.
        Spread its use.
        * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
        the bison options.
        Also test `--verbose', `--defines' and `--name-prefix'.

2000-10-02  Akim Demaille  <address@hidden>

        Improve the readability of the produced parsers.

        * src/bison.s1: Formatting changes.
        Improve the comment related to the `$' mark.
        (yydefault): Don't fall through to `yyresume': `goto' there.
        * src/output.c (output_parser): When the `$' is met, skip the end
        of its line.
        New variable, `number_of_dollar_signs', to check there's exactly
        one `$' in the parser skeleton.

2000-10-02  Akim Demaille  <address@hidden>

        * lib/xstrdup.c: New file, from the fileutils.
        * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
        (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
        instead of strlen + xmalloc + strcpy.
        * src/symtab.c (copys): Remove, use xstrdup instead.

2000-10-02  Akim Demaille  <address@hidden>

        * src/gram.h (associativity): New enum type which replaces the
        former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
        `right_assoc', `left_assoc' and `non_assoc'.
        Adjust all dependencies.
        * src/reader.c: Formatting changes.
        (LTYPESTR): Don't define it, use it as a literal in
        `reader_output_yylsp'.
        * src/symtab.h (symbol_class): New enum type which replaces the
        former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
        `sunknown', `stoken and `snterm'.

2000-10-02  Akim Demaille  <address@hidden>

        * src/getargs.c (fixed_outfiles): Rename as...
        (yaccflag): for consistency and accuracy.
        Adjust dependencies.

2000-10-02  Akim Demaille  <address@hidden>

        Use the more standard files `xalloc.h' and `xmalloc.c' instead of
        Bison's `allocate.c' and `alloc.h'.  This patch was surprisingly
        difficult and introduced a lot of core dump.  It turns out that
        Bison used an implementation of `xmalloc' based on `calloc', and
        at various places it does depend upon the initialization to 0.  I
        have not tried to isolate the pertinent places, and all the former
        calls to Bison's `xmalloc' are now using `XCALLOC'.  Someday,
        someone should address this issue.

        * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
        * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
        files.
        Adjust dependencies.
        * src/warshall.h: New file.
        Propagate.

2000-10-02  Akim Demaille  <address@hidden>

        Various anti-`extern in *.c' changes.

        * src/system.h: Include `assert.h'.

2000-10-02  Akim Demaille  <address@hidden>

        * src/state.h (nstates, final_state, first_state, first_shift)
        (first_reduction): Move their exportation from here...
        * src/LR0.h: to here.
        Adjust dependencies.
        * src/getargs.c (statisticsflag): New variable.
        Add support for `--statistics'.
        Adjust dependencies.

        Remove a lot of now useless `extern' statements in most files.

2000-10-02  Akim Demaille  <address@hidden>

        * src/LR0.h: New file.
        Propagate its use.

2000-10-02  Akim Demaille  <address@hidden>

        * src/print.h: New file.
        Propagate its use.
        * src/print.c: Formatting and ordering changes.
        (verbose, terse): Replace with...
        (print_results): this new function.
        Adjust dependencies.

2000-10-02  Akim Demaille  <address@hidden>

        * src/conflicts.c (conflict_report): New function.
        (conflict_log, verbose_conflict_log): Replace with...
        (print_conflicts): this function.
        Adjust dependencies.
        * src/conflicts.h: New file.
        Propagate its inclusion.

2000-10-02  Akim Demaille  <address@hidden>

        * src/nullable.h: New file.
        Propagate its inclusion.
        * src/nullable.c: Formatting changes.

2000-10-02  Akim Demaille  <address@hidden>

        * src/reduce.h: New file.
        Propagate its inclusion.
        * src/reduce.c: Topological sort and other formatting changes.
        (bool, TRUE, FALSE): Move their definition to...
        * src/system.h: here.

2000-10-02  Akim Demaille  <address@hidden>

        * src/files.c: Formatting changes.
        (tryopen, tryclose, openfiles): Rename as...
        (xfopen, xfclose, open_files): this.
        (stringappend): static.
        * src/files.h: Complete the list of exported symbols.
        Propagate its use.

2000-10-02  Akim Demaille  <address@hidden>

        * src/reader.h: New file.
        Propagate its use instead of tedious list of `extern' and
        prototypes.
        * src/reader.c: Formatting changes, topological sort,
        s/register//.

2000-10-02  Akim Demaille  <address@hidden>

        * src/lex.h: Prototype `lex.c' exported functions.
        * src/reader.c: Adjust.
        * src/lex.c: Formatting changes.
        (safegetc): Rename as...
        (xgetc): this.

2000-10-02  Akim Demaille  <address@hidden>

        * src/lalr.h: New file.
        Propagate its inclusion instead of prototypes and `extern'.
        * src/lalr.c: Formatting changes, topological sorting etc.

2000-10-02  Akim Demaille  <address@hidden>

        * src/output.c (token_actions): Introduce a temporary array,
        YYDEFACT, that makes it possible for this function to use
        output_short_table.

2000-10-02  Akim Demaille  <address@hidden>

        `user_toknums' is output as a `short[]' in `output.c', while it is
        defined as a `int[]' in `reader.c'.  For consistency with the
        other output tables, `user_toknums' is now defined as a table of
        shorts.

        * src/reader.c (user_toknums): Be a short table instead of an int
        table.
        Adjust dependencies.

        Factor the short table outputs.

        * src/output.c (output_short_table): New function.
        * src/output.c (output_gram, output_stos, output_rule_data)
        (output_base, output_table, output_check):  Use it.

2000-10-02  Akim Demaille  <address@hidden>

        * src/output.c (output): Topological sort of the functions, in
        order to get rid of the `static' prototypes.
        No longer use `register'.
        * src/output.h: New file.
        Propagate its inclusion in files explicitly prototyping functions
        from output.c.

2000-09-21  Akim Demaille  <address@hidden>

        * src/atgeneral.m4: Update from Autoconf.

2000-09-21  Akim Demaille  <address@hidden>

        * src/closure.h: New file.
        * src/closure.c: Formatting changes, topological sort over the
        functions, use of closure.h.
        (initialize_closure, finalize_closure):  Rename as...
        (new_closure, free_closure): these.  Adjust dependencies.
        * src/LR0.c: Formatting changes, topological sort, use of
        cloture.h.
        (initialize_states): Rename as...
        (new_states): this.
        * src/Makefile.am (noinst_HEADERS): Adjust.

2000-09-20  Akim Demaille  <address@hidden>

        * src/acconfig.h: Don't protect config.h against multiple
        inclusion.
        Don't define PARAMS.
        * src/system.h: Define PARAMS.
        Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
        purpose of config.h.  system.h must not try to fix wrong
        definitions in config.h.

2000-09-20  Akim Demaille  <address@hidden>

        * src/derives.h: New file.
        * src/main.c, src/derives.h: Use it.
        Formatting changes.
        * src/Makefile.am (noinst_HEADERS): Adjust.

2000-09-20  Akim Demaille  <address@hidden>

        * tests/atgeneral.m4: Update from Autoconf.
        * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
        (AT_CHECK_CALC): New macros.
        Use these macros to test bison with options `', `--raw',
        `--debug', `--yacc', `--yacc --debug'.

2000-09-19  Akim Demaille  <address@hidden>

        * src/output.c: Formatting changes.
        * src/machine.h: Remove, leaving its contents in...
        * src/system.h: here.
        Include stdio.h.
        Adjust all dependencies on stdio.h and machine.h.
        * src/getargs.h: New file.
        Let all `extern' declarations about getargs.c be replaced with
        inclusion of `getargs.h'.
        * src/Makefile.am (noinst_HEADERS): Adjust.

        * tests/calc.m4 (yyin): Be initialized in main, not on the global
        scope.
        (yyerror): Returns void, not int.
        * doc/bison.texinfo: Formatting changes.

2000-09-19  Akim Demaille  <address@hidden>

        * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
        portable.

2000-09-18  Akim Demaille  <address@hidden>

        * configure.in: Append WARNING_CFLAGS to CFLAGS.
        * src/Makefile.am (INCLUDES): Don't.
        Be ready to fetch headers in lib/.

2000-09-18  Akim Demaille  <address@hidden>

        * doc/bison.texinfo: Update the copyright.
        ANSIfy and GNUify the examples.
        Remove the old menu.

2000-09-18  Akim Demaille  <address@hidden>

        First set of tests: use the `calc' example from the documentation.

        * src/bison.s1 (yyparse): Condition the code using `yytname' which
        is defined only when YYDEBUG is.
        * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
        * src/files.c (tryopen, tryclose): Formatting changes.
        Move to the top and be static.
        * src/reader.c (read_signed_integer): Likewise.
        * tests/calc.m4: New file.
        * Makefile.am, suite.m4: Adjust.
        * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.

2000-09-18  Akim Demaille  <address@hidden>

        Add support for an Autotest test suite for Bison.

        * m4/m4.m4, m4/atconfig.m4: New files.
        * m4/Makefile.am (EXTRA_DIST): Adjust.
        * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
        files.
        * src/getargs.c: Display a more standard --version message.
        * src/reader.c (reader): Formatting changes.
        No longer depend upon VERSION_STRING.
        * configure.in: No longer use `dnl'.
        Set up the test suite and the new directory `tests/.
        (VERSION_STRING): Remove.

2000-04-14  Akim Demaille  <address@hidden>

        * src/reader.c (copy_comment2): New function, same as former
        `copy_comment', but outputs into two FILE *.
        (copy_comment): Use it.
        (parse_union_decl): Use it.
        (get_type, parse_start_decl): Use the same `invalid' message.
        (parse_start_decl, parse_union_decl): Use the same `multiple'
        message.
        (parse_union_decl, copy_guard, copy_action): Use the same
        `unmatched' message.
        * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.

2000-03-31  Akim Demaille  <address@hidden>

        * src/files.c (tryopen, tryclose): Move to the top.
        Be static.

2000-03-31  Akim Demaille  <address@hidden>

        * src/main.c (main): Don't call `done', exit does it.

2000-03-31  Akim Demaille  <address@hidden>

        * allocate.c: s/return (foo)/return foo/.
        * lalr.c: Likewise.
        * LR0.c: Likewise.
        * output.c: Likewise.
        * reader.c: Likewise.
        * symtab.c: Likewise.
        * vmsgetargs.c: Likewise.

2000-03-31  Akim Demaille  <address@hidden>

        Clean up the error reporting functions.

        * src/report.c: New file.
        * src/report.h: Likewise.
        * src/Makefile.am: Adjust.
        * m4/error.m4: New file.
        * m4/Makefile.am: Adjust.
        * configure.in (jm_PREREQ_ERROR): Call it.
        * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
        Remove.
        (fatal, fatals): Remove.  All callers use complain.c::fatal.
        (warn, warni, warns, warnss, warnss): Remove.  All callers use
        complain.c::complain.
        (toomany): Remove, use fatal instead.
        * src/files.c (done): No argument, use complain_message_count.
        * src/main.c (main): Register `done' to `atexit'.

        * src/getargs.c (usage): More `fputs', less `fprintf'.

2000-03-28  Akim Demaille  <address@hidden>

        * lib/: New directory.
        * Makefile.am (SUBDIRS): Adjust.
        * configure.in: Adjust.
        (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
        useless.
        * src/alloca.c: Moved to lib/.
        * src/getopt.c: Likewise.
        * src/getopt1.c: Likewise.
        * src/getopt.h: Likewise.
        * src/ansi2knr.c: Likewise.
        * src/ansi2knr.1: Likewise.
        * src/Makefile.am: Adjust.
        * lib/Makefile.am: New file.

2000-03-28  Akim Demaille  <address@hidden>

        * src/getargs.c (usage): Refresh the help message.

2000-03-17  Akim Demaille  <address@hidden>

        * src/getopt1.c: Updated from textutils 2.0e
        * src/getopt.c: Likewise.
        * src/getopt.h: Likewise.

2000-03-17  Akim Demaille  <address@hidden>

        * src/Makefile.am (bison.simple): Fix the awk program: quote only
        the file name, not the whole `#line LINE FILE'.

2000-03-17  Akim Demaille  <address@hidden>

        On syntax errors, report the token on which we choked.

        * src/bison.s1 (yyparse): In the label yyerrlab, when
        YYERROR_VERBOSE, add yychar in msg.

2000-03-17  Akim Demaille  <address@hidden>

        * src/reader.c (copy_at): New function.
        (copy_guard): Use it.
        (copy_action): Use it.

2000-03-17  Akim Demaille  <address@hidden>

        Be kind to translators, save some useless translations.

        * src/main.c (banner): New function.
        (fatal_banner): Use it.
        (warn_banner): Use it.

2000-03-17  Akim Demaille  <address@hidden>

        * src/reader.c (copy_definition): Use copy_string and
        copy_comment.  Removed now unused `match', `ended',
        `cplus_comment'.
        (copy_comment, copy_string): Moved, to be visible from
        copy_definition.

2000-03-17  Akim Demaille  <address@hidden>

        * src/reader.c (copy_string): Declare `static inline'.  No
        problems with inline, since it is checked by configure.
        (copy_comment): Likewise.

2000-03-17  Akim Demaille  <address@hidden>

        * src/reader.c (packsymbols): Formatting changes.

2000-03-17  Akim Demaille  <address@hidden>

        * src/reader.c (copy_comment): New function, factored out from:
        (copy_action): Use it.  Removed now unused `match', `ended',
        `cplus_comment'.
        (copy_guard): Likewise.

2000-03-17  Akim Demaille  <address@hidden>

        * src/reader.c (copy_string): New function, factored out from:
        (copy_action): Use it.
        (copy_guard): Likewise.

2000-03-17  Akim Demaille  <address@hidden>

        Change the handling of @s so that they behave exactly like $s.
        There is now a pseudo variable @$ (readble and writable), location
        of the lhs of the rule (by default ranging from the location of
        the first symbol of the rhs, to the location of the last symbol,
        or, if the rhs is empty, YYLLOC).

        * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
        yyval.
        (yyparse): When providing a default semantic action, provide a
        default location action.
        (after the $): No longer change `*YYLSP', just stack YYLOC the
        same way you stack YYVAL.
        * src/reader.c (read_declarations): Use warns.
        (copy_guard, case '@'): Also recognize address@hidden', expanded as 
`YYLOC'.
        (copy_action, case '@'): Likewise.
        Use a standard error message, to save useless work from
        translators.

2000-03-17  Akim Demaille  <address@hidden>

        * src/bison.s1: Formatting and cosmetics changes.
        * src/reader.c: Likewise.
        Update the Copyright notice.

2000-03-17  Akim Demaille  <address@hidden>

        * src/bison.s1 (#line): All set to `#line' only, since the
        Makefile now handles them.

2000-03-16  Akim Demaille  <address@hidden>

        * src/output.c (output_rule_data): Output the documentation of
        some of the tables.
        (Copyright notice): Update.
        Formatting changes.

2000-03-16  Akim Demaille  <address@hidden>

        * src/bison.s1 [!YYDEBUG]: Define yydebug to 0.  This allows to
        remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
        One `#if YYDEBUG' remains, since it uses variables which are
        defined only if `YYDEBUG != 0'.

2000-03-16  Akim Demaille  <address@hidden>

        * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
        and related variables so that the similarities are highlighted.

2000-03-16  Akim Demaille  <address@hidden>

        * src/bison.s1: Properly indent CPP directives.

2000-03-16  Akim Demaille  <address@hidden>

        * src/bison.s1: Properly indent the `alloca' CPP section.

2000-03-16  Akim Demaille  <address@hidden>

        Do not hard code values of directories in `configure.in'.
        Update the `configure' tool chain.

        * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
        src/makefile.am.
        (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
        (AC_OUTPUT): Add m4/Makefile.
        Bump to bison 1.28a, 1.29 has never been released.
        * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
        handled via src/Makefile.am.
        (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
        HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
        autoheader.
        * Makefile.am (SUBDIRS): Add m4.
        (ACLOCAL_AM_FLAGS): New variable.
        (AUTOMAKE_OPTIONS): Add check-news.
        * src/Makefile.am (bison.simple): Use awk to replace #line lines with
        the proper line number and file name.
        (DEFS): Propagate the location of bison library files and of the
        locale files.
        (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
        builddir.
        * acinclude.m4: Remove, replaced by the directory m4.
        * m4/Makefile.am (EXTRA_DIST): New variable.
        * m4/gettext.m4: New file, from the fileutils.
        * m4/lcmessage.m4: Likewise
        * m4/progtest.m4: Likewise.
        * m4/bison-decl.m4: New file, extracted from former acinclude.m4.

2000-03-10  Akim Demaille  <address@hidden>

        * src/closure.c:
        Formatting changes of various comments.
        Respect the GNU coding standards at various places.
        Don't use `_()' when no translation is needed.

1999-12-13  Jesse Thilo  <address@hidden>

        * src/files.c:
        OS/2 honors TMPDIR environment variable.

1999-12-13  Jesse Thilo  <address@hidden>

        * doc/bison.texinfo: Tweaked spelling and grammar.
        Updated ISBN.
        Removed reference to price of printed copy.
        Mention BISON_SIMPLE and BISON_HAIRY.

1999-12-13  Jesse Thilo  <address@hidden>

        * configure.in, NEWS:
        Bison 1.29 released.

1999-10-27  Jesse Thilo  <address@hidden>

        * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
        Added reference card.

1999-07-26  Jesse Thilo  <address@hidden>

        * po/ru.po: Added Russian translation.

1999-07-26  Jesse Thilo  <address@hidden>

        * configure.in: Added Russian translation.

1999-07-06  Jesse Thilo  <address@hidden>

        * configure.in, NEWS, README:
        Released version 1.28.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]