]> git.saurik.com Git - bison.git/log
bison.git
18 years ago* data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
Akim Demaille [Thu, 22 Dec 2005 13:01:50 +0000 (13:01 +0000)] 
* data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
(b4_yysymprint_generate): Rename as...
(b4_yy_symbol_print_generate): this.
Generate yy_symbol_print instead of yysymprint.
Generate also yy_symbol_value_print, and use it.

18 years agoWarn about unused values.
Akim Demaille [Thu, 22 Dec 2005 11:40:05 +0000 (11:40 +0000)] 
Warn about unused values.
* src/symlist.h, src/symlist.c (symbol_list, symbol_list_new): Add
a `used' member.
(symbol_list_n_get, symbol_list_n_used_set): New.
(symbol_list_n_type_name_get): Use symbol_list_n_get.
* src/scan-gram.l (handle_action_dollar): Flag used symbols.
* src/reader.c (grammar_current_rule_check): Check that values are
used.
* src/symtab.c (symbol_print): Accept 0.
* tests/existing.at: Remove the type information.
Empty the actions.
Remove useless actions (beware of mid-rule actions: perl -000
-pi -e 's/s*{}(?=[ns]*[|;])//g').
* tests/actions.at (Exotic Dollars): Use unused values.
* tests/calc.at: Likewise.
* tests/glr-regression.at (No users destructors if stack 0 deleted):
Likewise.
* src/gram.c (rule_useful_p, rule_never_reduced_p): Use
rule_useful_p.

18 years agoUndo 2005-12-01 tentative license wording change.
Paul Eggert [Thu, 22 Dec 2005 04:38:26 +0000 (04:38 +0000)] 
Undo 2005-12-01 tentative license wording change.

18 years ago* NEWS: Reword %destructor vs YYABORT etc.
Paul Eggert [Thu, 22 Dec 2005 00:24:40 +0000 (00:24 +0000)] 
* NEWS: Reword %destructor vs YYABORT etc.
* data/glr.c: Use American spacing, for consistency.
* data/glr.cc: Likewise.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
* data/yacc.c: Reformat comments slightly.
* doc/bison.texinfo: Replace "non-" with "non" when that makes sense,
for consistency.  Fix some spelling errors and reword recently-included
text slightly.
* tests/cxx-type.at: Cast results of malloc, for C++.

18 years ago* tests/cxx-type.at: Construct a tree, count the parents of shared
Akim Demaille [Wed, 21 Dec 2005 15:45:17 +0000 (15:45 +0000)] 
* tests/cxx-type.at: Construct a tree, count the parents of shared
nodes, and free each node once and only once.  Previously, the memory
for semantic values was leaked instead.

18 years ago* data/glr.c (struct yyGLRStack): If pure, add yyval and yyloc members.
Akim Demaille [Wed, 21 Dec 2005 15:33:13 +0000 (15:33 +0000)] 
* data/glr.c (struct yyGLRStack): If pure, add yyval and yyloc members.
(yylval, yylloc): If pure, #define to yystackp->yyval and
yystackp->yyloc similar to yychar and yynerrs.
(yyparse): If pure, remove local yylval and yylloc. Add local
yystackp to accommodate pure definitions of yylval and yylloc.
(b4_lex_param, b4_lyyerror_args, b4_lpure_args): If pure, change
yylvalp and yyllocp to &yylval and &yylloc.
(nerrs, char, lval, lloc): If pure, add #define's for b4_prefix[]
namespace. Previously, nerrs and char were missing, but lval and lloc
weren't necessary.
(yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Remove
yylvalp and yyllocp parameters since, if pure, these are now always
accessible through yystackp.  If not pure, they are still accessible
globally.
* data/glr.c, data/yacc.c (YYLLOC_DEFAULT): Change `if (N)' to
`if (YYID (N))' to pacify lint.

18 years agoYYACCEPT, YYERROR, and YYABORT, as user actions, should not
Akim Demaille [Wed, 21 Dec 2005 15:28:30 +0000 (15:28 +0000)] 
YYACCEPT, YYERROR, and YYABORT, as user actions, should not
destroy the RHS symbols of a rule.
* data/yacc.c (yylen): Initialize to 0.
Keep its value to the number of items to possibly shift.
In particular, a regular successful parse that ends on YYFINAL by
a (internal) YYACCEPT must not have yylen != 0.
(yyerrorlab, yyreturn): Pop the RHS.
Reorder a bit to emphasize the `shifting' bits of code.
(YYPOPSTACK): Now accept a number of items to pop.
* data/lalr1.cc: Likewise.
* data/glr.c: Formatting changes.
Use goto instead of fall through.
* doc/bison.texinfo (Destructor Decl): Complete.

