]> git.saurik.com Git - bison.git/log
bison.git
24 years agoTypos in ChangeLog.
Akim Demaille [Mon, 6 Nov 2000 08:42:37 +0000 (08:42 +0000)] 
Typos in ChangeLog.

24 years ago* src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
Akim Demaille [Fri, 3 Nov 2000 17:31:47 +0000 (17:31 +0000)] 
* src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
s/PFILE1/BISON_HAIRY/.
Adjust dependencies.

24 years agoFor some reasons, this has not been applied.
Akim Demaille [Fri, 3 Nov 2000 17:27:19 +0000 (17:27 +0000)] 
For some reasons, this has not been applied.
* src/files.c [VMS]: No longer include `ssdef.h', no longer define
`unlink': it's no longer used.

24 years ago* src/files.c (skeleton_find): New function, eved out of...
Akim Demaille [Fri, 3 Nov 2000 17:19:07 +0000 (17:19 +0000)] 
* src/files.c (skeleton_find): New function, eved out of...
(open_files, open_extra_files): here.

24 years agoAdjust the cvsignores.
Akim Demaille [Fri, 3 Nov 2000 16:57:47 +0000 (16:57 +0000)] 
Adjust the cvsignores.

24 years agoDon't use `atexit'.
Akim Demaille [Fri, 3 Nov 2000 16:52:45 +0000 (16:52 +0000)] 
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.

24 years ago* src/files.c [VMS]: No longer include `ssdef.h', no longer define
Akim Demaille [Thu, 2 Nov 2000 15:21:05 +0000 (15:21 +0000)] 
* src/files.c [VMS]: No longer include `ssdef.h', no longer define
`unlink': it's no longer used.
* src/files.h: Formatting changes.

24 years agoRemove the last uses of mktemp and unlink/delete.
Akim Demaille [Thu, 2 Nov 2000 13:38:12 +0000 (13:38 +0000)] 
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.

24 years agoChange each use of `fattrs' into a use of `attrs_obstack'.
Akim Demaille [Wed, 1 Nov 2000 17:05:54 +0000 (17:05 +0000)] 
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.

24 years agoIntroduce obstacks.
Akim Demaille [Wed, 1 Nov 2000 16:03:50 +0000 (16:03 +0000)] 
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.

24 years ago* lib/quote.h (PARAMS): New macro. Use it.
Akim Demaille [Fri, 20 Oct 2000 09:22:45 +0000 (09:22 +0000)] 
* lib/quote.h (PARAMS): New macro.  Use it.

24 years agoRemove spurious empty lines.
Akim Demaille [Mon, 16 Oct 2000 19:20:52 +0000 (19:20 +0000)] 
Remove spurious empty lines.

24 years ago* src/output.c (output_short_or_char_table): New function.
Akim Demaille [Mon, 16 Oct 2000 18:33:38 +0000 (18:33 +0000)] 
* src/output.c (output_short_or_char_table): New function.
(output_short_table, output_token_translations): Use it.
(goto_actions): Use output_short_table.

24 years ago* src/symtab.c (bucket_new): New function.
Akim Demaille [Mon, 16 Oct 2000 18:10:46 +0000 (18:10 +0000)] 
* 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.

24 years ago* src/lex.c (read_typename): New function.
Akim Demaille [Mon, 16 Oct 2000 18:08:35 +0000 (18:08 +0000)] 
* src/lex.c (read_typename): New function.
(lex): Use it.
* src/reader.c (copy_dollar): Likewise.

24 years ago* src/reader.c (copy_comment2): Expect the input stream to be on
Akim Demaille [Mon, 16 Oct 2000 18:06:29 +0000 (18:06 +0000)] 
* 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.

24 years ago* src/reader.c (parse_expect_decl): Use `skip_white_space' and
Akim Demaille [Mon, 16 Oct 2000 18:05:01 +0000 (18:05 +0000)] 
* src/reader.c (parse_expect_decl): Use `skip_white_space' and
`read_signed_integer'.

24 years ago* src/reader.c (copy_dollar): New function.
Akim Demaille [Mon, 16 Oct 2000 18:00:41 +0000 (18:00 +0000)] 
* src/reader.c (copy_dollar): New function.
(copy_guard, copy_action): Use it.

24 years ago* lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
Akim Demaille [Mon, 16 Oct 2000 17:28:41 +0000 (17:28 +0000)] 
* 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'.

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

24 years ago* doc/bison.texinfo: Various typos spotted by Neil Booth.
Akim Demaille [Wed, 4 Oct 2000 12:52:25 +0000 (12:52 +0000)] 
* doc/bison.texinfo: Various typos spotted by Neil Booth.

24 years agoWhen a literal string is used to define two different tokens,
Akim Demaille [Wed, 4 Oct 2000 11:52:53 +0000 (11:52 +0000)] 
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.

24 years ago* src/reader.c (parse_expect_decl): Keep `count' within the size
Akim Demaille [Wed, 4 Oct 2000 11:31:14 +0000 (11:31 +0000)] 
* src/reader.c (parse_expect_decl): Keep `count' within the size
of `buffer'.
From Neil Booth.

