platform/upstream/bison.git
19 years ago* NEWS: Bison-generated parsers no longer default to using the
Paul Eggert [Wed, 22 Dec 2004 21:19:47 +0000 (21:19 +0000)]
* NEWS: Bison-generated parsers no longer default to using the
alloca function (when available) to extend the parser stack, due
to widespread problems in unchecked stack-overflow detection.
* data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's
responsibility to set it to a positive value.  This lets the user
specify a value that is not a preprocessor constant.
* data/yacc.c (YYMAXDEPTH): Likewise.
(YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
* doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
to be a compile-time constant.  However, explain the constraints on it.
Also, explain the constraints on YYINITDEPTH.
(Table of Symbols): Explain that alloca is no longer the default.
Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
to 1.

19 years ago* doc/bison.texinfo (Location Default Action): Mention that n must be zero when k is.
Paul Eggert [Wed, 22 Dec 2004 18:28:26 +0000 (18:28 +0000)]
* doc/bison.texinfo (Location Default Action): Mention that n must be zero when k is.

19 years ago(Location Default Action): Mention that n must be zero when k is zero.
Paul Eggert [Wed, 22 Dec 2004 18:26:37 +0000 (18:26 +0000)]
(Location Default Action): Mention that n must be zero when k is zero.

19 years ago* data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
Akim Demaille [Wed, 22 Dec 2004 10:06:15 +0000 (10:06 +0000)]
* data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
(parser::state_type, parser::semantic_type, parser::location_type):
Private, not public.
(parser::parse): Return ints, not bool.
Returning a bool introduces a problem: 0 corresponds to false, and
it seems weird to return false on success.  Returning true changes
the conventions for yyparse.
Alternatively we could return void and send an exception.
There is no clear consensus (yet?).
(state_stack, semantic_stack, location_stack): Rename as...
(state_stack_type, semantic_stack_type, location_stack_type): these.
Private, not public.
* tests/c++.at: New.
* tests/testsuite.at, tests/Makefile.am: Adjust.

19 years ago* data/lalr1.cc (parser::parse): Return a bool instead of an int.
Akim Demaille [Tue, 21 Dec 2004 12:49:39 +0000 (12:49 +0000)]
* data/lalr1.cc (parser::parse): Return a bool instead of an int.

19 years agoDon't impose std::string for filenames.
Akim Demaille [Tue, 21 Dec 2004 12:26:56 +0000 (12:26 +0000)]
Don't impose std::string for filenames.
* data/lalr1.cc (b4_filename_type): New.
(position::filename): Use it.
(parser.hh): Move the inclusion of stack.hh and location.hh below
the user code, so that needed headers for the filename type can be
included first.
Forward declare them before the user code.
* tests/Makefile.am (check-local, installcheck-local): Pass
TESTSUITEFLAGS to the TESTSUITE.

19 years agoDon't impose std::string for filenames.
Akim Demaille [Tue, 21 Dec 2004 12:03:47 +0000 (12:03 +0000)]
Don't impose std::string for filenames.
* data/lalr1.cc (b4_filename_type): New.
(position::filename): Use it.
(parser.hh): Move the inclusion of stack.hh and location.hh below
the user code, so that needed headers for the filename type can be
included first.

19 years agoUse more STL like names: my_class instead of MyClass.
Akim Demaille [Mon, 20 Dec 2004 13:56:38 +0000 (13:56 +0000)]
Use more STL like names: my_class instead of MyClass.
* data/lalr1.cc (LocationStack, LocationType, RhsNumberType)
(SemanticStack, SemanticType, StateStack, StateType)
(TokenNumberType, Stack, Slice, Traits, Parser::location)
(Parser::value): Rename as...
(location_stack, location_type, rhs_number_type, semantic_stack)
(semantic_type, state_stack, state_type, token_number_type, stack)
(slice, traits, parser::yylloc, parser::yylval): these.
* tests/calc.at, tests/regression.at, tests/actions.at: Adjust.

19 years ago(YYLLOC_DEFAULT): Use GNU spacing conventions.
Paul Eggert [Mon, 20 Dec 2004 03:44:10 +0000 (03:44 +0000)]
(YYLLOC_DEFAULT): Use GNU spacing conventions.

19 years agoRemove uses of 'short int' and 'unsigned short int' in the parser generators.
Paul Eggert [Fri, 17 Dec 2004 20:29:19 +0000 (20:29 +0000)]
Remove uses of 'short int' and 'unsigned short int' in the parser generators.

* src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
Use size_t, not int or short int, to count objects.
* src/closure.c (nritemset, closure): Likewise.
* src/closure.h (nritemset, closure): Likewise.
* src/nullable.c (nullable_compute): Likewise.
* src/print.c (print_core): Likewise.
* src/print_graph.c (print_core): Likewise.
* src/state.c (state_compare, state_hash): Likewise.
* src/state.h (struct state): Likewise.
* src/tables.c (default_goto, goto_actions): Likewise.

* src/gram.h (rule_number, rule): Use int, not short int.
* src/output.c (prepare_rules): Likewise.
* src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
errs, reductions): Likewise.
* src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
Likewise.
* src/tables.c (vector_number, tally, action_number,
ACTION_NUMBER_MINIMUM): Likewise.
* src/output.c (muscle_insert_short_int_table): Remove.