18 years agoFix NEWS.
Akim Demaille [Wed, 21 Dec 2005 13:49:44 +0000 (13:49 +0000)] 
Fix NEWS.

18 years ago* Makefile.am: DJGPP specific files added to EXTRA_DIST.
Juan Manuel Guerrero [Wed, 21 Dec 2005 00:24:54 +0000 (00:24 +0000)] 
* Makefile.am: DJGPP specific files added to EXTRA_DIST.
* djgpp/Makefile.maint: Fix PACKAGE variable computation.
* djgpp/config.bat: Replace every occurence of the file name
scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
* djgpp/config.sed: Replace every occurence of the file name
scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
* djgpp/djunpack.bat: DJGPP specific file.
* djgpp/fnchange.lst: DJGPP specific file.
* djgpp/README.in: Add new information about how to unpack the bison
source on MSDOS and other systems which have 8.3 file name restrictions
using djunpack.bat and fnchange.lst.

18 years agoDJGPP specific files added to EXTRA_DIST.
Juan Manuel Guerrero [Wed, 21 Dec 2005 00:11:44 +0000 (00:11 +0000)] 
DJGPP specific files added to EXTRA_DIST.

18 years agoAdd new information about how to unpack the bison source on
Juan Manuel Guerrero [Wed, 21 Dec 2005 00:01:40 +0000 (00:01 +0000)] 
Add new information about how to unpack the bison source on
MSDOS and other systems which have 8.3 file name restrictions
using djunpack.bat and fnchange.lst.

18 years agoReplace file name scan-gram-c.c with scangram-c.c and
Juan Manuel Guerrero [Wed, 21 Dec 2005 00:01:28 +0000 (00:01 +0000)] 
Replace file name scan-gram-c.c with scangram-c.c and
scan-skel-c.c with /src/scanskel-c.c to conform with
the 8.3 file name restriction on MSDOS.

18 years agoFix PACKAGE variable computation.
Juan Manuel Guerrero [Tue, 20 Dec 2005 23:59:50 +0000 (23:59 +0000)] 
Fix PACKAGE variable computation.

18 years agoDJGPP specific file.
Juan Manuel Guerrero [Tue, 20 Dec 2005 23:58:00 +0000 (23:58 +0000)] 
DJGPP specific file.

18 years ago* data/glr.c: Reorder typedef declarations for structs to match order
Paul Eggert [Mon, 12 Dec 2005 21:04:39 +0000 (21:04 +0000)] 
* data/glr.c: Reorder typedef declarations for structs to match order
of struct declarations.
Rename yystack everywhere to yystackp except in yyparse where it's not
a pointer.
(yyglrShift): Change parameter YYSTYPE yysval to YYSTYPE* yyvalp for
consistency.
(yyis_table_ninf): Change 0 to YYID (0) to pacify lint.
(yyreportSyntaxError): Add /*ARGSUSED*/ to pacify lint.
(yyparse): Change while (yytrue) to while ( YYID (yytrue)) to pacify
lint.

18 years ago(build_cvs_prefix): Remove; unused.
Paul Eggert [Mon, 12 Dec 2005 20:59:30 +0000 (20:59 +0000)] 
(build_cvs_prefix): Remove; unused.
(CVS_PREFIX): Adjust to yesterday's Savannah reorganization
when getting gnulib.