24 years agoGratuitous change to NEWS to test mailout
Jeff Bailey [Mon, 2 Oct 2000 20:04:58 +0000 (20:04 +0000)] 
Gratuitous change to NEWS to test mailout

24 years agoGratuitous change to test mail out
Jeff Bailey [Mon, 2 Oct 2000 20:00:35 +0000 (20:00 +0000)] 
Gratuitous change to test mail out

24 years ago* bison.s1 (yyparse): Assign the default value
Akim Demaille [Mon, 2 Oct 2000 10:29:00 +0000 (10:29 +0000)] 
* bison.s1 (yyparse): Assign the default value
unconditionally, to avoid a GCC warning and make the parser a
tad smaller.

24 years agoTypos in ChangeLog.
Akim Demaille [Mon, 2 Oct 2000 10:23:43 +0000 (10:23 +0000)] 
Typos in ChangeLog.

24 years ago* src/getargs.c (getargs): Don't dump `--help' on unrecognized
Akim Demaille [Mon, 2 Oct 2000 10:22:19 +0000 (10:22 +0000)] 
* src/getargs.c (getargs): Don't dump `--help' on unrecognized
options.

24 years ago* src/derives.c, src/print.c, src/reduce.c: To ease the
Akim Demaille [Mon, 2 Oct 2000 10:21:47 +0000 (10:21 +0000)] 
* src/derives.c, src/print.c, src/reduce.c: To ease the
translation, move some `n' out of the translated strings.

24 years agoThe location tracking mechanism is precious for parse error
Akim Demaille [Mon, 2 Oct 2000 10:20:59 +0000 (10:20 +0000)] 
The location tracking mechanism is precious for parse error
messages.  Nevertheless, it is enabled only when `@n' 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'.

24 years agoAlso test parse error messages, including with YYERROR_VERBOSE.
Akim Demaille [Mon, 2 Oct 2000 09:05:32 +0000 (09:05 +0000)] 
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.

24 years agoTest also `--verbose', `--defines' and `--name-prefix'. Testing
Akim Demaille [Mon, 2 Oct 2000 09:04:40 +0000 (09:04 +0000)] 
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'.

24 years agoImprove the readability of the produced parsers.
Akim Demaille [Mon, 2 Oct 2000 09:03:20 +0000 (09:03 +0000)] 
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.

24 years ago* lib/xstrdup.c: New file, from the fileutils.
Akim Demaille [Mon, 2 Oct 2000 09:01:19 +0000 (09:01 +0000)] 
* 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.

24 years ago* src/gram.h (associativity): New enum type which replaces the
Akim Demaille [Mon, 2 Oct 2000 08:51:00 +0000 (08:51 +0000)] 
* 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'.

24 years ago* src/getargs.c (fixed_outfiles): Rename as...
Akim Demaille [Mon, 2 Oct 2000 08:50:07 +0000 (08:50 +0000)] 
* src/getargs.c (fixed_outfiles): Rename as...
(yaccflag): for consistency and accuracy.
Adjust dependencies.

24 years agoUse the more standard files `xalloc.h' and `xmalloc.c' instead of
Akim Demaille [Mon, 2 Oct 2000 08:48:32 +0000 (08:48 +0000)] 
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.

