* doc/bison.texinfo: Document ability to have multiple

prologue sections.
This commit is contained in:
Akim Demaille
2002-06-19 07:46:11 +00:00
parent 8c165d891d
commit c732d2c6dc
3 changed files with 33 additions and 0 deletions

View File

@@ -1,3 +1,8 @@
2002-06-19 Zack Weinberg <zack@codesourcery.com>
* doc/bison.texinfo: Document ability to have multiple
prologue sections.
2002-06-18 Akim Demaille <akim@epita.fr> 2002-06-18 Akim Demaille <akim@epita.fr>
* src/files.c (compute_base_names): When computing the output file * src/files.c (compute_base_names): When computing the output file

1
THANKS
View File

@@ -50,6 +50,7 @@ Tom Tromey tromey@cygnus.com
Wayne Green wayne@infosavvy.com Wayne Green wayne@infosavvy.com
Wolfram Wagner ww@mpi-sb.mpg.de Wolfram Wagner ww@mpi-sb.mpg.de
Wwp subscript@free.fr Wwp subscript@free.fr
Zack Weinberg zack@codesourcery.com
Many people are not named here because we lost track of them. We Many people are not named here because we lost track of them. We
thank them! Please, help us keeping this list up to date. thank them! Please, help us keeping this list up to date.

View File

@@ -2055,6 +2055,33 @@ that they precede the definition of @code{yyparse}. You can use
need any C declarations, you may omit the @samp{%@{} and @samp{%@}} need any C declarations, you may omit the @samp{%@{} and @samp{%@}}
delimiters that bracket this section. delimiters that bracket this section.
You may have more than one @var{Prologue} section, intermixed with the
@var{Bison declarations}. This allows you to have C and Bison
declarations that refer to each other. For example, the @code{%union}
declaration may use types defined in a header file, and you may wish to
prototype functions that take arguments of type @code{YYSTYPE}. This
can be done with two @var{Prologue} blocks, one before and one after the
@code{%union} declaration.
@smallexample
%@{
#include <stdio.h>
#include "ptypes.h"
%@}
%union @{
long n;
tree t; /* @r{@code{tree} is defined in @file{ptypes.h}.} */
@}
%@{
static void yyprint(FILE *, int, YYSTYPE);
#define YYPRINT(F, N, L) yyprint(F, N, L)
%@}
@dots{}
@end smallexample
@node Bison Declarations @node Bison Declarations
@subsection The Bison Declarations Section @subsection The Bison Declarations Section
@cindex Bison declarations (introduction) @cindex Bison declarations (introduction)