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 Subject: PC implementation of Spidery WEB To: Norman Ramsey 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 . 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-