24 years agoVarious anti-`extern in *.c' changes.
Akim Demaille [Mon, 2 Oct 2000 08:35:47 +0000 (08:35 +0000)] 
Various anti-`extern in *.c' changes.
* src/system.h: Include `assert.h'.

24 years ago* src/state.h (nstates, final_state, first_state, first_shift)
Akim Demaille [Mon, 2 Oct 2000 08:22:23 +0000 (08:22 +0000)] 
* 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.

24 years ago* src/LR0.h: New file.
Akim Demaille [Mon, 2 Oct 2000 08:14:22 +0000 (08:14 +0000)] 
* src/LR0.h: New file.
Propagate its use.

24 years ago* src/print.h: New file.
Akim Demaille [Mon, 2 Oct 2000 08:10:26 +0000 (08:10 +0000)] 
* 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.

24 years ago* src/conflicts.c (conflict_report): New function.
Akim Demaille [Mon, 2 Oct 2000 08:08:52 +0000 (08:08 +0000)] 
* 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.

24 years ago* src/nullable.h: New file.
Akim Demaille [Mon, 2 Oct 2000 08:06:43 +0000 (08:06 +0000)] 
* src/nullable.h: New file.
Propagate its inclusion.
* src/nullable.c: Formatting changes.

24 years agoAdd src/reduce.h to the repository.
Akim Demaille [Mon, 2 Oct 2000 08:05:37 +0000 (08:05 +0000)] 
Add src/reduce.h to the repository.

24 years ago* src/reduce.h: New file.
Akim Demaille [Mon, 2 Oct 2000 08:04:25 +0000 (08:04 +0000)] 
* 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.

24 years ago* src/files.c: Formatting changes.
Akim Demaille [Mon, 2 Oct 2000 08:02:12 +0000 (08:02 +0000)] 
* 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.

24 years ago* src/reader.h: New file.
Akim Demaille [Mon, 2 Oct 2000 08:00:34 +0000 (08:00 +0000)] 
* 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//.

24 years ago* src/lex.h: Prototype `lex.c' exported functions.
Akim Demaille [Mon, 2 Oct 2000 07:59:08 +0000 (07:59 +0000)] 
* src/lex.h: Prototype `lex.c' exported functions.
* src/reader.c: Adjust.
* src/lex.c: Formatting changes.
(safegetc): Rename as...
(xgetc): this.

24 years ago* src/lalr.h: New file.
Akim Demaille [Mon, 2 Oct 2000 07:56:58 +0000 (07:56 +0000)] 
* src/lalr.h: New file.
Propagate its inclusion instead of prototypes and `extern'.
* src/lalr.c: Formatting changes, topological sorting etc.

24 years ago* src/output.c (token_actions): Introduce a temporary array,
Akim Demaille [Mon, 2 Oct 2000 07:55:11 +0000 (07:55 +0000)] 
* src/output.c (token_actions): Introduce a temporary array,
YYDEFACT, that makes it possible for this function to use
output_short_table.

24 years ago`user_toknums' is output as a `short[]' in `output.c', while it is
Akim Demaille [Mon, 2 Oct 2000 07:53:36 +0000 (07:53 +0000)] 
`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.

24 years ago* src/output.c (output): Topological sort of the functions, in
Akim Demaille [Mon, 2 Oct 2000 07:50:14 +0000 (07:50 +0000)] 
* 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.

24 years agoPrint contents near beginning, not at the end.
Jesse Thilo [Wed, 27 Sep 2000 23:59:22 +0000 (23:59 +0000)] 
Print contents near beginning, not at the end.

24 years ago* src/atgeneral.m4: Update from Autoconf.
Akim Demaille [Thu, 21 Sep 2000 13:08:33 +0000 (13:08 +0000)] 
* src/atgeneral.m4: Update from Autoconf.

24 years ago* src/closure.h: New file.
Akim Demaille [Thu, 21 Sep 2000 10:17:59 +0000 (10:17 +0000)] 
* 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.

24 years ago* src/closure.h: New file.
Akim Demaille [Wed, 20 Sep 2000 15:43:39 +0000 (15:43 +0000)] 
* 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.

24 years ago* src/acconfig.h: Don't protect config.h against multiple
Akim Demaille [Wed, 20 Sep 2000 13:50:34 +0000 (13:50 +0000)] 
* 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.

24 years ago* src/derives.h: New file.
Akim Demaille [Wed, 20 Sep 2000 13:14:11 +0000 (13:14 +0000)] 
* src/derives.h: New file.
* src/main.c, src/derives.h: Use it.
Formatting changes.
* src/Makefile.am (noinst_HEADERS): Adjust.

24 years ago* tests/atgeneral.m4: Update from Autoconf.
Akim Demaille [Wed, 20 Sep 2000 11:58:23 +0000 (11:58 +0000)] 
* 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'.

24 years ago* src/output.c: Formatting changes.
Akim Demaille [Tue, 19 Sep 2000 18:10:41 +0000 (18:10 +0000)] 
* 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.

24 years ago* tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
Akim Demaille [Tue, 19 Sep 2000 12:37:58 +0000 (12:37 +0000)] 
* tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
portable.

24 years ago* configure.in: Append WARNING_CFLAGS to CFLAGS.
Akim Demaille [Mon, 18 Sep 2000 17:53:09 +0000 (17:53 +0000)] 
* configure.in: Append WARNING_CFLAGS to CFLAGS.
* src/Makefile.am (INCLUDES): Don't.
Be ready to fetch headers in lib/.

24 years ago* doc/bison.texinfo: Update the copyright.
Akim Demaille [Mon, 18 Sep 2000 13:24:27 +0000 (13:24 +0000)] 
* doc/bison.texinfo: Update the copyright.
ANSIfy and GNUify the examples.
Remove the old menu.

24 years agoFirst set of tests: use the `calc' example from the documentation.
Akim Demaille [Mon, 18 Sep 2000 13:18:26 +0000 (13:18 +0000)] 
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.

