Commit Graph

2680 Commits

Author SHA1 Message Date
Paul Eggert
32b5b719e4 Document the license change. 2005-12-01 20:08:35 +00:00
Paul Eggert
66809587a7 Regenerate. 2005-12-01 20:04:06 +00:00
Paul Eggert
af3412cdea * data/yacc.c: Say "parser skeleton" rather than "file", since
it's no longer just a file.
* data/glr.c: Grant a special exception for C GLR parsers, that
reads like the already-existing exception for C LALR(1) parsers.
* data/glr.cc: Likewise.
* data/lalr1.cc: Likewise.
* data/location.cc: Likewise.
* data/yacc.c: Reword the "written by" statement to clarify that
it was the parser skeleton, not the entire output file.
* data/glr.c: Written by Paul Hilfinger.
* data/glr.cc: Written by Akim Demaille.
* data/lalr1.cc: Likewise.
2005-12-01 20:03:55 +00:00
Paul Eggert
d9963c8597 * data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
Fix typos in previous change that broke 'make check'.
YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
supported in C.
* tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
Don't check NUM-STDERR-LINES, since the output format is fluctuating.
We can revert this once things settle down.
2005-11-18 19:37:13 +00:00
Paul Eggert
035aa4a0bb * src/conflicts.c (conflicts_print): Don't print file name twice
when %expect fails because there were no conflicts.
* doc/bison.texinfo (Expect Decl): Tighten up wording in previous
change.
* tests/conflicts.at (%expect not enough, %expect too much):
(%expect with reduce conflicts): Adjust to new behavior.

