Commit Graph

71 Commits

Author SHA1 Message Date
Akim Demaille
75addd5e5f Remove tests/Makefile.in and po/Makefile.in. 2001-12-10 09:02:16 +00:00
Akim Demaille
80df876864 * configure.in: Require 2.52g.
M4 is not needed, but AUTOM4TE is.
* m4/m4.m4: Remove.
* tests/Makefile.am: Adjust.
2001-12-10 09:00:36 +00:00
Akim Demaille
74ffbcb6bf Bison dumps core on bash.y.
Reported by Pascal Bart.
* src/warshall.c (bitmatrix_print): New.
(TC): Use it.
When performing a transitive closure R(i, j) && R(j, k) => R(i,	k),
j must be the outer loop.
* tests/regression.at (Broken Closure): New.
2001-12-10 08:44:49 +00:00
Akim Demaille
07708e1946 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
its argument.
Reported by Peter Hámorský.
2001-12-05 10:59:35 +00:00
Akim Demaille
2c8a9dfa1d * configure.in (WARNING_CFLAGS): Add -Werror when possible.
(CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
Gettext doesn't compile cleanly, and dies with -Werror.
* src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
Include WARNING_CFLAGS here.
* lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
before being defined.
2001-11-30 14:25:16 +00:00
Akim Demaille
7d13ff5f2f * tests/reduce.at (Useless Nonterminals): Fix. 2001-11-30 11:15:02 +00:00
Akim Demaille
68f1e3edc3 Instead of mapping the LHS of unused rules to -1, keep the LHS
valid, but flag the rules as invalid.
* src/gram.h (rule_t): `useful' is a new member.
* src/print.c (print_grammar): Adjust.
* src/derives.c (set_derives): Likewise.
* src/reader.c (packgram, reduce_output): Likewise.
* src/reduce.c (reduce_grammar_tables): Likewise.
* tests/reduce.at (Underivable Rules, Useless Rules): New.
2001-11-30 10:49:24 +00:00
Akim Demaille
d2d1b42b07 * src/reduce.c (reduce_output): Formatting changes.
* src/print.c (print_results, print_grammar): Likewise.
* tests/regression.at (Rule Line Numbers)
(Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
2001-11-30 10:49:01 +00:00
Akim Demaille
760b53a84b * src/reduce.c (nonterminals_reduce): Instead of throwing away
useless nonterminals, move them at the end of the symbol arrays.
(reduce_output): Adjust.
* tests/reduce.at (Useless Nonterminals): Adjust.
2001-11-30 10:48:14 +00:00
Marc Autret
147e184ccc * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
of defining YYERROR_VERBOSE.
[AT_DATA]: $4 is now out of C declarations in the prologue.
2001-11-29 20:48:45 +00:00
Akim Demaille
cb4956ee99 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
* src/reduce.c (reduce_grammar_tables): Do not free useless tags,
as all tags are free'ed afterwards.
From Enrico Scholz.
2001-11-28 11:43:24 +00:00
Marc Autret
04d843a2a8 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
Use %error-verbose.
2001-11-27 20:46:12 +00:00
Akim Demaille
000f1a3cb2 * tests/torture.at (Exploding the Stack Size with Malloc):
s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
2001-11-27 18:57:51 +00:00
Akim Demaille
2ca209c11d * src/reader.c (readgram): Make sure rules for mid-rule actions
have a lineno equal to that of their host rule.
Reported by Hans Aberg.
* tests/regression.at (Rule Line Numbers): New.
2001-11-26 15:27:58 +00:00
Akim Demaille
e0c40012bd * src/reader.c (read_declarations): Don't abort on tok_illegal,
issue an error message.
* tests/regression.at (Invalid %directive): New.
Reported by Hans Aberg.
2001-11-26 09:50:29 +00:00
Akim Demaille
a034c8b849 * src/conflicts.c (conflicts_print): Don't complain at all when
there are no reduce/reduce conflicts, and as many shift/reduce
conflicts as expected.
* tests/regression.at (%expect right): Adjust.
2001-11-26 09:32:32 +00:00
Akim Demaille
b29b2ed560 Attaching lineno to buckets is stupid, since only one copy of each
symbol is kept, only the line of the first occurrence is kept too.
* src/symtab.h, src/symtab.c (bucket): Remove the line member.
* src/reader.c (rline_allocated): Remove, unused.
(symbol_list): Have a `line' member.
(symbol_list_new): New.
(readgram): Use it.
* src/print.c (print_grammar): Output the rule line numbers.
* tests/regression.at (Solved SR Conflicts)
(Unresolved SR Conflicts): Adjust.
Reported by Hans Aberg.
2001-11-23 14:13:02 +00:00
Akim Demaille
f047348491 * src/bison.simple (yyparse): When reporting verbosely an error,
no longer issue additional quotes around token names.
* tests/calc.at: Adjust.
2001-11-19 10:27:52 +00:00
Akim Demaille
d803322e27 * tests/calc.at, tests/output.at, tests/regression.at,
* tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
now the tests are run in private dirs, therefore AC_CLEANUP and
family can be simplified to 0-ary.
* tests/atlocal.in: Now that we run `elsewhere' than in tests/,
use abs. path to find config.h.
* tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
stderr, there can be way too much random noise.
Instead pass -Werror to GCC and rely on the exit status.
Reported by Wolfram Wagner.
2001-11-14 15:20:47 +00:00
Akim Demaille
7da99edea7 %expext was not functioning at all.
* src/conflicts.c (expected_conflicts): Set to -1.
(conflict_report): Use ngettext.
(conflicts_print): Check %expect and make its violation an error.
* doc/bison.texinfo (Expect Decl): Adjust.
* configure.in (AM_GNU_GETTEXT): Ask for ngettext.
* tests/regression.at (%expect not enough, %expect right)
(%expect too much): New.
2001-11-12 09:33:38 +00:00
Akim Demaille
ba9dda1a2e * tests/regression.at (Conflicts): Rename as...
(Unresolved SR Conflicts): this.
(Solved SR Conflicts): New.
2001-11-12 09:33:04 +00:00
Akim Demaille
c73a41af8e * src/conflicts.c (print_reductions): Accept OUT as argument.
Output to it, not to output_obstack.
* src/print.c (print_actions): Adjust.
2001-11-12 09:32:35 +00:00
Akim Demaille
0df87bb609 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
the result instead of using...
(src_total, rrc_total, src_count, rrc_count): Remove.
(any_conflicts): Remove.
(print_conflicts): Split into...
(conflicts_print, conflicts_output): New.
* src/conflicts.h: Adjust.
* src/main.c (main): Invoke both conflicts_output and conflicts_print.
* src/print.c (print_grammar): Issue `n' between to rule outputs.
* tests/regression.at (Conflicts): New.
Reported by Tom Lane.
2001-11-12 09:31:40 +00:00
Akim Demaille
e4d3d4de4c * tests/regression.at (Invalid input): Remove, duplicate with
``Invalid input: 1''.
2001-11-12 09:25:19 +00:00
Akim Demaille
6d7d248e72 * tests/torture.at (AT_DATA_STACK_TORTURE)
(Exploding the Stack Size with Alloca)
(Exploding the Stack Size with Malloc): New.
2001-11-12 09:25:05 +00:00
Akim Demaille
e4d910bf0f * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
pattern.
2001-11-05 09:19:00 +00:00
Akim Demaille
951366c145 * src/options.h (struct option_table_struct): set_flags is void*.
* src/options.c (longopts): Support `--output' and `%output'.
(usage): Adjust.
* src/lex.h (tok_setopt): Remove, replaced with...
(tok_intopt, tok_stropt): these new guys.
* src/lex.c (getopt.h): Not needed.
(token_buffer, unlexed_token_buffer): Not const.
(percent_table): Promote `-' over `_' in directive names.
Active `%name-prefix', `file-prefix', and `output'.
(parse_percent_token): Accept possible arguments to directives.
Promote `-' over `_' in directive names.
2001-11-05 09:09:19 +00:00
Akim Demaille
6b7e85b994 * src/symtab.h (SUNDEF): New.
* src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
stand for `uninitialized', instead of 0.
* src/reader.c (packsymbols, parse_thong_decl): Adjust.
* src/lex.c (lex): Adjust.
* tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
Number it 0.
Let yylex return it instead of a plain 0.
Reported by Dick Streefland.
2001-11-02 15:27:11 +00:00
Akim Demaille
cd5aafcf8c * tests/regression.at (Mixing %token styles): New test. 2001-11-02 14:15:48 +00:00
Akim Demaille
270a173cf3 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
Check that `9foo.y' produces correct cpp guards.
* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
guards.
Reported by Wwp.
2001-11-01 18:28:38 +00:00
Akim Demaille
561f9a30af * tests/regression.at (Invalid input: 2): New.
* src/lex.c (unlexed_token_buffer): New.
(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
too.
Reported by Wwp.
2001-11-01 18:05:22 +00:00
Akim Demaille
f987e9d257 * tests/calc.at: Catch up with 1.30.
* configure.in: Bump to 1.49a.
Adjust to newer Autotest.
2001-11-01 17:47:39 +00:00
Akim Demaille
3c1a79b314 * tests/atlocal.in (GCC): Add.
* tests/calc.at: s/m4_match/m4_bmatch/.
s/m4_patsubst/m4_bpatsubst/.
(AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
* configure.in: AC_SUBST(GCC).
2001-10-18 15:26:56 +00:00
Akim Demaille
ee006e3a4c Adjust. 2001-10-04 15:12:55 +00:00
Akim Demaille
342b8b6e21 Merge in branch-1_29. 2001-10-04 14:55:21 +00:00
Akim Demaille
3a7bc75ff7 Remove for the repo. 2001-10-04 13:21:02 +00:00
Marc Autret
087c8fdae3 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
to an explicit value to activate the feature. We do it here.
2001-09-01 01:20:54 +00:00
Akim Demaille
6fc7423473 * Makefile.am (AUTOMAKE_OPTIONS): 1.5. 2001-08-27 08:57:54 +00:00
Robert Anisko
bbb5bcc6f8 Revert to 1.28c 2001-08-25 13:13:14 +00:00
Pascal Bart
667a550e7b More cvsignore. 2001-08-23 22:51:37 +00:00
Akim Demaille
e5aa395b38 More cvsignore. 2001-08-15 08:43:44 +00:00
Pascal Bart
1e41465a20 * tests/atconfig.in (CPPFLAGS): Fix. 2001-08-13 19:30:26 +00:00
Akim Demaille
976e528f02 * tests/atconfig.in (CPPFLAGS): Fix. 2001-08-07 13:03:20 +00:00
Akim Demaille
8303fc422a * tests/atconfig.in (CPPFLAGS): Add.
* tests/calc.at (AT_CHECK): Use CPPFLAGS.
2001-08-04 14:00:09 +00:00
Akim Demaille
2ce1014469 * tests/Makefile.am (check-local): Ship testsuite.
* tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
Include `string.h'.
2001-08-03 10:13:42 +00:00
Akim Demaille
62ab6972e8 * src/getargs.h (raw_flag): Remove.
* src/getargs.c: Die on `-r'/`--raw'.
* src/lex.c (parse_percent_token): Die on `%raw'.
* src/reader.c (output_token_defines): Suppress call to `raw_flag'.
* tests/calc.at: Suppress test with option `--raw'.
2001-07-18 09:52:35 +00:00
Akim Demaille
1e24cc5b41 * config/: New.
* configure.in: Require Autoconf 2.50.
Update to gettext 0.10.38.
2001-07-14 17:27:59 +00:00
Akim Demaille
5141b01619 * m4/strerror_r.m4: New.
* m4/error.m4: Run AC_FUNC_STRERROR_R.
* lib/error.h, lib/error.c: Update.
2001-03-16 14:50:40 +00:00
Akim Demaille
6deb44470e Since we now use obstacks, more % directives can be enabled.
* src/lex.c (percent_table): Also accept `%yacc',
`%fixed_output_files', `%defines', `%no_parser', `%verbose', and
`%debug'.
Handle the actions for `%semantic_parser' and `%pure_parser' here,
instead of returning a token.
* src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
* src/reader.c (read_declarations): Adjust.
* src/files.c (open_files): Don't call `compute_base_names', don't
compute `attrsfile' since they depend upon data which might be
*in* the input file now.
(output_files): Do it here.
* src/output.c (output_headers): Document the fact that this patch
introduces a guaranteed SEGV for semantic parsers.
* doc/bison.texinfo: Document them.
* tests/suite.at: Exercise these %options.
2001-01-18 14:47:09 +00:00
Akim Demaille
705db0b507 Hopefully added to the repository all the distributed files. 2001-01-15 13:46:43 +00:00