]> git.saurik.com Git - bison.git/blobdiff - doc/bison.texinfo
* doc/bison.texinfo: Fix a couple of typos.
[bison.git] / doc / bison.texinfo
index 6183793b6231bed59e16e7e4af7570ac7a80434a..af9d5321af30e5cd97fe739f6153f4bf0bc14f84 100644 (file)
@@ -2048,7 +2048,7 @@ exp     : NUM           @{ $$ = $1; @}
             @}
 @end group
 @group
-        | '-' exp %preg NEG     @{ $$ = -$2; @}
+        | '-' exp %prec NEG     @{ $$ = -$2; @}
         | exp '^' exp           @{ $$ = pow ($1, $3); @}
         | '(' exp ')'           @{ $$ = $2; @}
 @end group
@@ -2684,6 +2684,10 @@ feature test macros can affect the behavior of Bison-generated
 @findex %requires
 @findex %provides
 @findex %code-top
+(The prologue alternatives described here are experimental.
+More user feedback will help to determine whether they should become permanent
+features.)
+
 The functionality of @var{Prologue} sections can often be subtle and
 inflexible.
 As an alternative, Bison provides a set of more explicit directives:
@@ -4271,6 +4275,9 @@ grammar symbol that has that semantic type tag unless that symbol has its own
 per-symbol @code{%destructor}.
 
 Finally, you can define two different kinds of default @code{%destructor}s.
+(These default forms are experimental.
+More user feedback will help to determine whether they should become permanent
+features.)
 You can place each of @code{<*>} and @code{<>} in the @var{symbols} list of
 exactly one @code{%destructor} declaration in your grammar file.
 The parser will invoke the @var{code} associated with one of these whenever it
@@ -7465,7 +7472,7 @@ for a complete and accurate documentation.
 @node C++ Semantic Values
 @subsection C++ Semantic Values
 @c - No objects in unions
-@c - YSTYPE
+@c - YYSTYPE
 @c - Printer and destructor
 
 The @code{%union} directive works as for C, see @ref{Union Decl, ,The
@@ -8573,12 +8580,22 @@ Separates alternate rules for the same result nonterminal.
 @deffn {Directive} <*>
 Used to define a default tagged @code{%destructor} or default tagged
 @code{%printer}.
+
+This feature is experimental.
+More user feedback will help to determine whether it should become a permanent
+feature.
+
 @xref{Destructor Decl, , Freeing Discarded Symbols}.
 @end deffn
 
 @deffn {Directive} <>
 Used to define a default tagless @code{%destructor} or default tagless
 @code{%printer}.
+
+This feature is experimental.
+More user feedback will help to determine whether it should become a permanent
+feature.
+
 @xref{Destructor Decl, , Freeing Discarded Symbols}.
 @end deffn
 
@@ -8591,9 +8608,10 @@ Start-Symbol}.  It cannot be used in the grammar.
 @deffn {Directive} %code @{@var{code}@}
 Other than semantic actions, this is probably the most common place you should
 write verbatim code for the parser implementation.
-For C/C++, it replaces the traditional Yacc prologue,
+It replaces the traditional Yacc prologue,
+@comment For C/C++, it replaces the traditional Yacc prologue,
 @code{%@{@var{code}%@}}, for most purposes.
-For Java, it inserts code into the parser class.
+@comment For Java, it inserts code into the parser class.
 
 @cindex Prologue
 @findex %union
@@ -8607,11 +8625,17 @@ not depend on its position in the grammar file relative to any
 Specifically, @code{%code @{@var{code}@}} always inserts your @var{code} into
 the parser code file after the usual contents of the parser header file.
 
+(Like all the Yacc prologue alternative directives, this directive is
+experimental.
+More user feedback will help to determine whether it should become a permanent
+feature.)
+
 @xref{Prologue Alternatives}.
 @end deffn
 
 @deffn {Directive} %code-top @{@var{code}@}
-Occasionally for C/C++ it is desirable to insert code near the top of the
+Occasionally it is desirable to insert code near the top of the
+@comment Occasionally for C/C++ it is desirable to insert code near the top of the
 parser code file.
 For example:
 
@@ -8622,8 +8646,8 @@ For example:
 @}
 @end smallexample
 
-@noindent
-For Java, @code{%code-top @{@var{code}@}} is currently unused.
+@comment @noindent
+@comment For Java, @code{%code-top @{@var{code}@}} is currently unused.
 
 @cindex Prologue
 @findex %union
@@ -8633,6 +8657,11 @@ Compare with @code{%@{@var{code}%@}} appearing before the first
 on its position in the grammar file relative to any
 @code{%union @{@var{code}@}}.
 