* src/conflicts.c (conflicts_print): Unsatisfied %expectation are
errors.
* NEWS: Document this.
* doc/bison.texinfo (Expect Decl): Likewise.
2005-11-18 18:16:44 +00:00
Akim Demaille
d1ff7a7cc6 Generalize the display of semantic values and locations in traces.
* data/glr.c (yy_reduce_print): Fix indices (again).
* data/c++.m4 (b4_rhs_value, b4_rhs_location): Don't expect
literal integers.
* data/lalr1.cc (yyreduce_print): Rename as...
(yy_reduce_print): this.
Display values and locations.
* data/yacc.c (yy_reduce_print): Likewise.
(YY_REDUCE_PRINT): Adjust to pass the required arguments.
(yysymprint): Move higher to be visible from yy_reduce_print).
(yyparse): Adjust.
* tests/calc.at: Adjust the expected length of the traces.
2005-11-16 14:20:48 +00:00
Akim Demaille
6de5398de3 * data/glr.c (yy_reduce_print): The loop was quite wrong: type are
from 1 to N, while values and location start at 0.
(b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
2005-11-14 17:20:28 +00:00
Akim Demaille
a1373f559a * data/glr.c (yy_reduce_print): Fix the $ number. 2005-11-14 15:33:18 +00:00
Akim Demaille
3dc4aa8c36 Fix incorrect comment. 2005-11-14 15:19:16 +00:00
Akim Demaille
613d8952e3 "Use" parse parameters.
* data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
* data/glr.c, data/glr.cc: Use them.
* data/glr.c (YYUSE): Have a C++ definition that supports
non-pointer types.
2005-11-14 15:18:34 +00:00
Akim Demaille
b2741627b1 * data/glr.c (yyexpandGLRStack): Declare only if defined. 2005-11-14 14:34:38 +00:00
Akim Demaille
422494834c * data/glr.cc: New.
* data/m4sugar/m4sugar.m4 (m4_prepend): New.
2005-11-14 08:13:07 +00:00
Akim Demaille
5059b5c887 Have glr.c include its header file when created.
* data/glr.c (b4_shared_declarations): New.
Output them verbatim in the parser if !%defines, otherwise
output then in the header file, and include it instead.
2005-11-14 08:09:00 +00:00
Akim Demaille
4626a15dd1 Let position and location be PODs.
* data/location.cc (position::initialize, location::initialize): New.
(position::position, location::location): Define only if
b4_location_constructors is defined.
* data/lalr1.cc (b4_location_constructors): Define it for backward
compatibility.
* doc/bison.texinfo (Initial Action Decl): Use initialize.
2005-11-12 14:13:03 +00:00
Akim Demaille
98ae96438e * data/lalr1.cc: Move the body of the ctor and dtor into the
parser file (instead of the header).
Wrap the implementations in a "namespace yy".
2005-11-12 11:32:46 +00:00
Akim Demaille
1989d9476c * data/glr.c: Comment changes. 2005-11-11 10:39:35 +00:00
Akim Demaille
62b08cfcd7 When yydebug, report semantic and location values for reductions.
* data/glr.c (yy_reduce_print): Report the semantic values and the
locations.
(YY_REDUCE_PRINT): Adjust.
(yyglrReduce): Use them.
(b4_rhs_value, b4_rhs_location): Remove m4_eval invocations.
* data/c.m4 (b4_yysymprint_generate): Specify the const arguments.
* tests/calc.at (_AT_CHECK_CALC_ERROR): Remove the reduction
traces.
2005-11-11 10:36:24 +00:00
Akim Demaille
0299809431 * data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
(yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
(yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.
2005-11-11 09:20:03 +00:00
Paul Eggert
5210672f6b * m4/cxx.m4, examples/Makefile.am: Don't build
examples/calc++ if no C++ compiler is available.
2005-11-10 00:33:04 +00:00
Akim Demaille
a8991a1da4 * src/scan-skel.l: Use a couple of asserts. 2005-11-09 16:11:25 +00:00
Akim Demaille
36b5e963e6 In some (weird) cases, the final state number is incorrect.
Reported by Alexandre Duret-Lutz.
* src/LR0.c (state_list_append): Remove the computation of
final_state.
(save_reductions): Do it here.
(get_state): Alpha conversion.
(generate_states): Use a for loop.
* src/gram.h (item_number_is_rule_number)
(item_number_is_symbol_number): New.
* src/state.c: Use assert.
* src/system.h: Include assert.h.
* tests/sets.at (Accept): New.
2005-11-09 15:48:05 +00:00
Akim Demaille
317fce927c Typo. 2005-11-03 16:23:21 +00:00
Paul Hilfinger
44e7ead165 data/glr.c (yyfill): Adjust comment.
(yyresolveAction): Initialize default location properly for empty right-hand
 sides.
 (yydoAction): Ditto.  Add comment explaining apparently dead code.
* tests/glr-regression.at
 (Incorrectly initialized location for empty right-hand side in GLR): New test.
2005-10-31 01:16:32 +00:00
Paul Eggert
e10a80eeac * bootstrap (cleanup_gnulib): New function. Use it to clean up
gnulib when interrupted.  This fixes some race conditions and
works around some portability problems (one noted by Paul
Hilfinger).
2005-10-31 00:11:48 +00:00
Akim Demaille
067b32eef4 * Makefile.cfg: Adjust to config -> build-aux.
Reported by twledo.
2005-10-22 06:44:35 +00:00
Akim Demaille
4b3673159e * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
the %parse-params.
* data/glr.c (YY_SYMBOL_PRINT, yydestroyGLRState): Adjust.
* data/yacc.c (b4_Pure_if): Rename as...
(b4_yacc_pure_if): this.
(YY_SYMBOL_PRINT, yyparse): Adjust.
* doc/bison.texinfo: Formatting changes.
2005-10-21 11:36:22 +00:00
Akim Demaille
24cc23d96d Finish the transition config -> build-aux.
* configure.ac, Makefile.am: Use build-aux.
* config/prev-version, config/announce-gen, config/Makefile.am:
Move to...
* build-aux/prev-version, build-aux/announce-gen,
* build-aux/Makefile.am: here.
2005-10-21 09:13:01 +00:00
Akim Demaille
d4476375cf * examples/calc++/test: Use set -x only when VERBOSE. 2005-10-14 06:10:54 +00:00
Paul Eggert
302c0aeeba * NEWS: Bison now warns if it finds a stray $' or @' in an action.
* src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.
2005-10-13 19:38:46 +00:00
Akim Demaille
7625ec2c83 * src/scan-skel.l: Output the base name parts of the parser and
header file names.
* tests/output.at (AT_CHECK_OUTPUT): Support subdirectorioes, and
additional checks.
Use this to exercise C++ outputs in subdirs.
Reported by Oleg Smolsky.
2005-10-13 10:13:24 +00:00
Paul Eggert
2ed284440f Regenerate. 2005-10-13 06:24:04 +00:00
Paul Eggert
ba0fe3c710 * data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
__STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
Problem reported by John P. Hartmann.
* data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
already defined it.
2005-10-13 06:23:54 +00:00
Akim Demaille
9b8a5ce03b * src/parse-gram.y (version_check): Exit 63 to please missing
(stands for "version mismatch).
* tests/input.at, doc/bison.texinfo: Adjust.
2005-10-12 10:15:12 +00:00
Paul Eggert
52d9d4112f Regenerate. 2005-10-11 05:39:59 +00:00
Paul Eggert
4d7aa45e75 * data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
as __STDC__, as IBM cc defines the former but not the latter.
* data/yacc.c (YYMODERN_C): New macro, which also looks at
__STDC_VERSION__.  Use it everywhere instead of looking at
__STDC__ and __cplusplus.
2005-10-11 05:36:04 +00:00
Paul Eggert
4f6e011e2e Work around portability problems with Visual Age C compiler
(xlc and xlC_r) reported by John P. Hartmann.
* data/location.cc (initial_column, initial_line): Remove.
All uses replaced by 0 and 1.
* src/scan-gram.l (gram_wrap): Redefine to avoid bug in flex 2.5.31
that xlc complains about.
* src/scan-skel.l (skel_wrap): Likewise.
2005-10-11 05:06:16 +00:00
Akim Demaille
a1b3bf8c21 * examples/calc++/test: Be quiet unless VERBOSE. 2005-10-10 11:41:27 +00:00
Paul Eggert
e764d4df76 Regenerate. 2005-10-06 07:18:53 +00:00
Paul Eggert
2a4647a32f * data/c.m4 (yydestruct, yysymprint):
Use YYUSE instead of casting to void.
* data/glr.c (YYUSE): New macro.
(yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
Use it instead of rolling our own.
(YYLLOC_DEFAULT, YYCHK, YYDPRINTF, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
(YYCHK1):
Use /*CONSTCOND*/ to suppress lint warnings.
* data/lalr1.cc (YYLLOC_DEFAULT, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
(YY_STACK_PRINT): Use 'false' not '0'.
(YYUSE): New macro.
(yysymprint_, yydestruct_): Use it instead of rolling our own.
* data/yacc.c (YYUSE): New macro.
(YYCOPY, YYSTACK_RELOCATE, YYBACKUP, YYLLOC_DEFAULT):
(YYDPRINTF, YY_SYMBOL_PRINT, YY_STACK_PRINT, YY_REDUCE_PRINT):
(yyerrorlab): Use /*CONSTCOND*/ to suppress lint warnings.
2005-10-06 07:17:21 +00:00
Paul Eggert
74e543d21f Regenerate. 2005-10-05 21:28:55 +00:00
Paul Eggert
412e44aa0e * data/m4sugar/m4sugar.m4 (_m4_map): New macro.
(m4_map, m4_map_sep): Use it.  Handle the empty list correctly.
2005-10-05 21:28:07 +00:00
Akim Demaille
2888e8b946 Less ambiguous wording. 2005-10-05 06:57:16 +00:00
Paul Eggert
2f4f028d8b Undo the parts of the unlocked-I/O change that substituted
putc or puts for printf.  This might hurt performance a bit,
but some people prefer the printf style.
* data/c.m4 (yysymprint): Prefer printf to puts and putc.
* data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): Remove.
All uses replaced by YYFPRINTF and YYDPRINTF.
* data/yacc.c: Likewise.
* lib/bitset.c (bitset_print): Likewise.
* lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer printf to
putc and puts.
* lib/lbitset.c (debug_lbitset): Likewise.
* src/closure.c (print_firsts, print_fderives): Likewise.
* src/gram.c (grammar_dump): Likewise.
* src/lalr.c (look_ahead_tokens_print): Likewise.
* src/output.c (escaped_output): Likewise.
(user_actions_output): Break apart two printfs.
* src/parse-gram.y (%printer): Prefer printf to putc and puts.
* src/reduce.c (reduce_print): Likewise.
* src/state.c (state_rule_look_ahead_tokens_print): Likewise.
* src/system.h: Include unlocked-io.h rathe than stdio.h.
2005-10-05 06:39:08 +00:00
Paul Eggert
88c6637fa9 * data/glr.c (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
Use assignments rather than casts-to-void to suppress
unused-variable warnings.  This pacifies 'lint'.
* data/lalr1.cc (yysymprint_, yydestruct_): Use a call to suppress
unused-variable warnings.
2005-10-05 06:05:22 +00:00
Juan Manuel Guerrero
f8333ce5fd remove djgpp/CVS from EXTRA_DIST 2005-10-03 17:12:03 +00:00
Juan Manuel Guerrero
c59929c351 Use name cxx.m4 instead of c++.m4 in data/location.cc 2005-10-03 05:35:57 +00:00
Juan Manuel Guerrero
fb32e3730e DJGPP specific files added to EXTRA_DIST 2005-10-03 05:33:47 +00:00
Paul Eggert
2aee5b7e1e Regenerate. 2005-10-02 21:25:33 +00:00
Paul Eggert
fb9c0b3360 Use unlocked I/O for a minor performance improvement on hosts like
GNU/Linux and Solaris that support unlocked I/O.  The basic idea
is to use the gnlib unlocked-io module, and to prefer putc and
puts to printf when either will work (since the latter doesn't
come in an unlocked flavor).
* bootstrap (gnulib_modules): Add unlocked-io.
* data/c.m4 (yysymprint): Prefer puts and putc to printf.
* data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): New macros.
Prefer them to YYFPRINTF and YYDPRINTF if either will do,
and similarly for puts and putc and printf.
* data/yacc.c: Likewise.
* lib/bitset.c (bitset_print): Likewise.
* lib/bitset.h [USE_UNLOCKED_IO]: Include unlocked-io.h.
* lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer putc and puts
to printf.
* lib/lbitset.c (debug_lbitset): Likewise.
* src/closure.c (print_firsts, print_fderives): Likewise.
* src/gram.c (grammar_dump): Likewise.
* src/lalr.c (look_ahead_tokens_print): Likewise.
* src/output.c (escaped_output): Likewise.
(user_actions_output): Coalesce two printfs.
* src/parse-gram.h (%printer): Prefer putc and puts to printf.
* src/reduce.c (reduce_print): Likewise.
* src/state.c (state_rule_look_ahead_tokens_print): Likewise.
* src/system.h: Include unlocked-io.h rathe than stdio.h.
2005-10-02 21:24:12 +00:00
Paul Eggert
edb8f44f06 * data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
this confuses xgettext.
2005-10-02 20:41:42 +00:00