24 years agoAdd support for an Autotest test suite for Bison.
Akim Demaille [Mon, 18 Sep 2000 13:01:59 +0000 (13:01 +0000)] 
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.

24 years agoCall free_nullable() when done.
Jesse Thilo [Tue, 4 Jul 2000 03:43:32 +0000 (03:43 +0000)] 
Call free_nullable() when done.

24 years agoMore explicit use of "const", "extern", and "static", particularly to
Jesse Thilo [Tue, 4 Jul 2000 03:29:02 +0000 (03:29 +0000)] 
More explicit use of "const", "extern", and "static", particularly to
limit the scope of many local variables and functions.

24 years ago* src/reader.c (copy_comment2): New function, same as former
Akim Demaille [Fri, 14 Apr 2000 13:59:15 +0000 (13:59 +0000)] 
* 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'.

24 years agoCheck for `inline' explicitly.
Jesse Thilo [Thu, 13 Apr 2000 19:12:06 +0000 (19:12 +0000)] 
Check for `inline' explicitly.

24 years ago# oops: wanted -Wshadow, not -Wno-char-subscripts.
Jesse Thilo [Thu, 13 Apr 2000 18:47:05 +0000 (18:47 +0000)] 
# oops: wanted -Wshadow, not -Wno-char-subscripts.

24 years agoTake full advantage of GNU C library when available.
Jesse Thilo [Thu, 13 Apr 2000 18:06:46 +0000 (18:06 +0000)] 
Take full advantage of GNU C library when available.

24 years ago# added --enable-gcc-warnings (not for user consumption).
Jesse Thilo [Thu, 13 Apr 2000 18:03:25 +0000 (18:03 +0000)] 
# added --enable-gcc-warnings (not for user consumption).

24 years agoAdded translation updates.
Jesse Thilo [Thu, 13 Apr 2000 17:38:12 +0000 (17:38 +0000)] 
Added translation updates.

24 years ago* src/files.c (tryopen, tryclose): Move to the top.
Akim Demaille [Fri, 31 Mar 2000 14:56:00 +0000 (14:56 +0000)] 
* src/files.c (tryopen, tryclose): Move to the top.
Be static.

24 years ago* src/main.c (main): Don't call `done', exit does it.
Akim Demaille [Fri, 31 Mar 2000 14:37:10 +0000 (14:37 +0000)] 
* src/main.c (main): Don't call `done', exit does it.

24 years agos/return (foo)/return foo/
Akim Demaille [Fri, 31 Mar 2000 14:27:06 +0000 (14:27 +0000)] 
s/return (foo)/return foo/

24 years agoClean the error reporting functions.
Akim Demaille [Fri, 31 Mar 2000 13:54:30 +0000 (13:54 +0000)] 
Clean 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'.

24 years ago# updates.
Jesse Thilo [Tue, 28 Mar 2000 18:13:42 +0000 (18:13 +0000)] 
# updates.

24 years ago* lib/: New directory.
Akim Demaille [Tue, 28 Mar 2000 13:30:57 +0000 (13:30 +0000)] 
* 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.

24 years ago* src/getargs.c (usage): Refresh the help message.
Akim Demaille [Tue, 28 Mar 2000 12:50:35 +0000 (12:50 +0000)] 
* src/getargs.c (usage): Refresh the help message.

24 years agoRevamp OChangeLog before merging with ChangeLog.
Akim Demaille [Sat, 25 Mar 2000 11:59:52 +0000 (11:59 +0000)] 
Revamp OChangeLog before merging with ChangeLog.

24 years ago# ignore generated files
Jesse Thilo [Sat, 18 Mar 2000 15:47:46 +0000 (15:47 +0000)] 
# ignore generated files

24 years ago# no changes
Jesse Thilo [Sat, 18 Mar 2000 15:47:02 +0000 (15:47 +0000)] 
# no changes

24 years ago* src/getopt1.c: Updated from textutils 2.0e
Akim Demaille [Fri, 17 Mar 2000 15:10:29 +0000 (15:10 +0000)] 
* src/getopt1.c: Updated from textutils 2.0e
* src/getopt.c: Likewise.
* src/getopt.h: Likewise.

