%==============================================================================%
%                               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                                 %
%==============================================================================%
