From 94175978091b178f6e547409d2dce98ff4637f2a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 18 Dec 2002 00:09:33 +0000 Subject: [PATCH] (Parser Function, Purel Calling, Error Reporting, Table of Symbols): Omit mentions of %lex-param and %parse-param from the documentation for now. --- doc/bison.texinfo | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/doc/bison.texinfo b/doc/bison.texinfo index 96100d2..59f937a 100644 --- a/doc/bison.texinfo +++ b/doc/bison.texinfo @@ -3879,6 +3879,12 @@ Return immediately with value 0 (to report success). Return immediately with value 1 (to report failure). @end defmac +@c For now, do not document %lex-param and %parse-param, since it's +@c not clear that the current behavior is stable enough. For example, +@c we may need to add %error-param. +@clear documentparam + +@ifset documentparam If you use a reentrant parser, you can optionally pass additional parameter information to it in a reentrant way. To do so, use the declaration @code{%parse-param}: @@ -3886,8 +3892,8 @@ declaration @code{%parse-param}: @deffn {Directive} %parse-param @{@var{argument-declaration}@} @findex %parse-param Declare that an argument declared by @code{argument-declaration} is an -additional @code{yyparse} argument. This argument is also passed to -@code{yyerror}. The @var{argument-declaration} is used when declaring +additional @code{yyparse} argument. +The @var{argument-declaration} is used when declaring functions or prototypes. The last identifier in @var{argument-declaration} must be the argument name. @end deffn @@ -3917,6 +3923,7 @@ In the grammar actions, use expressions like this to refer to the data: @example exp: @dots{} @{ @dots{}; *randomness += 1; @dots{} @} @end example +@end ifset @node Lexical @@ -4123,6 +4130,7 @@ this case, omit the second argument; @code{yylex} will be called with only one argument. +@ifset documentparam If you wish to pass the additional parameter data to @code{yylex}, use @code{%lex-param} just like @code{%parse-param} (@pxref{Parser Function}). @@ -4163,6 +4171,7 @@ and finally, if both @code{%pure-parser} and @code{%locations} are used: int yylex (YYSTYPE *lvalp, YYLTYPE *llocp, int *nastiness); int yyparse (int *nastiness, int *randomness); @end example +@end ifset @node Error Reporting @section The Error Reporting Function @code{yyerror} @@ -4227,6 +4236,7 @@ void yyerror (char const *msg); /* Yacc parsers. */ void yyerror (YYLTYPE *locp, char const *msg); /* GLR parsers. */ @end example +@ifset documentparam If @samp{%parse-param @{int *nastiness@}} is used, then: @example @@ -4260,6 +4270,7 @@ void yyerror (YYLTYPE *locp, int *nastiness, int *randomness, char const *msg); @end example +@end ifset @noindent The prototypes are only indications of how the code produced by Bison @@ -6580,11 +6591,13 @@ Bison declaration to assign left associativity to token(s). @xref{Precedence Decl, ,Operator Precedence}. @end deffn +@ifset documentparam @deffn {Directive} %lex-param @{@var{argument-declaration}@} Bison declaration to specifying an additional parameter that @code{yylex} should accept. @xref{Pure Calling,, Calling Conventions for Pure Parsers}. @end deffn +@end ifset @deffn {Directive} %merge Bison declaration to assign a merging function to a rule. If there is a @@ -6612,11 +6625,13 @@ Bison declaration to set the name of the parser file. @xref{Decl Summary}. @end deffn +@ifset documentparam @deffn {Directive} %parse-param @{@var{argument-declaration}@} Bison declaration to specifying an additional parameter that @code{yyparse} should accept. @xref{Parser Function,, The Parser Function @code{yyparse}}. @end deffn +@end ifset @deffn {Directive} %prec Bison declaration to assign a precedence to a specific rule. -- 2.7.4