mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-16 07:43:03 +00:00
%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.
This commit is contained in:
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
|
||||
212
doc/bison.info
212
doc/bison.info
@@ -31,115 +31,115 @@ instead of in the original English.
|
||||
|
||||
Indirect:
|
||||
bison.info-1: 1313
|
||||
bison.info-2: 50689
|
||||
bison.info-3: 100579
|
||||
bison.info-4: 147579
|
||||
bison.info-5: 197449
|
||||
bison.info-2: 50690
|
||||
bison.info-3: 100580
|
||||
bison.info-4: 147602
|
||||
bison.info-5: 197472
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top1313
|
||||
Node: Introduction8967
|
||||
Node: Conditions10242
|
||||
Node: Copying11706
|
||||
Node: Concepts30909
|
||||
Node: Language and Grammar31988
|
||||
Node: Grammar in Bison37004
|
||||
Node: Semantic Values38928
|
||||
Node: Semantic Actions41029
|
||||
Node: Locations Overview42218
|
||||
Node: Bison Parser43665
|
||||
Node: Stages45977
|
||||
Node: Grammar Layout47260
|
||||
Node: Examples48517
|
||||
Node: RPN Calc49715
|
||||
Node: Rpcalc Decls50689
|
||||
Node: Rpcalc Rules52276
|
||||
Node: Rpcalc Input54076
|
||||
Node: Rpcalc Line55537
|
||||
Node: Rpcalc Expr56652
|
||||
Node: Rpcalc Lexer58597
|
||||
Node: Rpcalc Main61169
|
||||
Node: Rpcalc Error61567
|
||||
Node: Rpcalc Gen62575
|
||||
Node: Rpcalc Compile63724
|
||||
Node: Infix Calc64599
|
||||
Node: Simple Error Recovery67306
|
||||
Node: Location Tracking Calc69195
|
||||
Node: Ltcalc Decls69925
|
||||
Node: Ltcalc Rules70834
|
||||
Node: Ltcalc Lexer72895
|
||||
Node: Multi-function Calc75233
|
||||
Node: Mfcalc Decl76800
|
||||
Node: Mfcalc Rules78823
|
||||
Node: Mfcalc Symtab80203
|
||||
Node: Exercises86576
|
||||
Node: Grammar File87082
|
||||
Node: Grammar Outline87930
|
||||
Node: C Declarations88664
|
||||
Node: Bison Declarations89244
|
||||
Node: Grammar Rules89656
|
||||
Node: C Code90116
|
||||
Node: Symbols91046
|
||||
Node: Rules96127
|
||||
Node: Recursion97766
|
||||
Node: Semantics99485
|
||||
Node: Value Type100579
|
||||
Node: Multiple Types101251
|
||||
Node: Actions102268
|
||||
Node: Action Types105053
|
||||
Node: Mid-Rule Actions106356
|
||||
Node: Locations111926
|
||||
Node: Location Type112574
|
||||
Node: Actions and Locations113132
|
||||
Node: Location Default Action115288
|
||||
Node: Declarations116751
|
||||
Node: Token Decl118070
|
||||
Node: Precedence Decl120083
|
||||
Node: Union Decl121634
|
||||
Node: Type Decl122478
|
||||
Node: Expect Decl123384
|
||||
Node: Start Decl124930
|
||||
Node: Pure Decl125308
|
||||
Node: Decl Summary126985
|
||||
Node: Multiple Parsers133113
|
||||
Node: Interface134607
|
||||
Node: Parser Function135479
|
||||
Node: Lexical136314
|
||||
Node: Calling Convention137720
|
||||
Node: Token Values140491
|
||||
Node: Token Positions141640
|
||||
Node: Pure Calling142525
|
||||
Node: Error Reporting145457
|
||||
Node: Action Features147579
|
||||
Node: Algorithm150874
|
||||
Node: Look-Ahead153167
|
||||
Node: Shift/Reduce155299
|
||||
Node: Precedence158211
|
||||
Node: Why Precedence158862
|
||||
Node: Using Precedence160727
|
||||
Node: Precedence Examples161695
|
||||
Node: How Precedence162396
|
||||
Node: Contextual Precedence163545
|
||||
Node: Parser States165336
|
||||
Node: Reduce/Reduce166579
|
||||
Node: Mystery Conflicts170140
|
||||
Node: Stack Overflow173526
|
||||
Node: Error Recovery174899
|
||||
Node: Context Dependency180035
|
||||
Node: Semantic Tokens180883
|
||||
Node: Lexical Tie-ins183900
|
||||
Node: Tie-in Recovery185448
|
||||
Node: Debugging187620
|
||||
Node: Invocation190921
|
||||
Node: Bison Options192173
|
||||
Node: Environment Variables195723
|
||||
Node: Option Cross Key196571
|
||||
Node: VMS Invocation197449
|
||||
Node: Table of Symbols198233
|
||||
Node: Glossary206201
|
||||
Node: Copying This Manual212505
|
||||
Node: GNU Free Documentation License212714
|
||||
Node: Index232579
|
||||
Node: Introduction8968
|
||||
Node: Conditions10243
|
||||
Node: Copying11707
|
||||
Node: Concepts30910
|
||||
Node: Language and Grammar31989
|
||||
Node: Grammar in Bison37005
|
||||
Node: Semantic Values38929
|
||||
Node: Semantic Actions41030
|
||||
Node: Locations Overview42219
|
||||
Node: Bison Parser43666
|
||||
Node: Stages45978
|
||||
Node: Grammar Layout47261
|
||||
Node: Examples48518
|
||||
Node: RPN Calc49716
|
||||
Node: Rpcalc Decls50690
|
||||
Node: Rpcalc Rules52277
|
||||
Node: Rpcalc Input54077
|
||||
Node: Rpcalc Line55538
|
||||
Node: Rpcalc Expr56653
|
||||
Node: Rpcalc Lexer58598
|
||||
Node: Rpcalc Main61170
|
||||
Node: Rpcalc Error61568
|
||||
Node: Rpcalc Gen62576
|
||||
Node: Rpcalc Compile63725
|
||||
Node: Infix Calc64600
|
||||
Node: Simple Error Recovery67307
|
||||
Node: Location Tracking Calc69196
|
||||
Node: Ltcalc Decls69926
|
||||
Node: Ltcalc Rules70835
|
||||
Node: Ltcalc Lexer72896
|
||||
Node: Multi-function Calc75234
|
||||
Node: Mfcalc Decl76801
|
||||
Node: Mfcalc Rules78824
|
||||
Node: Mfcalc Symtab80204
|
||||
Node: Exercises86577
|
||||
Node: Grammar File87083
|
||||
Node: Grammar Outline87931
|
||||
Node: C Declarations88665
|
||||
Node: Bison Declarations89245
|
||||
Node: Grammar Rules89657
|
||||
Node: C Code90117
|
||||
Node: Symbols91047
|
||||
Node: Rules96128
|
||||
Node: Recursion97767
|
||||
Node: Semantics99486
|
||||
Node: Value Type100580
|
||||
Node: Multiple Types101252
|
||||
Node: Actions102269
|
||||
Node: Action Types105054
|
||||
Node: Mid-Rule Actions106357
|
||||
Node: Locations111927
|
||||
Node: Location Type112575
|
||||
Node: Actions and Locations113133
|
||||
Node: Location Default Action115289
|
||||
Node: Declarations116752
|
||||
Node: Token Decl118071
|
||||
Node: Precedence Decl120084
|
||||
Node: Union Decl121635
|
||||
Node: Type Decl122479
|
||||
Node: Expect Decl123385
|
||||
Node: Start Decl124953
|
||||
Node: Pure Decl125331
|
||||
Node: Decl Summary127008
|
||||
Node: Multiple Parsers133136
|
||||
Node: Interface134630
|
||||
Node: Parser Function135502
|
||||
Node: Lexical136337
|
||||
Node: Calling Convention137743
|
||||
Node: Token Values140514
|
||||
Node: Token Positions141663
|
||||
Node: Pure Calling142548
|
||||
Node: Error Reporting145480
|
||||
Node: Action Features147602
|
||||
Node: Algorithm150897
|
||||
Node: Look-Ahead153190
|
||||
Node: Shift/Reduce155322
|
||||
Node: Precedence158234
|
||||
Node: Why Precedence158885
|
||||
Node: Using Precedence160750
|
||||
Node: Precedence Examples161718
|
||||
Node: How Precedence162419
|
||||
Node: Contextual Precedence163568
|
||||
Node: Parser States165359
|
||||
Node: Reduce/Reduce166602
|
||||
Node: Mystery Conflicts170163
|
||||
Node: Stack Overflow173549
|
||||
Node: Error Recovery174922
|
||||
Node: Context Dependency180058
|
||||
Node: Semantic Tokens180906
|
||||
Node: Lexical Tie-ins183923
|
||||
Node: Tie-in Recovery185471
|
||||
Node: Debugging187643
|
||||
Node: Invocation190944
|
||||
Node: Bison Options192196
|
||||
Node: Environment Variables195746
|
||||
Node: Option Cross Key196594
|
||||
Node: VMS Invocation197472
|
||||
Node: Table of Symbols198256
|
||||
Node: Glossary206224
|
||||
Node: Copying This Manual212528
|
||||
Node: GNU Free Documentation License212737
|
||||
Node: Index232602
|
||||
|
||||
End Tag Table
|
||||
|
||||
@@ -34,7 +34,7 @@ File: bison.info, Node: Top, Next: Introduction, Up: (dir)
|
||||
Bison
|
||||
*****
|
||||
|
||||
This manual documents version 1.30b of Bison, updated 5 November
|
||||
This manual documents version 1.30b of Bison, updated 12 November
|
||||
2001.
|
||||
|
||||
* Menu:
|
||||
|
||||
@@ -623,19 +623,20 @@ Suppressing Conflict Warnings
|
||||
|
||||
Bison normally warns if there are any conflicts in the grammar
|
||||
(*note Shift/Reduce Conflicts: Shift/Reduce.), but most real grammars
|
||||
have harmless shift/reduce conflicts which are resolved in a
|
||||
predictable way and would be difficult to eliminate. It is desirable
|
||||
to suppress the warning about these conflicts unless the number of
|
||||
conflicts changes. You can do this with the `%expect' declaration.
|
||||
have harmless shift/reduce conflicts which are resolved in a predictable
|
||||
way and would be difficult to eliminate. It is desirable to suppress
|
||||
the warning about these conflicts unless the number of conflicts
|
||||
changes. You can do this with the `%expect' declaration.
|
||||
|
||||
The declaration looks like this:
|
||||
|
||||
%expect N
|
||||
|
||||
Here N is a decimal integer. The declaration says there should be no
|
||||
warning if there are N shift/reduce conflicts and no reduce/reduce
|
||||
conflicts. The usual warning is given if there are either more or fewer
|
||||
conflicts, or if there are any reduce/reduce conflicts.
|
||||
Here N is a decimal integer. The declaration says there should be
|
||||
no warning if there are N shift/reduce conflicts and no reduce/reduce
|
||||
conflicts. An error, instead of the usual warning, is given if there
|
||||
are either more or fewer conflicts, or if there are any reduce/reduce
|
||||
conflicts.
|
||||
|
||||
In general, using `%expect' involves these steps:
|
||||
|
||||
|
||||
@@ -3070,11 +3070,11 @@ terminal symbol. All kinds of token declarations allow
|
||||
@findex %expect
|
||||
|
||||
Bison normally warns if there are any conflicts in the grammar
|
||||
(@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars have harmless shift/reduce
|
||||
conflicts which are resolved in a predictable way and would be difficult to
|
||||
eliminate. It is desirable to suppress the warning about these conflicts
|
||||
unless the number of conflicts changes. You can do this with the
|
||||
@code{%expect} declaration.
|
||||
(@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars
|
||||
have harmless shift/reduce conflicts which are resolved in a predictable
|
||||
way and would be difficult to eliminate. It is desirable to suppress
|
||||
the warning about these conflicts unless the number of conflicts
|
||||
changes. You can do this with the @code{%expect} declaration.
|
||||
|
||||
The declaration looks like this:
|
||||
|
||||
@@ -3082,10 +3082,11 @@ The declaration looks like this:
|
||||
%expect @var{n}
|
||||
@end example
|
||||
|
||||
Here @var{n} is a decimal integer. The declaration says there should be no
|
||||
warning if there are @var{n} shift/reduce conflicts and no reduce/reduce
|
||||
conflicts. The usual warning is given if there are either more or fewer
|
||||
conflicts, or if there are any reduce/reduce conflicts.
|
||||
Here @var{n} is a decimal integer. The declaration says there should be
|
||||
no warning if there are @var{n} shift/reduce conflicts and no
|
||||
reduce/reduce conflicts. An error, instead of the usual warning, is
|
||||
given if there are either more or fewer conflicts, or if there are any
|
||||
reduce/reduce conflicts.
|
||||
|
||||
In general, using @code{%expect} involves these steps:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 5 November 2001
|
||||
@set UPDATED 12 November 2001
|
||||
@set UPDATED-MONTH November 2001
|
||||
@set EDITION 1.30b
|
||||
@set VERSION 1.30b
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 5 November 2001
|
||||
@set UPDATED 12 November 2001
|
||||
@set UPDATED-MONTH November 2001
|
||||
@set EDITION 1.30b
|
||||
@set VERSION 1.30b
|
||||
|
||||
Reference in New Issue
Block a user