X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/5ece6d436f150c8f32f169ba05985fe9f3202f58..9a636f47cee64ab6e1f7588c6261fc46ea134c39:/ChangeLog

diff --git a/ChangeLog b/ChangeLog
index e8818f57..efb71953 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,626 @@
+2002-04-08  Akim Demaille  <akim@epita.fr>
+
+	* src/system.h: No longer using strndup.
+
+	
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New.
+	* src/output.c (output_table_data): Return the longest number.
+	(prepare_tokens): Output `token_number_max').
+	* data/bison.simple, data/bison.c++ (b4_sint_type, b4_uint_type):
+	New.
+	Use them to define yy_token_number_type/TokenNumberType.
+	Use this type for yytranslate.
+	* tests/torture.at (Big triangle): Push the limit from 124 to
+	253.
+	* tests/regression.at (Web2c Actions): Adjust.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* tests/torture.at (Big triangle): New.
+	(GNU AWK Grammar, GNU Cim Grammar): Move to...
+	* tests/existing.at: here.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/gram.h, src/gram.c (nitems): Remove, it is an alias of
+	nritems.
+	Adjust dependencies.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/reader.c: Normalize increments to prefix form.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/reader.c, symtab.c: Remove debugging code.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	Rename all the `bucket's as `symbol_t'.
+
+	* src/gram.c, src/gram.h, src/lex.c, src/lex.h, src/output.c,
+	* src/reader.c, src/reader.h, src/reduce.c, src/state.h,
+	* src/symtab.c, src/symtab.h (bucket): Rename as...
+	(symbol_t): this.
+	(symbol_list_new, bucket_check_defined, bucket_make_alias)
+	(bucket_check_alias_consistence, bucket_pack, bucket_translation)
+	(bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
+	(buckets_new, buckets_free, buckets_do): Rename as...
+	(symbol_list_new, symbol_check_defined, symbol_make_alias)
+	(symbol_check_alias_consistence, symbol_pack, symbol_translation)
+	(symbol_new, symbol_free, hash_compare_symbol_t, hash_symbol_t)
+	(symbols_new, symbols_free, symbols_do): these.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	Use lib/hash for the symbol table.
+
+	* src/gram.c (ntokens): Initialize to 1, to reserve a slot for
+	EOF.
+	* src/lex.c (lex): Set the `number' member of new terminals.
+	* src/reader.c (bucket_check_defined, bucket_make_alias)
+	(bucket_check_alias_consistence, bucket_translation): New.
+	(reader, grammar_free, readgram, token_translations_init)
+	(packsymbols): Adjust.
+	(reader): Number the predefined tokens.
+	* src/reduce.c (inaccessable_symbols): Just use hard coded numbers
+	for predefined tokens.
+	* src/symtab.h (bucket): Remove all the hash table related
+	members.
+	* src/symtab.c (symtab): Replace by...
+	(bucket_table): this.
+	(bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
+	(buckets_new, buckets_do): New.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/gram.c (nitems, nrules, nsyms, ntokens, nvars, nritems)
+	(start_symbol, max_user_token_number, semantic_parser)
+	(error_token_number): Initialize.
+	* src/reader.c (grammar, start_flag, startval, typed, lastprec):
+	Initialize.
+	(reader): Don't.
+	(errtoken, eoftoken, undeftoken, axiom): Extern.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/gram.h (rule_s): prec and precsym are now pointers
+	to the bucket giving the priority/associativity.
+	Member `associativity' removed: useless.
+	* src/reduce.c, src/conflicts.c: Adjust.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
+	Properly escape the symbols' TAG when outputting them.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/lalr.h (LA): Is a bitsetv, not bitset*.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/lalr.h, src/lalr.c (LAruleno): Replace with...
+	(LArule): this, which is an array to rule_t*.
+	* src/print.c, src/conflicts.c: Adjust.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/gram.h (rule_t): Rename `number' as `user_number'.
+	`number' is a new member.
+	Adjust dependencies.
+	* src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	As a result of the previous patch, it is no longer needed
+	to reorder ritem itself.
+
+	* src/reduce.c (reduce_grammar_tables): Don't sort RITEM.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	Be sure never to walk through RITEMS, but use only data related to
+	the rules themselves. RITEMS should be banished.
+
+	* src/output.c (output_token_translations): Rename as...
+	(prepare_tokens): this.
+	In addition to `translate', prepare the muscles `tname' and
+	`toknum', which were handled by...
+	(output_rule_data): this.
+	Remove, and move the remainder of its outputs into...
+	(prepare_rules): this new routines, which also merges content from
+	(output_gram): this.
+	(prepare_rules): Be sure never to walk through RITEMS.
+	(output_stos): Rename as...
+	(prepare_stos): this.
+	(output): Always invoke prepare_states, after all, just don't use it
+	in the output if you don't need it.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/LR0.c (new_state): Display `nstates' as the name of the
+	newly created state.
+	Adjust to initialize first_state and last_state if needed.
+	Be sure to distinguish the initial from the final state.
+	(new_states): Create the itemset of the initial state, and use
+	new_state.
+	* src/closure.c (closure): Now that the initial state has its
+	items properly set, there is no need for a special case when
+	creating `ruleset'.
+
+	As a result, now the rule 0, reducing to $axiom, is visible in the
+	outputs.  Adjust the test suite.
+
+	* tests/conflicts.at (Solved SR Conflicts)
+	(Unresolved SR Conflicts): Adjust.
+	* tests/regression.at (Web2c Report, Rule Line Numbers): Idem.
+	* tests/conflicts.at (S/R in initial): New.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
+	the RHS of the rules.
+	* src/output.c (output_gram): Likewise.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/gram.h (rule_t): `lhs' is now a pointer to the symbol's
+	bucket.
+	Adjust all dependencies.
+	* src/reduce.c (nonterminals_reduce): Don't forget to renumber the
+	`number' of the buckets too.
+	* src/gram.h: Include `symtab.h'.
+	(associativity): Move to...
+	* src/symtab.h: here.
+	No longer include `gram.h'.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/gram.h, src/gram.c (rules_rhs_length): New.
+	(ritem_longest_rhs): Use it.
+	* src/gram.h (rule_t): `number' is a new member.
+	* src/reader.c (packgram): Set it.
+	* src/reduce.c (reduce_grammar_tables): Move the useless rules at
+	the end of `rules', and count them out of `nrules'.
+	(reduce_output, dump_grammar): Adjust.
+	* src/print.c (print_grammar): It is no longer needed to check for
+	the usefulness of a rule, as useless rules are beyond `nrules + 1'.
+	* tests/reduce.at (Reduced Automaton): New test.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
+	lacking `+ 1' to nrules, Bison reported as useless a token if it
+	was used solely to set the precedence of the last rule...
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* data/bison.c++, data/bison.simple: Don't output the current file
+	name in #line, to avoid useless diffs between two identical
+	outputs under different names.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/closure.c, src/print.c, src/reader.c, src/reduce.c:
+	Normalize loops to using `< nrules + 1', not `<= nrules'.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* TODO: Update.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
+	bucket.value as bucket.number.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+	* src/closure.c, src/derives.c, src/gram.h, src/lalr.c,
+	* src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
+	* src/reader.c, src/reduce.c: Let rule_t.rhs point directly to the
+	RHS, instead of being an index in RITEMS.
+
+2002-04-04  Paul Eggert  <eggert@twinsun.com>
+
+	* doc/bison.texinfo: Update copyright date.
+	(Rpcalc Lexer, Symbols, Token Decl): Don't assume ASCII.
+	(Symbols): Warn about running Bison in one character set,
+	but compiling and/or running in an incompatible one.
+	Warn about character code 256, too.
+
+2002-04-03  Paul Eggert  <eggert@twinsun.com>
+
+	* src/bison.data (YYSTACK_ALLOC): Depend on whether
+	YYERROR_VERBOSE is nonzero, not whether it is defined.
+
+	Merge changes from bison-1_29-branch.
+
+2002-03-20  Paul Eggert  <eggert@twinsun.com>
+
+	Merge fixes from Debian bison_1.34-1.diff.
+
+	* configure.in (AC_PREREQ): 2.53.
+
+2002-03-20  Akim Demaille  <akim@epita.fr>
+
+	* src/conflicts.c (log_resolution): Argument `resolution' is const.
+
+2002-03-19  Paul Eggert  <eggert@twinsun.com>
+
+	* src/bison.simple (YYCOPY): New macro.
+	(YYSTACK_RELOCATE): Use it.
+	Remove Type arg; no longer needed.  All callers changed.
+	(yymemcpy): Remove; no longer needed.
+
+	* Makefile.am (AUTOMAKE_OPTIONS): 1.6.
+	* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
+
+2002-03-19  Akim Demaille  <akim@epita.fr>
+
+	Test and fix the #line outputs.
+
+	* tests/atlocal.at (GCC): New.
+	* tests/synclines.at (AT_TEST_SYNCLINE): New macro.
+	(Prologue synch line, ,%union synch line, Postprologue synch line)
+	(Action synch line, Epilogue synch line): New tests.
+	* src/reader.c (parse_union_decl): Define the muscle stype_line.
+	* data/bison.simple, data/bison.c++: Use it.
+
+2002-03-19  Akim Demaille  <akim@epita.fr>
+
+	* tests/regression.at (%nonassoc and eof, Unresolved SR Conflicts)
+	(Solved SR Conflicts, %expect not enough, %expect right)
+	(%expect too much): Move to...
+	* tests/conflicts.at: this new file.
+
+2002-03-19  Akim Demaille  <akim@epita.fr>
+
+	* data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
+	* data/bison.simple, data/bison.c++: Handle the `#define' part, so
+	that we can move to enums for instance.
+	* src/output.c (token_definitions_output): Output a list of
+	`token-name, token-number' instead of the #define.
+	(output_skeleton): Name this list `b4_tokens', not `b4_tokendefs'.
+
+2002-03-14  Akim Demaille  <akim@epita.fr>
+
+	Use Gettext 0.11.1.
+
+2002-03-09  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Make the user able to add members to the generated
+	parser by subclassing.
+
+2002-03-05  Robert Anisko  <robert@lrde.epita.fr>
+
+	* src/reader.c (read_additionnal_code): `c' should be an integer, not
+	a character.
+	Reported by Nicolas Tisserand and Nicolas Burrus.
+
+2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
+
+	* src/reader.c: Warn about lacking semi-colons, do not complain.
+
+2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Remove a debug line.
+
+2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Unmerge value as yylval and value as yyval.  Unmerge
+	location as yylloc and location as yyloc.  Use YYLLOC_DEFAULT, and
+	provide a default implementation.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
+	* tests/output.at (AT_CHECK_OUTPUT): Likewise.
+	* tests/headers.at (AT_TEST_CPP_GUARD_H): Ditto.
+	* tests/semantic.at (Parsing Guards): Similarly.
+	* src/reader.at (readgram): Complain if the last rule is not ended
+	with a semi-colon.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
+	* src/closure.c: here.
+	(set_firsts): Use bitsetv_reflexive_transitive_closure instead of
+	RTC.
+	* src/warshall.h, src/warshall.c: Remove.
+	* tests/sets.at (Broken Closure): Adjust.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/output.c (output_skeleton): tempdir is const.
+	bytes_read is unused.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
+	* lib/bitsetv.h, lib/ebitset.c, lib/lbitset.c, lib/sbitset.c:
+	Update.
+	From Michael Hayes.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/closure.c (closure): `r' is unused.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* tests/sets.at (Broken Closure): Add the ending `;'.
+	* src/reader.at (readgram): Complain if a rule is not ended with a
+	semi-colon.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
+	(count_sr_conflicts): Use bitset_count.
+	* src/reduce.c (inaccessable_symbols): Ditto.
+	(bits_size): Remove.
+	* src/warshall.h, src/warshall.c: Convert to bitsetv.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
+	* src/reduce.c: Remove the `bitset_zero's following the
+	`bitset_create's, as now it is performed by the latter.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
+	* lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, lib/lbitset.h,
+	* lib/sbitset.c, lib/sbitset.h, lib/bbitset.h: Update from the
+	latest sources from Michael.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/output.c (output): Don't free the grammar.
+	* src/reader.c (grammar_free): New.
+	* src/main.c (main): Call it and don't free symtab here.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
+	before returning.
+	Reported by Benoit Perrot.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	Use bitset operations when possible, not loops over bits.
+
+	* src/conflicts.c (set_conflicts, count_sr_conflicts): Use
+	bitset_or.
+	* src/print.c (print_reductions): Use bitset_and, bitset_andn.
+	* src/reduce.c (useless_nonterminals): Formatting changes.
+	* src/warshall.c (TC): Use bitset_or.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
+	* src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
+	Ditto.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/lalr.c (F): Now a bitset*.
+	Adjust all dependencies.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/conflicts.c (shiftset, lookaheadset): Now bitset.
+	Adjust all dependencies.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/L0.c, src/LR0.h (nstates): Be size_t.
+	Adjust comparisons (signed vs unsigned).
+	* src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a
+	bitset*.
+	Adjust all dependencies.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/closure.c (firsts): Now, also a bitset.
+	Adjust all dependencies.
+	(varsetsize): Remove, now unused.
+	* src/warshall.h, src/warshall.c: Now work on arrays of bitsets.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/print.c: Convert to use bitset.h, not hand coded iterations
+	over ints.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/reduce.c: Convert to use bitset.h, not hand coded BSet.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* src/closure.c (ruleset): Be a bitset.
+	(rulesetsize): Remove.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+	* lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
+	* lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
+	* lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
+	* src/closure.c (fderives): Be an array of bitsets.
+
+2002-02-28  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Merge the two generated headers.  Insert a copyright
+	notice in each output file.
+
+2002-02-28  Akim Demaille  <akim@epita.fr>
+
+	* data/bison.c++: Copy the prologue of bison.simple to fetch
+	useful M4 definitions, such as b4_header_guard.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+	* src/getargs.c (version): Give the name of the authors, and use a
+	translator friendly scheme for the bgr
+	copyright notice.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+	* src/output.c (header_output): Remove, now handled completely via
+	M4.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+	* m4/m4.m4: New, from CVS Autoconf.
+	* configure.in: Invoke it.
+	* src/output.c (output_skeleton): Use its result instead of the
+	hard coded name.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+	* lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
+	Fileutils 4.1.5.
+	* configure.in: Invoke UTILS_FUNC_MKSTEMP.
+	* src/output.c (output_skeleton): Use mkstemp to create a real
+	temporary file.
+	Move the filling of `skeleton' and its muscle to...
+	(prepare): here.
+	(output): Move the definition of the prologue muscle to...
+	(prepare): here.
+	* src/system.h (DEFAULT_TMPDIR): New.
+
+2002-02-14  Paul Eggert  <eggert@twinsun.com>
+
+	Remove the support for C++ namespace cleanliness; it was
+	causing more problems than it was curing, since it didn't work
+	properly on some nonstandard C++ compilers.  This can wait
+	for a proper C++ parser.
+
+	* NEWS: Document this.
+	* doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
+	of C++, as it's treated like C now.
+	* src/bison.simple (YYSTD): Remove.
+	(YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
+	Treat C++ just like Standard C instead of trying to support
+	namespace cleanliness.
+
+2002-02-14  Akim Demaille  <akim@epita.fr>
+
+	* tests/regression.at (else): Adjust to Andreas' change.
+
+2002-02-14  Akim Demaille  <akim@epita.fr>
+
+	* lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
+
+2002-02-13  Andreas Schwab  <schwab@suse.de>
+
+	* src/output.c (output_rule_data): Don't output NULL, it might
+	not be defined yet.
+
+2002-02-11  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
+	(Copyright notice): Update.
+
+2002-02-11  Akim Demaille  <akim@epita.fr>
+
+	* tests/regression.at (%nonassoc and eof): Don't include
+	nonportable headers.
+
+2002-02-08  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Correct error recovery.  Make the user able to
+	initialize the starting location.
+
+2002-02-07  Akim Demaille  <akim@epita.fr>
+
+	* tests/input.at: New.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Replace some direct m4 expansions by constants.  Be
+	more consistent when naming methods and variables.  Put preprocessor
+	directives around tables only needed for debugging.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
+	C++ parsers.
+	(yy::b4_name::parse): Use print_.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++ (yy::b4_name::parse): Error recovery is back.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
+	C++ parsers.
+	(yy::b4_name::parse): Build verbose error messages, and use error_.
+
+2002-02-06  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Fix m4 quoting in comments.
+
+2002-02-06  Robert Anisko  <robert@lrde.epita.fr>
+
+	* data/bison.c++: Adjust the parser code.  Fix some muscles that were
+	not expanded by m4.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+	* data/bison.c++: Adjust to the M4 back end.
+	More is certainly needed.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+	Give a try to M4 as a back end.
+
+	* lib/readpipe.c: New, from wdiff.
+	* src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
+	BISON_HAIRY.
+	* src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
+	specific values.  Now it is m4 that performs the lookup.
+	* src/parse-skel.y: Remove.
+	* src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
+	* src/output.c (actions_output, guards_output)
+	(token_definitions_output): No longer keeps track of the output
+	line number, hence remove the second argument.
+	(guards_output): Check against the guard member of a rule, not the
+	action member.
+	Adjust callers.
+	(output_skeleton): Don't look for the skeleton location, let m4 do
+	that.
+	Create `/tmp/muscles.m4'.  This is temporary, a proper temporary
+	file will be used.
+	Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
+	(prepare): Given that for the time being changesyntax is not
+	usable in M4, rename the muscles using `-' to `_'.
+	Define `defines_flag', `output_parser_name' and `output_header_name'.
+	* src/output.h (actions_output, guards_output)
+	(token_definitions_output): Adjust prototypes.
+	* src/scan-skel.l: Instead of scanning the skeletons, it now
+	processes the output of m4: `__oline__' and `#output'.
+	* data/bison.simple: Adjust to be used by M4(sugar).
+	* tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
+	to date.
+	* tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
+	instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
+	* data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
+	shamelessly stolen from CVS Autoconf.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+	* lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
+	* configure.in: Check for the declarations of free and malloc.
+	* src/muscle_tab.c: Adjust.
+
 2002-02-05  Akim Demaille  <akim@epita.fr>
 
 	* src/muscle_tab.c (muscle_init): Don't default to NULL muscle
 	which have no values.
 
-	
 2002-02-05  Akim Demaille  <akim@epita.fr>
 
 	* src/bison.simple, src/bison.hairy, src/bison.c++: Move to...