]> git.saurik.com Git - bison.git/log
bison.git
22 years agoMore ideas.
Akim Demaille [Wed, 10 Apr 2002 08:55:43 +0000 (08:55 +0000)] 
More ideas.

22 years ago* tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
Akim Demaille [Tue, 9 Apr 2002 19:20:10 +0000 (19:20 +0000)] 
* tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
full stderr, and strip it according to the bison options, instead
of composing the error message from different bits.
This makes it easier to check for several error messages.
Adjust all the invocations.
Add an invocation exercising the error token.
Add an invocation demonstrating a stupid error message.
(_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0.
Adjust the tests.
Error message are for stderr, not stdout.

22 years ago* src/gram.h, src/gram.c (error_token_number): Remove, use
Akim Demaille [Tue, 9 Apr 2002 19:19:59 +0000 (19:19 +0000)] 
* src/gram.h, src/gram.c (error_token_number): Remove, use
errtoken->number.
* src/reader.c (reader): Don't specify the user token number (2)
for $undefined, as it uselessly prevents using it.
* src/gram.h (token_number_t): Move to...
* src/symtab.h: here.
(state_t.number): Is a token_number_t.
* src/print.c, src/reader.c: Use undeftoken->number instead of
hard coded 2.
(Even though this 2 is not the same as above: the number of the
undeftoken remains being 2, it is its user token number which
might not be 2).
* src/output.c (prepare_tokens): Rename the `maxtok' muscle with
`user_token_number_max'.
Output `undef_token_number'.
* data/bison.simple, data/bison.c++: Use them.
Be sure to map invalid yylex return values to
`undef_token_number'.  This saves us from gratuitous SEGV.
* tests/conflicts.at (Solved SR Conflicts)
(Unresolved SR Conflicts): Adjust.
* tests/regression.at (Web2c Actions): Adjust.

22 years agoRegen.
Akim Demaille [Mon, 8 Apr 2002 12:34:08 +0000 (12:34 +0000)] 
Regen.

22 years agoFix.
Akim Demaille [Mon, 8 Apr 2002 12:33:13 +0000 (12:33 +0000)] 
Fix.

22 years ago* data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
Akim Demaille [Mon, 8 Apr 2002 12:31:15 +0000 (12:31 +0000)] 
* data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
Adding #line.
Remove the duplicate `typedefs'.
(RhsNumberType): Fix the declaration and various other typos.
Use __ofile__.
* data/bison.simple: Use __ofile__.
* src/scan-skel.l: Handle __ofile__.

22 years ago* src/gram.h (item_number_t): New, the type of item numbers in
Akim Demaille [Mon, 8 Apr 2002 11:46:26 +0000 (11:46 +0000)] 
* src/gram.h (item_number_t): New, the type of item numbers in
RITEM.  Note that it must be able to code symbol numbers as
positive number, and the negation of rule numbers as negative
numbers.
Adjust all dependencies (pretty many).
* src/reduce.c (rule): Remove this `short *' pointer: use
item_number_t.
* src/system.h (MINSHORT, MAXSHORT): Remove.
Include `limits.h'.
Adjust dependencies to using SHRT_MAX and SHRT_MIN.
(shortcpy): Remove.
(MAXTABLE): Move to...
* src/output.c (MAXTABLE): here.
(prepare_rules): Use output_int_table to output rhs.
* data/bison.simple, data/bison.c++: Adjust.
* tests/torture.at (Big triangle): Move the limit from 254 to
500.
* tests/regression.at (Web2c Actions): Ajust.
Trying with bigger grammars shows various phenomena: at 3000 (28Mb
of grammar file) bison is killed by my system, at 2000 (12Mb) bison
passes, but produces negative #line number, once fixed, GCC is
killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of
C), it passes.
* src/state.h (state_h): Code input lines on ints, not shorts.

22 years ago* src/gram.h (item_number_t): New, the type of item numbers in
Akim Demaille [Mon, 8 Apr 2002 11:46:05 +0000 (11:46 +0000)] 
* src/gram.h (item_number_t): New, the type of item numbers in
RITEM.  Note that it must be able to code symbol numbers as
positive number, and the negation of rule numbers as negative
numbers.
Adjust all dependencies (pretty many).
* src/reduce.c (rule): Remove this `short *' pointer: use
item_number_t.
* src/system.h (MINSHORT, MAXSHORT): Remove.
Include `limits.h'.
Adjust dependencies to using SHRT_MAX and SHRT_MIN.
(shortcpy): Remove.
(MAXTABLE): Move to...
* src/output.c (MAXTABLE): here.
(prepare_rules): Use output_int_table to output rhs.
* data/bison.simple, data/bison.c++: Adjust.
* tests/torture.at (Big triangle): Move the limit from 254 to
500.
* tests/regression.at (Web2c Actions): Ajust.
Trying with bigger grammars shows various phenomena: at 3000 (28Mb
of grammar file) bison is killed by my system, at 2000 (12Mb) bison
passes, but produces negative #line number, once fixed, GCC is
killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of
C), it passes.
* src/state.h (state_h): Code input lines on ints, not shorts.

22 years ago* src/reduce.c (reduce_grammar): First reduce the nonterminals,
Akim Demaille [Mon, 8 Apr 2002 11:45:29 +0000 (11:45 +0000)] 
* src/reduce.c (reduce_grammar): First reduce the nonterminals,
and then the grammar.

22 years ago* src/system.h: No longer using strndup.
Akim Demaille [Mon, 8 Apr 2002 11:45:16 +0000 (11:45 +0000)] 
* src/system.h: No longer using strndup.

22 years agoMore ideas.
Akim Demaille [Mon, 8 Apr 2002 10:02:19 +0000 (10:02 +0000)] 
More ideas.

22 years agoRegen.
Akim Demaille [Sun, 7 Apr 2002 17:46:22 +0000 (17:46 +0000)] 
Regen.

22 years ago* src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New.
Akim Demaille [Sun, 7 Apr 2002 17:44:59 +0000 (17:44 +0000)] 
* 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.

22 years ago* tests/torture.at (Big triangle): New.
Akim Demaille [Sun, 7 Apr 2002 17:44:38 +0000 (17:44 +0000)] 
* tests/torture.at (Big triangle): New.
(GNU AWK Grammar, GNU Cim Grammar): Move to...
* tests/existing.at: here.

22 years ago* src/gram.h, src/gram.c (nitems): Remove, it is an alias of
Akim Demaille [Sun, 7 Apr 2002 17:44:24 +0000 (17:44 +0000)] 
* src/gram.h, src/gram.c (nitems): Remove, it is an alias of
nritems.
Adjust dependencies.

22 years ago* src/reader.c: Normalize increments to prefix form.
Akim Demaille [Sun, 7 Apr 2002 17:44:05 +0000 (17:44 +0000)] 
* src/reader.c: Normalize increments to prefix form.

22 years ago* src/reader.c, symtab.c: Remove debugging code.
Akim Demaille [Sun, 7 Apr 2002 17:43:53 +0000 (17:43 +0000)] 
* src/reader.c, symtab.c: Remove debugging code.

22 years agoRename all the `bucket's as `symbol_t'.
Akim Demaille [Sun, 7 Apr 2002 17:43:41 +0000 (17:43 +0000)] 
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.

22 years agoUse lib/hash for the symbol table.
Akim Demaille [Sun, 7 Apr 2002 17:43:21 +0000 (17:43 +0000)] 
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.

22 years ago* src/gram.c (nitems, nrules, nsyms, ntokens, nvars, nritems)
Akim Demaille [Sun, 7 Apr 2002 17:42:49 +0000 (17:42 +0000)] 
* 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.

22 years ago* src/gram.h (rule_s): prec and precsym are now pointers
Akim Demaille [Sun, 7 Apr 2002 17:42:31 +0000 (17:42 +0000)] 
* 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.

22 years ago* src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
Akim Demaille [Sun, 7 Apr 2002 17:42:12 +0000 (17:42 +0000)] 
* src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
Properly escape the symbols' TAG when outputting them.

22 years ago* src/lalr.h (LA): Is a bitsetv, not bitset*.
Akim Demaille [Sun, 7 Apr 2002 17:41:59 +0000 (17:41 +0000)] 
* src/lalr.h (LA): Is a bitsetv, not bitset*.

22 years ago* src/lalr.h, src/lalr.c (LAruleno): Replace with...
Akim Demaille [Sun, 7 Apr 2002 17:41:44 +0000 (17:41 +0000)] 
* 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.

22 years ago* src/gram.h (rule_t): Rename `number' as `user_number'.
Akim Demaille [Sun, 7 Apr 2002 17:41:28 +0000 (17:41 +0000)] 
* 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.

22 years agoAs a result of the previous patch, it is no longer needed
Akim Demaille [Sun, 7 Apr 2002 17:41:08 +0000 (17:41 +0000)] 
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.

22 years agoBe sure never to walk through RITEMS, but use only data related to
Akim Demaille [Sun, 7 Apr 2002 17:40:56 +0000 (17:40 +0000)] 
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.

22 years ago* src/LR0.c (new_state): Display `nstates' as the name of the
Akim Demaille [Sun, 7 Apr 2002 17:40:16 +0000 (17:40 +0000)] 
* 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.

22 years ago* src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
Akim Demaille [Sun, 7 Apr 2002 17:38:37 +0000 (17:38 +0000)] 
* src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
the RHS of the rules.
* src/output.c (output_gram): Likewise.

22 years ago* src/gram.h (rule_t): `lhs' is now a pointer to the symbol's
Akim Demaille [Sun, 7 Apr 2002 17:38:22 +0000 (17:38 +0000)] 
* 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'.

22 years ago* src/gram.h, src/gram.c (rules_rhs_length): New.
Akim Demaille [Sun, 7 Apr 2002 17:36:38 +0000 (17:36 +0000)] 
* 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.

22 years agoFix big patch application problems.
Akim Demaille [Sun, 7 Apr 2002 16:42:32 +0000 (16:42 +0000)] 
Fix big patch application problems.

22 years ago* src/gram.h, src/gram.c (rules_swap): New.
Akim Demaille [Sun, 7 Apr 2002 16:39:49 +0000 (16:39 +0000)] 
* src/gram.h, src/gram.c (rules_swap): 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.

22 years ago* src/output.c (output_rule_data): Fix various range errors:
Akim Demaille [Sun, 7 Apr 2002 16:29:32 +0000 (16:29 +0000)] 
* src/output.c (output_rule_data): Fix various range errors:
`rules' starts at 1, not 0.

22 years agoRemove the useless rules from the parser.
Akim Demaille [Sun, 7 Apr 2002 16:28:39 +0000 (16:28 +0000)] 
Remove the useless rules from the parser.
* src/gram.h, src/gram.c (rules_swap, rule_rhs_length): New.
(ritem_longest_rhs): Use the latter.
* 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.
Changes in version 1.49a:
* False `Token not used' report fixed.
On a grammar such as
/* Allocate input grammar variables for bison,
This file is part of Bison, the GNU Compiler Compiler.
int error_token_number;
/*------------------------.
| Dump RITEM for traces.  |
`------------------------*/
size_t
ritem_longest_rhs (void)
{
int i;
return max;
}
typedef struct rule_s
{
short lhs;
short *rhs;
short prec;
extern int error_token_number;
/* Dump RITEM for traces. */
void ritem_print PARAMS ((FILE *out));
fprintf (out, "%snn", _("Grammar"));
fprintf (out, "  %sn", _("Number, Line, Rule"));
for (i = 1; i < nrules + 1; i++)
fputs ("nn", out);
while (p)
{
bucket *ruleprec = p->ruleprec;
rules[ruleno].lhs = p->sym->number;
rules[ruleno].rhs = ritem + itemno;
rules[ruleno].line = p->line;
bitset_set (V1, rules[i].precsym);
}
static void
reduce_grammar_tables (void)
{
if (nuseless_productions > 0)
{
int pn;
for (pn = 1; pn < nrules + 1; pn++)
rules[pn].useful = bitset_test (P, pn);
}
}
{
int i;
fprintf (out, "%snn", _("Useless rules:"));
fputs ("nn", out);
}
}
fprintf (out, "nn");
fprintf (out, "Rulesn-----nn");
fprintf (out, "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]n");
{
int rhs_count = 0;
/* Find the last RHS index in ritems. */
}
fprintf (out, "nn");
fprintf (out, "Rules interpretedn-----------------nn");
{
fprintf (out, "%-5d  %s :", i, symbols[rules[i].lhs]->tag);
for (r = rules[i].rhs; *r >= 0; r++)
## ------------------- ##
## Underivable Rules.  ##
## ------------------- ##

22 years agoRegen.
Akim Demaille [Sun, 7 Apr 2002 16:13:46 +0000 (16:13 +0000)] 
Regen.

22 years ago* src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
Akim Demaille [Sun, 7 Apr 2002 15:30:42 +0000 (15:30 +0000)] 
* 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...

22 years ago* data/bison.c++, data/bison.simple: Don't output the current file
Akim Demaille [Sun, 7 Apr 2002 15:30:31 +0000 (15:30 +0000)] 
* 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.

22 years ago* src/closure.c, src/print.c, src/reader.c, src/reduce.c:
Akim Demaille [Sun, 7 Apr 2002 15:30:20 +0000 (15:30 +0000)] 
* src/closure.c, src/print.c, src/reader.c, src/reduce.c:
Normalize loops to using `< nrules + 1', not `<= nrules'.

22 years ago* TODO: Update.
Akim Demaille [Sun, 7 Apr 2002 15:30:07 +0000 (15:30 +0000)] 
* TODO: Update.

22 years ago* src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
Akim Demaille [Sun, 7 Apr 2002 15:29:56 +0000 (15:29 +0000)] 
* src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
bucket.value as bucket.number.

22 years ago* src/closure.c, src/derives.c, src/gram.h, src/lalr.c,
Akim Demaille [Sun, 7 Apr 2002 15:29:36 +0000 (15:29 +0000)] 
* 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.

22 years ago* doc/bison.texinfo: Update copyright date.
Paul Eggert [Thu, 4 Apr 2002 21:34:34 +0000 (21:34 +0000)] 
* 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.

22 years agoUpdate.
Akim Demaille [Thu, 4 Apr 2002 15:41:14 +0000 (15:41 +0000)] 
Update.

22 years agoUpdate.
Akim Demaille [Thu, 4 Apr 2002 13:23:08 +0000 (13:23 +0000)] 
Update.

22 years agoMerge fixes from Debian bison_1.34-1.diff.
Paul Eggert [Wed, 20 Mar 2002 22:47:21 +0000 (22:47 +0000)] 
Merge fixes from Debian bison_1.34-1.diff.
* configure.in (AC_PREREQ): 2.53.

22 years ago(AC_PREREQ): 2.53.
Paul Eggert [Wed, 20 Mar 2002 22:46:59 +0000 (22:46 +0000)] 
(AC_PREREQ): 2.53.

22 years ago* src/conflicts.c (log_resolution): Argument `resolution' is const.
Akim Demaille [Wed, 20 Mar 2002 09:35:27 +0000 (09:35 +0000)] 
* src/conflicts.c (log_resolution): Argument `resolution' is const.

22 years ago* src/bison.simple (YYCOPY): New macro.
Paul Eggert [Wed, 20 Mar 2002 07:30:00 +0000 (07:30 +0000)] 
* src/bison.simple (YYCOPY): New macro.
(YYSTACK_RELOCATE): Use it.
Remove Type arg; no longer needed.  All callers changed.
(yymemcpy): Remove; no longer needed.

22 years ago(YYCOPY): New macro.
Paul Eggert [Wed, 20 Mar 2002 07:28:52 +0000 (07:28 +0000)] 
(YYCOPY): New macro.
(YYSTACK_RELOCATE): Use it.
Remove Type arg; no longer needed.  All callers changed.
(yymemcpy): Remove; no longer needed.

22 years ago * Makefile.am (AUTOMAKE_OPTIONS): 1.6.
Paul Eggert [Wed, 20 Mar 2002 07:03:00 +0000 (07:03 +0000)] 
* Makefile.am (AUTOMAKE_OPTIONS): 1.6.
* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.

22 years ago(AUTOMAKE_OPTIONS): Remove.
Paul Eggert [Wed, 20 Mar 2002 07:02:15 +0000 (07:02 +0000)] 
(AUTOMAKE_OPTIONS): Remove.

22 years ago(AUTOMAKE_OPTIONS): 1.6.
Paul Eggert [Wed, 20 Mar 2002 07:01:15 +0000 (07:01 +0000)] 
(AUTOMAKE_OPTIONS): 1.6.

22 years agoRegen.
Akim Demaille [Tue, 19 Mar 2002 08:29:19 +0000 (08:29 +0000)] 
Regen.

22 years agoTest and fix the #line outputs.
Akim Demaille [Tue, 19 Mar 2002 08:16:25 +0000 (08:16 +0000)] 
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.

22 years ago* tests/regression.at (%nonassoc and eof, Unresolved SR Conflicts)
Akim Demaille [Tue, 19 Mar 2002 08:10:21 +0000 (08:10 +0000)] 
* 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.

22 years ago* data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
Akim Demaille [Tue, 19 Mar 2002 07:48:47 +0000 (07:48 +0000)] 
* 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'.

22 years agoRegen.
Akim Demaille [Tue, 19 Mar 2002 07:45:46 +0000 (07:45 +0000)] 
Regen.

22 years agoUse Gettext 0.11.1.
Akim Demaille [Thu, 14 Mar 2002 18:31:14 +0000 (18:31 +0000)] 
Use Gettext 0.11.1.

22 years ago* data/bison.c++: Make the user able to add members to the generated
Robert Anisko [Sat, 9 Mar 2002 14:31:16 +0000 (14:31 +0000)] 
* data/bison.c++: Make the user able to add members to the generated
parser by subclassing.

22 years agoRegen.
Akim Demaille [Wed, 6 Mar 2002 17:19:14 +0000 (17:19 +0000)] 
Regen.

22 years agoTHANKS
Robert Anisko [Wed, 6 Mar 2002 16:08:18 +0000 (16:08 +0000)] 
THANKS

22 years ago* src/reader.c (read_additionnal_code): `c' should be an integer, not
Robert Anisko [Tue, 5 Mar 2002 18:30:22 +0000 (18:30 +0000)] 
* src/reader.c (read_additionnal_code): `c' should be an integer, not
a character.
Reported by Nicolas Tisserand and Nicolas Burrus.

22 years agoRemove Id line.
Akim Demaille [Mon, 4 Mar 2002 17:05:26 +0000 (17:05 +0000)] 
Remove Id line.

22 years ago* src/reader.c: Warn about lacking semi-colons, do not complain.
Robert Anisko [Mon, 4 Mar 2002 17:03:49 +0000 (17:03 +0000)] 
* src/reader.c: Warn about lacking semi-colons, do not complain.

22 years ago* data/bison.c++: Remove a debug line.
Robert Anisko [Mon, 4 Mar 2002 16:48:33 +0000 (16:48 +0000)] 
* data/bison.c++: Remove a debug line.

22 years agoRegen.
Akim Demaille [Mon, 4 Mar 2002 16:45:18 +0000 (16:45 +0000)] 
Regen.

22 years ago* data/bison.c++: Unmerge value as yylval and value as yyval. Unmerge
Robert Anisko [Mon, 4 Mar 2002 16:37:52 +0000 (16:37 +0000)] 
* 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.

22 years ago* tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
Akim Demaille [Mon, 4 Mar 2002 16:23:35 +0000 (16:23 +0000)] 
* 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.

22 years ago* src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
Akim Demaille [Mon, 4 Mar 2002 14:29:27 +0000 (14:29 +0000)] 
* 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.

22 years ago* src/output.c (output_skeleton): tempdir is const.
Akim Demaille [Mon, 4 Mar 2002 14:17:30 +0000 (14:17 +0000)] 
* src/output.c (output_skeleton): tempdir is const.
bytes_read is unused.

22 years ago* lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
Akim Demaille [Mon, 4 Mar 2002 14:15:01 +0000 (14:15 +0000)] 
* 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.

22 years ago* src/closure.c (closure): `r' is unused.
Akim Demaille [Mon, 4 Mar 2002 14:13:12 +0000 (14:13 +0000)] 
* src/closure.c (closure): `r' is unused.

22 years agoRegen.
Akim Demaille [Mon, 4 Mar 2002 14:04:09 +0000 (14:04 +0000)] 
Regen.

22 years ago* tests/sets.at (Broken Closure): Add the ending `;'.
Akim Demaille [Mon, 4 Mar 2002 13:58:20 +0000 (13:58 +0000)] 
* tests/sets.at (Broken Closure): Add the ending `;'.
* src/reader.at (readgram): Complain if a rule is not ended with a
semi-colon.

22 years ago* src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
Akim Demaille [Mon, 4 Mar 2002 13:58:05 +0000 (13:58 +0000)] 
* 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.

22 years ago* src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
Akim Demaille [Mon, 4 Mar 2002 13:56:41 +0000 (13:56 +0000)] 
* 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.

22 years ago* lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
Akim Demaille [Mon, 4 Mar 2002 12:07:08 +0000 (12:07 +0000)] 
* 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.

22 years ago* src/output.c (output): Don't free the grammar.
Akim Demaille [Mon, 4 Mar 2002 12:06:42 +0000 (12:06 +0000)] 
* 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.

22 years ago* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
Akim Demaille [Mon, 4 Mar 2002 12:06:07 +0000 (12:06 +0000)] 
* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
before returning.
Reported by Benoit Perrot.

22 years agoUse bitset operations when possible, not loops over bits.
Akim Demaille [Mon, 4 Mar 2002 12:05:30 +0000 (12:05 +0000)] 
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.

22 years ago* src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
Akim Demaille [Mon, 4 Mar 2002 12:05:15 +0000 (12:05 +0000)] 
* src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
* src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
Ditto.

22 years ago* src/lalr.c (F): Now a bitset*.
Akim Demaille [Mon, 4 Mar 2002 12:04:47 +0000 (12:04 +0000)] 
* src/lalr.c (F): Now a bitset*.
Adjust all dependencies.

22 years ago* src/conflicts.c (shiftset, lookaheadset): Now bitset.
Akim Demaille [Mon, 4 Mar 2002 12:04:33 +0000 (12:04 +0000)] 
* src/conflicts.c (shiftset, lookaheadset): Now bitset.
Adjust all dependencies.

22 years ago* src/L0.c, src/LR0.h (nstates): Be size_t.
Akim Demaille [Mon, 4 Mar 2002 12:03:36 +0000 (12:03 +0000)] 
* 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.

22 years ago* src/closure.c (firsts): Now, also a bitset.
Akim Demaille [Mon, 4 Mar 2002 12:03:01 +0000 (12:03 +0000)] 
* 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.

22 years ago* src/print.c: Convert to use bitset.h, not hand coded iterations
Akim Demaille [Mon, 4 Mar 2002 12:02:16 +0000 (12:02 +0000)] 
* src/print.c: Convert to use bitset.h, not hand coded iterations
over ints.

22 years ago* src/reduce.c: Convert to use bitset.h, not hand coded BSet.
Akim Demaille [Mon, 4 Mar 2002 12:01:44 +0000 (12:01 +0000)] 
* src/reduce.c: Convert to use bitset.h, not hand coded BSet.

22 years ago* src/closure.c (ruleset): Be a bitset.
Akim Demaille [Mon, 4 Mar 2002 11:59:18 +0000 (11:59 +0000)] 
* src/closure.c (ruleset): Be a bitset.
(rulesetsize): Remove.

22 years ago* lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
Akim Demaille [Mon, 4 Mar 2002 11:58:52 +0000 (11:58 +0000)] 
* 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.

22 years ago* data/bison.c++: Merge the two generated headers. Insert a copyright
Robert Anisko [Thu, 28 Feb 2002 14:56:33 +0000 (14:56 +0000)] 
* data/bison.c++: Merge the two generated headers.  Insert a copyright
notice in each output file.

22 years ago* data/bison.c++: Copy the prologue of bison.simple to fetch
Akim Demaille [Thu, 28 Feb 2002 11:41:00 +0000 (11:41 +0000)] 
* data/bison.c++: Copy the prologue of bison.simple to fetch
useful M4 definitions, such as b4_header_guard.

22 years agoSync.
Akim Demaille [Mon, 25 Feb 2002 17:56:15 +0000 (17:56 +0000)] 
Sync.

22 years agoRegen.
Akim Demaille [Mon, 25 Feb 2002 14:55:38 +0000 (14:55 +0000)] 
Regen.

22 years agoNew.
Akim Demaille [Mon, 25 Feb 2002 14:27:12 +0000 (14:27 +0000)] 
New.

22 years ago* src/getargs.c (version): Give the name of the authors, and use a
Akim Demaille [Mon, 25 Feb 2002 14:26:28 +0000 (14:26 +0000)] 
* src/getargs.c (version): Give the name of the authors, and use a
translator friendly scheme for the copyright notice.

22 years ago* src/output.c (header_output): Remove, now handled completely via
Akim Demaille [Mon, 25 Feb 2002 14:06:53 +0000 (14:06 +0000)] 
* src/output.c (header_output): Remove, now handled completely via
M4.

22 years agoReally add it.
Akim Demaille [Mon, 25 Feb 2002 14:01:26 +0000 (14:01 +0000)] 
Really add it.

22 years ago* m4/m4.m4: New, from CVS Autoconf.
Akim Demaille [Mon, 25 Feb 2002 14:00:57 +0000 (14:00 +0000)] 
* 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.

22 years ago* lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
Akim Demaille [Mon, 25 Feb 2002 13:44:43 +0000 (13:44 +0000)] 
* 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.