This file is indexed.

/usr/share/doc/fweb/html-info/Phases.html is in fweb-doc 1.62-13.

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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>FWEB: Phases</title>

<meta name="description" content="FWEB: Phases">
<meta name="keywords" content="FWEB: Phases">
<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="Concept-index.html#Concept-index" rel="index" title="Concept index">
<link href="Parameter-index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Concepts.html#Concepts" rel="up" title="Concepts">
<link href="Files.html#Files" rel="next" title="Files">
<link href="Modules.html#Modules" rel="prev" title="Modules">
<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.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; 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="Phases"></a>
<div class="header">
<p>
Next: <a href="Structure.html#Structure" accesskey="n" rel="next">Structure</a>, Previous: <a href="Processors.html#Processors" accesskey="p" rel="prev">Processors</a>, Up: <a href="Concepts.html#Concepts" accesskey="u" rel="up">Concepts</a> &nbsp; [<a href="Parameter-index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-index.html#Concept-index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>

<a name="Phases-of-processing"></a>
<h3 class="section">2.4 Phases of processing</h3>

<p>The <small>FWEB</small> processors perform their work in several distinct phases.
(The following is somewhat technical.  Scan it, then use it for
reference later if necessary.)
</p>
<a name="The-phases-of-FTANGLE"></a>
<h4 class="subsection">2.4.1 The phases of <small>FTANGLE</small></h4>

<a name="index-Phases_002c-of-FTANGLE"></a>
<p><small>FTANGLE</small> has two phases.  In phase 1, the source file is read; in phase
2, compilable code is written out in the order specified by the web.
</p>
<p>More specifically, phase 1
</p>
<blockquote>
<ul>
<li> discards TeX documentation;

</li><li> tokenizes the source;

</li><li> expands <small>FWEB</small> preprocessor commands such as &lsquo;<samp>@#if</samp>&rsquo;
(see <a href="Preprocessing.html#Preprocessing">Preprocessing</a>); 

</li><li> expands &lsquo;<samp>@'...'</samp>&rsquo; (see <a href="ATquote.html#ATquote">ATquote</a>), &lsquo;<samp>@&quot;...&quot;</samp>&rsquo; (see <a href="ATdquote.html#ATdquote">ATdquote</a>),
and the binary notation &lsquo;<samp>0b...</samp>&rsquo; (see <a href="C.html#C">C</a>) [in <small>FORTRAN</small>, also
the octal notation &lsquo;<samp>0...</samp>&rsquo; and the hexadecimal notation &lsquo;<samp>0x...</samp>&rsquo;]; 

</li><li> stores code text in appropriate modules;

</li><li> memorizes macro definitions (&lsquo;<samp>@d</samp>&rsquo; and &lsquo;<samp>@m</samp>&rsquo;)
(see <a href="ATd.html#ATd">ATd</a> and <a href="ATm.html#ATm">ATm</a>).  
</li></ul>
</blockquote>

<p>Phase 2
</p>
<blockquote>
<ul>
<li> outputs outer macro definitions (&lsquo;<samp>@d</samp>&rsquo;);

</li><li> outputs the unnamed module (&lsquo;<samp>@a</samp>&rsquo;);

</li><li> expands <small>FWEB</small> macros (&lsquo;<samp>@m</samp>&rsquo;);

</li><li> expands built-in macros such as &lsquo;<samp>$IF</samp>&rsquo; or &lsquo;<samp>$PI</samp>&rsquo;
(see <a href="Built_002din-functions.html#Built_002din-functions">Built-in functions</a>); 

</li><li> translates <small>RATFOR</small> statements (see <a href="Ratfor.html#Ratfor">Ratfor</a>).
</li></ul>
</blockquote>

<a name="The-phases-of-FWEAVE"></a>
<h4 class="subsection">2.4.2 The phases of <small>FWEAVE</small></h4>

<a name="index-Phases_002c-of-FWEAVE"></a>
<p><small>FWEAVE</small> has three phases.  In phase 1, the source file is read and
cross-reference information is collected.  In phase 2, the source file
is read again, then pretty-printed with some cross-reference
information.  (For discussion of pretty-printing, see
<a href="Pretty_002dprinting.html#Pretty_002dprinting">Pretty-printing</a>.)  In phase 3, an automatically-generated Index,
List of Modules, and Table of Contents are written.
</p>
<p>More specifically, phase 1
</p>
<blockquote>
<ul>
<li> tokenizes and stores identifiers and module names;

</li><li> collects cross-reference information (including, in C and C++, the
scanning of &lsquo;<samp>#include</samp>&rsquo; files for &lsquo;<samp>typedef</samp>&rsquo; and/or &lsquo;<samp>class</samp>&rsquo;
declarations (see <a href="_002dH_005f.html#g_t_002dH_005f">-H_</a>); 

</li><li> stores limbo text definitions made with &lsquo;<samp>@l</samp>&rsquo; (see <a href="ATl.html#ATl">ATl</a>);

</li><li> collects information about overloaded operators (&lsquo;<samp>@v</samp>&rsquo;) and
identifiers (&lsquo;<samp>@W</samp>&rsquo;).  See <a href="ATv.html#ATv">ATv</a> and <a href="ATW_005f.html#ATW_005f">ATW_</a>.
</li></ul>
</blockquote>

<p>Phase 2
</p>
<blockquote>
<ul>
<li> outputs limbo text;

</li><li> outputs special TeX macros for overloaded operators;

</li><li> copies TeX material directly to output;

</li><li> treats material between vertical bars (&lsquo;<samp>|...|</samp>&rsquo;) as code to be
typeset;

</li><li> tokenizes and stores contents of each code section;

</li><li> analyzes code syntax and converts it to appropriate TeX macros.
</li></ul>
</blockquote>

<p>Phase 3 writes out cross-reference information.  (To eliminate some of
that, see <a href="_002dx.html#g_t_002dx">-x</a>.)  Specifically, it
</p>
<blockquote>
<ul>
<li> writes out the Index (<samp>INDEX.tex</samp> by default, but see <a href="Output-files.html#Output-files">Output files</a> and <a href="Index-params.html#Index-params">Index params</a>);

</li><li> writes out a list of named modules (<samp>MODULES.tex</samp> by default, but
see <a href="Output-files.html#Output-files">Output files</a> and <a href="Module-params.html#Module-params">Module params</a>);

</li><li> writes out macros to generate the Table of Contents.  (Table of Contents
information is actually processed by LaTeX, not <small>FWEAVE</small>.  The
information is written to the <samp>aux</samp> file.)
</li></ul>

</blockquote>


<hr>
<div class="header">
<p>
Next: <a href="Structure.html#Structure" accesskey="n" rel="next">Structure</a>, Previous: <a href="Processors.html#Processors" accesskey="p" rel="prev">Processors</a>, Up: <a href="Concepts.html#Concepts" accesskey="u" rel="up">Concepts</a> &nbsp; [<a href="Parameter-index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-index.html#Concept-index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>