18 years ago* tests/sets.at (Accept): Fix typos in regular expression used to
Paul Eggert [Sat, 10 Dec 2005 00:25:27 +0000 (00:25 +0000)] 
* tests/sets.at (Accept): Fix typos in regular expression used to
sed out the final state number.

18 years agoRegenerate.
Paul Eggert [Fri, 9 Dec 2005 23:53:57 +0000 (23:53 +0000)] 
Regenerate.

18 years agoWork around flex portability bug.
Paul Eggert [Fri, 9 Dec 2005 23:53:14 +0000 (23:53 +0000)] 
Work around flex portability bug.

18 years agoWork around portability problem on Solaris 10: flex-generated
Paul Eggert [Fri, 9 Dec 2005 23:51:26 +0000 (23:51 +0000)] 
Work around portability problem on Solaris 10: flex-generated
files include <stdio.h> before <config.h>, which messes up
because the latter defines __EXTENSIONS__.  Address the problem
by creating two new little files that include <config.h> first,
then include the flex-generated files.  Rewrite everyone else
to include <config.h> first, as well.
* lib/timevar.c: Always include "config.h".
* src/Makefile.am (bison_SOURCES): Replace scan-gram.l with
scan-gram-c.c, and scan-skel.l with scan-skel-c.c.
(EXTRA_bison_SOURCES): New macro.
* src/scan-gram-c.c, src/scan-skel-c.c: New files.
* src/system.h: Don't include config.h.
* src/LR0.c: Include <config.h> first.
* src/assoc.c: Likewise.
* src/closure.c: Likewise.
* src/complain.c: Likewise.
* src/conflicts.c: Likewise.
* src/derives.c: Likewise.
* src/files.c: Likewise.
* src/getargs.c: Likewise.
* src/gram.c: Likewise.
* src/lalr.c: Likewise.
* src/location.c: Likewise.
* src/main.c: Likewise.
* src/muscle_tab.c: Likewise.
* src/nullable.c: Likewise.
* src/output.c: Likewise.
* src/parse-gram.y: Likewise.
* src/print.c: Likewise.
* src/print_graph.c: Likewise.
* src/reader.c: Likewise.
* src/reduce.c: Likewise.
* src/relation.c: Likewise.
* src/state.c: Likewise.
* src/symlist.c: Likewise.
* src/symtab.c: Likewise.
* src/tables.c: Likewise.
* src/uniqstr.c: Likewise.
* src/vcg.c: Likewise.

18 years agoRegenerate.
Paul Eggert [Fri, 9 Dec 2005 22:44:37 +0000 (22:44 +0000)] 
Regenerate.

18 years ago* src/parse-gram.y: Fix minor problems uncovered by lint.
Paul Eggert [Fri, 9 Dec 2005 22:43:00 +0000 (22:43 +0000)] 
* src/parse-gram.y: Fix minor problems uncovered by lint.
(current_lhs, current_lhs_location): Now static.
(current_assoc): Remove unused variable.

