doc: fix lalr1.cc documentation.

* doc/bison.texinfo (C++ Scanner Interface): Fix yylex signature.
	(C++ Bison Interface): Fix lalr1.cc skeleton name.
	(C++ Parser Interface): Fix semantic_type and location_type names.
	Document yy::parser::token.
	Reported by Jerry Quinn.
This commit is contained in:
Akim Demaille
2010-05-10 10:27:23 +02:00
parent 12ff095cad
commit 0100cd629d
3 changed files with 25 additions and 7 deletions

View File

@@ -1,3 +1,12 @@
2010-05-10 Akim Demaille <demaille@gostai.com>
doc: fix lalr1.cc documentation.
* doc/bison.texinfo (C++ Scanner Interface): Fix yylex signature.
(C++ Bison Interface): Fix lalr1.cc skeleton name.
(C++ Parser Interface): Fix semantic_type and location_type names.
Document yy::parser::token.
Reported by Jerry Quinn.
2010-05-07 Akim Demaille <demaille@gostai.com> 2010-05-07 Akim Demaille <demaille@gostai.com>
doc: fix typo. doc: fix typo.

1
THANKS
View File

@@ -44,6 +44,7 @@ Guido Trentalancia trentalg@aston.ac.uk
H. Merijn Brand h.m.brand@hccnet.nl H. Merijn Brand h.m.brand@hccnet.nl
Hans Aberg haberg@matematik.su.se Hans Aberg haberg@matematik.su.se
Jan Nieuwenhuizen janneke@gnu.org Jan Nieuwenhuizen janneke@gnu.org
Jerry Quinn jlquinn@optonline.net
Jesse Thilo jthilo@gnu.org Jesse Thilo jthilo@gnu.org
Jim Kent jkent@arch.sel.sony.com Jim Kent jkent@arch.sel.sony.com
Jim Meyering jim@meyering.net Jim Meyering jim@meyering.net

View File

@@ -8013,8 +8013,8 @@ int yyparse (void);
@c - initial action @c - initial action
The C++ @acronym{LALR}(1) parser is selected using the skeleton directive, The C++ @acronym{LALR}(1) parser is selected using the skeleton directive,
@samp{%skeleton "lalr1.c"}, or the synonymous command-line option @samp{%skeleton "lalr1.cc"}, or the synonymous command-line option
@option{--skeleton=lalr1.c}. @option{--skeleton=lalr1.cc}.
@xref{Decl Summary}. @xref{Decl Summary}.
When run, @command{bison} will create several entities in the @samp{yy} When run, @command{bison} will create several entities in the @samp{yy}
@@ -8163,11 +8163,19 @@ this class is detailed below. It can be extended using the
it describes an additional member of the parser class, and an it describes an additional member of the parser class, and an
additional argument for its constructor. additional argument for its constructor.
@defcv {Type} {parser} {semantic_value_type} @defcv {Type} {parser} {semantic_type}
@defcvx {Type} {parser} {location_value_type} @defcvx {Type} {parser} {location_type}
The types for semantics value and locations. The types for semantics value and locations.
@end defcv @end defcv
@defcv {Type} {parser} {token}
A structure that contains (only) the definition of the tokens as the
@code{yytokentype} enumeration. To refer to the token @code{FOO}, the
scanner should use @code{yy::parser::token::FOO}. The scanner can use
@samp{typedef yy::parser::token token;} to ``import'' the token enumeration
(@pxref{Calc++ Scanner}).
@end defcv
@deftypemethod {parser} {} parser (@var{type1} @var{arg1}, ...) @deftypemethod {parser} {} parser (@var{type1} @var{arg1}, ...)
Build a new parser object. There are no arguments by default, unless Build a new parser object. There are no arguments by default, unless
@samp{%parse-param @{@var{type1} @var{arg1}@}} was used. @samp{%parse-param @{@var{type1} @var{arg1}@}} was used.
@@ -8206,7 +8214,7 @@ The parser invokes the scanner by calling @code{yylex}. Contrary to C
parsers, C++ parsers are always pure: there is no point in using the parsers, C++ parsers are always pure: there is no point in using the
@code{%define api.pure} directive. Therefore the interface is as follows. @code{%define api.pure} directive. Therefore the interface is as follows.
@deftypemethod {parser} {int} yylex (semantic_value_type& @var{yylval}, location_type& @var{yylloc}, @var{type1} @var{arg1}, ...) @deftypemethod {parser} {int} yylex (semantic_type* @var{yylval}, location_type* @var{yylloc}, @var{type1} @var{arg1}, ...)
Return the next token. Its type is the return value, its semantic Return the next token. Its type is the return value, its semantic
value and location being @var{yylval} and @var{yylloc}. Invocations of value and location being @var{yylval} and @var{yylloc}. Invocations of
@samp{%lex-param @{@var{type1} @var{arg1}@}} yield additional arguments. @samp{%lex-param @{@var{type1} @var{arg1}@}} yield additional arguments.
@@ -8850,7 +8858,7 @@ The first, inclusive, position of the range, and the first beyond.
@end deftypeivar @end deftypeivar
@deftypeop {Constructor} {Location} {} Location (Position @var{loc}) @deftypeop {Constructor} {Location} {} Location (Position @var{loc})
Create a @code{Location} denoting an empty range located at a given point. Create a @code{Location} denoting an empty range located at a given point.
@end deftypeop @end deftypeop
@deftypeop {Constructor} {Location} {} Location (Position @var{begin}, Position @var{end}) @deftypeop {Constructor} {Location} {} Location (Position @var{begin}, Position @var{end})
@@ -9064,7 +9072,7 @@ Return immediately from the parser, indicating success.
@end deffn @end deffn
@deffn {Statement} {return YYERROR;} @deffn {Statement} {return YYERROR;}
Start error recovery without printing an error message. Start error recovery without printing an error message.
@xref{Error Recovery}. @xref{Error Recovery}.
@end deffn @end deffn