Akim Demaille
d9b739c32f
* src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
...
bucket.value as bucket.number.
2002-04-07 15:29:56 +00:00
Akim Demaille
9901390012
* 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-07 15:29:36 +00:00
Akim Demaille
e53c632297
* src/conflicts.c (log_resolution): Argument `resolution' is const.
2002-03-20 09:35:27 +00:00
Akim Demaille
642cb8f829
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 08:16:25 +00:00
Akim Demaille
0d8bed5636
* 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-19 07:48:47 +00:00
Akim Demaille
9208d17fa9
Use Gettext 0.11.1.
2002-03-14 18:31:14 +00:00
Robert Anisko
9101a31079
* src/reader.c (read_additionnal_code): `c' should be an integer, not
...
a character.
Reported by Nicolas Tisserand and Nicolas Burrus.
2002-03-05 18:30:22 +00:00
Robert Anisko
fff9bf0b8d
* src/reader.c: Warn about lacking semi-colons, do not complain.
2002-03-04 17:03:49 +00:00
Akim Demaille
bfcf1f3af0
* 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 16:23:35 +00:00
Akim Demaille
65ccf9fc1d
* 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 14:29:27 +00:00
Akim Demaille
d0039cbcf8
* src/output.c (output_skeleton): tempdir is const.
...
bytes_read is unused.
2002-03-04 14:17:30 +00:00
Akim Demaille
564801f795
* src/closure.c (closure): `r' is unused.
2002-03-04 14:13:12 +00:00
Akim Demaille
e5352bc7bf
* 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 13:58:20 +00:00
Akim Demaille
914feea9d0
* 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 13:58:05 +00:00
Akim Demaille
f0250de62e
* 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 13:56:41 +00:00
Akim Demaille
7651439487
* 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 12:06:42 +00:00
Akim Demaille
550245801e
* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
...
before returning.
Reported by Benoit Perrot.
2002-03-04 12:06:07 +00:00
Akim Demaille
f9abaa2c4c
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 12:05:30 +00:00
Akim Demaille
0e721e7569
* src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
...
* src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
Ditto.
2002-03-04 12:05:15 +00:00
Akim Demaille
0fb1ffb1bf
* src/lalr.c (F): Now a bitset*.
...
Adjust all dependencies.
2002-03-04 12:04:47 +00:00
Akim Demaille
b86796bf87
* src/conflicts.c (shiftset, lookaheadset): Now bitset.
...
Adjust all dependencies.
2002-03-04 12:04:33 +00:00
Akim Demaille
602bbf31c1
* 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 12:03:36 +00:00
Akim Demaille
d8a0245ce7
* 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 12:03:01 +00:00
Akim Demaille
34ba97434f
* src/print.c: Convert to use bitset.h, not hand coded iterations
...
over ints.
2002-03-04 12:02:16 +00:00
Akim Demaille
ed86e78c90
* src/reduce.c: Convert to use bitset.h, not hand coded BSet.
2002-03-04 12:01:44 +00:00
Akim Demaille
dfdb1797c3
* src/closure.c (ruleset): Be a bitset.
...
(rulesetsize): Remove.
2002-03-04 11:59:18 +00:00
Akim Demaille
7086e7071e
* 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-03-04 11:58:52 +00:00
Akim Demaille
06b00abcdd
* src/getargs.c (version): Give the name of the authors, and use a
...
translator friendly scheme for the copyright notice.
2002-02-25 14:26:28 +00:00
Akim Demaille
70e7d534a9
* src/output.c (header_output): Remove, now handled completely via
...
M4.
2002-02-25 14:06:53 +00:00
Akim Demaille
abe017f60d
* 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 14:00:57 +00:00
Akim Demaille
381fb12e1e
* 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-25 13:44:43 +00:00
Akim Demaille
4bda3f10ca
* src/output.c (output_rule_data): Don't output NULL, it might
...
not be defined yet.
2002-02-13 18:35:03 +00:00
Akim Demaille
0d76958cf7
Really remove parse-skel.y.
2002-02-05 10:15:24 +00:00
Akim Demaille
be2a1a68ef
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 10:08:59 +00:00
Akim Demaille
8e86444744
Revert the previous patch.
2002-02-05 10:04:24 +00:00
Akim Demaille
beda758b1f
* 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 10:00:47 +00:00
Akim Demaille
5ece6d436f
* src/muscle_tab.c (muscle_init): Don't default to NULL muscle
...
which have no values.
2002-02-05 09:58:57 +00:00
Akim Demaille
5bb18f9a19
* src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
...
* data/: here.
2002-02-05 09:57:52 +00:00
Paul Eggert
2992e1e967
(YYSIZE_T): Do not define merely because YYSTACK_USE_ALLOCA is nonzero
...
or alloca or _ALLOCA_H are defined. On some platforms, <alloca.h>
does not declare YYSTD (size_t).
2002-01-29 13:55:32 +00:00
Akim Demaille
82841af7d0
Fix `%nonassoc and eof'.
...
* src/state.c (errs_dup): Aaaah! The failure was due to bytes
which were not properly copied! Replace
memcpy (res->errs, src->errs, src->nerrs);
with
memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
!!!
* tests/regression.at (%nonassoc and eof): Adjust to newest
Autotest: `.' is not in the PATH.
2002-01-27 13:57:17 +00:00
Akim Demaille
29ae55f112
Bison dumps core when trying to complain about broken input files.
...
Reported by Cris van Pelt.
* src/lex.c (parse_percent_token): Be sure to set token_buffer.
* tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
into...
(Invalid inputs): Strengthen: exercise parse_percent_token.
2002-01-24 17:09:34 +00:00
Robert Anisko
2b548aa648
* src/Makefile.am: Add bison.c++.
...
* src/bison.c++: New skeleton.
2002-01-24 16:50:07 +00:00
Akim Demaille
4518a4baae
Adjust.
2002-01-21 19:27:55 +00:00
Akim Demaille
bec30531f7
* src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
2002-01-21 15:50:39 +00:00
Marc Autret
fc6edc45c0
* src/files.c (compute_output_file_names): Fix
2002-01-20 15:59:34 +00:00
Marc Autret
5e5d541531
* tests/output.at: New test.
...
* src/files.c (compute_base_names): Don't map extensions when
the YACC flag is set, use defaults.
Reported by Evgeny Stambulchik.
2002-01-20 15:46:19 +00:00
Marc Autret
44ea3fbdf5
* src/system.h: Need to define __attribute__ away for non-GCC
...
compilers as well (i.e. the vendor C compiler).
Suggested by Albert Chin-A-Young.
2002-01-20 11:34:02 +00:00
Tim Van Holder
e1dd105c0a
* src/system.h: Use canonical definition for PARAMS (avoids clash with macro from hash.h).
2002-01-11 15:27:54 +00:00
Akim Demaille
b85810aec0
* src/files.c, src/files.h (output_infix): New.
...
(tab_extension): Remove.
(compute_base_names): Compute the former, drop the latter.
* src/output.c (prepare): Insert the muscles `output-infix', and
`output-suffix'.
* src/parse-skel.y (string, string.1): New.
(section.header): Use it.
(section.yacc): Remove.
(prefix): Remove too.
* src/scan-skel.l: Adjust.
* src/bison.simple, src/bison.hairy: Adjust.
2002-01-09 13:03:45 +00:00
Akim Demaille
cae601224e
* configure.in (WERROR_CFLAGS): Compute it.
...
* src/Makefile.am (CFLAGS): Pass it.
* tests/atlocal.in (CFLAGS): Idem.
* src/files.c: Fix a few warnings.
(get_extension_index): Remove, unused.
2002-01-09 13:03:20 +00:00