18 years agoCleanups so that Bison-generated parsers have less lint.
Paul Eggert [Fri, 9 Dec 2005 22:14:36 +0000 (22:14 +0000)] 
Cleanups so that Bison-generated parsers have less lint.
* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate):
Prepend /*ARGSUSED*/, for lint's sake.
* data/glr.c (YYUSE): Properly parenthesize, and use an alternate
definition if 'lint' is defined.
(YYID): New macro (or function, if lint).
All uses of /*CONSTCOND*/0 replaced by YYID(0).
* data/yacc.c: Likewise.
* data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print):
(yyrecoverSyntaxError): Prepend /*ARGSUSED*/.
* data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code
is C++ only.
* data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only.
* data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]:
Use YYID(0) rather than 0, for lint.
(yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow.
(yysyntax_error): Rewrite to avoid lint warnings about parenthesization.

18 years ago* tests/glr-regression.at
Paul Eggert [Thu, 8 Dec 2005 06:52:43 +0000 (06:52 +0000)] 
* tests/glr-regression.at
(Improper handling of embedded actions and dollar(-N) in GLR parsers):
Close memory leak reported by twlevo.

18 years agoMention yyparse, too.
Paul Eggert [Wed, 7 Dec 2005 07:47:52 +0000 (07:47 +0000)] 
Mention yyparse, too.

18 years ago* data/glr.c (yyprocessOneStack): Synchronize the shift for all
Paul Eggert [Tue, 6 Dec 2005 19:38:25 +0000 (19:38 +0000)] 
* data/glr.c (yyprocessOneStack): Synchronize the shift for all
stacks, and iterate another stack in order to call user
destructors.
* tests/glr-regression.at (No users destructors if stack 0 deleted):
New test case.
(Duplicated user destructor for lookahead): This test now is expected
to succeed.

19 years agoDocument the license change.
Paul Eggert [Thu, 1 Dec 2005 20:08:35 +0000 (20:08 +0000)] 
Document the license change.

19 years agoRegenerate.
Paul Eggert [Thu, 1 Dec 2005 20:04:06 +0000 (20:04 +0000)] 
Regenerate.

19 years ago* data/yacc.c: Say "parser skeleton" rather than "file", since
Paul Eggert [Thu, 1 Dec 2005 20:03:55 +0000 (20:03 +0000)] 
* 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.

19 years ago* data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
Paul Eggert [Fri, 18 Nov 2005 19:37:13 +0000 (19:37 +0000)] 
* 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.

19 years ago* src/conflicts.c (conflicts_print): Don't print file name twice
Paul Eggert [Fri, 18 Nov 2005 18:16:44 +0000 (18:16 +0000)] 
* 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.

19 years agoGeneralize the display of semantic values and locations in traces.
Akim Demaille [Wed, 16 Nov 2005 14:20:48 +0000 (14:20 +0000)] 
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.

19 years ago* data/glr.c (yy_reduce_print): The loop was quite wrong: type are
Akim Demaille [Mon, 14 Nov 2005 17:20:28 +0000 (17:20 +0000)] 
* 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.

19 years ago* data/glr.c (yy_reduce_print): Fix the $ number.
Akim Demaille [Mon, 14 Nov 2005 15:33:18 +0000 (15:33 +0000)] 
* data/glr.c (yy_reduce_print): Fix the $ number.

19 years agoFix incorrect comment.
Akim Demaille [Mon, 14 Nov 2005 15:19:16 +0000 (15:19 +0000)] 
Fix incorrect comment.

19 years ago"Use" parse parameters.
Akim Demaille [Mon, 14 Nov 2005 15:18:34 +0000 (15:18 +0000)] 
"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.

19 years ago* data/glr.c (yyexpandGLRStack): Declare only if defined.
Akim Demaille [Mon, 14 Nov 2005 14:34:38 +0000 (14:34 +0000)] 
* data/glr.c (yyexpandGLRStack): Declare only if defined.

19 years ago* data/glr.cc: New.
Akim Demaille [Mon, 14 Nov 2005 08:13:07 +0000 (08:13 +0000)] 
* data/glr.cc: New.
* data/m4sugar/m4sugar.m4 (m4_prepend): New.

19 years agoHave glr.c include its header file when created.
Akim Demaille [Mon, 14 Nov 2005 08:09:00 +0000 (08:09 +0000)] 
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.

19 years agoLet position and location be PODs.
Akim Demaille [Sat, 12 Nov 2005 14:13:03 +0000 (14:13 +0000)] 
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.

19 years ago* data/lalr1.cc: Move the body of the ctor and dtor into the
Akim Demaille [Sat, 12 Nov 2005 11:32:46 +0000 (11:32 +0000)] 
* 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".

19 years ago* data/glr.c: Comment changes.
Akim Demaille [Fri, 11 Nov 2005 10:39:35 +0000 (10:39 +0000)] 
* data/glr.c: Comment changes.

19 years agoWhen yydebug, report semantic and location values for reductions.
Akim Demaille [Fri, 11 Nov 2005 10:36:24 +0000 (10:36 +0000)] 
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.

19 years ago* data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
Akim Demaille [Fri, 11 Nov 2005 09:20:03 +0000 (09:20 +0000)] 
* data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
(yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
(yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.

19 years ago* m4/cxx.m4, examples/Makefile.am: Don't build
Paul Eggert [Thu, 10 Nov 2005 00:33:04 +0000 (00:33 +0000)] 
* m4/cxx.m4, examples/Makefile.am: Don't build
examples/calc++ if no C++ compiler is available.

19 years ago* src/scan-skel.l: Use a couple of asserts.
Akim Demaille [Wed, 9 Nov 2005 16:11:25 +0000 (16:11 +0000)] 
* src/scan-skel.l: Use a couple of asserts.

19 years agoIn some (weird) cases, the final state number is incorrect.
Akim Demaille [Wed, 9 Nov 2005 15:48:05 +0000 (15:48 +0000)] 
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.

19 years agoTypo.
Akim Demaille [Thu, 3 Nov 2005 16:23:21 +0000 (16:23 +0000)] 
Typo.

19 years agodata/glr.c (yyfill): Adjust comment.
Paul Hilfinger [Mon, 31 Oct 2005 01:16:32 +0000 (01:16 +0000)] 
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.

19 years ago* bootstrap (cleanup_gnulib): New function. Use it to clean up
Paul Eggert [Mon, 31 Oct 2005 00:11:48 +0000 (00:11 +0000)] 
* 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).

19 years ago* Makefile.cfg: Adjust to config -> build-aux.
Akim Demaille [Sat, 22 Oct 2005 06:44:35 +0000 (06:44 +0000)] 
* Makefile.cfg: Adjust to config -> build-aux.
Reported by twledo.

19 years ago* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
Akim Demaille [Fri, 21 Oct 2005 11:36:22 +0000 (11:36 +0000)] 
* 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.

19 years agoFinish the transition config -> build-aux.
Akim Demaille [Fri, 21 Oct 2005 09:13:01 +0000 (09:13 +0000)] 
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.

19 years ago* examples/calc++/test: Use set -x only when VERBOSE.
Akim Demaille [Fri, 14 Oct 2005 06:10:54 +0000 (06:10 +0000)] 
* examples/calc++/test: Use set -x only when VERBOSE.

19 years ago* NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
Paul Eggert [Thu, 13 Oct 2005 19:38:46 +0000 (19:38 +0000)] 
* NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
* src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.

19 years ago* src/scan-skel.l: Output the base name parts of the parser and
Akim Demaille [Thu, 13 Oct 2005 10:13:24 +0000 (10:13 +0000)] 
* 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.

19 years agoRegenerate.
Paul Eggert [Thu, 13 Oct 2005 06:24:04 +0000 (06:24 +0000)] 
Regenerate.

19 years ago* data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
Paul Eggert [Thu, 13 Oct 2005 06:23:54 +0000 (06:23 +0000)] 
* 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.

19 years ago* src/parse-gram.y (version_check): Exit 63 to please missing
Akim Demaille [Wed, 12 Oct 2005 10:15:12 +0000 (10:15 +0000)] 
* src/parse-gram.y (version_check): Exit 63 to please missing
(stands for "version mismatch).
* tests/input.at, doc/bison.texinfo: Adjust.

19 years agoRegenerate.
Paul Eggert [Tue, 11 Oct 2005 05:39:59 +0000 (05:39 +0000)] 
Regenerate.

19 years ago* data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
Paul Eggert [Tue, 11 Oct 2005 05:36:04 +0000 (05:36 +0000)] 
* 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.

19 years agoWork around portability problems with Visual Age C compiler
Paul Eggert [Tue, 11 Oct 2005 05:06:16 +0000 (05:06 +0000)] 
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.

19 years ago* examples/calc++/test: Be quiet unless VERBOSE.
Akim Demaille [Mon, 10 Oct 2005 11:41:27 +0000 (11:41 +0000)] 
* examples/calc++/test: Be quiet unless VERBOSE.

19 years agoRegenerate.
Paul Eggert [Thu, 6 Oct 2005 07:18:53 +0000 (07:18 +0000)] 
Regenerate.

19 years ago* data/c.m4 (yydestruct, yysymprint):
Paul Eggert [Thu, 6 Oct 2005 07:17:21 +0000 (07:17 +0000)] 
* 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.

19 years agoRegenerate.
Paul Eggert [Wed, 5 Oct 2005 21:28:55 +0000 (21:28 +0000)] 
Regenerate.

19 years ago* data/m4sugar/m4sugar.m4 (_m4_map): New macro.
Paul Eggert [Wed, 5 Oct 2005 21:28:07 +0000 (21:28 +0000)] 
* data/m4sugar/m4sugar.m4 (_m4_map): New macro.
(m4_map, m4_map_sep): Use it.  Handle the empty list correctly.

19 years agoLess ambiguous wording.
Akim Demaille [Wed, 5 Oct 2005 06:57:16 +0000 (06:57 +0000)] 
Less ambiguous wording.

19 years agoUndo the parts of the unlocked-I/O change that substituted
Paul Eggert [Wed, 5 Oct 2005 06:39:08 +0000 (06:39 +0000)] 
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.

19 years ago* data/glr.c (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
Paul Eggert [Wed, 5 Oct 2005 06:05:22 +0000 (06:05 +0000)] 
* 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.

19 years agoremove djgpp/CVS from EXTRA_DIST
Juan Manuel Guerrero [Mon, 3 Oct 2005 17:12:03 +0000 (17:12 +0000)] 
remove djgpp/CVS from EXTRA_DIST

19 years agoUse name cxx.m4 instead of c++.m4 in data/location.cc
Juan Manuel Guerrero [Mon, 3 Oct 2005 05:35:57 +0000 (05:35 +0000)] 
Use name cxx.m4 instead of c++.m4 in data/location.cc

19 years agoDJGPP specific files added to EXTRA_DIST
Juan Manuel Guerrero [Mon, 3 Oct 2005 05:33:47 +0000 (05:33 +0000)] 
DJGPP specific files added to EXTRA_DIST

19 years agoRegenerate.
Paul Eggert [Sun, 2 Oct 2005 21:25:33 +0000 (21:25 +0000)] 
Regenerate.

19 years agoUse unlocked I/O for a minor performance improvement on hosts like
Paul Eggert [Sun, 2 Oct 2005 21:24:12 +0000 (21:24 +0000)] 
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.

19 years ago* data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
Paul Eggert [Sun, 2 Oct 2005 20:41:42 +0000 (20:41 +0000)] 
* data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
this confuses xgettext.

19 years ago* bootstrap (gnulib_modules): Add strverscmp.
Akim Demaille [Sun, 2 Oct 2005 18:49:15 +0000 (18:49 +0000)] 
* bootstrap (gnulib_modules): Add strverscmp.
* lib/.cvsignore: Add strverscmp.c, strverscmp.h.
* m4/.cvsignore: Add strverscmp.m4.
* src/parse-gram.y (%require): New token, new rule.
(version_check): New.
* src/scan-gram.l (%require): Adjust.
* tests/input.at (AT_REQUIRE): New.
Use it.
* doc/bison.texinfo (Require Decl): New.
(Calc++ Parser): Use %require.

19 years ago* data/location.cc: New.
Akim Demaille [Sun, 2 Oct 2005 18:17:23 +0000 (18:17 +0000)] 
* data/location.cc: New.

19 years ago Akim Demaille <akim@epita.fr>
Akim Demaille [Sun, 2 Oct 2005 17:44:49 +0000 (17:44 +0000)] 
Akim Demaille  <akim@epita.fr>
Make sure -odir/foo.cc creates dir/location.hh etc.
* src/files.h (spec_outfile, parser_file_name, spec_name_prefix)
(spec_file_prefix, spec_verbose_file, spec_graph_file)
(spec_defines_file): Now const.
(dir_prefix): New.
(short_base_name): Remove.
* src/files.c: Adjust.
(dirname.h): Include.
(base_name): Don't prototype it.
(finput): Remove, duplicates gram_in.
(full_base_name, short_base_name): Replace by...
(all_but_ext, all_but_tab_ext): these.
(compute_base_names): Rename as...
(compute_file_name_parts): this.
Update to compute the new variables, including dir_prefix.
Adjust dependencies.
* src/output.c (prepare): Output them.
* src/reader.c: Adjust to use gram_in, not finput.
* src/scan-skel.l (@dir_prefix@): New.

19 years agoDJGPP support added.
Juan Manuel Guerrero [Sun, 2 Oct 2005 17:00:30 +0000 (17:00 +0000)] 
DJGPP support added.

19 years ago(output_skeleton): Use end_of_output_subpipe() to handle
Juan Manuel Guerrero [Sun, 2 Oct 2005 16:59:42 +0000 (16:59 +0000)] 
(output_skeleton): Use end_of_output_subpipe() to handle
the lack of pipe/fork functionality on non-posix systems.

19 years agoNew function end_of_output_subpipe() added to allow support
Juan Manuel Guerrero [Sun, 2 Oct 2005 16:59:31 +0000 (16:59 +0000)] 
New function end_of_output_subpipe() added to allow support
for non-posix systems. This is a no-op function for posix systems.

19 years agoDJGPP specific configuration file.
Juan Manuel Guerrero [Sun, 2 Oct 2005 16:35:14 +0000 (16:35 +0000)] 
DJGPP specific configuration file.

19 years ago* data/location.cc: New, extract from...
Akim Demaille [Sun, 2 Oct 2005 16:34:02 +0000 (16:34 +0000)] 
* data/location.cc: New, extract from...
* data/lalr1.cc: here.
(location.hh): Include it after the user prologue, in case the
filename type is defined by the user.
Forward declation location and position before the pre-prologue.
(yyresult_): Rename as...
(yyresult): this, it's a local variable, not an attribute.
* data/Makefile.am (dist_pkgdata_DATA): Adjust.

19 years agoDJGPP specific replacement file for lib/subpipe.h.
Juan Manuel Guerrero [Sun, 2 Oct 2005 16:15:22 +0000 (16:15 +0000)] 
DJGPP specific replacement file for lib/subpipe.h.

19 years agoDJGPP specific replacement file for lib/subpipe.c.
Juan Manuel Guerrero [Sun, 2 Oct 2005 16:14:13 +0000 (16:14 +0000)] 
DJGPP specific replacement file for lib/subpipe.c.

19 years agoDJGPP specific file.
Juan Manuel Guerrero [Sun, 2 Oct 2005 16:11:25 +0000 (16:11 +0000)] 
DJGPP specific file.

19 years ago* examples/extexi: Restore the #line generation.
Akim Demaille [Sat, 1 Oct 2005 07:20:32 +0000 (07:20 +0000)] 
* examples/extexi: Restore the #line generation.

19 years ago Alexandre Duret-Lutz <adl@gnu.org>
Akim Demaille [Fri, 30 Sep 2005 17:57:05 +0000 (17:57 +0000)] 
Alexandre Duret-Lutz <adl@gnu.org>
Move the token type and YYSTYPE in the parser class.
* data/lalr1.cc (stack.hh, location.hh): Include earlier.
(parser::token): New, from the moved free definition of tokens.
(parser::semantic_value): Now a full definition instead of an
indirection to YYSTYPE.
(b4_post_prologue): No longer included in the header file, but
in the implementation file.
* doc/bison.texi (C+ Language Interface): Update.
* src/parse-gram.y: Support unary %define.
* tests/actions.at: Define global_tokens_and_yystype for backward
compatibility until we update the tests.
* tests/calc.at: Idem.
(first_line, first_column, last_line, last_column): Define for lalr1.cc
to simplify the code.

19 years agoPort to SunOS 4.1.4, which lacks strtoul and strerror.
Paul Eggert [Thu, 29 Sep 2005 19:02:54 +0000 (19:02 +0000)] 
Port to SunOS 4.1.4, which lacks strtoul and strerror.
* bootstrap (gnulib_modules): Add strerror, strtoul.
* lib/.cvsignore: Add strerror.c, strtol.c, strtoul.c
* m4/.cvsignore: Add strerror.m4, strtol.m4, strtoul.m4.

19 years ago* data/c.m4 (b4_error_verbose_if): New.
Akim Demaille [Thu, 29 Sep 2005 06:50:57 +0000 (06:50 +0000)] 
* data/c.m4 (b4_error_verbose_if): New.
* data/lalr1.cc: Use it.
(YYERROR_VERBOSE_IF): Remove.
(yyn_, yylen_, yystate_, yynerrs_, yyerrstatus_): Remove as
parser members, replaced by...
(yyn, yylen, yystate, yynerss, yyerrstatus): these parser::parse
local variables.
(yysyntax_error_): Takes the state number as argument.
(yyreduce_print_): Use the argument yyrule, not the former
attribute yyn_.

19 years ago* bootstrap (gnulib_modules): Add verify.
Paul Eggert [Tue, 27 Sep 2005 06:08:27 +0000 (06:08 +0000)] 
* bootstrap (gnulib_modules): Add verify.
* lib/.cvsignore: Add verify.h.
* src/getargs.c: Use ARGMATCH_VERIFY rather than verify.
* src/system.h (verify): Remove.
Include verify.h instead.
* src/tables.c (tables_generate): Use new API for 'verify'.

19 years ago* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Do not use
Paul Eggert [Wed, 21 Sep 2005 21:05:53 +0000 (21:05 +0000)] 
* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Do not use
local variables whose names begin with 'yy'.
* tests/calc.at (_AT_DATA_CALC_Y): Likewise.

19 years agoRegenerate.
Paul Eggert [Wed, 21 Sep 2005 20:08:58 +0000 (20:08 +0000)] 
Regenerate.

19 years agoDon't rely on whether alloc is #defined; that is in the user's name spac.
Paul Eggert [Wed, 21 Sep 2005 20:08:38 +0000 (20:08 +0000)] 
Don't rely on whether alloc is #defined; that is in the user's name spac.

19 years agoRegenerate.
Paul Eggert [Wed, 21 Sep 2005 19:54:58 +0000 (19:54 +0000)] 
Regenerate.

19 years agoMore alloca cleanups.
Paul Eggert [Wed, 21 Sep 2005 19:54:48 +0000 (19:54 +0000)] 
More alloca cleanups.

* bootstrap (gnulib_modules): Remove alloca.  Bison doesn't need
it itself.
* src/main.c (main) [C_ALLOCA]: Don't flush alloca'ed memory; we
don't use alloca any more.

* data/yacc.c [YYSTACK_USE_ALLOCA && !defined __GNUC__ && ! defined
__BUILTIN_VA_ARG_INCR && ! defined _AIX && ! defined _MSC_VER &&
(defined alloca || defined _ALLOCA_H)]: Don't include <stdlib.h>;
not needed in this case.
* tests/torture.at (Exploding the Stack Size with Alloca): Adjust
to match yacc.c, to test more hosts.

19 years agoRegenerate.
Paul Eggert [Tue, 20 Sep 2005 23:09:18 +0000 (23:09 +0000)] 
Regenerate.

19 years agoFix typo in previous patch: some operands of 'defined' weren't parenthesized.
Paul Eggert [Tue, 20 Sep 2005 23:08:03 +0000 (23:08 +0000)] 
Fix typo in previous patch: some operands of 'defined' weren't parenthesized.

19 years ago* data/yacc.c (YYSIZE_T): Reindent to make it clearer. This
Paul Eggert [Tue, 20 Sep 2005 23:06:10 +0000 (23:06 +0000)] 
* data/yacc.c (YYSIZE_T): Reindent to make it clearer.  This
doesn't affect behavior.
(YYSTACK_ALLOC) [YYSTACK_USE_ALLOCA]: Improve support for
Solaris, AIX, MSC.
(_STDLIB_H): Renamed from YYINCLUDED_STDLIB_H.  All uses changed.
This works a bit better with glibc, if user code has already included
stdlib.h.
* doc/bison.texinfo (Bison Parser): Document that users can't
arbitrarily use malloc and free for other purposes.  Document
that <alloca.h> and <malloc.h> might be included.
(Table of Symbols): Under YYSTACK_USE_ALLOCA, Don't claim that the
user must declare alloca.