Commit Graph

142 Commits

Author SHA1 Message Date
Akim Demaille
2ce1014469 * tests/Makefile.am (check-local): Ship testsuite.
* tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
Include `string.h'.
2001-08-03 10:13:42 +00:00
Akim Demaille
1e3e4bc116 * configure.in: Try using -Wformat when compiling. 2001-08-03 09:45:17 +00:00
Akim Demaille
42b45b7fab * configure.in: Bump to 1.28b. 2001-08-03 09:43:12 +00:00
Akim Demaille
8f13fe33b7 * src/complain.c: Adjust strerror_r portability issues. 2001-08-03 09:38:03 +00:00
Akim Demaille
b37ba92cf6 Version 1.28a. 2001-08-03 09:01:34 +00:00
Akim Demaille
b0ce604668 * src/getargs.c, src/getarg.h (skeleton)): Constify.
* src/lex.c (literalchar): Avoid name clashes on `buf'.
* src/getargs.c: Include complain.h.
* src/files.c, src/files.h (skeleton_find): Avoid name clashes.
* lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
2001-08-03 08:48:49 +00:00
Akim Demaille
d01c415b93 * src/reader.c (readgram): Display hidden chars in error messages. 2001-08-03 08:23:33 +00:00
Akim Demaille
459dd1a681 Update to gettext 0.10.39. 2001-08-03 08:22:03 +00:00
Akim Demaille
53b74c0c4c * lib/strspn.c: New. 2001-08-03 08:09:03 +00:00
Akim Demaille
d995fee754 Stupid typo... 2001-08-01 18:41:51 +00:00
Akim Demaille
234a3be303 * doc/bison.texinfo: Update.
* doc/bison.1 (mandoc): Update.
* src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
* src/files.c: Support output files extensions computing.
(src_extension): New static variable.
(header_extension): New static variable.
(tr): New function.
(get_extension_index): New function, gets the index of an extension
filename in a string.
(compute_exts_from_gf): New function, computes extensions from the
grammar file extension.
(compute_exts_from_src): New functions, computes extensions from the
C source file extension, file given by ``-o'' option.
(compute_base_names): Update.
(output_files): Update.
2001-08-01 18:08:48 +00:00
Akim Demaille
847bf1f538 * doc/autoconf.texi: Document @$.
(Locations): New section.
2001-08-01 17:49:14 +00:00
Akim Demaille
d074a105ae * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
* config/prev-version.txt, config/move-if-change: New.
* Makefile.am: Adjust.
2001-07-18 14:34:24 +00:00
Akim Demaille
3419715d61 * src/bison.simple (yyparse): Suppress warning `comparaison
between signed and unsigned'.
2001-07-18 10:07:45 +00:00
Akim Demaille
62ab6972e8 * src/getargs.h (raw_flag): Remove.
* src/getargs.c: Die on `-r'/`--raw'.
* src/lex.c (parse_percent_token): Die on `%raw'.
* src/reader.c (output_token_defines): Suppress call to `raw_flag'.
* tests/calc.at: Suppress test with option `--raw'.
2001-07-18 09:52:35 +00:00
Akim Demaille
1e24cc5b41 * config/: New.
* configure.in: Require Autoconf 2.50.
Update to gettext 0.10.38.
2001-07-14 17:27:59 +00:00
Akim Demaille
32dfccf8f8 * doc/bison.texinfo: ANSIfy the examples. 2001-03-16 15:32:48 +00:00
Akim Demaille
cd5bd6ac4f * getargs.c (skeleton): New variable.
(longopts): --skeleton is a new option.
(shortopts, getargs): -S is a new option.
* getargs.h: Declare skeleton.
* output.c (output_parser): Use it.
2001-03-16 15:16:08 +00:00
Akim Demaille
5141b01619 * m4/strerror_r.m4: New.
* m4/error.m4: Run AC_FUNC_STRERROR_R.
* lib/error.h, lib/error.c: Update.
2001-03-16 14:50:40 +00:00
Akim Demaille
447992b9f1 * src/getargs.c (longopts): Clean up. 2001-03-16 11:32:15 +00:00
Akim Demaille
274d42cecb * src/reader.c (gensym): `gensym_count' is your own.
Use a static buf to create the symbol name, as token_buffer is no
longer a buffer.
2001-02-21 10:17:25 +00:00
Akim Demaille
22c821f312 * src/conflicts.c (conflict_report): Be sure not to append to res
between two calls, which could happen if both first sprintf were
skipped, but not the first cp += strlen.
2001-02-08 14:51:33 +00:00
Akim Demaille
66075dcfc8 Typos. 2001-02-08 14:32:33 +00:00
Akim Demaille
18569462db * 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-08 14:32:10 +00:00
Akim Demaille
0d8f3c8a7a * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
* lib/xalloc.h, lib/xmalloc.c@ Update.
2001-02-02 14:56:44 +00:00
Akim Demaille
f17bcd1f66 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 18:26:32 +00:00
Akim Demaille
511e79b3d4 * 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.
2001-01-19 18:10:32 +00:00
Akim Demaille
0d6508efab * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
* src/lex.c (maxtoken, grow_token_buffer): Static.
2001-01-18 15:32:11 +00:00
Akim Demaille
6deb44470e 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.
2001-01-18 14:47:09 +00:00
Akim Demaille
ff4423cc28 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 17:21:14 +00:00
Akim Demaille
956dba3a7c * src/files.c (open_files): Fix the computation of short_base_name
in the case of `-o foo.tab.c'.
2000-12-20 12:41:52 +00:00
Akim Demaille
337bab46f2 * 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 12:38:01 +00:00
Akim Demaille
5d3214b854 * 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 12:00:13 +00:00
Akim Demaille
29092a5740 * src/bison.s1: Remove, we now use directly...
* src/bison.simple: this.
* src/Makefile.am: Use pkgdata instead of data.
2000-12-20 10:38:51 +00:00
Akim Demaille
ea5607fd01 * 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-20 10:29:43 +00:00
Akim Demaille
27110317b8 * 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 18:27:53 +00:00
Akim Demaille
19c50364f3 * 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 18:14:35 +00:00
Akim Demaille
573c1d9ff8 * 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 14:51:24 +00:00
Akim Demaille
ef7ddeddaa * 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 13:40:42 +00:00
Akim Demaille
ff61dabdba 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 13:05:52 +00:00
Akim Demaille
55b9634155 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
* src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2000-12-19 12:30:59 +00:00
Akim Demaille
358c15b71e * 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 12:24:24 +00:00
Akim Demaille
7de3329eea * 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-19 12:18:45 +00:00
Akim Demaille
3abcd45995 * 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-14 13:03:32 +00:00
Akim Demaille
2a91a95e9e * src/reader.c (copy_definition, parse_union_decl, copy_action)
(copy_guard): Quote the file names.
Reported by Laurent Mascherpa.
2000-12-12 17:12:43 +00:00
Akim Demaille
14d3eb9bf4 * 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-12-12 16:09:10 +00:00
Akim Demaille
d7045ec672 * 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 14:14:36 +00:00
Akim Demaille
6fd54b73c3 * 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 11:16:10 +00:00
Akim Demaille
4c50eae6a0 * tests/regression.m4 (%union and --defines): New test,
demonstrating a current bug in the obstack implementation.
2000-11-17 11:08:03 +00:00
Akim Demaille
a35f64eade * 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 10:57:30 +00:00