Commit Graph

4520 Commits

Author SHA1 Message Date
Jonathan Nieder
ae93128c96 Avoid warnings from gcc -Wundef y.tab.c.
* data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
defined before using them.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
2009-12-16 01:21:13 -05:00
Joel E. Denny
687f011aa9 autoconf: update to latest for fix of M4 detection.
Reported by Eric Blake.
* submodules/autoconf: Update.
(cherry picked from commit c843aaab35)
2009-12-15 19:00:33 -05:00
Joel E. Denny
c843aaab35 autoconf: update to latest for fix of M4 detection.
Reported by Eric Blake.
* submodules/autoconf: Update.
2009-12-15 18:59:40 -05:00
Joel E. Denny
fb9a3976c2 portability: use -DGNULIB_POSIXCHECK.
Reported by Eric Blake.  See discussions at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
and
<http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
* HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
* bootstrap.conf (gnulib_modules): Add all the printf modules
suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
(excluded_files): Remove m4/printf-posix.m4.
* tests/atlocal.in (LIBS): As for LDADD in src/Makefile.am, add
lib/libbison.a so gnulib libraries can be linked.
(cherry picked from commit 5c99151aeb)

Conflicts:

	lib/.cvsignore
	lib/.gitignore
	m4/.cvsignore
	m4/.gitignore
2009-12-15 18:30:34 -05:00
Joel E. Denny
5c99151aeb portability: use -DGNULIB_POSIXCHECK.
Reported by Eric Blake.  See discussions at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
and
<http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
* HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
* bootstrap.conf (gnulib_modules): Add all the printf modules
suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
(excluded_files): Remove m4/printf-posix.m4.
* tests/atlocal.in (LIBS): As for LDADD in src/local.mk, add
lib/libbison.a so gnulib libraries can be linked.
2009-12-15 17:39:07 -05:00
Joel E. Denny
75f94c6ddf gnulib: update for fix of fprintf-posix, which we'll use soon.
* etc/prefix-gnulib-mk (prefix): Adjust regex for make file
targets so that gnulib's new arg-nonnull.h and link-warning.h
are matched.
* gnulib: Update.
2009-12-15 17:22:15 -05:00
Joel E. Denny
f1fb412cf3 Enable assertion output and --disable-assert for configure.
* bootstrap.conf (gnulib_modules): Add assert module.
* src/system.h (aver): Define as assert, and summarize the
discussion on this issue.
(cherry picked from commit ca01f454f0)
2009-12-14 18:13:04 -05:00
Joel E. Denny
ca01f454f0 Enable assertion output and --disable-assert for configure.
* bootstrap.conf (gnulib_modules): Add assert module.
* src/system.h (aver): Define as assert, and summarize the
discussion on this issue.
2009-12-14 18:05:23 -05:00
Joel E. Denny
9dc3ee6d54 Expand GLR acronym in summary of Bison.
Based on discussion with Akim Demaille starting at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
* doc/bison.texinfo (Introduction): Here.
* src/getargs.c (usage): Here.
(cherry picked from commit 51c7ca01e2)
2009-12-14 16:09:52 -05:00
Joel E. Denny
51c7ca01e2 Expand GLR acronym in summary of Bison.
Based on discussion with Akim Demaille starting at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
* doc/bison.texinfo (Introduction): Here.
* src/getargs.c (usage): Here.
2009-12-14 16:08:19 -05:00
Alex Rozenman
1f68dca514 Document named references.
* doc/bison.texinfo (Actions): Add new example and xref to
	Using Named References node.
	(Using Named References): New node.
2009-11-26 23:36:20 +02:00
Alex Rozenman
d013372c3f Document named references.
* doc/bison.texinfo (Actions): Add new example and xref to
	Using Named References node.
	(Using Named References): New node.
2009-11-26 23:24:53 +02:00
Joel E. Denny
aa01d1934c cleanup.
* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
of char*.
(Sbitset__isEmpty): Use Sbitset instead of char*.
* src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
instead of char.  This helps to avoid casting errors.
(Sbitset__or): Use Sbitset instead of char*.
(cherry picked from commit 5297ebb3bc)
2009-10-16 19:40:43 -04:00
Joel E. Denny
61747047da portability: don't assume 8-bit bytes.
That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
* src/Sbitset.h (Sbitset__nbytes): Here.
(Sbitset__byteAddress): Here.
(Sbitset__bit_mask): Here.
(Sbitset__last_byte_mask): Here.
(Sbitset__ones): Here.
(SBITSET__FOR_EACH): Here.
(cherry picked from commit 175620d3c6)
2009-10-16 19:40:38 -04:00
Joel E. Denny
5297ebb3bc cleanup.
* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
of char*.
(Sbitset__isEmpty): Use Sbitset instead of char*.
* src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
instead of char.  This helps to avoid casting errors.
(Sbitset__or): Use Sbitset instead of char*.
2009-10-16 19:30:32 -04:00
Joel E. Denny
175620d3c6 portability: don't assume 8-bit bytes.
That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
* src/Sbitset.h (Sbitset__nbytes): Here.
(Sbitset__byteAddress): Here.
(Sbitset__bit_mask): Here.
(Sbitset__last_byte_mask): Here.
(Sbitset__ones): Here.
(SBITSET__FOR_EACH): Here.
2009-10-16 19:30:31 -04:00
Joel E. Denny
a70596de95 portability: use va_start and va_end in the same function.
* src/complain.c (error_message): Move va_end from here...
(ERROR_MESSAGE): ... to here.
(cherry picked from commit 786578e394)
2009-10-11 16:28:16 -04:00
Joel E. Denny
786578e394 portability: use va_start and va_end in the same function.
* src/complain.c (error_message): Move va_end from here...
(ERROR_MESSAGE): ... to here.
2009-10-11 16:15:39 -04:00
Joel E. Denny
416a9da61e * data/bison.m4: Update comments for rename to muscle-tab.h.
(cherry picked from commit 51f255a530)
2009-10-08 17:21:59 -04:00
Joel E. Denny
51f255a530 * data/bison.m4: Update comments for rename to muscle-tab.h. 2009-10-08 17:08:01 -04:00
Joel E. Denny
23ec25b7c6 Rename muscle_tab.* to muscle-tab.* for consistency with master.
* src/Makefile.am (bison_SOURCES): Update.
* src/getargs.c, src/ielr.c, src/lalr.c, src/main.c,
src/output.c, src/parse-gram.y, src/print.c, src/reader.c,
src/tables.c: Update include.
* src/muscle_tab.c, src/muscle_tab.h: Rename to...
* src/muscle-tab.c, src/muscle-tab.h: ... these and update
include.
2009-10-08 16:58:22 -04:00
Joel E. Denny
0ab402b48b Minor code cleanup.
* src/muscle_tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
replace all uses with UNIQSTR_CONCAT.
* src/uniqstr.c (uniqstr_vsprintf): New function.
* src/uniqstr.h (uniqstr_vsprintf): Add prototype.
(UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
macros.
(cherry picked from commit 10659d0ec9)

Conflicts:

	src/muscle_tab.c
2009-10-08 01:54:31 -04:00
Joel E. Denny
10659d0ec9 Minor code cleanup.
* src/muscle-tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
replace all uses with UNIQSTR_CONCAT.
* src/uniqstr.c (uniqstr_vsprintf): New function.
* src/uniqstr.h (uniqstr_vsprintf): Add prototype.
(UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
macros.
2009-10-08 01:31:07 -04:00
Joel E. Denny
3c5362b825 * TODO (Complaint submessage indentation): New. 2009-10-06 12:48:43 -04:00
Joel E. Denny
42ec0ae176 Minor code cleanup.
* src/parse-gram.y: Clean up sorting of declarations.
Use types to simplify %printer declarations where possible.
Provide %printer for BRACKETED_ID and symbol.prec.
* src/symtab.c: Whitespace change.
(cherry picked from commit b143f4048f)

Conflicts:

	src/parse-gram.c
	src/parse-gram.h
	src/parse-gram.y
2009-10-05 00:12:58 -04:00
Joel E. Denny
b143f4048f Minor code cleanup.
* src/parse-gram.y: Clean up sorting of declarations.
Use types to simplify %printer declarations where possible.
Provide %printer for BRACKETED_ID and symbol.prec.
* src/symtab.c: Whitespace change.
2009-10-05 00:12:41 -04:00
Joel E. Denny
7439c5c0f9 tests: skip tests of file names that platform does not support.
Reported by Michael Raskin at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
* THANKS (Michael Raskin): Add.
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
to fail at least for file names containing ":" or "\".
(cherry picked from commit 2ceb8c617c)

Conflicts:

	THANKS
2009-10-04 23:23:08 -04:00
Joel E. Denny
9637e0ed1c tests: skip tests of file names that platform does not support.
Reported by Michael Raskin at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
* THANKS (Michael Raskin): Add.
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
to fail at least for file names containing ":" or "\".
(cherry picked from commit 2ceb8c617c)
2009-10-04 23:18:59 -04:00
Joel E. Denny
69a2ab11cf yysyntax_error: avoid duplicate lookahead collection.
Except when memory reallocation is required, this change
eliminates the need to invoke yysyntax_error twice and thus to
repeat the collection of lookaheads.  It also prepares for
future extensions that will make those repetitions more
expensive and that will require additional memory management in
yysyntax_error.  Finally, it fixes an obscure bug already
exercised in the test suite.
* data/yacc.c (yysyntax_error): Add arguments for message
buffer variables stored in the parser.  Instead of size, return
status similar to yyparse status but indicating success of
message creation.  Other than the actual reallocation of the
message buffer, import and clean up memory management code
from...
(yyparse, yypush_parse): ... here.
* tests/regression.at (%error-verbose overflow): No longer an
expected failure.
(cherry picked from commit 45319f1365)

Conflicts:

	src/parse-gram.c
	src/parse-gram.h
2009-10-04 16:26:39 -04:00
Joel E. Denny
d88cf11791 yysyntax_error: test memory management more.
* tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
* tests/regression.at (%error-verbose and YYSTACK_USE_ALLOCA):
New test group.
(%error-verbose overflow): New test group that reveals an
obscure bug.  Expected fail for now.
(cherry picked from commit 52cea04ad3)
2009-10-04 16:26:25 -04:00
Akim Demaille
9da640eaa8 Pass the token type to yysyntax_error.
* data/yacc.c (yysyntax_error): Take the transated token instead
of the raw number.
Adjust callers.
(cherry picked from commit 84eedf86fe)

Conflicts:

	TODO
2009-10-04 16:24:17 -04:00
Akim Demaille
d3d3628bde Simplify the i18n of the error messages.
* data/yacc.c (yysyntax_error): Rewrite, using a switch instead
of building dynamically the format string.
(cherry picked from commit eeb2942237)

Conflicts:

	data/lalr1.cc
2009-10-04 16:24:17 -04:00
Joel E. Denny
45319f1365 yysyntax_error: avoid duplicate lookahead collection.
Except when memory reallocation is required, this change
eliminates the need to invoke yysyntax_error twice and thus to
repeat the collection of lookaheads.  It also prepares for
future extensions that will make those repetitions more
expensive and that will require additional memory management in
yysyntax_error.  Finally, it fixes an obscure bug already
exercised in the test suite.
* data/yacc.c (yysyntax_error): Add arguments for message
buffer variables stored in the parser.  Instead of size, return
status similar to yyparse status but indicating success of
message creation.  Other than the actual reallocation of the
message buffer, import and clean up memory management code
from...
(yyparse, yypush_parse): ... here.
* tests/regression.at (parse.error=verbose overflow): No longer
an expected failure.
2009-10-04 15:12:32 -04:00
Joel E. Denny
52cea04ad3 yysyntax_error: test memory management more.
* tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
* tests/regression.at (parse.error=verbose and
YYSTACK_USE_ALLOCA): New test group.
(parse.error=verbose overflow): New test group that reveals an
obscure bug.  Expected fail for now.
2009-10-04 15:12:32 -04:00
Joel E. Denny
37318e2fe9 benchmarks: use %debug consistently among grammars.
* etc/bench.pl.in (generate_grammar_triangular): Do not activate
%debug by default.  It can affect the timings even if yydebug=0.
(generate_grammar_calc): For consistency with other grammars,
use YYDEBUG environment variable to set yydebug.
2009-10-04 14:35:12 -04:00
Joel E. Denny
4c6b13f37e Remove dead code.
* src/symtab.c (symbol_pack): Here because every symbol's number
is always defined by this time.
(cherry picked from commit f74d6d2591)
2009-10-04 13:21:07 -04:00
Joel E. Denny
f74d6d2591 Remove dead code.
* src/symtab.c (symbol_pack): Here because every symbol's number
is always defined by this time.
2009-10-04 13:09:47 -04:00
Alex Rozenman
f840c05ad4 Add additional space after periods in NEWS.
* NEWS (2.5): here.
2009-10-03 18:42:31 +02:00
Alex Rozenman
5b1ff42379 Add additional space after periods in NEWS.
* NEWS (2.5): here.
2009-10-03 18:29:14 +02:00
Joel E. Denny
17a407dc51 Use the correct conversion specifier for size_t.
Reported by Jim Meyering.
* src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
because Sbitset__Index is size_t.
* src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
(cherry picked from commit 47eced3099)
2009-09-29 08:31:14 -04:00
Joel E. Denny
47eced3099 Use the correct conversion specifier for size_t.
Reported by Jim Meyering.
* src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
because Sbitset__Index is size_t.
* src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
2009-09-29 07:04:29 -04:00
Joel E. Denny
4b7a4c1b1c tests: don't abuse AT_BISON_CHECK.
* tests/regression.at (parse-gram.y: LALR = IELR): Move
additional shell commands outside of AT_BISON_CHECK.
(cherry picked from commit d8f68fc295)

Conflicts:

	tests/regression.at
2009-09-27 14:41:20 -04:00
Joel E. Denny
d8f68fc295 tests: don't abuse AT_BISON_CHECK.
* tests/regression.at (parse-gram.y: LALR = IELR): Move
additional shell commands outside of AT_BISON_CHECK.
2009-09-27 14:37:00 -04:00
Joel E. Denny
873ac263c8 tests: check that parse-gram.y's IELR and LALR are identical.
* tests/atlocal.in (abs_top_srcdir): New shell variable.
* tests/regression.at (parse-gram.y: LALR = IELR): New test
group.
(cherry picked from commit 43aabb70a9)
2009-09-26 15:32:04 -04:00
Joel E. Denny
43aabb70a9 tests: check that parse-gram.y's IELR and LALR are identical.
* tests/atlocal.in (abs_top_srcdir): New shell variable.
* tests/regression.at (parse-gram.y: LALR = IELR): New test
group.
2009-09-26 15:27:17 -04:00
Akim Demaille
232be91a83 doc: comment changes.
* doc/bison.texinfo: Comment changes.
(cherry picked from commit 6b5a0de960)

Conflicts:

	doc/bison.texinfo
2009-09-25 23:53:32 -04:00
Akim Demaille
c781580d07 doc: spell checking.
* doc/bison.texinfo: here.
(cherry picked from commit f50bfcd6a1)

Conflicts:

	doc/bison.texinfo
2009-09-25 23:33:19 -04:00
Akim Demaille
298e8ad91a Formatting changes.
* doc/bison.texinfo: here.
2009-09-23 15:07:29 +02:00
Alex Rozenman
348f560883 Keep sub-messages aligned. Fix strings for translation.
* src/location.h: (location_print): Add return value.
	* src/location.c: (location_print): Return number of printed
	characters.
	* src/complain.h: Two new functions (complain_at_indent,
	warn_at_indent).
	* src/complain.cpp: Implement the alignment mechanism. Add new
	static variable (indent_ptr). Use and update it (error_message,
	complain_at_indent, warn_at_indent).
	* src/scan-code.l: Fix strings for translations. Use new *_indent
	functions (parse_ref, show_sub_messages).
	* tests/named-ref.at: Adjust testcases.
	* NEWS (2.5): Add an announcement about named references.
2009-09-19 13:15:53 +03:00
Alex Rozenman
66381412d9 Keep sub-messages aligned. Fix strings for translation.
* src/location.h: (location_print): Add return value.
	* src/location.c: (location_print): Return number of printed
	characters.
	* src/complain.h: Two new functions (complain_at_indent,
	warn_at_indent).
	* src/complain.cpp: Implement the alignment mechanism. Add new
	static variable (indent_ptr). Use and update it (error_message,
	complain_at_indent, warn_at_indent).
	* src/scan-code.l: Fix strings for translations. Use new *_indent
	functions (parse_ref, show_sub_messages).
	* NEWS (2.5): Add an announcement about named references.
2009-09-19 13:00:51 +03:00