]> git.saurik.com Git - bison.git/log
bison.git
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.

22 years agoRegen.
Akim Demaille [Mon, 25 Feb 2002 13:44:36 +0000 (13:44 +0000)] 
Regen.

22 years agoRemove the support for C++ namespace cleanliness; it was
Paul Eggert [Thu, 14 Feb 2002 20:29:31 +0000 (20:29 +0000)] 
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.

22 years agoRevert the C++ namespace changes introduced in 1.31, as they caused too
Paul Eggert [Thu, 14 Feb 2002 20:28:37 +0000 (20:28 +0000)] 
Revert the C++ namespace changes introduced in 1.31, as they caused too
many portability hassles.

22 years ago(YYSTD): Remove.
Paul Eggert [Thu, 14 Feb 2002 20:27:45 +0000 (20:27 +0000)] 
(YYSTD): Remove.
(YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
Treat C++ just like Standard C instead of trying to support
namespace cleanliness.

22 years ago(Bison Parser, Debugging): Remove special mention of C++, as it's
Paul Eggert [Thu, 14 Feb 2002 20:26:54 +0000 (20:26 +0000)] 
(Bison Parser, Debugging): Remove special mention of C++, as it's
treated like C now.

22 years ago* tests/regression.at (else): Adjust to Andreas' change.
Akim Demaille [Thu, 14 Feb 2002 12:35:32 +0000 (12:35 +0000)] 
* tests/regression.at (else): Adjust to Andreas' change.

22 years ago* lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
Akim Demaille [Thu, 14 Feb 2002 11:51:42 +0000 (11:51 +0000)] 
* lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.

22 years agoRegen.
Akim Demaille [Thu, 14 Feb 2002 11:51:36 +0000 (11:51 +0000)] 
Regen.

22 years ago* src/output.c (output_rule_data): Don't output NULL, it might
Akim Demaille [Wed, 13 Feb 2002 18:35:03 +0000 (18:35 +0000)] 
* src/output.c (output_rule_data): Don't output NULL, it might
not be defined yet.

22 years agoFix ChangeLog.
Akim Demaille [Mon, 11 Feb 2002 16:28:40 +0000 (16:28 +0000)] 
Fix ChangeLog.

22 years ago* data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
Robert Anisko [Mon, 11 Feb 2002 14:15:51 +0000 (14:15 +0000)] 
* data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
(Copyright notice): Update.

22 years ago* tests/regression.at (%nonassoc and eof): Don't include
Akim Demaille [Mon, 11 Feb 2002 13:38:43 +0000 (13:38 +0000)] 
* tests/regression.at (%nonassoc and eof): Don't include
nonportable headers.

22 years ago* data/bison.c++: Correct error recovery. Make the user able to
Robert Anisko [Fri, 8 Feb 2002 14:07:10 +0000 (14:07 +0000)] 
* data/bison.c++: Correct error recovery.  Make the user able to
initialize the starting location.

22 years agoFix the previous test.
Akim Demaille [Thu, 7 Feb 2002 17:22:50 +0000 (17:22 +0000)] 
Fix the previous test.

22 years ago* tests/input.at: New.
Akim Demaille [Thu, 7 Feb 2002 17:18:49 +0000 (17:18 +0000)] 
* tests/input.at: New.

22 years ago* data/bison.c++: Replace some direct m4 expansions by constants. Be
Robert Anisko [Thu, 7 Feb 2002 16:41:23 +0000 (16:41 +0000)] 
* 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.

22 years ago* data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
Robert Anisko [Thu, 7 Feb 2002 14:41:46 +0000 (14:41 +0000)] 
* data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
C++ parsers.
(yy::b4_name::parse): Use print_.

22 years ago* data/bison.c++ (yy::b4_name::parse): Error recovery is back.
Robert Anisko [Thu, 7 Feb 2002 13:02:40 +0000 (13:02 +0000)] 
* data/bison.c++ (yy::b4_name::parse): Error recovery is back.

22 years ago* data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
Robert Anisko [Thu, 7 Feb 2002 11:35:40 +0000 (11:35 +0000)] 
* 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_.

22 years agoRegen.
Akim Demaille [Wed, 6 Feb 2002 17:21:18 +0000 (17:21 +0000)] 
Regen.

22 years ago* data/bison.c++: Fix m4 quoting in comments.
Robert Anisko [Wed, 6 Feb 2002 15:17:57 +0000 (15:17 +0000)] 
* data/bison.c++: Fix m4 quoting in comments.

22 years ago* data/bison.c++: Adjust the parser code. Fix some muscles that were
Robert Anisko [Wed, 6 Feb 2002 14:22:44 +0000 (14:22 +0000)] 
* data/bison.c++: Adjust the parser code.  Fix some muscles that were
not expanded by m4.

22 years agoReally remove parse-skel.y.
Akim Demaille [Tue, 5 Feb 2002 10:15:24 +0000 (10:15 +0000)] 
Really remove parse-skel.y.

22 years agoReally add readpipe to the repo.
Akim Demaille [Tue, 5 Feb 2002 10:14:20 +0000 (10:14 +0000)] 
Really add readpipe to the repo.

22 years agoReally add m4sugar to the repo.
Akim Demaille [Tue, 5 Feb 2002 10:13:16 +0000 (10:13 +0000)] 
Really add m4sugar to the repo.

22 years ago* data/bison.c++: Adjust to the M4 back end.
Akim Demaille [Tue, 5 Feb 2002 10:09:49 +0000 (10:09 +0000)] 
* data/bison.c++: Adjust to the M4 back end.
More is certainly needed.

22 years agoGive a try to M4 as a back end.
Akim Demaille [Tue, 5 Feb 2002 10:08:59 +0000 (10:08 +0000)] 
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.

22 years agoRevert the previous patch. before-m4-back-end
Akim Demaille [Tue, 5 Feb 2002 10:04:24 +0000 (10:04 +0000)] 
Revert the previous patch.