summaryrefslogtreecommitdiff
path: root/web/spiderweb/ms-dos/whereis
blob: 137bc53d0df32262dc539abb21fbe1dbe7ecf722 (plain)
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
From @pucc.PRINCETON.EDU:HHBODE@DOSUNI1.BITNET Wed Dec  4 10:27:13 1991
Received: from Princeton.EDU (Princeton.EDU.) by fs.Princeton.EDU (4.0/1.105)
	id AA15150; Wed, 4 Dec 91 10:27:12 EST
Received: from pucc.Princeton.EDU by Princeton.EDU (5.65b/2.84/princeton)
	id AA22962; Wed, 4 Dec 91 10:27:00 -0500
Message-Id: <9112041527.AA22962@Princeton.EDU>
Received: from PUCC.PRINCETON.EDU by pucc.PRINCETON.EDU (IBM VM SMTP V2R1)
   with BSMTP id 7652; Wed, 04 Dec 91 10:26:37 EST
Received: from DOSUNI1.BITNET by PUCC.PRINCETON.EDU (Mailer R2.08 R208007) with
 BSMTP id 4355; Wed, 04 Dec 91 10:26:36 EST
Received: from DOSUNI1 (HHBODE) by DOSUNI1.BITNET (Mailer R2.08) with BSMTP id
 0546; Wed, 04 Dec 91 16:25:55 MEZ
Date:         Wed, 04 Dec 91 16:24:12 MEZ
From: Hans-Hermann Bode <HHBODE@DOSUNI1.BITNET>
Subject:      PC implementation of Spidery WEB
To: Norman Ramsey <nr@Princeton.EDU>
Status: RO

Hello,

I like to let you know about a PC version of your Spidery WEB system that I
implemented. In fact, it is an ANSI-C version also, as appropriate changes
are provided and the PC-related stuff is conditional. The implementation is
available as an archive file spiderpc.zip by anonymous ftp from
dione.rz.uni-osnabrueck.de (in the directory /pub/msdos/tex/web) or from
rusinfo.rus.uni-stuttgart.de (in the directory /soft/tex/web/spiderweb); it
contains the original files (none of it was edited directly, but a few had
to be renamed) and changefiles and makefiles for the PC version. For your
information I append the file readme.pc from spiderpc.zip.

Hans-Hermann Bode
Arbeitsgruppe Systemforschung, Universit\"at Osnabr\"uck
Tel.: (49)-541-9692545
e-mail: HHBODE@DOSUNI1.BITNET

------------------------------------------------README.PC-from-SPIDERPC.ZIP---
								-*-Text-*-
This is the PC implementation of Norman Ramsey's Spidery WEB system,
compiled and provided with changefiles and makefiles for PC-/MS-DOS by
Hans-Hermann Bode <HHBODE@DOSUNI1.BITNET>. The changes are appropriate for
ANSI-C compilers as well as for Turbo C++, where the latter are made
conditional (they will become effective only if the symbol __TURBOC__ is
defined, which automatically is the case when compiled with Turbo C++), so
users of other systems with ANSI-C compilers might be interested also.

Note that---though the Spider programs itself now should be suitable for
ANSI-C compilers---there is no Spidery ANSI-C WEB yet, i.e., a weave
processor capable to typeset ANSI-C programs is missing (the provided
ceeweave is intended for traditional C only---the tangle processor, on the
other hand, causes no problem, so the make procedure is not affected by
this). You could use the C++ version (ccweave) instead, but this will not
recognize traditional comments (the /*...*/ form). A quick solution might be
to take the C++ Spider source (./cc/cc.spi, see below) and to change the
comment rule appropriately. Possibly, this will be the first exercise for
you in generating a new Spidery WEB.

To install the system unpack the archive and reproduce the following
directory structure:

