bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

doc: refer to the examples


From: Akim Demaille
Subject: doc: refer to the examples
Date: Wed, 4 Aug 2021 21:42:53 +0200

commit 93f9e527ca2ba0a1afb5ebcb07b0cc6bf6550f25
Author: Akim Demaille <akim.demaille@gmail.com>
Date:   Wed Aug 4 21:35:05 2021 +0200

    doc: refer to the examples
    
    * doc/bison.texi: Point to rpcalc, mfcalc, simple.y, calc++, c/glr and
    c++/glr.

diff --git a/doc/bison.texi b/doc/bison.texi
index f73cc8194..7b77f328b 100644
--- a/doc/bison.texi
+++ b/doc/bison.texi
@@ -1162,7 +1162,10 @@ cannot be used within the same enumerated type 
declaration.
 @cindex conflicts
 @cindex reduce/reduce conflicts
 
-Let's consider an example, vastly simplified from a C++ grammar.
+Let's consider an example, vastly simplified from a C++
+grammar.@footnote{The sources of an extended version of this example are
+available in C as @file{examples/c/glr}, and in C++ as
+@file{examples/c++/glr}.}
 
 @example
 %@{
@@ -1675,6 +1678,14 @@ These examples are simple, but Bison grammars for real 
programming
 languages are written the same way.  You can copy these examples into a
 source file to try them.
 
+@sp 1
+
+Bison comes with several examples (including for the different target
+languages).  If this package is properly installed, you shall find them in
+@file{@var{prefix}/share/doc/bison/examples}, where @var{prefix} is the root
+of the installation, probably something like @file{/usr/local} or
+@file{/usr}.
+
 @menu
 * RPN Calc::               Reverse Polish Notation Calculator;
                              a first example with no operator precedence.
@@ -1693,7 +1704,9 @@ source file to try them.
 @cindex @code{rpcalc}
 @cindex calculator, simple
 
-The first example is that of a simple double-precision @dfn{Reverse Polish
+The first example@footnote{The sources of @command{rpcalc} are available as
+@file{examples/c/rpcalc}.} is that of a simple double-precision @dfn{Reverse
+Polish
 Notation} calculator (a calculator using postfix operators).  This example
 provides a good starting point, since operator precedence is not an issue.
 The second example will illustrate how operator precedence is handled.
@@ -2548,7 +2561,8 @@ valid input, in comments, in literal strings, and so on.
 @cindex calculator, multi-function
 
 Now that the basics of Bison have been discussed, it is time to move on to
-a more advanced problem.  The above calculators provided only five
+a more advanced problem.@footnote{The sources of @command{mfcalc} are 
available as
+@file{examples/c/mfcalc}.}  The above calculators provided only five
 functions, @samp{+}, @samp{-}, @samp{*}, @samp{/} and @samp{^}.  It would
 be nice to have a calculator that provides other mathematical functions such
 as @code{sin}, @code{cos}, etc.
@@ -2602,7 +2616,8 @@ Note that multiple assignment and nested function calls 
are permitted.
 @node Mfcalc Declarations
 @subsection Declarations for @code{mfcalc}
 
-Here are the C and Bison declarations for the multi-function calculator.
+Here are the C and Bison declarations for the multi-function
+calculator.
 
 @ignore
 @comment file: c/mfcalc/mfcalc.y
@@ -12048,9 +12063,10 @@ The Bison parser in C++ is an object, an instance of 
the class
 @subsection A Simple C++ Example
 
 This tutorial about C++ parsers is based on a simple, self contained
-example.  The following sections are the reference manual for Bison with
-C++, the last one showing a fully blown example (@pxref{A Complete C++
-Example}).
+example.@footnote{The sources of this example are available as
+@file{examples/c++/simple.yy}.}  The following sections are the reference
+manual for Bison with C++, the last one showing a fully blown example
+(@pxref{A Complete C++ Example}).
 
 To look nicer, our example will be in C++14.  It is not required: Bison
 supports the original C++98 standard.
@@ -13105,7 +13121,7 @@ including the end-of-file token.
 
 This section demonstrates the use of a C++ parser with a simple but complete
 example.  This example should be available on your system, ready to compile,
-in the directory @dfn{.../share/doc/bison/examples/calc++}.  It focuses on
+in the directory @file{examples/c++/calc++}.  It focuses on
 the use of Bison, therefore the design of the various C++ classes is very
 naive: no accessors, no encapsulation of members etc.  We will use a Lex
 scanner, and more precisely, a Flex scanner, to demonstrate the various
@@ -16554,7 +16570,7 @@ London, Department of Computer Science, TR-00-12 
(December 2000).
 @c LocalWords: symrec val tptr FUN func struct sym enum IEC syntaxes Byacc
 @c LocalWords: fun putsym getsym arith funs atan ptr malloc sizeof Lex pcc
 @c LocalWords: strlen strcpy fctn strcmp isalpha symbuf realloc isalnum DOTDOT
-@c LocalWords: ptypes itype trigraphs yytname expseq vindex dtype Unary
+@c LocalWords: ptypes itype trigraphs yytname expseq vindex dtype Unary usr
 @c LocalWords: Rhs YYRHSLOC LE nonassoc op deffn typeless yynerrs nonterminal
 @c LocalWords: yychar yydebug msg YYNTOKENS YYNNTS YYNRULES YYNSTATES reentrant
 @c LocalWords: cparse clex deftypefun NE defmac YYACCEPT YYABORT param yypstate




reply via email to

[Prev in Thread] Current Thread [Next in Thread]