File: compile_tree.html

package info (click to toggle)
funnelweb-doc 3.2d-4.2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,744 kB
  • sloc: perl: 241; makefile: 23
file content (327 lines) | stat: -rw-r--r-- 10,795 bytes parent folder | download | duplicates (5)
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>&nbsp;
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>&nbsp;&nbsp;&nbsp;
<A HREF="copyright.html">Copyright &copy; 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>