X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/131e2fef683836d45262423bbdf004a014335aba..18569462dba3a1ce0dbcdefdcfe04cfea33e8826:/ChangeLog diff --git a/ChangeLog b/ChangeLog index c29a7505..c99c37b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,375 @@ +2001-02-08 Akim Demaille + + * 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 + + * 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 + + * src/conflicts.c (conflict_report): Report the difference with + expected number of s/r conflicts. + +2001-01-19 Akim Demaille + + 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 + + * 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 + + * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private. + * src/lex.c (maxtoken, grow_token_buffer): Static. + +2001-01-18 Akim Demaille + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here... + * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here. + +2000-12-19 Akim Demaille + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * tests/regression.m4 (%union and --defines): New test, + demonstrating a current bug in the obstack implementation. + +2000-11-17 Akim Demaille + + * 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 + + * acconfig.h: Remove, no longer used. + +2000-11-07 Akim Demaille + + * src: s/Copyright (C)/Copyright/g. + +2000-11-07 Akim Demaille + + * 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 + + * src/bison.s1 (YYLEX): Use #if instead of #ifdef. + Merge in a single CPP if/else. + +2000-11-07 Akim Demaille + + * 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 + + * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/. + s/PFILE1/BISON_HAIRY/. + Adjust dependencies. + +2000-11-03 Akim Demaille + + 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 + + * src/files.c (skeleton_find): New function, eved out of... + (open_files, open_extra_files): here. + +2000-11-03 Akim Demaille + + 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 + + * 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 + + 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 + + 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 + + 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 + + * lib/quote.h (PARAMS): New macro. Use it. + +2000-10-16 Akim Demaille + + * 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 + + * 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 + + * src/lex.c (read_typename): New function. + (lex): Use it. + * src/reader.c (copy_dollar): Likewise. + +2000-10-16 Akim Demaille + + * 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 * src/reader.c (parse_expect_decl): Use `skip_white_space' and `read_signed_integer'. - 2000-10-16 Akim Demaille * src/reader.c (copy_dollar): New function. (copy_guard, copy_action): Use it. - 2000-10-16 Akim Demaille * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c: