From c732d2c6dc97b3c9fc66295469105bd294e88d75 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Wed, 19 Jun 2002 07:46:11 +0000 Subject: [PATCH] * doc/bison.texinfo: Document ability to have multiple prologue sections. --- ChangeLog | 5 +++++ THANKS | 1 + doc/bison.texinfo | 27 +++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/ChangeLog b/ChangeLog index de3b1bf3..0422816f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-06-19 Zack Weinberg + + * doc/bison.texinfo: Document ability to have multiple + prologue sections. + 2002-06-18 Akim Demaille * src/files.c (compute_base_names): When computing the output file diff --git a/THANKS b/THANKS index 0c5b344a..1de53f07 100644 --- a/THANKS +++ b/THANKS @@ -50,6 +50,7 @@ Tom Tromey tromey@cygnus.com Wayne Green wayne@infosavvy.com Wolfram Wagner ww@mpi-sb.mpg.de Wwp subscript@free.fr +Zack Weinberg zack@codesourcery.com Many people are not named here because we lost track of them. We thank them! Please, help us keeping this list up to date. diff --git a/doc/bison.texinfo b/doc/bison.texinfo index be4d69e2..0d3ce7d5 100644 --- a/doc/bison.texinfo +++ b/doc/bison.texinfo @@ -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{%@}} 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 +#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 @subsection The Bison Declarations Section @cindex Bison declarations (introduction) -- 2.45.2