Akim Demaille [Thu, 8 Feb 2001 14:51:33 +0000 (14:51 +0000)]
* 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.
Akim Demaille [Thu, 8 Feb 2001 14:32:33 +0000 (14:32 +0000)]
Typos.
Akim Demaille [Thu, 8 Feb 2001 14:32:10 +0000 (14:32 +0000)]
* 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.
Akim Demaille [Fri, 2 Feb 2001 14:56:44 +0000 (14:56 +0000)]
* lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
* lib/xalloc.h, lib/xmalloc.c@ Update.
Jesse Thilo [Sun, 21 Jan 2001 16:43:58 +0000 (16:43 +0000)]
Added remaining files needed to build from a clean check-out.
Akim Demaille [Fri, 19 Jan 2001 18:26:32 +0000 (18:26 +0000)]
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.
Akim Demaille [Fri, 19 Jan 2001 18:10:32 +0000 (18:10 +0000)]
* src/lex.h: Rename all the tokens:
s/bENDFILEb/tok_eof/g;
s/bIDENTIFIERb/tok_identifier/g;
etc.
Let them be enums, not #define, to ease debugging.
Adjust all the code.
Akim Demaille [Thu, 18 Jan 2001 15:32:11 +0000 (15:32 +0000)]
* src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
* src/lex.c (maxtoken, grow_token_buffer): Static.
Akim Demaille [Thu, 18 Jan 2001 14:47:09 +0000 (14:47 +0000)]
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.
Akim Demaille [Thu, 18 Jan 2001 14:07:24 +0000 (14:07 +0000)]
Add install-sh.
Akim Demaille [Wed, 17 Jan 2001 11:11:01 +0000 (11:11 +0000)]
README-alpha: New.
Akim Demaille [Mon, 15 Jan 2001 13:46:43 +0000 (13:46 +0000)]
Hopefully added to the repository all the distributed files.
Akim Demaille [Wed, 20 Dec 2000 17:21:14 +0000 (17:21 +0000)]
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.
Akim Demaille [Wed, 20 Dec 2000 12:41:52 +0000 (12:41 +0000)]
* src/files.c (open_files): Fix the computation of short_base_name
in the case of `-o foo.tab.c'.
Akim Demaille [Wed, 20 Dec 2000 12:38:01 +0000 (12:38 +0000)]
* src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
(copy_dollar): Now that everything uses obstacks, get rid of the
FILE * parameters.
Akim Demaille [Wed, 20 Dec 2000 12:00:13 +0000 (12:00 +0000)]
* 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.
Akim Demaille [Wed, 20 Dec 2000 10:38:51 +0000 (10:38 +0000)]
* src/bison.s1: Remove, we now use directly...
* src/bison.simple: this.
* src/Makefile.am: Use pkgdata instead of data.
Akim Demaille [Wed, 20 Dec 2000 10:29:43 +0000 (10:29 +0000)]
* 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.
Akim Demaille [Tue, 19 Dec 2000 18:27:53 +0000 (18:27 +0000)]
* 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.
Akim Demaille [Tue, 19 Dec 2000 18:14:35 +0000 (18:14 +0000)]
* 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.
Akim Demaille [Tue, 19 Dec 2000 14:51:24 +0000 (14:51 +0000)]
* 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.
Akim Demaille [Tue, 19 Dec 2000 13:40:42 +0000 (13:40 +0000)]
* 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.
Akim Demaille [Tue, 19 Dec 2000 13:05:52 +0000 (13:05 +0000)]
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.
Akim Demaille [Tue, 19 Dec 2000 12:30:59 +0000 (12:30 +0000)]
* src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
* src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
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.
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.
Akim Demaille [Mon, 18 Dec 2000 09:02:16 +0000 (09:02 +0000)]
Add tests/calc.at.
Akim Demaille [Mon, 18 Dec 2000 09:00:07 +0000 (09:00 +0000)]
Added tests/calc.y.
Akim Demaille [Fri, 15 Dec 2000 09:44:44 +0000 (09:44 +0000)]
Add tests/regression.at and tests/suite.at.
Akim Demaille [Fri, 15 Dec 2000 09:43:09 +0000 (09:43 +0000)]
Cosmetic changes.
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.
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.
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.
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.
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.
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.
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'.
Akim Demaille [Fri, 17 Nov 2000 10:03:37 +0000 (10:03 +0000)]
* acconfig.h: Remove, no longer used.
Akim Demaille [Tue, 7 Nov 2000 16:28:47 +0000 (16:28 +0000)]
* src: s/Copyright (C)/Copyright/g.
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/.
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.
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.
Akim Demaille [Mon, 6 Nov 2000 08:42:37 +0000 (08:42 +0000)]
Typos in ChangeLog.
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.
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.
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.
Akim Demaille [Fri, 3 Nov 2000 16:57:47 +0000 (16:57 +0000)]
Adjust the cvsignores.
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.
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.
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.
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.
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.
Akim Demaille [Fri, 20 Oct 2000 09:22:45 +0000 (09:22 +0000)]
* lib/quote.h (PARAMS): New macro. Use it.
Akim Demaille [Mon, 16 Oct 2000 19:20:52 +0000 (19:20 +0000)]
Remove spurious empty lines.
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.
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.
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.
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.
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'.
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.
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.
Akim Demaille [Wed, 4 Oct 2000 12:52:25 +0000 (12:52 +0000)]
* doc/bison.texinfo: Various typos spotted by Neil Booth.
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.
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.
Jeff Bailey [Mon, 2 Oct 2000 20:04:58 +0000 (20:04 +0000)]
Gratuitous change to NEWS to test mailout
Jeff Bailey [Mon, 2 Oct 2000 20:00:35 +0000 (20:00 +0000)]
Gratuitous change to test mail out
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.
Akim Demaille [Mon, 2 Oct 2000 10:23:43 +0000 (10:23 +0000)]
Typos in ChangeLog.
Akim Demaille [Mon, 2 Oct 2000 10:22:19 +0000 (10:22 +0000)]
* src/getargs.c (getargs): Don't dump `--help' on unrecognized
options.
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.
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'.
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.
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'.
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.
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.
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'.
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.
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.
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'.
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.
Akim Demaille [Mon, 2 Oct 2000 08:14:22 +0000 (08:14 +0000)]
* src/LR0.h: New file.
Propagate its use.
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.
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.
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.
Akim Demaille [Mon, 2 Oct 2000 08:05:37 +0000 (08:05 +0000)]
Add src/reduce.h to the repository.
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.
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.
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//.
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.
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.
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.
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.
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.
Jesse Thilo [Wed, 27 Sep 2000 23:59:22 +0000 (23:59 +0000)]
Print contents near beginning, not at the end.
Akim Demaille [Thu, 21 Sep 2000 13:08:33 +0000 (13:08 +0000)]
* src/atgeneral.m4: Update from Autoconf.
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.
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.
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.
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.
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'.