summaryrefslogtreecommitdiff
path: root/web/funnelAC/userman/u_cha.tex
blob: f1ddd2b7769599383d67f6c4de104f0443e39ca8 (plain)
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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
%==============================================================================%
%                               Start of Cha.tex                               %
%==============================================================================%
%
% Copyright
% ---------
% Copyright (C) 1992 Ross N. Williams.
% This file contains a chapter of the FunnelWeb User's Manual.
% See the main TeX file for this manual for further information.
%
%==============================================================================%

\appendix

%==============================================================================

\chapter{Glossary}
\x{glossary}

\gloss{Analyser} A component of the FunnelWeb program
that checks the macro table created by the parser for errors.
For example, the analyser checks to see if any macro without a \p{@Z} has
not been called.

\gloss{Argument} A string delimited by blanks appearing on the FunnelWeb
command line. Arguments are used to control options.

\gloss{Directive} A FunnelWeb special sequence or
cooperating group of special sequences that do not form part of
a macro definition. A directive can take the form of a pragma.

\gloss{Documentation} Descriptive text.

\gloss{Documentation file} An output file, produced by the Weave
component of FunnelWeb, that
contains typesetter commands. When fed into the appropriate typesetter
program, the result is a typeset image of the input file.

\gloss{Free text} The text in an input file that remains
if one were to remove macro definitions and directives.

\gloss{FunnelWeb} This word has a number of different meanings all
pertaining to the FunnelWeb system of programming. 1) The
entire system of programming as in \dq{Maybe FunnelWeb can help.}
2) The computer program that implements the
system as in \dq{Run it through FunnelWeb and see what comes out.}
3) The language implemented by the FunnelWeb program as in \dq{I wrote the
program in FunnelWeb.} or \dq{I wrote the program in Ada using FunnelWeb.}.

\gloss{FunnelWeb file} A file whose contents are written in the FunnelWeb
language.

\gloss{FunnelWeb language} The language in which FunnelWeb input files are
written.

\gloss{FunnelWeb proper} Usually, when FunnelWeb is invoked, it processes
a single input file and then terminates. However, it also has a command
language mode in which it is possible to invoke \dq{FunnelWeb} many times.
This leads to confusion between \dq{FunnelWeb} the outer program and
\dq{FunnelWeb} the inner program. To avoid this confusion, the inner
FunnelWeb is sometimes referred to as \dq{FunnelWeb proper}.

\gloss{FW} An abbreviation for \dq{FunnelWeb} that is
used wherever appropriate.

\gloss{Include file} A file read in by FunnelWeb as the result of an
include pragma (\p{@i filename}).

\gloss{Input file} Any file read in by FunnelWeb. The phrase
\dq{the input file} refers to the root input file
(specified using the \p{+F} option).

\gloss{Journal file} An output file containing a copy of the output sent to
the user's console during an invocation of FunnelWeb. In other systems,
this file is sometimes called a \dq{log file}.

\gloss{Listing file} An output file summarizing the result of processing
an input file.

\gloss{Macro} A binding of a name to a string.

\gloss{Macro definition} A construct appearing in a FunnelWeb file that
binds a name to a text string.
A FunnelWeb file consists of a series of macro definitions surrounded by
documentary text.

\gloss{Mapper} A component of the FunnelWeb program
that reads in the input file and creates a copy of it in memory.

\gloss{Option} An parameter internal to the FunnelWeb program which can be
controlled by command line arguments or pragmas.

\gloss{Output file} Any file written by FunnelWeb. This includes
listing, journal, product, and documentation files. (Warning: During most
of FunnelWeb's development the term \dq{output file} was also used to
refer to what are now called \dq{product files}. This turned out to be
extremely confusing and so the term \dq{product file} was invented to
distinguish the generic from the specific.
However, as this was a late modification,
you may find some occurrences of the old
use of \dq{output file}.).

\gloss{Parser} A component of the FunnelWeb program
that processes the token list generated by the scanner and produces a
macro table and a document list. The parser mainly
analyses the input file at the syntactic level, but also does some lightweight
semantic checking too.

\gloss{Pragma} Single-line directives that appears in
FunnelWeb files. Pragmas control everything from maximum input line length
to typesetter dependence. A pragma line starts with \dqp{@p}.

\gloss{Printed documentation} Sheets of paper
resulting from actually typesetting and printing a documentation file.

\gloss{Product file} An output file, generated by the Tangle component of
FunnelWeb, that contains the expansion of the macros in the input
file. Note: Other names considered for this were: 
generated file, expanded file, result file, program file, and tangle file.

