4
***********************************************************************
5
FUNNELWEB MANUAL WEB PAGE
6
=========================
7
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
9
Permission is granted to redistribute and use this manual in
10
any medium, with or without modification, provided that all
11
notices (including, without limitation, the copyright
12
notice, this permission notice, any record of modification,
13
and all legal notices) are preserved on all copies, that all
14
modifications are clearly marked, and that modified versions
15
are not represented as the original version unless all the
16
modifications since the manual's original release by Ross N.
17
Williams (www.ross.net) consist of translations or other
18
transformations that alter only the manual's form, not its
19
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
20
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
21
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
22
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
23
LAW THERE IS ABSOLUTELY NO WARRANTY.
25
***********************************************************************
29
<TITLE>8.1 Introduction</TITLE>
30
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
32
<BODY BACKGROUND="binary/background.gif"
41
<TD WIDTH="130" VALIGN="top">
42
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
47
<A HREF="http://www.ross.net/"
49
onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
51
<IMG SRC="binary/rossnet_logo.gif"
52
WIDTH="64" HEIGHT="32"
53
BORDER="0" ALT="RossNet"
54
HSPACE="0" VSPACE="1"></A><BR>
57
<A HREF="../index.shtml"
59
onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
61
<IMG SRC="binary/linklogo.gif"
62
WIDTH="64" HEIGHT="32"
63
BORDER="0" ALT="FunnelWeb"
64
HSPACE="0" VSPACE="1"></A><BR>
66
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
67
<A HREF="../tutorial/index.html"
68
TARGET="funnelwebtutorial"
69
onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
70
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
72
<A HREF="../developer/index.html"
73
TARGET="funnelwebdeveloper"
74
onClick="window.open('','funnelwebdeveloper','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
75
><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
77
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
78
<A HREF="intro.html"><FONT COLOR="#FFFFFF">1 Introduction</FONT></A><BR>
79
<A HREF="interface.html"><FONT COLOR="#FFFFFF">2 Interface</FONT></A><BR>
80
<A HREF="scanner.html"><FONT COLOR="#FFFFFF">3 Scanner</FONT></A><BR>
81
<A HREF="parser.html"><FONT COLOR="#FFFFFF">4 Parser</FONT></A><BR>
82
<A HREF="analyser.html"><FONT COLOR="#FFFFFF">5 Analyser</FONT></A><BR>
83
<A HREF="tangle.html"><FONT COLOR="#FFFFFF">6 Tangle</FONT></A><BR>
84
<A HREF="weave.html"><FONT COLOR="#FFFFFF">7 Weave</FONT></A><BR>
85
<A HREF="shell.html"><FONT COLOR="#FFFFFF">8 Shell</FONT></A><BR>
86
<A HREF="commands.html"><FONT COLOR="#FFFFFF">9 Commands</FONT></A><BR>
87
<A HREF="glossary.html"><FONT COLOR="#FFFFFF">10 Glossary</FONT></A><BR>
88
<A HREF="references.html"><FONT COLOR="#FFFFFF">11 References</FONT></A><BR>
91
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
97
<TD WIDTH="360" VALIGN="top">
101
<A HREF="index.html"><IMG SRC="binary/title.gif"
102
WIDTH="316" HEIGHT="24"
103
BORDER="0" ALT="FunnelWeb Reference Manual"
104
HSPACE="0" VSPACE="0"></A>
105
<P><FONT SIZE="5">8.1 Introduction</FONT><BR>
108
<P>One of the goals of FunnelWeb is that it must be
109
extremely portable, and a significant effort has gone into
112
<P>An equally important goal was that of correctness and
113
reliability. To this end, it was determined that a large
114
automated suite of test programs be prepared to assist in
115
regression testing. Preparing the test suite was tedious,
116
but achievable. Automating it portably was more difficult.
118
<P>The difficulty faced was that if FunnelWeb was
119
implemented in the form of a utility that could be invoked
120
from the operating system command language, the only way to
121
set up regression testing was in the command language of the
122
operating system of the target machine (shellscripts for
123
UNIX, DCL for OpenVMS, batch files for MSDOS, and
124
<I>nothing</I> on the Macintosh). The huge variation in
125
these command languages led to the conclusion that either
126
the automation of regression testing would have to be
127
rewritten on each target machine, or a small command
128
language would have to be created within FunnelWeb. In the
129
end, the twin goals of portability and regression testing
130
were considered so important that a small command shell was
131
constructed inside FunnelWeb. This is called the
132
<STRONG>FunnelWeb command shell</STRONG>, or just "the
135
<P>By default, when FunnelWeb is invoked, it does not
136
enter its shell. If just given the name of an input file, it
137
will simple process the input file in the normal manner and
138
then terminate. To instruct FunnelWeb to invoke its shell,
139
the <SAMP>+K</SAMP> or <SAMP>+X</SAMP> command line option must be
140
specified when FunnelWeb is invoked from the operating
141
system. It is also invoked upon startup if the file
142
<SAMP>fwinit.fws</SAMP> exists.
144
<P>Most FunnelWeb users will never need to use the shell
145
and need not even know about it. There are four main uses of
150
<LI> As a tool to support automated regression testing.
152
<LI> As a development tool on machines that do not have a
153
built in shell (e.g. the Macintosh). The shell can be used
154
to process whole groups of files automatically.
156
<LI> As a convenience. A user working on a multi-tasking,
157
multi-window workstation may wish to
158
keep an interactive session of FunnelWeb going in one window
159
rather than having to run up the utility each time it is
162
<LI> As a convenient vehicle for enclosing utilities. The
163
FunnelWeb shell contains useful general purpose commands
164
such as the differences command <SAMP>diff</SAMP>.
172
<TD ALIGN="left" VALIGN="bottom"><A HREF="shell.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
173
<TD ALIGN="center" VALIGN="bottom"><A HREF="shell.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
174
<TD ALIGN="right" VALIGN="bottom"><A HREF="shell_statuses.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
183
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
184
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
196
<!-- *********************************************************************** -->
197
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
198
<!-- *********************************************************************** -->