+(Like all the Yacc prologue alternative directives, this directive is
+experimental.
+More user feedback will help to determine whether it should become a permanent
+feature.)
+
 @xref{Prologue Alternatives}.
 @end deffn
 
@@ -8767,11 +8796,17 @@ Bison declaration to assign a precedence to a specific rule.
 @deffn {Directive} %provides @{@var{code}@}
 This is the right place to write additional definitions you would like Bison to
 expose externally.
-For C/C++, this directive inserts your @var{code} both into the parser header
+That is, this directive inserts your @var{code} both into the parser header
+@comment For C/C++, this directive inserts your @var{code} both into the parser header
 file (if generated; @pxref{Table of Symbols, ,%defines}) and into the parser
 code file after Bison's required definitions.
-For Java, it inserts your @var{code} into the parser java file after the parser
-class.
+@comment For Java, it inserts your @var{code} into the parser java file after the parser
+@comment class.
+
+(Like all the Yacc prologue alternative directives, this directive is
+experimental.
+More user feedback will help to determine whether it should become a permanent
+feature.)
 
 @xref{Prologue Alternatives}.
 @end deffn
@@ -8789,12 +8824,13 @@ Require a Version of Bison}.
 @deffn {Directive} %requires @{@var{code}@}
 This is the right place to write dependency code for externally exposed
 definitions required by Bison.
-For C/C++, such exposed definitions are those usually appearing in the parser
+Such exposed definitions are those usually appearing in the parser
+@comment For C/C++, such exposed definitions are those usually appearing in the parser
 header file.
 Thus, this is the right place to define types referenced in
 @code{%union @{@var{code}@}} directives, and it is the right place to override
 Bison's default @code{YYSTYPE} and @code{YYLTYPE} definitions.
-For Java, this is the right place to write import directives.
+@comment For Java, this is the right place to write import directives.
 
 @cindex Prologue
 @findex %union
@@ -8806,6 +8842,11 @@ Unlike @code{%@{@var{code}%@}}, @code{%requires @{@var{code}@}} inserts your
 generated; @pxref{Table of Symbols, ,%defines}) since Bison's required
 definitions should depend on it in both places.
 
+(Like all the Yacc prologue alternative directives, this directive is
+experimental.
+More user feedback will help to determine whether it should become a permanent
+feature.)
+
 @xref{Prologue Alternatives}.
 @end deffn
 
@@ -9207,12 +9248,12 @@ grammatically indivisible.  The piece of text it represents is a token.
 @c LocalWords: pre STDC GNUC endif yy YY alloca lf stddef stdlib YYDEBUG
 @c LocalWords: NUM exp subsubsection kbd Ctrl ctype EOF getchar isdigit
 @c LocalWords: ungetc stdin scanf sc calc ulator ls lm cc NEG prec yyerrok
-@c LocalWords: longjmp fprintf stderr preg yylloc YYLTYPE cos ln
+@c LocalWords: longjmp fprintf stderr yylloc YYLTYPE cos ln
 @c LocalWords: smallexample symrec val tptr FNCT fnctptr func struct sym
 @c LocalWords: fnct putsym getsym fname arith fncts atan ptr malloc sizeof
 @c LocalWords: strlen strcpy fctn strcmp isalpha symbuf realloc isalnum
 @c LocalWords: ptypes itype YYPRINT trigraphs yytname expseq vindex dtype
-@c LocalWords: Rhs YYRHSLOC LE nonassoc op deffn typeless typefull yynerrs
+@c LocalWords: Rhs YYRHSLOC LE nonassoc op deffn typeless yynerrs
 @c LocalWords: yychar yydebug msg YYNTOKENS YYNNTS YYNRULES YYNSTATES
 @c LocalWords: cparse clex deftypefun NE defmac YYACCEPT YYABORT param
 @c LocalWords: strncmp intval tindex lvalp locp llocp typealt YYBACKUP
@@ -9222,5 +9263,5 @@ grammatically indivisible.  The piece of text it represents is a token.
 @c LocalWords: hexflag STR exdent itemset asis DYYDEBUG YYFPRINTF args
 @c LocalWords: infile ypp yxx outfile itemx tex leaderfill
 @c LocalWords: hbox hss hfill tt ly yyin fopen fclose ofirst gcc ll
-@c LocalWords: yyrestart nbar yytext fst snd osplit ntwo strdup AST
+@c LocalWords: nbar yytext fst snd osplit ntwo strdup AST
 @c LocalWords: YYSTACK DVI fdl printindex