diff options
Diffstat (limited to 'web/spiderweb/src/README.DOS')
-rw-r--r-- | web/spiderweb/src/README.DOS | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/web/spiderweb/src/README.DOS b/web/spiderweb/src/README.DOS new file mode 100644 index 0000000000..596e6c5081 --- /dev/null +++ b/web/spiderweb/src/README.DOS @@ -0,0 +1,56 @@ +How to bring up Spider on MS-DOS (adapted from instructions kindly +provided by David Ness). Assumes Microsoft C 5.1 and MS overlay +linker V 3.65. + +1. Get \MASTER\PATHOPEN.* COMMON.* + +2. Get TANGLE.C from C.ZIP + +3. Compile with 'CL /AH TANGLE.C COMMON.C PATHOPEN.C'. (If your + compiler does not define the symbol MSDOS automatically, you should + use 'CL /DMSDOS' or whatever the appropriate incantation is.) This will + produce lots of warnings because the code has labels after '#endif'. + This produces your official C tangle, so perhaps + 'REN TANGLE.EXE CTANGLE.EXE' is in order. + +4. Get TANGLE.C from AWK.ZIP, and + 'CL /AH TANGLE.C COMMON.OBJ PATHOPEN.OBJ' followed by + 'REN TANGLE.EXE ATANGLE.EXE' should give you an Awk tangle. + +5. Not that the copies of C TANGLE and Awk TANGLE have been produced + from the bootstrap TANGLE.C, not from TANGLE.WEB. Our next task + is to produce good TANGLEs from the WEB. This will require SPIDER, + and SPIDER REQUIRES Awk. + +6. First we can regenerate PATHOPEN.C and PATHOPEN.H from PATHOPEN.WEB + with 'CTANGLE PATHOPEN'. This is done just for consistency. + +7. Now begin by creating SPIDER.AWK from SPIDER.WEB: 'ATANGLE SPIDER'. + +8. Run Awk on SPIDER, giving it C.SPI: 'AWK -F SPIDER.AWK C.SPI'. + This produces OUTTOKS.WEB needed for TANGLE.WEB and GRAMMAR.WEB and + SCRAPS.WEB needed for WEAVE. + +9. However, there is one problem. As is, the function `translate()' + generates a code segment too big to handle. By wild good luck, if + the appropriate calls to the `reduce()' function are replaced with + calls on `squash()', then it just fits. (SPIDER doesn't generate + calls on `squash()', although `squash()' is still defined in + WEAVE.) + + DNN.WEB will generate an Awk script that does this reduction. + For MKS Awk this is done with + ATANGLE DNN.WEB + AWK -F DNN GRAMMAR.WEB + COPY OUT.TMP GRAMMAR.WEB + +10.Then 'CTANGLE WEAVE' to produce WEAVE.C + +11.And finally 'CL /AH WEAVE.C COMMON.OBJ PATHOPEN.OBJ' + and 'REN WEAVE.EXE CWEAVE.EXE'. + +12.We can generate AWEAVE (for Awk) by starting again at step 8 and + substituting `A' for `C' where appropriate. + + + |