19 years ago* data/lalr1.cc: Extensive Doxygenation.
Akim Demaille [Fri, 17 Dec 2004 15:24:32 +0000 (15:24 +0000)]
* data/lalr1.cc: Extensive Doxygenation.
(error_): Rename as...
(error): this, since it is visible to the user.
Adjust callers.
(Parser::message): Now an automatic variable from...
(Parser::yyreport_syntax_error_): here.
* tests/actions.at, tests/calc.at, tests/regression.at: Adjust to
Parser::error.
* tests/input.at: Escape $.

19 years agoRegenerate.
Paul Eggert [Thu, 16 Dec 2004 20:42:40 +0000 (20:42 +0000)]
Regenerate.

19 years ago* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
Paul Eggert [Thu, 16 Dec 2004 20:41:54 +0000 (20:41 +0000)]
* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
Parenthesize rhs to avoid obscure problems with mistakes like
"foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.
* data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
b4_rhs_location): Likewise.
* data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
b4_rhs_location): Likewise.

19 years ago* data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
Akim Demaille [Thu, 16 Dec 2004 14:39:42 +0000 (14:39 +0000)]
* data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
yacc.c: be sure to stay within yycheck_.
* tests/actions.at: Re-enable C++ tests.

19 years ago* src/print_graph.c (print_graph): Remove layoutalgorithm uses for
Akim Demaille [Thu, 16 Dec 2004 09:09:56 +0000 (09:09 +0000)]
* src/print_graph.c (print_graph): Remove layoutalgorithm uses for
real.

19 years agoUse #define to handle the %name-prefix.
Akim Demaille [Thu, 16 Dec 2004 09:06:08 +0000 (09:06 +0000)]
Use #define to handle the %name-prefix.
* data/glr.c, data/yacc.c: Comment changes.
* data/lalr1.cc (yylex): Use #define to select the name of yylex,
so that one can refer to yylex in the parser file, and have it
renamed, as is the case with other skeletons.

19 years agoMove lalr1.cc internals into yy*.
Akim Demaille [Thu, 16 Dec 2004 08:48:54 +0000 (08:48 +0000)]
Move lalr1.cc internals into yy*.
* data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)
(semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)
(pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)
(name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)
(empty_, final_, terror_, errcode_, ntokens_)
(user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)
(looka_, ilooka_, error_range_, nerrs_):
Rename as...
(yysemantic_stack_, yylocation_stack_, yystate_stack_)
(yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)
(yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)
(yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)
(yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)
(yyfinal_, yyterror_, yyerrcode_, yyntokens_)
(yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)
(yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):
these.

19 years agoFix some problems reported by twlevo at xs4all.
Paul Eggert [Thu, 16 Dec 2004 00:09:28 +0000 (00:09 +0000)]
Fix some problems reported by twlevo at xs4all.

19 years ago* src/vcg.h (enum layoutalgorithm): Remove. All uses removed.
Paul Eggert [Thu, 16 Dec 2004 00:09:08 +0000 (00:09 +0000)]
* src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.
(struct node, struct graph):
Rename member expand to stretch.  All uses changed.
(struct graph): Remove member layoutalgorithm.  All uses removed.
* src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.
* src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.
All uses changed.
(N_STRETCH): Rename from N_EXPAND.  All uses changed.

19 years ago(symbol_new): Report an error if the input grammar contains too many
Paul Eggert [Thu, 16 Dec 2004 00:08:21 +0000 (00:08 +0000)]
(symbol_new): Report an error if the input grammar contains too many
symbols.

19 years agoThe ChangeLog of the previous patch.
Akim Demaille [Wed, 15 Dec 2004 17:42:18 +0000 (17:42 +0000)]
The ChangeLog of the previous patch.

