mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 17:53:02 +00:00
remove "experimental" warnings
Sadly enough, AFAIK, there were never answers to the "More user feedback will help to stabilize it" sentences. Remove them. * src/getargs.c: IELR, canonical LR and XML output are here to stay, and they are no more experimental than some other features. * doc/bison.texi: Likewise. Also remove "experimental" warning for Java, LAC, LR tuning options, and named references.
This commit is contained in:
@@ -455,20 +455,17 @@ Copying This Manual
|
|||||||
@unnumbered Introduction
|
@unnumbered Introduction
|
||||||
@cindex introduction
|
@cindex introduction
|
||||||
|
|
||||||
@dfn{Bison} is a general-purpose parser generator that converts an
|
@dfn{Bison} is a general-purpose parser generator that converts an annotated
|
||||||
annotated context-free grammar into a deterministic LR or generalized
|
context-free grammar into a deterministic LR or generalized LR (GLR) parser
|
||||||
LR (GLR) parser employing LALR(1) parser tables. As an experimental
|
employing LALR(1), IELR(1) or canonical LR(1) parser tables. Once you are
|
||||||
feature, Bison can also generate IELR(1) or canonical LR(1) parser
|
proficient with Bison, you can use it to develop a wide range of language
|
||||||
tables. Once you are proficient with Bison, you can use it to develop
|
parsers, from those used in simple desk calculators to complex programming
|
||||||
a wide range of language parsers, from those used in simple desk
|
languages.
|
||||||
calculators to complex programming languages.
|
|
||||||
|
|
||||||
Bison is upward compatible with Yacc: all properly-written Yacc
|
Bison is upward compatible with Yacc: all properly-written Yacc grammars
|
||||||
grammars ought to work with Bison with no change. Anyone familiar
|
ought to work with Bison with no change. Anyone familiar with Yacc should
|
||||||
with Yacc should be able to use Bison with little trouble. You need
|
be able to use Bison with little trouble. You need to be fluent in C, C++
|
||||||
to be fluent in C or C++ programming in order to use Bison or to
|
or Java programming in order to use Bison or to understand this manual.
|
||||||
understand this manual. Java is also supported as an experimental
|
|
||||||
feature.
|
|
||||||
|
|
||||||
We begin with tutorial chapters that explain the basic concepts of
|
We begin with tutorial chapters that explain the basic concepts of
|
||||||
using Bison and show three explained examples, each building on the
|
using Bison and show three explained examples, each building on the
|
||||||
@@ -580,10 +577,9 @@ are called LR(1) grammars. In brief, in these grammars, it must be possible
|
|||||||
to tell how to parse any portion of an input string with just a single token
|
to tell how to parse any portion of an input string with just a single token
|
||||||
of lookahead. For historical reasons, Bison by default is limited by the
|
of lookahead. For historical reasons, Bison by default is limited by the
|
||||||
additional restrictions of LALR(1), which is hard to explain simply.
|
additional restrictions of LALR(1), which is hard to explain simply.
|
||||||
@xref{Mysterious Conflicts}, for more information on this. As an
|
@xref{Mysterious Conflicts}, for more information on this. You can escape
|
||||||
experimental feature, you can escape these additional restrictions by
|
these additional restrictions by requesting IELR(1) or canonical LR(1)
|
||||||
requesting IELR(1) or canonical LR(1) parser tables. @xref{LR Table
|
parser tables. @xref{LR Table Construction}, to learn how.
|
||||||
Construction}, to learn how.
|
|
||||||
|
|
||||||
@cindex GLR parsing
|
@cindex GLR parsing
|
||||||
@cindex generalized LR (GLR) parsing
|
@cindex generalized LR (GLR) parsing
|
||||||
@@ -1280,8 +1276,7 @@ In addition to the @code{%dprec} and @code{%merge} directives,
|
|||||||
GLR parsers
|
GLR parsers
|
||||||
allow you to reject parses on the basis of arbitrary computations executed
|
allow you to reject parses on the basis of arbitrary computations executed
|
||||||
in user code, without having Bison treat this rejection as an error
|
in user code, without having Bison treat this rejection as an error
|
||||||
if there are alternative parses. (This feature is experimental and may
|
if there are alternative parses. For example,
|
||||||
evolve. We welcome user feedback.) For example,
|
|
||||||
|
|
||||||
@example
|
@example
|
||||||
widget:
|
widget:
|
||||||
@@ -4784,9 +4779,6 @@ value. In order to force Bison to recognize @samp{name.suffix} in its
|
|||||||
entirety as the name of a semantic value, the bracketed syntax
|
entirety as the name of a semantic value, the bracketed syntax
|
||||||
@samp{$[name.suffix]} must be used.
|
@samp{$[name.suffix]} must be used.
|
||||||
|
|
||||||
The named references feature is experimental. More user feedback will help
|
|
||||||
to stabilize it.
|
|
||||||
|
|
||||||
@node Declarations
|
@node Declarations
|
||||||
@section Bison Declarations
|
@section Bison Declarations
|
||||||
@cindex declarations, Bison
|
@cindex declarations, Bison
|
||||||
@@ -6406,9 +6398,7 @@ Obsoleted by @code{api.location.type} since Bison 2.7.
|
|||||||
@item Language(s): all
|
@item Language(s): all
|
||||||
|
|
||||||
@item Purpose: Specify the kind of states that are permitted to
|
@item Purpose: Specify the kind of states that are permitted to
|
||||||
contain default reductions. @xref{Default Reductions}. (The ability to
|
contain default reductions. @xref{Default Reductions}.
|
||||||
specify where default reductions should be used is experimental. More user
|
|
||||||
feedback will help to stabilize it.)
|
|
||||||
|
|
||||||
@item Accepted Values: @code{most}, @code{consistent}, @code{accepting}
|
@item Accepted Values: @code{most}, @code{consistent}, @code{accepting}
|
||||||
@item Default Value:
|
@item Default Value:
|
||||||
@@ -8370,8 +8360,7 @@ mysterious reduce/reduce conflicts. The best way to fix all these problems
|
|||||||
is to select a different parser table construction algorithm. Either
|
is to select a different parser table construction algorithm. Either
|
||||||
IELR(1) or canonical LR(1) would suffice, but the former is more efficient
|
IELR(1) or canonical LR(1) would suffice, but the former is more efficient
|
||||||
and easier to debug during development. @xref{LR Table Construction}, for
|
and easier to debug during development. @xref{LR Table Construction}, for
|
||||||
details. (Bison's IELR(1) and canonical LR(1) implementations are
|
details.
|
||||||
experimental. More user feedback will help to stabilize them.)
|
|
||||||
|
|
||||||
If you instead wish to work around LALR(1)'s limitations, you
|
If you instead wish to work around LALR(1)'s limitations, you
|
||||||
can often fix a mysterious conflict by identifying the two parser states
|
can often fix a mysterious conflict by identifying the two parser states
|
||||||
@@ -8439,9 +8428,6 @@ to tune fundamental aspects of the generated LR-based parsers. Some of
|
|||||||
these features easily eliminate shortcomings like those mentioned above.
|
these features easily eliminate shortcomings like those mentioned above.
|
||||||
Others can be helpful purely for understanding your parser.
|
Others can be helpful purely for understanding your parser.
|
||||||
|
|
||||||
Most of the features discussed in this section are still experimental. More
|
|
||||||
user feedback will help to stabilize them.
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* LR Table Construction:: Choose a different construction algorithm.
|
* LR Table Construction:: Choose a different construction algorithm.
|
||||||
* Default Reductions:: Disable default reductions.
|
* Default Reductions:: Disable default reductions.
|
||||||
@@ -8669,9 +8655,6 @@ The accepted values of @var{where} are:
|
|||||||
@item @code{consistent}
|
@item @code{consistent}
|
||||||
@item @code{accepting} (default for canonical LR)
|
@item @code{accepting} (default for canonical LR)
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
(The ability to specify where default reductions are permitted is
|
|
||||||
experimental. More user feedback will help to stabilize it.)
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node LAC
|
@node LAC
|
||||||
@@ -8707,9 +8690,7 @@ Enable LAC to improve syntax error handling.
|
|||||||
@item @code{none} (default)
|
@item @code{none} (default)
|
||||||
@item @code{full}
|
@item @code{full}
|
||||||
@end itemize
|
@end itemize
|
||||||
(This feature is experimental. More user feedback will help to stabilize
|
This feature is currently only available for deterministic parsers in C.
|
||||||
it. Moreover, it is currently only available for deterministic parsers in
|
|
||||||
C.)
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
Conceptually, the LAC mechanism is straight-forward. Whenever the parser
|
Conceptually, the LAC mechanism is straight-forward. Whenever the parser
|
||||||
|
|||||||
@@ -275,8 +275,7 @@ usage (int status)
|
|||||||
printf (_("Usage: %s [OPTION]... FILE\n"), program_name);
|
printf (_("Usage: %s [OPTION]... FILE\n"), program_name);
|
||||||
fputs (_("\
|
fputs (_("\
|
||||||
Generate a deterministic LR or generalized LR (GLR) parser employing\n\
|
Generate a deterministic LR or generalized LR (GLR) parser employing\n\
|
||||||
LALR(1), IELR(1), or canonical LR(1) parser tables. IELR(1) and\n\
|
LALR(1), IELR(1), or canonical LR(1) parser tables.\n\
|
||||||
canonical LR(1) support is experimental.\n\
|
|
||||||
\n\
|
\n\
|
||||||
"), stdout);
|
"), stdout);
|
||||||
|
|
||||||
@@ -332,7 +331,6 @@ Output:\n\
|
|||||||
-o, --output=FILE leave output to FILE\n\
|
-o, --output=FILE leave output to FILE\n\
|
||||||
-g, --graph[=FILE] also output a graph of the automaton\n\
|
-g, --graph[=FILE] also output a graph of the automaton\n\
|
||||||
-x, --xml[=FILE] also output an XML report of the automaton\n\
|
-x, --xml[=FILE] also output an XML report of the automaton\n\
|
||||||
(the XML schema is experimental)\n\
|
|
||||||
"), stdout);
|
"), stdout);
|
||||||
putc ('\n', stdout);
|
putc ('\n', stdout);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user