.
./ada
./ada/make
./ada/ada.spi
./ada/stacks.web
./ada/new.spi
./ada/old.spi
./ada/pcmake.sh		*
./ada/pcmake.bat	*
./ada/adatangl.exe	+
./ada/adaweave.exe	+
./ada/adaweb.tex	+
./awk
./awk/awk.spi
./awk/make
./awk/tangle.c
./awk/nawk.spi
./awk/pcmake.sh		*
./awk/pcmake.bat	*
./awk/awktangl.exe	+
./awk/awkweave.exe	+
./awk/awkweb.tex	+
./awk/awktangl.c	+
./c
./c/local.gui
./c/make
./c/c.spi
./c/tangle.c
./c/pcmake.sh		*
./c/pcmake.bat		*
./c/ceetangl.exe	+
./c/ceeweave.exe	+
./c/cweb.tex		+
./c/ceetangl.c		+
./cc
./cc/make
./cc/cc.spi
./cc/pcmake.sh		*
./cc/pcmake.bat		*
./cc/cctangle.exe	+
./cc/ccweave.exe	+
./cc/ccweb.tex		+
./dijkstra
./dijkstra/binary.web
./dijkstra/make
./dijkstra/d.spi
./dijkstra/sp.web
./dijkstra/readme
./dijkstra/pcmake.sh	*
./dijkstra/pcmake.bat	*
./dijkstra/dtangle.exe	+
./dijkstra/dweave.exe	+
./dijkstra/dijkstra.tex	+
./larch
./larch/make
./larch/l.spi
./larch/lists.web
./larch/pcmake.sh	*
./larch/pcmake.bat	*
./larch/ltangle.exe	+
./larch/lweave.exe	+
./larch/larchweb.tex	+
./penelope
./penelope/make
./penelope/spiderma
./penelope/a.spi
./penelope/nesting.spi
./penelope/stacks.web
./penelope/proc-a.spi
./penelope/scan_ann.awk
./penelope/spimkfil.pc	*
./penelope/pcmake.sh	*
./penelope/pcmake.bat	*
./ssl
./ssl/make
./ssl/s.spi
./ssl/pcmake.sh		*
./ssl/pcmake.bat	*
./ssl/stangle.exe	+
./ssl/sweave.exe	+
./ssl/sslweb.tex	+
./doc
./doc/spiderma.aux
./doc/spiderwe.toc
./doc/makefile
./doc/cacm.aux
./doc/cacm.tex
./doc/abstract.tex
./doc/spiderma.tex
./doc/overview.aux
./doc/overview.tex
./doc/spiderwe.tex
./doc/descript
./master
./master/cycle.awk
./master/nodups.awk
./master/transche.awk
./master/pathopen.h_0
./master/multitan.ch
./master/common.web
./master/cycle.web
./master/webhead
./master/spider.awk
./master/webtail
./master/common.h_0
./master/newdefs.awk
./master/transche.lis
./master/pretty.awk
./master/pathopen.web
./master/make.pre
./master/webmakef
./master/common.c_0
./master/pathopen.c_0
./master/makefile
./master/spider.web
./master/junk.lis
./master/weave.web
./master/tangle.web
./master/makefile.pc	*
./master/pathopen.ch	*
./master/common.ch	*
./master/common.hch	*
./master/common.h	o
./master/tangle.ch	*
./master/weave.ch	*
./master/pathopen.h	+
./master/pathopen.c	+
./master/common.c	+
./master/common.obj	+
./master/pathopen.obj	+
./gawk210
./gawk210/gawk.exe
./gawk210/gawk.1
./gawk210/gawk.dvi
./gawk210/gawk.tex
./gawk210/texinfo.tex
./gawk210/problems
./gawk210/readme
./gawk210/copying
./readme
./copyrigh
./bugs
./webkerne.tex
./makefile
./readme.pc		*

The files marked with `*' are specific and essential for the PC
implementation, those marked with `+' are the results of pcmake runs (see
below) and are reproducible. The file marked with `o' will not be generated
by pcmake but might be reproduced from masterfile ./master/common.h_0 and
changefile ./master/common.hch by means of a tool like WMERGE or TIE (or by
hand). All files with names ending in `_0' are renamed from the original
distribution, because they are replaced by new ones. The file
./awk/nawk.spi, a Spider source for the new Awk language, is contributed by
Erich Neuwirth. The directory ./gawk210 contains the GNU implementation of
the Awk programming language, Version 2.10; the interpreter, gawk.exe, is
used in the pcmake process. All other files come from the original
distribution of Spidery WEB.

For more information on the Spider system see the file ./readme and the
documentation in the directory ./doc. For the copyright policy on Spidery
WEB consider the file ./copyrigh. For the same subject on GAWK pay attention
to the file ./gawk210/copying. Unfortunately, I can't tell you where to get
the source files of the PC implementation of GAWK 2.10, since I got the
system myself exactly as it is in ./gawk210 (look in ./gawk210/readme for
contact persons, if required).