19 years ago* data/lalr1.cc (lex_): Rename as...
Akim Demaille [Wed, 15 Dec 2004 17:38:37 +0000 (17:38 +0000)]
* data/lalr1.cc (lex_): Rename as...
(yylex_): this.
Move the trace here.
Take the %name-prefix into account.
Reported by Alexandre Duret-Lutz.

19 years ago* data/lalr1.cc (lex_): Rename as...
Akim Demaille [Wed, 15 Dec 2004 16:30:15 +0000 (16:30 +0000)]
* data/lalr1.cc (lex_): Rename as...
(yylex_): this.
Move the trace here.
Take the %name-prefix into account.
Reported by Alexandre Duret-Lutz.

19 years agoSimplify the C++ parser constructor.
Akim Demaille [Wed, 15 Dec 2004 16:18:12 +0000 (16:18 +0000)]
Simplify the C++ parser constructor.
* data/lalr1.cc (debug_): Rename as...
(yydebug_): so that the parser's internals are always in the yy*
pseudo namespace.
Adjust uses.
(b4_parse_param_decl): Remove the leading comma as it is now only
called as unique argument list.
(Parser::Parser): Remove the constructor accepting a location and
an initial debugging level.
Remove from the other ctor the argument for the debugging level.
(debug_level_type, debug_level, set_debug_level): New.
* tests/actions.at, tests/calc.at, tests/regression.at: Adjust
constructor calls.

19 years agoRemove b4_root related material: failure experiment
Akim Demaille [Wed, 15 Dec 2004 15:35:17 +0000 (15:35 +0000)]
Remove b4_root related material: failure experiment
(which goal was to allow to derive from an class).
* data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove
definitions and uses.

19 years ago* data/glr.c: Fix yyerror_range usage.
Paul Eggert [Tue, 14 Dec 2004 18:49:09 +0000 (18:49 +0000)]
* data/glr.c: Fix yyerror_range usage.

19 years ago(struct yyGLRStack): yyerror_range now has 3 items,
Paul Eggert [Tue, 14 Dec 2004 18:48:42 +0000 (18:48 +0000)]
(struct yyGLRStack): yyerror_range now has 3 items,
not 2, since it's not portable to subtract 1 from the start of an
array.  The new item 0 is never set or used.  All uses changed.

(yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming
the default definition of YYLLOC_DEFAULT.  Problem reported
by Frank Heckenbach.

19 years agoRegenerate.
Paul Eggert [Sun, 12 Dec 2004 09:29:18 +0000 (09:29 +0000)]
Regenerate.

19 years agoFix YYRHSLOC problem reported by Frank Heckenbach.
Paul Eggert [Sun, 12 Dec 2004 09:26:07 +0000 (09:26 +0000)]
Fix YYRHSLOC problem reported by Frank Heckenbach.

19 years ago(YYRHSLOC): Don't have two definitions, one for
Paul Eggert [Sun, 12 Dec 2004 09:25:45 +0000 (09:25 +0000)]
(YYRHSLOC): Don't have two definitions, one for
the normal case and one for the error case.  Just use the
first one uniformly.  Problem reported by Frank Heckenbach.
(YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can
use exactly the same macro in both places.
(yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,
so that the normal-case YYRHSLOC works for the error case too.
All uses changed.

19 years ago(YYRHSLOC): New macro, taken from glr.c.
Paul Eggert [Sun, 12 Dec 2004 09:25:24 +0000 (09:25 +0000)]
(YYRHSLOC): New macro, taken from glr.c.
(YYLLOC_DEFAULT): Use the same macro as glr.c.

19 years ago(Location Default Action): Don't claim that
Paul Eggert [Sun, 12 Dec 2004 09:24:56 +0000 (09:24 +0000)]
(Location Default Action): Don't claim that
we have an array of locations.  Use the same macro for both glr
and lalr parsers.  Mention YYRHSLOC.  Mention what happens when
the index is 0.

19 years ago* HACKING: Update email addresses to send announcements to.
Paul Eggert [Sat, 11 Dec 2004 08:06:29 +0000 (08:06 +0000)]
* HACKING: Update email addresses to send announcements to.

19 years agoUpdate email addresses to send announcements to.
Paul Eggert [Sat, 11 Dec 2004 08:06:10 +0000 (08:06 +0000)]
Update email addresses to send announcements to.

19 years ago* configure.ac (AC_INIT): Bump version to 1.875f.
Paul Eggert [Sat, 11 Dec 2004 07:23:35 +0000 (07:23 +0000)]
* configure.ac (AC_INIT): Bump version to 1.875f.

19 years ago(AC_INIT): Bump version to 1.875f.
Paul Eggert [Sat, 11 Dec 2004 07:23:21 +0000 (07:23 +0000)]
(AC_INIT): Bump version to 1.875f.

19 years agoUpdate log file entry for latest checkin to tests/actions.at.
Paul Eggert [Sat, 11 Dec 2004 07:08:34 +0000 (07:08 +0000)]
Update log file entry for latest checkin to tests/actions.at.

19 years ago(_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
Paul Eggert [Sat, 11 Dec 2004 07:07:48 +0000 (07:07 +0000)]
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
specifying whether the test should be skipped.  Use it tp
specify that the [%defines %skeleton "lalr1.cc"] tests currently
fail on some hosts, and should be skipped.

19 years agoUpdate GNU m4 URL.
Paul Eggert [Sat, 11 Dec 2004 06:28:24 +0000 (06:28 +0000)]
Update GNU m4 URL.

19 years agoVersion 1.875e.
Paul Eggert [Sat, 11 Dec 2004 06:26:25 +0000 (06:26 +0000)]
Version 1.875e.

19 years agoInclude "complain.h", for "fatal".
Paul Eggert [Sat, 11 Dec 2004 06:16:44 +0000 (06:16 +0000)]
Include "complain.h", for "fatal".

19 years ago(relation_print, relation_digraph):
Paul Eggert [Sat, 11 Dec 2004 06:13:07 +0000 (06:13 +0000)]
(relation_print, relation_digraph):
Relation sizes are of type relation_node, not size_t (this is
merely a doc fix, since the two types are equivalent).
(relation_transpose): Relation sizes are of type relation_node,
not int.
(top, infinity): Now of type relation_node, not int.
(traverse, relation_transpose): Use relation_node, not int.

19 years ago(relation_print, relation_digraph):
Paul Eggert [Sat, 11 Dec 2004 06:12:41 +0000 (06:12 +0000)]
(relation_print, relation_digraph):
Relation sizes are of type relation_node, not size_t (this is
merely a doc fix, since the two types are equivalent).
(relation_transpose): Relation sizes are of type relation_node,
not int.

19 years ago(yyuserAction, yyrecoverSyntaxError): Mark args
Paul Eggert [Sat, 11 Dec 2004 06:07:11 +0000 (06:07 +0000)]
(yyuserAction, yyrecoverSyntaxError): Mark args
with ATTRIBUTE_UNUSED if they're not used, to avoid GCC warning.
(yyparse): Remove unused local introduced in 2004-10-25 patch.

19 years ago(_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
Paul Eggert [Sat, 11 Dec 2004 05:38:19 +0000 (05:38 +0000)]
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
specifying whether the test is expected to fail.  Use it tp
specify that the [%defines %skeleton "lalr1.cc"] tests currently
fail.

19 years agoCorrect URLs to email messages, so that they work with new GNU
Paul Eggert [Sat, 11 Dec 2004 04:40:53 +0000 (04:40 +0000)]
Correct URLs to email messages, so that they work with new GNU
organization.

19 years agoAdd Alexandre Duret-Lutz, Baron Schwartz, Frank Heckenbach, Guido
Paul Eggert [Sat, 11 Dec 2004 04:40:20 +0000 (04:40 +0000)]
Add Alexandre Duret-Lutz, Baron Schwartz, Frank Heckenbach, Guido
Trentalancia, Peter Fales, Troy A. Johnson, Vin Shelton.  Change Paul
Eggert's email address.

19 years ago* src/system.h (CALLOC, MALLOC, REALLOC): Remove. All callers
Paul Eggert [Fri, 10 Dec 2004 07:50:44 +0000 (07:50 +0000)]
* src/system.h (CALLOC, MALLOC, REALLOC): Remove.  All callers
changed to use xcalloc, xnmalloc, xnrealloc, respectively,
unless otherwise specified below.

* src/LR0.c (allocate_itemsets): Use xnmalloc, not xcalloc,
to allocate kernel_base, kernel_items, kernel_size, since
they needn't be initialized to 0.
(allocate_storgae): Likewise, for shiftset, redset, shift_symbol.
* src/closure.c (new_closure): Likewise, for itemset.
* src/derives.c (derives_compute): Likewise, for delts, derives, q.
* src/lalr.c (set_goto_map): Likewise, for temp_map.
(initialize_F): Likewise, for reads, edge, reads[i], includes[i].
(build_relations): Likewise for edge, states1, includes.
* src/nullable.c (nullable_compute): Likewise, for squeue, relts.
* src/reader.c (packgram): Likewise, for ritem, rules.
* src/reduce.c (nonterminals_reduce): Likewise for nontermmap.
* src/relation.c (relation_digraph): Likewise for VERTICES.
(relation_transpose): Likewise for new_R, end_R.
* src/symtab.c (symbols_token_translations_init): Likewise for
token_translations.
* src/tables.c (save_row): Likewise for froms, tos, conflict_tos.
(token_actions): Likewise for yydefact, actrow, conflrow,
conflict_list.
(save_column): Likewise for froms[symno], tos[symno].
(goto_actions): Likewise for state_count.
(pack_table): Likewise for base, pos, check.
(tables_generate): Likewise for width.

* src/LR0.c (set_states): Don't reuse kernel_size and kernel_base
for initial core.  Just have a separate core, so we needn't worry
about whether kernel_size and kernel_base are initialized.

* src/LR0.c (shift_symbol, redset, shiftset, kernel_base,
kernel_size, kernel_items): Remove unnecessary initialization.
* src/conflicts.c (conflicts): Likewise.
* src/derives.c (derives): Likewise.
* src/muscle_tablc (muscle_insert): Likewise.
* src/relation.c (relation_digraph): Likewise.
* src/tables.c (froms, tos, conflict_tos, tally, width, actrow, order,
conflrow, conflict_table, conflict_list, table, check):
Likewise.

* src/closure.c (new_closure): Arg is of type unsigned int, not int.
This is because all callers pass unsigned int.
* src/closure.h (new_closure): Likewise.

* src/lalr.c (initialize_F): Initialize reads[i] in all cases.
(build_relations): Initialize includes[i] in all cases.
* src/reader.c (packgram): Always initialize rules[ruleno].prec
and rules[ruleno].precsym.  Initialize members in order.
* src/relation.c (relation_transpose): Always initialize new_R[i]
and end_R[i].
* src/table.c (conflict_row): Initialize 0 at end of conflict_list.

* src/output.c (prepare_actions): Pass 0 instead of conflict_list[0];
conflict_list[0] was always 0, but now it isn't initialized.

* src/table.c (table_grow): When conflict_table grew, the grown
area wasn't cleared.  Fix this.

19 years ago(allocate_itemsets): Use xnmalloc, not xcalloc,
Paul Eggert [Fri, 10 Dec 2004 07:48:43 +0000 (07:48 +0000)]
(allocate_itemsets): Use xnmalloc, not xcalloc,
to allocate kernel_base, kernel_items, kernel_size, since
they needn't be initialized to 0.
(set_states): Don't reuse kernel_size and kernel_base
for initial core.  Just have a separate core, so we needn't worry
about whether kernel_size and kernel_base are initialized.
(shift_symbol, redset, shiftset, kernel_base,
kernel_size, kernel_items): Remove unnecessary initialization.

19 years ago(CALLOC, MALLOC, REALLOC): Remove.
Paul Eggert [Fri, 10 Dec 2004 07:47:58 +0000 (07:47 +0000)]
(CALLOC, MALLOC, REALLOC): Remove.

19 years agoAdd strdup.m4.
Paul Eggert [Thu, 9 Dec 2004 07:55:04 +0000 (07:55 +0000)]
Add strdup.m4.

19 years agoAdd strdup.c, strdup.h.
Paul Eggert [Thu, 9 Dec 2004 07:54:47 +0000 (07:54 +0000)]
Add strdup.c, strdup.h.

19 years agogoto-number minor cleanup.
Paul Eggert [Wed, 8 Dec 2004 07:30:21 +0000 (07:30 +0000)]
goto-number minor cleanup.

19 years ago(save_column, default_goto):
Paul Eggert [Wed, 8 Dec 2004 05:54:51 +0000 (05:54 +0000)]
(save_column, default_goto):
Use goto_number, not int, for goto numbers.

19 years ago(set_goto_map): Don't allow ngotos to equal
Paul Eggert [Wed, 8 Dec 2004 05:54:20 +0000 (05:54 +0000)]
(set_goto_map): Don't allow ngotos to equal
GOTO_NUMBER_MAXIMUM, since we occasionally compute
ngotos + 1 without checking for overflow.
(build_relations): Use END_NODE, not -1, to denote end of edges.
(set_goto_map, map_goto, initialize_F, add_loopback_edge,
build_relations): Use goto_number, not int, for goto numbers.

19 years ago(GOTO_NUMBER_MAXIMUM): New macro.
Paul Eggert [Wed, 8 Dec 2004 05:53:55 +0000 (05:53 +0000)]
(GOTO_NUMBER_MAXIMUM): New macro.

19 years ago2004-11-23 Akim Demaille <akim@epita.fr>
Akim Demaille [Tue, 23 Nov 2004 19:56:12 +0000 (19:56 +0000)]
2004-11-23  Akim Demaille  <akim@epita.fr>

* data/lalr1.cc (YYSTYPE): Define it as is done for C, instead
of #defining from yystype.
Don't typedef yystype, C++ does not need it.
This lets it possible to forward declare it as union.

19 years ago* bootstrap (gnulib_modules): Add extensions.
Paul Eggert [Tue, 23 Nov 2004 08:50:37 +0000 (08:50 +0000)]
* bootstrap (gnulib_modules): Add extensions.

19 years ago(gnulib_modules): Add extensions.
Paul Eggert [Tue, 23 Nov 2004 08:50:17 +0000 (08:50 +0000)]
(gnulib_modules): Add extensions.

19 years agoXFREE -> free
Paul Eggert [Mon, 22 Nov 2004 21:05:25 +0000 (21:05 +0000)]
XFREE -> free

19 years ago* data/lalr1.cc (symprint_): Use cdebug_ to avoid warnings.
Akim Demaille [Wed, 17 Nov 2004 16:48:45 +0000 (16:48 +0000)]
* data/lalr1.cc (symprint_): Use cdebug_ to avoid warnings.

19 years ago Alexandre Duret-Lutz <adl@gnu.org>
Akim Demaille [Wed, 17 Nov 2004 16:17:50 +0000 (16:17 +0000)]
Alexandre Duret-Lutz <adl@gnu.org>
* data/lalr1.cc (Parser::yycdebug_): New, a pointer, to allow
changes.
(YYCDEBUG): Adjust.
Use it instead of cdebug_.
(Parser::debug_stream, Parser::set_debug_stream): New.
(Parser::symprint_): Define cdebug_ for temporary backward
compatibility.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use
debug_stream ().

19 years agoRemove an entry that was not actually committed, yet.
Akim Demaille [Wed, 17 Nov 2004 16:12:46 +0000 (16:12 +0000)]
Remove an entry that was not actually committed, yet.

19 years ago* data/lalr1.cc (Parser:print_): Remove, use %printer instead.
Akim Demaille [Wed, 17 Nov 2004 14:19:37 +0000 (14:19 +0000)]
* data/lalr1.cc (Parser:print_): Remove, use %printer instead.
* tests/regression.at (_AT_DATA_DANCER_Y): Adjust.
* tests/calc.at (_AT_DATA_CALC_Y): Ditto.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.

19 years agoThis ChangeLog entry belongs to the previous patch.
Akim Demaille [Wed, 17 Nov 2004 14:13:38 +0000 (14:13 +0000)]
This ChangeLog entry belongs to the previous patch.

19 years agoFix wording problem in comment.
Paul Eggert [Wed, 27 Oct 2004 22:22:51 +0000 (22:22 +0000)]
Fix wording problem in comment.

19 years ago* data/glr.c (yyloc_default): Remove; not used.
Paul Eggert [Wed, 27 Oct 2004 22:20:01 +0000 (22:20 +0000)]
* data/glr.c (yyloc_default): Remove; not used.

19 years ago(yyloc_default): Remove; not used.
Paul Eggert [Wed, 27 Oct 2004 22:19:44 +0000 (22:19 +0000)]
(yyloc_default): Remove; not used.

19 years agoGoto numbers are no longer arbitrarily limited to 16-bit counts.
Paul Eggert [Mon, 25 Oct 2004 16:26:20 +0000 (16:26 +0000)]
Goto numbers are no longer arbitrarily limited to 16-bit counts.

19 years ago* data/glr.c (YYRHSLOC): Move its definition next to its uses.
Akim Demaille [Mon, 25 Oct 2004 10:37:35 +0000 (10:37 +0000)]
* data/glr.c (YYRHSLOC): Move its definition next to its uses.
Introduce another definition to address simple location arrays.
(yyGLRStack): New member: yyerror_range.
(yyrecoverSyntaxError, yyparse): Update it.
(yyrecoverSyntaxError): Use it when shifting the error token to
have an accurate range, equivalent to the one computed by both
yacc.c and lalr1.cc.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Change its yylex so
that column numbers start at column 0, as per GNU Coding
Standards, the others tests, and the doc.
(_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT_WITH_LOC):
Adjust to the above change (first column is 0).
And adjust the location of the "<error>", now covering the whole
line.

19 years agoRemove some arbitrary limits on goto numbers and relations.
Paul Eggert [Fri, 22 Oct 2004 23:35:17 +0000 (23:35 +0000)]
Remove some arbitrary limits on goto numbers and relations.

19 years agoUse size_t rather than unsigned int in previous patch.
Paul Eggert [Fri, 22 Oct 2004 23:14:00 +0000 (23:14 +0000)]
Use size_t rather than unsigned int in previous patch.

19 years ago(END_NODE): New macro.
Paul Eggert [Fri, 22 Oct 2004 23:10:39 +0000 (23:10 +0000)]
(END_NODE): New macro.
(relation_node): Now unsigned int, not short int.

19 years ago(relation_print, traverse, relation_transpose):
Paul Eggert [Fri, 22 Oct 2004 23:10:07 +0000 (23:10 +0000)]
(relation_print, traverse, relation_transpose):
Check for END_NODE rather than looking at sign.

19 years ago(goto_number): Now unsigned int, not short int.
Paul Eggert [Fri, 22 Oct 2004 23:09:27 +0000 (23:09 +0000)]
(goto_number): Now unsigned int, not short int.
(GOTO_NUMBER_MAXIMUM): Remove.

19 years ago(goto_map, ngotos, from_state, to_state): Omit
Paul Eggert [Fri, 22 Oct 2004 23:08:33 +0000 (23:08 +0000)]
(goto_map, ngotos, from_state, to_state): Omit
initial values, since they're never used.
(set_goto_map): ngotos is now unsigned, so test for overflow

19 years agodoc/bison.texinfo (Language and Grammar): In example, "int" is a
Paul Eggert [Fri, 22 Oct 2004 18:12:50 +0000 (18:12 +0000)]
doc/bison.texinfo (Language and Grammar): In example, "int" is a
keyword, not an identifier.

19 years ago(Language and Grammar): In example, "int" is a keyword, not an identifier.
Paul Eggert [Fri, 22 Oct 2004 18:10:59 +0000 (18:10 +0000)]
(Language and Grammar): In example, "int" is a keyword, not an identifier.

19 years ago* src/symtab.c (symbol_check_alias_consistency): Also check
Akim Demaille [Mon, 11 Oct 2004 09:03:55 +0000 (09:03 +0000)]
* src/symtab.c (symbol_check_alias_consistency): Also check
type names, destructors, and printers.
Reported by Alexandre Duret-Lutz.
Recode the handling of associativity and precedence in terms
of symbol_precedence_set.
Accept no redeclaration at all, not even equal to the previous
value.
(redeclaration): New.
Use it to factor redeclaration complaints.
(symbol_make_alias): Don't set the type of the alias, let
symbol_check_alias_consistency do it as for other features.
* src/symtab.h (symbol): Add new member prec_location, and
type_location.
* src/symtab.c (symbol_precedence_set, symbol_type_set): Set them.
* tests/input.at (Incompatible Aliases): New.

19 years agoRegenerate.
Paul Eggert [Sat, 9 Oct 2004 18:08:21 +0000 (18:08 +0000)]
Regenerate.

19 years ago.cvsignore fixes to accommodate gnulib changes,
Paul Eggert [Sat, 9 Oct 2004 17:59:04 +0000 (17:59 +0000)]
.cvsignore fixes to accommodate gnulib changes,
and the practice of naming build directories "_build".

19 years agoAdd "*_gl.m4".
Paul Eggert [Sat, 9 Oct 2004 17:57:39 +0000 (17:57 +0000)]
Add "*_gl.m4".

19 years agoAdd getopt_.h, xalloc-die.c.
Paul Eggert [Sat, 9 Oct 2004 17:57:21 +0000 (17:57 +0000)]
Add getopt_.h, xalloc-die.c.

19 years agoAdd "_*". Sort.
Paul Eggert [Sat, 9 Oct 2004 17:57:06 +0000 (17:57 +0000)]
Add "_*".  Sort.

19 years ago* src/parse-gram.y (add_param): Fix the truncation of trailing
Akim Demaille [Wed, 6 Oct 2004 15:52:24 +0000 (15:52 +0000)]
* src/parse-gram.y (add_param): Fix the truncation of trailing
spaces.

19 years agoWord changes.
Akim Demaille [Tue, 5 Oct 2004 09:58:58 +0000 (09:58 +0000)]
Word changes.

19 years agoRegen.
Akim Demaille [Tue, 5 Oct 2004 08:41:44 +0000 (08:41 +0000)]
Regen.

19 years agoIn Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
Akim Demaille [Tue, 5 Oct 2004 08:39:17 +0000 (08:39 +0000)]
In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
whether the reducion was empty or not.  This leaves room to
improve the use of YYLLOC_DEFAULT in such a case.
lalr1.cc is still experimental, so changing this is acceptable.
And finally, there are probably not many users who changed the
handling of locations in GLR, so changing is admissible too.
* data/glr.c, data/lalr1.cc, data/yacc.c (YYLLOC_DEFAULT): On an
empty reduction, set @$ to an empty location ending the previously
stacked symbol.
Adjust uses to make sure the code is triggered on empty
reductions.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust the
expected output: empty reductions have empty locations.

19 years ago* data/lalr1.cc: Move towards a more standard C++ coding style
Akim Demaille [Wed, 29 Sep 2004 12:49:50 +0000 (12:49 +0000)]
* data/lalr1.cc: Move towards a more standard C++ coding style
for templates: Class < T > -> Class<T>.

19 years ago* data/lalr1.cc: Reinstall the former ctor, for sake of
Akim Demaille [Wed, 29 Sep 2004 12:41:58 +0000 (12:41 +0000)]
* data/lalr1.cc: Reinstall the former ctor, for sake of
compatibility, but warn it will be removed.
Move towards a more standard C++ coding style (i.e., type *var ->
type* var).

19 years agoFix comment in latest checkin; there wasn't a bug.
Paul Eggert [Mon, 27 Sep 2004 22:06:45 +0000 (22:06 +0000)]
Fix comment in latest checkin; there wasn't a bug.

19 years ago* src/parse-gram.y (add_param): Fix bug where NUL was mishandled.
Paul Eggert [Mon, 27 Sep 2004 22:04:13 +0000 (22:04 +0000)]
* src/parse-gram.y (add_param): Fix bug where NUL was mishandled.

19 years ago(add_param): Fix bug where NUL was mishandled.
Paul Eggert [Mon, 27 Sep 2004 22:03:42 +0000 (22:03 +0000)]
(add_param): Fix bug where NUL was mishandled.
Avoid the use of strchr to avoid future recurrences.

19 years ago* data/yacc.c (YY_LOCATION_PRINT): Fix its default declaration.
Akim Demaille [Mon, 27 Sep 2004 07:47:47 +0000 (07:47 +0000)]
* data/yacc.c (YY_LOCATION_PRINT): Fix its default declaration.

19 years ago* data/lalr1.cc (b4_parse_param_decl_1): New.
Akim Demaille [Mon, 27 Sep 2004 07:45:09 +0000 (07:45 +0000)]
* data/lalr1.cc (b4_parse_param_decl_1): New.
(b4_parse_param_decl): Use it to have different names bw attribute
and argument names.
(b4_cc_constructor_call): Likewise.

19 years ago* src/parse-gram.y (add_param): Strip the leading and trailing
Akim Demaille [Mon, 27 Sep 2004 07:42:04 +0000 (07:42 +0000)]
* src/parse-gram.y (add_param): Strip the leading and trailing
blanks from a formal argument declaration.
(YY_LOCATION_PRINT): New.

19 years ago* data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
Akim Demaille [Fri, 24 Sep 2004 14:14:58 +0000 (14:14 +0000)]
* data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
after the location.

19 years ago* doc/bison.texinfo (Table of Symbols): Sort.
Akim Demaille [Fri, 24 Sep 2004 11:55:40 +0000 (11:55 +0000)]
* doc/bison.texinfo (Table of Symbols): Sort.

19 years ago* data/yacc.c, data/glr.c (b4_at_dollar, b4_dollar_dollar): Remove
Akim Demaille [Tue, 21 Sep 2004 06:59:19 +0000 (06:59 +0000)]
* data/yacc.c, data/glr.c (b4_at_dollar, b4_dollar_dollar): Remove
the useless parentheses.
Suggested by Paul Eggert.

19 years agoLet the initial-action act on the look-ahead, and use it for the
Akim Demaille [Mon, 20 Sep 2004 15:25:25 +0000 (15:25 +0000)]
Let the initial-action act on the look-ahead, and use it for the
"initial push" (corresponding to an hypothetical beginning-of-file).
And let lalr1.cc honor %initial-action.
* doc/bison.texinfo (Initial Action Decl): Clarify, and add an
example.
* data/lalr1.cc (Parser::initlocation_): Remove, bad experiment.
(Parser::Parser): Remove the ctor that used to initialize it.
(Parser::parse): Like in the other skeletons, issue the "starting
parse" message before any action.
Honor %initial-action.
Initialize the stacks with the lookahead.
* data/yacc.c: Let $$ and @$ in %initial-action designate the
look-ahead.
Push them in the stacks.
* tests/actions.at, tests/calc.at: Adjust the C++ ctor invocations.