This file is indexed.

/usr/share/doc/bison-doc/html/Java-Semantic-Values.html is in bison-doc 1:2.5-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
<html lang="en">
<head>
<title>Java Semantic Values - Bison 2.5</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Bison 2.5">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Java-Parsers.html#Java-Parsers" title="Java Parsers">
<link rel="prev" href="Java-Bison-Interface.html#Java-Bison-Interface" title="Java Bison Interface">
<link rel="next" href="Java-Location-Values.html#Java-Location-Values" title="Java Location Values">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This manual (14 May 2011) is for GNU Bison (version
2.5), the GNU parser generator.

Copyright (C) 1988-1993, 1995, 1998-2011 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.''
   -->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Java-Semantic-Values"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Java-Location-Values.html#Java-Location-Values">Java Location Values</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Java-Bison-Interface.html#Java-Bison-Interface">Java Bison Interface</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Java-Parsers.html#Java-Parsers">Java Parsers</a>
<hr>
</div>

<h4 class="subsection">10.2.2 Java Semantic Values</h4>

<!--  No %union, specify type in %type/%token. -->
<!--  YYSTYPE -->
<!--  Printer and destructor -->
<p>There is no <code>%union</code> directive in Java parsers.  Instead, the
semantic values' types (class names) should be specified in the
<code>%type</code> or <code>%token</code> directive:

<pre class="example">     %type &lt;Expression&gt; expr assignment_expr term factor
     %type &lt;Integer&gt; number
</pre>
   <p>By default, the semantic stack is declared to have <code>Object</code> members,
which means that the class types you specify can be of any class. 
To improve the type safety of the parser, you can declare the common
superclass of all the semantic values using the <code>%define stype</code>
directive.  For example, after the following declaration:

<pre class="example">     %define stype "ASTNode"
</pre>
   <p class="noindent">any <code>%type</code> or <code>%token</code> specifying a semantic type which
is not a subclass of ASTNode, will cause a compile-time error.

<!-- FIXME: Documented bug. -->
   <p>Types used in the directives may be qualified with a package name. 
Primitive data types are accepted for Java version 1.5 or later.  Note
that in this case the autoboxing feature of Java 1.5 will be used. 
Generic types may not be used; this is due to a limitation in the
implementation of Bison, and may change in future releases.

   <p>Java parsers do not support <code>%destructor</code>, since the language
adopts garbage collection.  The parser will try to hold references
to semantic values for as little time as needed.

   <p>Java parsers do not support <code>%printer</code>, as <code>toString()</code>
can be used to print the semantic values.  This however may change
(in a backwards-compatible way) in future versions of Bison.

   </body></html>