24 years agoFixed filenames in ChangeLog.
Akim Demaille [Fri, 17 Mar 2000 14:14:07 +0000 (14:14 +0000)] 
Fixed filenames in ChangeLog.

24 years ago* src/Makefile.am (bison.simple): Fix the awk program: quote only
Akim Demaille [Fri, 17 Mar 2000 13:33:02 +0000 (13:33 +0000)] 
* src/Makefile.am (bison.simple): Fix the awk program: quote only
the file name, not the whole `#line LINE FILE'.

24 years agoOn syntax errors, report the token on which we choked.
Akim Demaille [Fri, 17 Mar 2000 13:17:09 +0000 (13:17 +0000)] 
On syntax errors, report the token on which we choked.

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

24 years ago* reader.c (copy_at): New function.
Akim Demaille [Fri, 17 Mar 2000 13:04:32 +0000 (13:04 +0000)] 
* reader.c (copy_at): New function.
(copy_guard): Use it.
(copy_action): Use it.

24 years agoBe kind to translators, save some useless translations.
Akim Demaille [Fri, 17 Mar 2000 13:02:28 +0000 (13:02 +0000)] 
Be kind to translators, save some useless translations.

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

24 years ago* reader.c (copy_definition): Use copy_string and copy_comment.
Akim Demaille [Fri, 17 Mar 2000 11:37:09 +0000 (11:37 +0000)] 
* 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.

24 years ago* reader.c (copy_string): Declared `static inline'. No problems
Akim Demaille [Fri, 17 Mar 2000 11:36:31 +0000 (11:36 +0000)] 
* reader.c (copy_string): Declared `static inline'.  No problems
with inline, since it is checked by configure.
(copy_comment): Likewise.

24 years ago* reader.c (packsymbols): Formatting changes.
Akim Demaille [Fri, 17 Mar 2000 11:34:53 +0000 (11:34 +0000)] 
* reader.c (packsymbols): Formatting changes.

24 years ago* reader.c (copy_comment): New function, factored out from:
Akim Demaille [Fri, 17 Mar 2000 11:32:28 +0000 (11:32 +0000)] 
* reader.c (copy_comment): New function, factored out from:
(copy_action): Use it.  Removed now unused `match', `ended',
`cplus_comment'.
(copy_guard): Likewise.

24 years ago* reader.c (copy_string): New function, factored out from:
Akim Demaille [Fri, 17 Mar 2000 11:31:40 +0000 (11:31 +0000)] 
* reader.c (copy_string): New function, factored out from:
(copy_action): Use it.
(copy_guard): Likewise.

24 years agoChange the handling of @s so that they behave exactly like $s.
Akim Demaille [Fri, 17 Mar 2000 11:30:24 +0000 (11:30 +0000)] 
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 `@$', expanded as `YYLOC'.
(copy_action, case '@'): Likewise.
Use a standard error message, to save useless work from
translators.

24 years ago* bison.s1: Formatting and cosmetics changes.
Akim Demaille [Fri, 17 Mar 2000 11:28:47 +0000 (11:28 +0000)] 
* bison.s1: Formatting and cosmetics changes.
* reader.c: Likewise.
Update the Copyright notice.

24 years ago* bison.s1 (#line): All set to `#line' only, since the Makefile
Akim Demaille [Fri, 17 Mar 2000 11:27:17 +0000 (11:27 +0000)] 
* bison.s1 (#line): All set to `#line' only, since the Makefile
now handles them.

24 years ago* src/output.c (output_rule_data): Output the documentation of
Akim Demaille [Fri, 17 Mar 2000 10:48:28 +0000 (10:48 +0000)] 
* src/output.c (output_rule_data): Output the documentation of
some of the tables.
(Copyright notice): Update.
Formatting changes.

24 years ago* src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
Akim Demaille [Thu, 16 Mar 2000 16:02:16 +0000 (16:02 +0000)] 
* 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'.

24 years ago* src/bison.s1 (yyparse): Reorganize the definitions of the stacks
Akim Demaille [Thu, 16 Mar 2000 16:00:07 +0000 (16:00 +0000)] 
* src/bison.s1 (yyparse): Reorganize the definitions of the stacks
and related variables so that the similarities are highlighted.

24 years ago* src/bison.s1: Properly indent CPP directives.
Akim Demaille [Thu, 16 Mar 2000 15:58:56 +0000 (15:58 +0000)] 
* src/bison.s1: Properly indent CPP directives.