platform/upstream/bison.git
23 years ago* src/files.c (open_files): Yipee! We no longer need all the code
Akim Demaille [Tue, 19 Dec 2000 12:24:24 +0000 (12:24 +0000)]
* src/files.c (open_files): Yipee!  We no longer need all the code
looking for `/tmp' since we have no tmp file.

23 years ago* src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
Akim Demaille [Tue, 19 Dec 2000 12:18:45 +0000 (12:18 +0000)]
* 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.

23 years agoAdd tests/calc.at.
Akim Demaille [Mon, 18 Dec 2000 09:02:16 +0000 (09:02 +0000)]
Add tests/calc.at.

23 years agoAdded tests/calc.y.
Akim Demaille [Mon, 18 Dec 2000 09:00:07 +0000 (09:00 +0000)]
Added tests/calc.y.

23 years agoAdd tests/regression.at and tests/suite.at.
Akim Demaille [Fri, 15 Dec 2000 09:44:44 +0000 (09:44 +0000)]
Add tests/regression.at and tests/suite.at.

23 years agoCosmetic changes.
Akim Demaille [Fri, 15 Dec 2000 09:43:09 +0000 (09:43 +0000)]
Cosmetic changes.

23 years ago* src/bison.s1 (YYLLOC_DEFAULT): New macro.
Akim Demaille [Thu, 14 Dec 2000 13:03:32 +0000 (13:03 +0000)]
* 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.

23 years ago* src/reader.c (copy_definition, parse_union_decl, copy_action)
Akim Demaille [Tue, 12 Dec 2000 17:12:43 +0000 (17:12 +0000)]
* src/reader.c (copy_definition, parse_union_decl, copy_action)
(copy_guard): Quote the file names.
Reported by Laurent Mascherpa.

23 years ago* src/output.c (output_headers, output_program, output): Be sure
Akim Demaille [Tue, 12 Dec 2000 16:09:10 +0000 (16:09 +0000)]
* 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.

23 years ago* lib/obstack.h: Formatting changes.
Akim Demaille [Fri, 17 Nov 2000 14:14:36 +0000 (14:14 +0000)]
* 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.

23 years ago* tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
Akim Demaille [Fri, 17 Nov 2000 11:16:10 +0000 (11:16 +0000)]
* 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.

23 years ago* tests/regression.m4 (%union and --defines): New test,
Akim Demaille [Fri, 17 Nov 2000 11:08:03 +0000 (11:08 +0000)]
* tests/regression.m4 (%union and --defines): New test,
demonstrating a current bug in the obstack implementation.

23 years ago* src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
Akim Demaille [Fri, 17 Nov 2000 10:57:30 +0000 (10:57 +0000)]
* src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
macros.
Use them to declare the variables which are global or local to
`yyparse'.

23 years ago* acconfig.h: Remove, no longer used.
Akim Demaille [Fri, 17 Nov 2000 10:03:37 +0000 (10:03 +0000)]
* acconfig.h: Remove, no longer used.

23 years ago* src: s/Copyright (C)/Copyright/g.
Akim Demaille [Tue, 7 Nov 2000 16:28:47 +0000 (16:28 +0000)]
* src: s/Copyright (C)/Copyright/g.

23 years ago* src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
Akim Demaille [Tue, 7 Nov 2000 15:56:20 +0000 (15:56 +0000)]
* src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
defining.
* src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.

23 years ago* src/bison.s1 (YYLEX): Use #if instead of #ifdef.
Akim Demaille [Tue, 7 Nov 2000 15:51:45 +0000 (15:51 +0000)]
* src/bison.s1 (YYLEX): Use #if instead of #ifdef.
Merge in a single CPP if/else.

23 years ago* src/output.c (output): Remove useless variables.
Akim Demaille [Tue, 7 Nov 2000 11:54:01 +0000 (11:54 +0000)]
* 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.

23 years agoTypos in ChangeLog.
Akim Demaille [Mon, 6 Nov 2000 08:42:37 +0000 (08:42 +0000)]
Typos in ChangeLog.

23 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.

23 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.

23 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.

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

23 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.

23 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.

23 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.

23 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.

23 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.

23 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