This file is indexed.

/usr/share/doc/bison-doc/html/Value-Type.html is in bison-doc 1:3.0.4-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- 
This manual (22 January 2015) is for GNU Bison (version
3.0.4), the GNU parser generator.

Copyright (C) 1988-1993, 1995, 1998-2015 Free Software
Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover texts
being "A GNU Manual," and with the Back-Cover Texts as in
(a) below.  A copy of the license is included in the section entitled
"GNU Free Documentation License."

(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual.  Buying copies from the FSF
supports it in developing GNU and promoting software
freedom." -->
<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Bison 3.0.4: Value Type</title>

<meta name="description" content="Bison 3.0.4: Value Type">
<meta name="keywords" content="Bison 3.0.4: Value Type">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index-of-Terms.html#Index-of-Terms" rel="index" title="Index of Terms">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Semantics.html#Semantics" rel="up" title="Semantics">
<link href="Multiple-Types.html#Multiple-Types" rel="next" title="Multiple Types">
<link href="Semantics.html#Semantics" rel="prev" title="Semantics">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space: nowrap}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: serif; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<a name="Value-Type"></a>
<div class="header">
<p>
Next: <a href="Multiple-Types.html#Multiple-Types" accesskey="n" rel="next">Multiple Types</a>, Up: <a href="Semantics.html#Semantics" accesskey="u" rel="up">Semantics</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index-of-Terms.html#Index-of-Terms" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Data-Types-of-Semantic-Values"></a>
<h4 class="subsection">3.4.1 Data Types of Semantic Values</h4>
<a name="index-semantic-value-type"></a>
<a name="index-value-type_002c-semantic"></a>
<a name="index-data-types-of-semantic-values"></a>
<a name="index-default-data-type"></a>

<p>In a simple program it may be sufficient to use the same data type for
the semantic values of all language constructs.  This was true in the
RPN and infix calculator examples (see <a href="RPN-Calc.html#RPN-Calc">Reverse Polish
Notation Calculator</a>).
</p>
<p>Bison normally uses the type <code>int</code> for semantic values if your
program uses the same data type for all language constructs.  To
specify some other type, define the <code>%define</code> variable
<code>api.value.type</code> like this:
</p>
<div class="example">
<pre class="example">%define api.value.type {double}
</pre></div>

<p>or
</p>
<div class="example">
<pre class="example">%define api.value.type {struct semantic_type}
</pre></div>

<p>The value of <code>api.value.type</code> should be a type name that does not
contain parentheses or square brackets.
</p>
<p>Alternatively, instead of relying of Bison&rsquo;s <code>%define</code> support, you may
rely on the C/C++ preprocessor and define <code>YYSTYPE</code> as a macro, like
this:
</p>
<div class="example">
<pre class="example">#define YYSTYPE double
</pre></div>

<p>This macro definition must go in the prologue of the grammar file
(see <a href="Grammar-Outline.html#Grammar-Outline">Outline of a Bison Grammar</a>).  If compatibility
with POSIX Yacc matters to you, use this.  Note however that Bison cannot
know <code>YYSTYPE</code>&rsquo;s value, not even whether it is defined, so there are
services it cannot provide.  Besides this works only for languages that have
a preprocessor.
</p>



</body>
</html>