]> git.saurik.com Git - bison.git/blobdiff - doc/bison.texinfo
a -> an (minor typo fix)
[bison.git] / doc / bison.texinfo
index 8476176073f2fa51fc66a07fdb3db683cfc20a02..8f35ac602d8ae860b86d80bb04c36351f6dee506 100644 (file)
 @c @clear shorttitlepage-enabled
 @c @set shorttitlepage-enabled
 
 @c @clear shorttitlepage-enabled
 @c @set shorttitlepage-enabled
 
+@c Set following if you want to document %default-prec and %no-default-prec.
+@c This feature is experimental and may change in future Bison versions.
+@c @set defaultprec
+
 @c ISPELL CHECK: done, 14 Jan 1993 --bob
 
 @c Check COPYRIGHT dates.  should be updated in the titlepage, ifinfo
 @c ISPELL CHECK: done, 14 Jan 1993 --bob
 
 @c Check COPYRIGHT dates.  should be updated in the titlepage, ifinfo
@@ -352,7 +356,7 @@ encourage people to make other software free.  So we decided to make the
 practical conditions for using Bison match the practical conditions for
 using the other @acronym{GNU} tools.
 
 practical conditions for using Bison match the practical conditions for
 using the other @acronym{GNU} tools.
 
-This exception applies only when Bison is generating C code for a
+This exception applies only when Bison is generating C code for an
 @acronym{LALR}(1) parser; otherwise, the @acronym{GPL} terms operate
 as usual.  You can
 tell whether the exception applies to your @samp{.c} output file by
 @acronym{LALR}(1) parser; otherwise, the @acronym{GPL} terms operate
 as usual.  You can
 tell whether the exception applies to your @samp{.c} output file by
@@ -2477,7 +2481,8 @@ does not enforce this convention, but if you depart from it, people who
 read your program will be confused.
 
 All the escape sequences used in string literals in C can be used in
 read your program will be confused.
 
 All the escape sequences used in string literals in C can be used in
-Bison as well.  However, unlike Standard C, trigraphs have no special
+Bison as well, except that you must not use a null character within a
+string literal.  Also, unlike Standard C, trigraphs have no special
 meaning in Bison string literals, nor is backslash-newline allowed.  A
 literal string token must contain two or more characters; for a token
 containing just one character, use a character token (see above).
 meaning in Bison string literals, nor is backslash-newline allowed.  A
 literal string token must contain two or more characters; for a token
 containing just one character, use a character token (see above).
@@ -3684,10 +3689,12 @@ Declare a terminal symbol (token type name) that is nonassociative
 Using it in a way that would be associative is a syntax error.
 @end deffn
 
 Using it in a way that would be associative is a syntax error.
 @end deffn
 
+@ifset defaultprec
 @deffn {Directive} %default-prec
 Assign a precedence to rules lacking an explicit @code{%prec} modifier
 (@pxref{Contextual Precedence, ,Context-Dependent Precedence}).
 @end deffn
 @deffn {Directive} %default-prec
 Assign a precedence to rules lacking an explicit @code{%prec} modifier
 (@pxref{Contextual Precedence, ,Context-Dependent Precedence}).
 @end deffn
+@end ifset
 
 @deffn {Directive} %type
 Declare the type of semantic values for a nonterminal symbol
 
 @deffn {Directive} %type
 Declare the type of semantic values for a nonterminal symbol
@@ -3759,11 +3766,13 @@ and so on.  @xref{Multiple Parsers, ,Multiple Parsers in the Same
 Program}.
 @end deffn
 
 Program}.
 @end deffn
 
+@ifset defaultprec
 @deffn {Directive} %no-default-prec
 Do not assign a precedence to rules lacking an explicit @code{%prec}
 modifier (@pxref{Contextual Precedence, ,Context-Dependent
 Precedence}).
 @end deffn
 @deffn {Directive} %no-default-prec
 Do not assign a precedence to rules lacking an explicit @code{%prec}
 modifier (@pxref{Contextual Precedence, ,Context-Dependent
 Precedence}).
 @end deffn
+@end ifset
 
 @deffn {Directive} %no-parser
 Do not include any C code in the parser file; generate tables only.  The
 
 @deffn {Directive} %no-parser
 Do not include any C code in the parser file; generate tables only.  The
@@ -4863,6 +4872,7 @@ exp:    @dots{}
 @end group
 @end example
 
 @end group
 @end example
 
+@ifset defaultprec
 If you forget to append @code{%prec UMINUS} to the rule for unary
 minus, Bison silently assumes that minus has its usual precedence.
 This kind of problem can be tricky to debug, since one typically
 If you forget to append @code{%prec UMINUS} to the rule for unary
 minus, Bison silently assumes that minus has its usual precedence.
 This kind of problem can be tricky to debug, since one typically
@@ -4882,6 +4892,7 @@ grammar, but it helps to protect against incorrect rule precedences.
 
 The effect of @code{%no-default-prec;} can be reversed by giving
 @code{%default-prec;}, which is the default.
 
 The effect of @code{%no-default-prec;} can be reversed by giving
 @code{%default-prec;}, which is the default.
+@end ifset
 
 @node Parser States
 @section Parser States
 
 @node Parser States
 @section Parser States
@@ -6814,11 +6825,13 @@ parsing.  @xref{Parser Function, ,The Parser Function @code{yyparse}}.
 Equip the parser for debugging.  @xref{Decl Summary}.
 @end deffn
 
 Equip the parser for debugging.  @xref{Decl Summary}.
 @end deffn
 
+@ifset defaultprec
 @deffn {Directive} %default-prec
 Assign a precedence to rules that lack an explicit @samp{%prec}
 modifier.  @xref{Contextual Precedence, ,Context-Dependent
 Precedence}.
 @end deffn
 @deffn {Directive} %default-prec
 Assign a precedence to rules that lack an explicit @samp{%prec}
 modifier.  @xref{Contextual Precedence, ,Context-Dependent
 Precedence}.
 @end deffn
+@end ifset
 
 @deffn {Directive} %defines
 Bison declaration to create a header file meant for the scanner.
 
 @deffn {Directive} %defines
 Bison declaration to create a header file meant for the scanner.
@@ -6873,11 +6886,13 @@ function is applied to the two semantic values to get a single result.
 Bison declaration to rename the external symbols.  @xref{Decl Summary}.
 @end deffn
 
 Bison declaration to rename the external symbols.  @xref{Decl Summary}.
 @end deffn
 
+@ifset defaultprec
 @deffn {Directive} %no-default-prec
 Do not assign a precedence to rules that lack an explicit @samp{%prec}
 modifier.  @xref{Contextual Precedence, ,Context-Dependent
 Precedence}.
 @end deffn
 @deffn {Directive} %no-default-prec
 Do not assign a precedence to rules that lack an explicit @samp{%prec}
 modifier.  @xref{Contextual Precedence, ,Context-Dependent
 Precedence}.
 @end deffn
+@end ifset
 
 @deffn {Directive} %no-lines
 Bison declaration to avoid generating @code{#line} directives in the
 
 @deffn {Directive} %no-lines
 Bison declaration to avoid generating @code{#line} directives in the