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 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<!--
***********************************************************************
FUNNELWEB MANUAL WEB PAGE
=========================
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
Permission is granted to redistribute and use this manual in
any medium, with or without modification, provided that all
notices (including, without limitation, the copyright
notice, this permission notice, any record of modification,
and all legal notices) are preserved on all copies, that all
modifications are clearly marked, and that modified versions
are not represented as the original version unless all the
modifications since the manual's original release by Ross N.
Williams (www.ross.net) consist of translations or other
transformations that alter only the manual's form, not its
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
LAW THERE IS ABSOLUTELY NO WARRANTY.
***********************************************************************
-->
<HEAD>
<TITLE>1.3 Establish The Source Tree</TITLE>
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
</HEAD>
<BODY BACKGROUND="binary/background.gif"
BGCOLOR="#FFFFFF"
TEXT="#000000"
VLINK="#660000"
LINK="#FF0000"
ALINK="#CC0000">
<TABLE WIDTH="490">
<TR>
<TD WIDTH="130" VALIGN="top">
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
<FONT SIZE="2">
<BR>
<A HREF="http://www.ross.net/"
TARGET="rosshome"
onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
>
<IMG SRC="binary/rossnet_logo.gif"
WIDTH="64" HEIGHT="32"
BORDER="0" ALT="RossNet"
HSPACE="0" VSPACE="1"></A><BR>
<BR>
<A HREF="../index.shtml"
TARGET="funnelweb"
onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
>
<IMG SRC="binary/linklogo.gif"
WIDTH="64" HEIGHT="32"
BORDER="0" ALT="FunnelWeb"
HSPACE="0" VSPACE="1"></A><BR>
<BR>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
<A HREF="../reference/index.html"
TARGET="funnelwebreference"
onClick="window.open('','funnelwebreference','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
<BR>
<A HREF="../tutorial/index.html"
TARGET="funnelwebtutorial"
onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
<BR>
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
<A HREF="compile.html"><FONT COLOR="#FFFFFF">1 Compile</FONT></A><BR>
<A HREF="design.html"><FONT COLOR="#FFFFFF">2 Design</FONT></A><BR>
<A HREF="implement.html"><FONT COLOR="#FFFFFF">3 Implement</FONT></A><BR>
<A HREF="modify.html"><FONT COLOR="#FFFFFF">4 Modify</FONT></A><BR>
<A HREF="misc.html"><FONT COLOR="#FFFFFF">5 Misc</FONT></A><BR>
<A HREF="gpl.html"><FONT COLOR="#FFFFFF">6 Licence</FONT></A><BR>
<BR>
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
</FONT>
</TD></TR></TABLE>
</TD>
<TD WIDTH="360" VALIGN="top">
<FONT SIZE="3">
<A HREF="index.html"><IMG SRC="binary/title.gif"
WIDTH="316" HEIGHT="24"
BORDER="0" ALT="FunnelWeb Developer Manual"
HSPACE="0" VSPACE="0"></A>
<P><FONT SIZE="5">1.3 Establish The Source Tree</FONT><BR>
<P>At this stage, we will assume that you have
somehow obtained a set of files that are supposed
to be FunnelWeb, and that they are sitting on a
disk on the machine on which you wish to compile
FunnelWeb.
<P>The next thing you have to do is to make
sure that the FunnelWeb directory tree has been
correctly unpacked. The directory tree should look
like this.
<P>
<PRE>
fwdir - Root FunnelWeb directory.
admin - Administrative files.
answers - Answers to test suite.
results - For test results.
scripts - Test scripts.
sources - Source code.
tests - Test suite.
web - The FunnelWeb web.
</PRE>
<P>The following sections describe the contents
of each directory in alphabetical order. Check the
contents to make sure that you have everything. Do
not become fussed if your configuration is not
quite as specified, as it is very easy for
installation guides such as this one to go out of
date.
<P><BR><FONT SIZE="4"><STRONG>Admin Directory</STRONG></FONT><BR>
<P>The <SAMP>admin</SAMP> directory contains
administrative files to do with licensing and
such. It is also a catch-all directory for files
that don't belong anywhere else. At the time of
writing, it is not clear exactly what will be in
the <SAMP>admin</SAMP> directory. Why not take a
look?
<P><BR><FONT SIZE="4"><STRONG>Answers Directory</STRONG></FONT><BR>
<P>The <SAMP>answers</SAMP> directory contains the
"correct answers" to all
the regression testing input files. The regression test
scripts compare these files to the files generated in the
<SAMP>results</SAMP> directory.
<P>
<PRE>
an01.lis ... an04.lis
ex01.lis ... ex16.lis
ex01.out ... ex10.out
ex11.tex ... ex16.tex
generate.lis
hi01.lis ... hi10.lis
hi01.out ... hi05.out
hi06a.out
hi06b.out
hi07a.out
hi07b.out
hi08.out ... hi10.out
pr01.lis ... pr10.lis
sc01.lis ... sc29.lis
tg01.lis ... tg09.lis
tg01.out ... tg09.out
wv01.lis ... wv06.lis
wv01.tex ... wv06.tex
</PRE>
<P><BR><FONT SIZE="4"><STRONG>Results Directory</STRONG></FONT><BR>
<P>The <SAMP>results</SAMP> directory exists as a target
directory for the output files generated by FunnelWeb during
regression testing. This directory is distributed empty and
should be empty at the start of regression testing. However,
it is permissible for the <SAMP>results</SAMP> directory to
contain files generated during a previous test run, as the
regression testing scripts delete specific unwanted files
before each test anyway.
<P><BR><FONT SIZE="4"><STRONG>Scripts Directory</STRONG></FONT><BR>
<P>The <SAMP>scripts</SAMP> directory stores the FunnelWeb
command shell scripts that are used to perform regression
testing.
<P>
<PRE>
master.fws - The master test script.
test_gen.fws - Script to generate tricky input files.
test_l.fws - Test FunnelWeb with +L.
test_ld.fws - Test FunnelWeb with +L +B...
test_lo.fws - Test FunnelWeb with +L +O.
test_lo2.fws - Test FunnelWeb with +L +O (2 outfiles).
test_lot.fws - Test FunnelWeb with +L +O +T.
test_lt.fws - Test FunnelWeb with +L +T.
</PRE>
<P><BR><FONT SIZE="4"><STRONG>Sources Directory</STRONG></FONT><BR>
<P>The <SAMP>sources</SAMP> directory contains <I>all</I>
of the C source files required to build a FunnelWeb binary
executable. In the following list, files given without an
extension represent both <SAMP>.c</SAMP> and <SAMP>.h</SAMP>
files.
<PRE>
analyse - The analyser.
as - Assertions.
clock - A clock abstraction.
command - The shell command interpreter.
data - Shared data structures and global vars.
dump - Dump internal data structures.
environ.h - Machine-dependent, program-ind header.
help - Module to write out help messages.
help_gnu - Function to write out the GNU license.
help_gnu.txt - The GNU license in text form.
help_gnu.ctx - The GNU license in C code form.
list - A list abstraction.
lister - Module to manage the listing file.
machin - Module to hold machine-dependent,
program-dependent stuff.
main.c - The main() program.
mapper - Module to read files into memory.
memory - Memory management.
misc - Miscellaneous functions.
option - Command line option processing.
parser - The parser.
scanner - The scanner.
section - A section number abstraction.
style.h - A machine-independent,
program-independent header file.
table - A table abstraction.
tangle - The tangler.
texhead - Module to write out TeX header
in documentation files.
texhead.ctx - The TeX header in C code form.
texhead.tex - The TeX header in TeX form.
weave - The weaver.
writfile - Output abstraction.
</PRE>
<P>The "<TT>.txt</TT>", and "<TT>.tex</TT>" files do not
participate in the compilation, but are considered part of
the source code as they were used to generate the
"<TT>.ctx</TT>" files. The "<TT>.ctx</TT>" files are
included by <SAMP>.c</SAMP> files of the same name. They do not
need to be compiled themselves.
<P><BR><FONT SIZE="4"><STRONG>Tests Directory</STRONG></FONT><BR>
<P>The <SAMP>tests</SAMP> directory stores all the input
files of the regression test suite. These come in two kinds:
FunnelWeb input files with extensions of "<TT>.fw</TT>", and
FunnelWeb include files with extensions of "<TT>.fwi</TT>".
<P>
<PRE>
FunnelWeb Input Files:
an01.fw ... an04.fw - Analyser tests.
ex01.fw ... ex16.fw - Examples from the tut man.
generate.fw - Generates tricky input files.
hi01.fw ... hi10.fw - Examples from hints.
pr01.fw ... pr10.fw - Parser tests.
sc01_note.fw - Explains absence of sc01.fw
sc02.fw ... sc29.fw - Scanner tests.
tg01.fw ... tg09.fw - Tangler tests.
wv01.fw ... wv06.fw - Weaver tests.
FunnelWeb Include Files:
ex09a.fwi
sc13a.fwi ... sc13f.fwi
sc15a.fwi
tg08a.fwi
</PRE>
<P><BR><FONT SIZE="4"><STRONG>Web Directory</STRONG></FONT><BR>
<P>This directory is for the FunnelWeb webs if you want to
keep a copy on your local disk so you can surf it quickly.
<P>
<TABLE WIDTH="100%">
<TR>
<TD ALIGN="left" VALIGN="bottom"><A HREF="compile_ftp.html"><IMG SRC="binary/fw_left.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Prev"></A></TD>
<TD ALIGN="center" VALIGN="bottom"><A HREF="compile.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
<TD ALIGN="right" VALIGN="bottom"><A HREF="compile_compile.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
</TR>
</TABLE>
<P>
<HR>
<FONT SIZE="2">
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
</FONT>
</FONT>
</TD>
</TR>
</TABLE>
</BODY>
<!-- *********************************************************************** -->
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
<!-- *********************************************************************** -->
</HTML>
|