\gloss{Scanner} A component of the FunnelWeb program
that scans a copy of the input file in memory and generates a line list
and a token list to be fed to the parser. The scanner processes the input
at the lexical level.

\gloss{Script} A file containing FunnelWeb shell commands.

\gloss{Shell} A command language interpreter built into the FunnelWeb
program. The interpreter allows the user to invoke FunnelWeb proper
many times during a single invocation of the FunnelWeb program.

\gloss{Special character} A distinguished character
in a FunnelWeb input file that introduces a special sequence.
By default the special
character is \dqp{@}. However, it can be changed using the \dqp{@=} special
sequence.

\gloss{Special sequence} A special sequence is a construct introduced by the
special character. Special sequences are used to define a structure in a
FunnelWeb input file that exists at a higher level to the surrounding text.
A FunnelWeb input file may be considered to be a sequence of text and
special sequences.

\gloss{Tangle} This is the name for the component of FunnelWeb that
generates one or more product files containing the expansion of macros
in the input file.

\gloss{Typesetting directive} A FunnelWeb directive whose
sole effect is to modify the way in which the input file is represented
in the documentation file.

\gloss{Weave} This is the name for the component of FunnelWeb that
generates a documentation file containing typesetting commands representing
the input file.

%==============================================================================

\chapter{References}
\x{references}

\paper{ANSI} Australian Standard AS~3955-1991, \dq{Programming Languages --- C},
(ISBN: 0-7262-6970-0), 12~July~1991. Identical to:
International Standard ISO/IEC 9899:
1990 Programming Languages --- C.\checked{}

\paper{ANZE} \dq{Australia, New Zealand Encyclopedia},
Entry: \dq{Funnel-web spiders}, Vol~7, pp.~564--565, Bay Books,
Sydney, (ISBN: 85835--127--7), 1975.\checked{}


\paper{BSI82} British Standards Institute, \dq{Specification for
Computer Programming Language Pascal}, Publication BS6192:1982,
British Standards Institute, P.O. Box 372, Milton Keynes, MK146LO,
1982.\checked{}

\paper{Gries81} Gries~D., \dq{The Science of Programming},
Springer-Verlag, (ISBN: 0-387-90641-X), 1981.

\paper{Humphries91} Humphries~B, \dq{Neglected Poems and Other Creatures},
Angus and Robertson, Sydney, (ISBN: 0-207-17212-9), 1991.\checked{}

\paper{Kernighan88} Kernighan~B.W., Ritchie~D.M., \dq{The~C Programming
Language}, (second edition,\dq{ANSI~C}), Prentice Hall,
(ISBN: 0-13-110362-8), 1988.\checked{}

\paper{Knuth83} Knuth~D.E., \dq{The WEB System of Structured
Documentation}, (Web User Manual, Version~2.5, November, 1983),
Stanford University, 1983.

\paper{Knuth84} Knuth~D.E., \dq{The \TeX{}book}, Addison-Wesley,
(ISBN: 0-201-13448-9), 1984.

\paper{Knuth84} Knuth~D.E., \dq{Literate Programming}, \i{The Computer
Journal}, Vol.~27, No.~2, pp.~97-111, 1984.\checked{Reference copied from
SIGPLAN 26(1) p.16} Note: The author of this manual has not yet obtained
this paper.

\paper{Lamport86} Lamport~L., \dq{\LaTeX{}: A Document Preparation System},
Addison-Wesley, (ISBN: 0-201-15790-X),
1986.\checked{}

\paper{Rosovsky90} Rosovsky~H., \dq{The University: An Owner's Manual},
W.W.Norton \& Company, Inc., (ISBN: 0-393-02782-1), 1990.\checked{}

\paper{Smith91} Smith~L.M.C., \dq{An Annotated Bibliography
of Literate Programming}, ACM SIGPLAN Notices, Vol.~26, No.~1,
January 1991.\checked{}

\paper{Strunk79} Strunk~W., White~E.B., \dq{The Elements of
Style}, Third Edition, MacMillan Publishing Company, New York,
(ISBN: 0-02-418200-1),
1979.\checked{}

\paper{USDOD83} \dq{The Programming Language Ada Reference Manual},
American National Standards Institute Inc,
ANSI/MIL-STD-1815A-1983, 1983.\checked{}

%==============================================================================

\addcontentsline{toc}{chapter}{Index}
\def\indexentry#1#2{\item #1~#2}
\begin{theindex}
\input u_manual.sin
\end{theindex}

%==============================================================================%
%                               End of Cha.tex                                 %
%==============================================================================%