1.3 Establish The Source Tree
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.
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.
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.
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.
The admin 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 admin directory. Why not take a look?
The answers 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 results directory.
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
The results 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 results directory to contain files generated during a previous test run, as the regression testing scripts delete specific unwanted files before each test anyway.
The scripts directory stores the FunnelWeb command shell scripts that are used to perform regression testing.
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.
The sources directory contains all of the C source files required to build a FunnelWeb binary executable. In the following list, files given without an extension represent both .c and .h files.
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.
The ".txt", and ".tex" files do not participate in the compilation, but are considered part of the source code as they were used to generate the ".ctx" files. The ".ctx" files are included by .c files of the same name. They do not need to be compiled themselves.
The tests directory stores all the input files of the regression test suite. These come in two kinds: FunnelWeb input files with extensions of ".fw", and FunnelWeb include files with extensions of ".fwi".
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
This directory is for the FunnelWeb webs if you want to keep a copy on your local disk so you can surf it quickly.
Webmaster Copyright © Ross N. Williams 1992,1999. All rights reserved.