Akim Demaille
92d7a23ace
gnulib: update.
...
* gnulib: Update to latest.
* lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
* m4/.gitignore: Regen.
* src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
Call xalloc_die on hash_insert failures.
Requested by the new __warn_unused_result__ attribute of
hash_insert.
2009-06-10 10:56:19 +02:00
Akim Demaille
12cf133f34
deterministic user-token-number redeclaration errors.
...
Address nondeterminism reported by Joel E. Denny.
http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
* src/uniqstr.h: Comment changes.
* src/location.h (boundary_cmp, location_cmp): New.
* src/symtab.c (user_token_number_redeclaration): New.
(symbol_translation): Use it.
* tests/input.at (Numbered tokens): Adjust the expected output.
2009-06-10 10:38:42 +02:00
Akim Demaille
796a2b0ab0
build: avoid ignored errors.
...
* doc/local.mk ($(CROSS_OPTIONS_TEXI)): Don't generate ignored
errors, they pollute the output.
2009-05-25 17:03:47 +02:00
Joel E. Denny
0b6d43c52f
Convert multiple variable definition warnings to complaints.
...
* NEWS (2.5): Add a new entry for that change.
* doc/bison.texinfo (Decl Summary): Update %define entry.
(Bison Options): Update -D/--define/-F/--force-define entry.
* src/muscle-tab.c (muscle_percent_define_insert): Implement.
* src/muscle-tab.h (muscle_percent_define_insert): Update
comments.
* tests/input.at (`%define errors'): Update.
(`%define, --define, --force-define'): Update.
(cherry picked from commit e3a33f7c23 )
2009-05-23 02:37:22 -04:00
Joel E. Denny
e3a33f7c23
Convert multiple variable definition warnings to complaints.
...
* NEWS (2.5): Add a new entry for that change.
* doc/bison.texinfo (Decl Summary): Update %define entry.
(Bison Options): Update -D/--define/-F/--force-define entry.
* src/muscle_tab.c (muscle_percent_define_insert): Implement.
* src/muscle_tab.h (muscle_percent_define_insert): Update
comments.
* tests/input.at (`%define errors'): Update.
(`%define, --define, --force-define'): Update.
2009-05-23 02:27:11 -04:00
Joel E. Denny
de5ab9400a
-F/--force-define and relative %define/-D/--define priorities.
...
* NEWS (2.5): Add documentation to -D/--define entry.
* build-aux/cross-options.pl: Hard-code association of
--force-define with %define.
* doc/bison.texinfo (Decl Summary): In %define entry,
cross-reference command-line options.
(Bison Options): Add documentation to -D/--define entry.
(Option Cross Key): Widen column for --force-define row.
* src/getargs.c (usage): Document -F/--force-define. Realign
options in output.
(short_options, long_options, getargs): Parse -F/--force-define,
and update muscle_percent_define_insert invocations.
* src/muscle-tab.h (muscle_percent_define_how): New enum type.
(muscle_percent_define_insert): Add argument with that type.
* src/muscle-tab.c (muscle_percent_define_insert): Implement
-F/--force-define behavior and priorities.
(muscle_percent_define_ensure): Update
muscle_percent_define_insert invocation.
* src/parse-gram.y (prologue_declaration): Update
muscle_percent_define_insert invocations.
* tests/input.at (`%define, --define'): Rename to...
(`%define, --define, --force-define'): ... this and extend.
(cherry picked from commit 34d4193815 )
Conflicts:
src/getargs.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
2009-05-23 00:24:30 -04:00
Joel E. Denny
f8e7258f7f
Update some comments to make sense for -D.
...
* data/bison.m4 (b4_check_user_names): In header comments, say
"user occurrence" instead of "grammar occurrence".
* src/muscle-tab.h (muscle_percent_define_insert): Likewise.
(muscle_percent_code_grow): Likewise just for consistency.
(cherry picked from commit 246c4efafe )
Conflicts:
src/muscle-tab.h
2009-05-23 00:00:02 -04:00
Joel E. Denny
34d4193815
-F/--force-define and relative %define/-D/--define priorities.
...
* NEWS (2.5): Add documentation to -D/--define entry.
* build-aux/cross-options.pl: Hard-code association of
--force-define with %define.
* doc/bison.texinfo (Decl Summary): In %define entry,
cross-reference command-line options.
(Bison Options): Add documentation to -D/--define entry.
(Option Cross Key): Widen column for --force-define row.
* src/getargs.c (usage): Document -F/--force-define. Realign
options in output.
(short_options, long_options, getargs): Parse -F/--force-define,
and update muscle_percent_define_insert invocation.
* src/muscle_tab.h (muscle_percent_define_how): New enum type.
(muscle_percent_define_insert): Add argument with that type.
* src/muscle_tab.c (muscle_percent_define_insert): Implement
-F/--force-define behavior and priorities.
* src/parse-gram.y (prologue_declaration): Update
muscle_percent_define_insert invocations.
* tests/input.at (`%define, --define'): Rename to...
(`%define, --define, --force-define'): ... this and extend.
2009-05-22 23:37:35 -04:00
Joel E. Denny
246c4efafe
Update some comments to make sense for -D.
...
* data/bison.m4 (b4_check_user_names): In header comments, say
"user occurrence" instead of "grammar occurrence".
* src/muscle_tab.h (muscle_percent_define_insert): Likewise.
(muscle_percent_code_grow): Likewise just for consistency.
2009-05-22 01:52:03 -04:00
Joel E. Denny
531683e74b
* data/c++.m4: Update copyright year.
2009-05-22 01:47:38 -04:00
Joel E. Denny
b987342bab
* data/c++.m4 (b4_namespace_close): Simplify slightly.
...
(cherry picked from commit e7bfa8b721 )
2009-05-20 18:05:03 -04:00
Joel E. Denny
e7bfa8b721
* data/c++.m4 (b4_namespace_close): Simplify slightly.
2009-05-20 17:14:08 -04:00
Joel E. Denny
4977e0a7d9
Handle a trailing `:' in a user-supplied C++ namespace better.
...
* data/c++.m4 (b4_namespace_close): Don't let it be printed
among the closing braces here. This fix might make the
generated code easier to debug, but otherwise it should be
insignificant because a trailing `:' is a C++ error already.
(cherry picked from commit 8c221795af )
2009-05-19 18:16:08 -04:00
Joel E. Denny
8c221795af
Handle a trailing `:' in a user-supplied C++ namespace better.
...
* data/c++.m4 (b4_namespace_close): Don't let it be printed
among the closing braces here. This fix might make the
generated code easier to debug, but otherwise it should be
insignificant because a trailing `:' is a C++ error already.
2009-05-19 18:14:25 -04:00
Akim Demaille
c8bf65f07e
remove useless variable.
...
* src/getargs.c (skeleton_arg): Remove now useless variable.
Should help the compiler see that this printf-like call is sane.
2009-05-19 11:36:32 +02:00
Akim Demaille
9b04dad70a
remove useless variable.
...
* src/getargs.c (skeleton_arg): Remove now useless variable.
Should help the compiler see that this printf-like call is sane.
2009-05-19 11:34:17 +02:00
Akim Demaille
4c6622c2dd
Rename token.prefix as api.tokens.prefix.
...
Discussed here.
http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00024.html .
* NEWS, data/bison.m4, data/c.m4, data/java.m4, doc/bison.texinfo,
* tests/c++.at, tests/calc.at, tests/java.at, tests/local.at
(token.prefix): Rename as...
(api.tokens.prefix): this.
2009-05-15 16:10:52 +02:00
Akim Demaille
7ac45a4687
Fix ChangeLog for the previous patch.
2009-05-11 08:53:35 +02:00
Akim Demaille
b10dd689b6
doc: use C++ headers.
...
* doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
headers.
2009-05-11 08:36:51 +02:00
Akim Demaille
3c248d705d
doc: use C++ headers.
...
* doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
headers.
2009-05-11 08:27:14 +02:00
Akim Demaille
99c08fb662
doc: token.prefix
...
* doc/bison.simple (Decl Summary): Document token.prefix.
(Calc++ Parser): Various fixes.
Formatting changes.
Use token.prefix.
Introduce a macro TOKEN to shorten the code and make it more
readable.
(Calc++ Scanner): Adjust.
* NEWS (Variable token.prefix): New.
2009-05-11 08:26:36 +02:00
Akim Demaille
ab2a9f5793
tests: check token numbers.
...
* tests/input.at (Numbered tokens): New.
2009-05-05 09:49:55 +02:00
Akim Demaille
601bdfabe2
fix hexadecimal token number support.
...
* src/scan-gram.l: Catch incorrect ids after hexadecimal numbers.
2009-05-05 09:44:07 +02:00
Akim Demaille
d19123e612
tests: check token numbers.
...
* tests/input.at (Numbered tokens): New.
2009-05-05 09:43:32 +02:00
Akim Demaille
84a1cb5ad0
bison: catch bad symbol names.
...
* src/scan-gram.l({int}{id}): Report as an invalid identifier.
* tests/input.at: Adjust.
2009-05-04 21:44:40 +02:00
Akim Demaille
cdf3f11338
identifiers: dashes are letters.
...
Dashes can now start identifiers (symbols and directives).
* src/scan-gram.l ({letter}): Add dash.
({id}): Remove it.
* tests/input.at (Symbols): Adjust.
Remove stray comment.
* tests/regression.at (Invalid inputs): Adjust error message.
* doc/bison.texinfo (Symbols): Update.
2009-05-04 21:38:42 +02:00
Akim Demaille
ecdfea9a12
bison: catch bad symbol names.
...
* src/scan-gram.l({int}{id}): Report as an invalid identifier.
* tests/input.at: Adjust.
2009-05-04 21:31:07 +02:00
Akim Demaille
43e6aea526
space changes.
...
* src/scan-gram.l: Untabify to be robust to zealous editors.
2009-05-04 21:31:02 +02:00
Akim Demaille
c046698e6e
identifiers: dashes are letters.
...
Dashes can now start identifiers (symbols and directives).
* src/scan-gram.l ({letter}): Add dash.
({id}): Remove it.
* tests/input.at (Symbols): Adjust.
Remove stray comment.
* tests/regression.at (Invalid inputs): Adjust error message.
* doc/bison.texinfo (Symbols): Update.
2009-05-04 21:30:52 +02:00
Joel E. Denny
98a345a219
Declare %code to be a permanent feature.
...
* NEWS (2.4.2): Here.
* doc/bison.texinfo (Prologue Alternatives): Don't say it's
experimental.
(Decl Summary): Likewise.
(cherry picked from commit cefb18280b )
2009-05-01 03:07:35 -04:00
Joel E. Denny
966aba6583
Declare %code to be a permanent feature.
...
* NEWS (2.4.2): Here.
* doc/bison.texinfo (Prologue Alternatives): Don't say it's
experimental.
(Decl Summary): Likewise.
(cherry picked from commit cefb18280b )
2009-05-01 03:00:20 -04:00
Joel E. Denny
6721294104
Convert underscores to dashes in some %define variable names.
...
For now, just api.push-pull and lr.keep-unreachable-states.
Maintain old names for backward compatibility.
* NEWS (2.5): Document.
* data/c.m4 (b4_identification): Update comment.
* data/yacc.c: Update access.
* doc/bison.texinfo: Update.
* etc/bench.pl.in (bench_push_parser): Update use.
* src/files.c (tr): Move to...
* src/getargs.c, src/getargs.h (tr): ... here because I can't
think of a better place to expose it. My logic is that, for all
uses of tr so far, command-line arguments can be involved, and
getargs.h is already included.
* src/main.c (main): Update access.
* src/muscle_tab.c (muscle_percent_define_insert): Convert old
variable names to new variable names before assigning value.
* src/reader.c (reader): Update setting default.
* tests/calc.at: Update uses.
* tests/conflicts.at (Unreachable States After Conflict
Resolution): Update use.
* tests/input.at (%define enum variables): Update use.
(%define backward compatibility): New test group.
* tests/push.at: Update uses.
* tests/reduce.at: Update uses.
* tests/torture.at: Update uses.
(cherry picked from commit 812775a039 )
Conflicts:
data/c.m4
etc/bench.pl.in
src/parse-gram.c
src/parse-gram.h
tests/conflicts.at
2009-04-30 03:43:58 -04:00
Joel E. Denny
812775a039
Convert underscores to dashes in some %define variable names.
...
For now, just api.push-pull and lr.keep-unreachable-states.
Maintain old names for backward compatibility.
* NEWS (2.5): Document.
* data/c.m4 (b4_identification): Update comment.
* data/yacc.c: Update access.
* doc/bison.texinfo: Update.
* etc/bench.pl.in (bench_grammar): Update use.
* src/files.c (tr): Move to...
* src/getargs.c, src/getargs.h (tr): ... here because I can't
think of a better place to expose it. My logic is that, for all
uses of tr so far, command-line arguments can be involved, and
getargs.h is already included.
* src/main.c (main): Update access.
* src/muscle_tab.c (muscle_percent_define_insert): Convert old
variable names to new variable names before assigning value.
* src/reader.c (reader): Update setting default.
* tests/calc.at: Update uses.
* tests/conflicts.at (Unreachable States After Conflict
Resolution): Update use.
* tests/input.at (%define enum variables): Update use.
(%define backward compatibility): New test group.
* tests/push.at: Update uses.
* tests/reduce.at: Update uses.
* tests/torture.at: Update uses.
2009-04-30 03:43:42 -04:00
Joel E. Denny
ba5c6d94b6
Set all front-end %define defaults in one place.
...
* src/main.c (main): Move lr.keep_unreachable_states default...
* src/reader.c (reader): ... to here.
(cherry picked from commit 1c4aa81df1 )
2009-04-30 02:52:19 -04:00
Joel E. Denny
5bab9d0862
Rename lr.default_reductions to lr.default-reductions.
...
* NEWS (2.5): Here.
* doc/bison.texinfo: Here.
* src/lalr.c (initialize_LA): Here.
* src/print.c (print_reductions): Here.
* src/reader.c (reader): Here.
* src/tables.c (action_row): Here.
* tests/input.at (%define enum variables): Here.
* tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here.
(cherry picked from commit 1d0f55cc84 )
2009-04-30 02:48:47 -04:00
Joel E. Denny
1c4aa81df1
Set all front-end %define defaults in one place.
...
* src/main.c (main): Move lr.keep_unreachable_states default...
* src/reader.c (reader): ... to here.
2009-04-30 00:31:12 -04:00
Joel E. Denny
1d0f55cc84
Rename lr.default_reductions to lr.default-reductions.
...
* NEWS (2.5): Here.
* doc/bison.texinfo: Here.
* src/lalr.c (initialize_LA): Here.
* src/print.c (print_reductions): Here.
* src/reader.c (reader): Here.
* src/tables.c (action_row): Here.
* tests/input.at (%define enum variables): Here.
* tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here.
2009-04-29 21:48:21 -04:00
Joel E. Denny
d521ee19f8
Pacify ./configure --enable-gcc-warnings.
...
* tests/input.at (Symbols): Prototype yyerror and yylex.
(cherry picked from commit 0b59345789 )
Conflicts:
ChangeLog
2009-04-29 20:54:59 -04:00
Joel E. Denny
0b59345789
Pacify ./configure --enable-gcc-warnings.
...
* tests/input.at (Symbols): Prototype yyerror and yylex.
2009-04-29 20:50:01 -04:00
Akim Demaille
0939aa2d3c
tests: check the use of dashes and periods in symbols.
...
* tests/input.at (Symbol): New test group.
(cherry picked from commit 746ee38c7c )
2009-04-29 20:41:32 -04:00
Joel E. Denny
c9aded4b88
Document how `%define "var" "value"' is not M4-friendly.
...
* src/parse-gram.y (variable): In comments here.
(cherry picked from commit 904ea1bca411d4d5f4f729e7f2982841a858f5ea)
Conflicts:
src/parse-gram.c
2009-04-29 20:19:17 -04:00
Joel E. Denny
ae618dcca5
Document how `%define "var" "value"' is not M4-friendly.
...
* src/parse-gram.y (variable): In comments here.
2009-04-29 20:18:33 -04:00
Joel E. Denny
6789b8bd7b
Add copyright updates missed during previous cherry pick.
...
* src/output.c: Here.
* src/parse-gram.y: Here.
* src/scan-gram.l: Here.
2009-04-29 20:03:52 -04:00
Akim Demaille
663ce7bb3e
variables: accept dashes.
...
* src/scan-gram.l ({id}): Also accept dashes after the initial
letter.
({directive}): Use {id}.
* src/parse-gram.y: Comment and formatting changes.
* doc/bison.texinfo (Symbols): Adjust the lexical definitions of
symbols.
* src/complain.h, src/complain.c (yacc_at): New.
* src/symtab.c (symbol_new): Use yacc_at to report inappropriate
symbol names.
* src/output.c (token_definitions_output): Do not #define token
names with dashes.
(cherry picked from commit 4f646c3794 )
Conflicts:
data/bison.m4
src/parse-gram.y
2009-04-29 18:50:12 -04:00
Joel E. Denny
8f0d265e9d
Clean up recent patches a little.
...
Reported by Akim Demaille.
* doc/bison.texinfo (Understanding): Fix typos.
* src/print.c (print_reductions): Don't use negated variable.
(cherry picked from commit 379261b3fd )
2009-04-24 02:54:47 -04:00
Joel E. Denny
f49097730e
List accepted values for a %define enum variable with an invalid value.
...
Suggested by Akim Demaille at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html >.
* data/bison.m4 (_b4_percent_define_check_values): Implement.
* src/muscle-tab.c (muscle_percent_define_check_values): Implement.
* tests/input.at (%define lr.default_reductions invalid values): Merge
into...
(%define enum variables): ... here, and update output.
(cherry picked from commit 25029e164a )
2009-04-24 02:54:10 -04:00
Joel E. Denny
379261b3fd
Clean up recent patches a little.
...
Reported by Akim Demaille.
* doc/bison.texinfo (Understanding): Fix typos.
* src/print.c (print_reductions): Don't use negated variable.
2009-04-24 02:47:42 -04:00
Joel E. Denny
25029e164a
List accepted values for a %define enum variable with an invalid value.
...
Suggested by Akim Demaille at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html >.
* data/bison.m4 (_b4_percent_define_check_values): Implement.
* src/muscle_tab.c (muscle_percent_define_check_values): Implement.
* tests/input.at (%define lr.default_reductions invalid values): Merge
into...
(%define enum variables): ... here, and update output.
2009-04-24 02:47:22 -04:00
Joel E. Denny
620b572773
Rename "default rule" to "default reduction".
...
This includes changing variable names in code, changing
comments, and renaming %define lr.default_rules to %define
lr.default_reductions.
* NEWS (2.5): Update IELR documentation.
* data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c:
Adjust YYDEFACT and yydefact_ documentation.
* doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
and lr.type documentation. Make some other wording
improvements.
(Glossary): Adjust cross-references and Default Reduction
definition.
* src/lalr.c (state_lookahead_tokens_count): Adjust code.
Remove a confusing comment pointed out by Akim Demaille.
(initialize_LA): Adjust code.
* src/print-xml.c (print_reductions): Adjust code.
* src/print.c (print_reductions): Adjust code.
* src/reader.c (reader): Adjust code.
* src/tables.c (action_row): Adjust code.
(token_actions): Adjust code.
* src/tables.h: Adjust YYDEFACT documentation.
* tests/input.at (%define lr.default_rules invalid values):
Rename test group to...
(%define lr.default_reductions invalid values): ... this, and
update grammar file and expected output.
* tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
(AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
2009-04-23 04:29:25 -04:00
Joel E. Denny
110ef36a1a
Rename "default rule" to "default reduction".
...
This includes changing variable names in code, changing
comments, and renaming %define lr.default_rules to %define
lr.default_reductions.
* NEWS (2.5): Update IELR documentation.
* data/bison.m4 (b4_integral_parser_tables_map): Adjust YYDEFACT
documentation.
* data/glr.c, data/lalr1.java: Sync copyright dates.
* doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
and lr.type documentation. Make some other wording
improvements.
(Glossary): Adjust cross-references and Default Reduction
definition.
* src/lalr.c (state_lookahead_tokens_count): Adjust code.
Remove a confusing comment pointed out by Akim Demaille.
(initialize_LA): Adjust code.
* src/print-xml.c (print_reductions): Adjust code.
* src/print.c (print_reductions): Adjust code.
* src/reader.c (reader): Adjust code.
* src/tables.c (action_row): Adjust code.
(token_actions): Adjust code.
* src/tables.h: Adjust YYDEFACT documentation.
* tests/input.at (%define lr.default_rules invalid values):
Rename test group to...
(%define lr.default_reductions invalid values): ... this, and
update grammar file and expected output.
* tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
(AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
2009-04-23 04:18:13 -04:00