Using Spidery WEB on a PC
-------------------------

For your convenience, precompiled executables are provided with this
distribution. So, all you have to do is the following:

  - Copy the file ./webkernel.tex to a directory where TeX looks for input
files.

  - Pick up one or more of the directories ./ada, ./awk, ./c, ./cc,
./dijkstra, ./larch, and ./ssl that correspond to the languages you like to
use (cc is actually c++ in the original distribution). Copy the TeX files
(*web.tex) to your TeX-inputs directory, too, and copy the exe files
(*tangle.exe and *weave.exe) to your binaries directory, i.e., a directory
that is in the DOS PATH.

  - That's all!

Note that there are no executables in the ./penelope directory. This is due
to the fact that GAWK hung up while processing ./penelope/proc-a.spi. I
didn't fix this problem up to now.

Setting up new Spiders on a PC
------------------------------

If you want to build new Spidery WEBs or like to change existing ones,
you'll need the following resources:

  - An Awk interpreter. As GAWK, Version 2.10, is included in this archive,
you don't have to worry about. Notice that GAWK, Version 2.11, will not
work. Other MS-DOS Awk interpreters have not been tested, but probably won't
work also.

  - A C compiler. The executables and object files supplied herein were
compiled with and the changefiles as well as ./master/makefile.pc are
intended for Turbo C++, Version 1.01. Other MS-DOS C compilers may also
work, but you might run into delicate problems with Microsoft C, Version
6.00.

  - A make utility (if you don't prefer to do the job by hand, which would
be a hard one). The file ./master/makefile.pc is intended for Turbo Make,
Version 3.0.

  - A lot of memory. The most storage-consuming process is the interpreting
of the Spider source (*.spi) by GAWK. This will need about 550 to 575 KByte
of memory available on your system, so remove all memory-resident programs
that aren't really necessary.

The file ./master/makefile.pc provides a full automatic creation of a
Spidery WEB for a certain language from a Spider source file (don't use the
other makefiles in this distribution, they are not intended for PC-/MS-DOS).
For flexibility, several macros have to be defined from the command line;
read the comment at the beginning of the makefile for more information.
Incidentally, a symbol CMD may be defined, in which case the
makefile---besides the interpreter and compiler mentioned above---will use
standard DOS file utilities only; default is to use Unix-like utilities like
cp, sort, and rm.

Each of the language-specific directories contains a script file, pcmake,
that calls ./master/makefile.pc appropriate for the major Spider source of
the language in question (sometimes, alternative sources are provided;
again, don't use the other make scripts, they won't call the right
makefile). Actually, two versions of pcmake reside in each of these
directories: pcmake.bat is a batch file for use with command.com, pcmake.sh
is a shell script for use with a bourne shell like ms_sh. Because both
command processors will run the corresponding script automatically, simply
type `pcmake' if you use either of these.

It is assumed that bourne-shell users have the Unix-like file utilities
mentioned above available, thus pcmake.sh will run the makefile without
defining CMD, while pcmake.bat defines it. Besides, in both cases the make
utility will be called under the name `tmake'. If one of these facts doesn't
fit your needs, you have to edit pcmake.sh or pcmake.bat first.

The make procedure implies a call to both the tangle processors of the Awk
and the C language (awktangle.exe and ceetangle.exe). Hence you must install
those in your binaries directory before doing anything else. If for some
reason you can't use the binaries provided, you have to recompile
./c/ceetangle.c, ./awk/awktangle.c, ./master/common.c, and
./master/pathopen.c (don't forget to define the symbol MSDOS from the
command line) and link the resulting ceetangle.obj and awktangle.obj with
the resulting object files of the ./master sources, respectively.

When you ever change ./master/pathopen.web or ./master/pathopen.ch, the make
process will generate a new pathopen.h in the current directory. You should
move this file to the ./master directory, so it will not be produced once
more in subsequent runs until it is outdated again.

By taking all these suggestions into account, after editing one of the
Spider sources you should delete the exe files from the directory in
question and, from that directory, just say `pcmake'. If everything works
alright, after a while you will get new executables *tangle.exe and
*weave.exe and a new macro package *web.tex besides some intermediate files.
You can remove the latter by saying `pcmake clean' (this will not affect the
exe and tex files). If you ceate a Spidery WEB for a new language, you
should take one of the pcmake files as a model to proceed with a similar
procedure.
									-H2B-