*** doc/cacm.tex.old Thu Apr 6 14:01:25 1989 --- doc/cacm.tex Mon Apr 10 14:47:13 1989 *************** *** 182,188 **** \put(125,30){\line(-1,-1){10}} \put(115,20){\vector(-1,0){25}} ! \put(104,21.5){\makebox(0,0)[b]{\scriptsize\sl CWEAVE}} \put(60,15){\framebox(30,10){xtangle.c}} \put(60,-25){\framebox(30,10){xweave.c}} --- 182,188 ---- \put(125,30){\line(-1,-1){10}} \put(115,20){\vector(-1,0){25}} ! \put(104,21.5){\makebox(0,0)[b]{\scriptsize\sl CTANGLE}} \put(60,15){\framebox(30,10){xtangle.c}} \put(60,-25){\framebox(30,10){xweave.c}} *** Makefile.old Mon Apr 10 11:14:16 1989 --- Makefile Tue Apr 11 11:51:42 1989 *************** *** 29,35 **** # Put everything into a tar file. Must `make source' first, and should clean distribution: # $(MAKE) clean - cd master ; make superclean ; cd .. # remove common .o from master # $(MAKE) source tar cvhf spiderweb.tar README COPYRIGHT BUGS webkernel.tex \ Makefile $(DIRECTORIES) --- 29,34 ---- *** master/Makefile.old Thu Apr 6 19:37:11 1989 --- master/Makefile Tue Apr 11 11:55:29 1989 *************** *** 2,12 **** # Not to be sold, but may be used freely for any purpose # For more information, see file COPYRIGHT in the parent directory clean: -rm -f *.tex *.dvi *.log *.wlog *~ *.toc superclean: ! -rm -f *.c *.o -rm -f *.tex *.dvi *.log *~ *.toc - -rm -f sun3/*.o vax/*.o --- 2,18 ---- # Not to be sold, but may be used freely for any purpose # For more information, see file COPYRIGHT in the parent directory + OBJECTDIRS=sun3 vax + clean: -rm -f *.tex *.dvi *.log *.wlog *~ *.toc + @-for i in $(OBJECTDIRS); do \ + rm -f $$i/*.o; \ + done + -rm -f *.o superclean: ! -rm -f sun3/*.o vax/*.o *.o ! -rm -f *.c -rm -f *.tex *.dvi *.log *~ *.toc *** master/spider.web.old Tue Apr 11 13:19:58 1989 --- master/spider.web Tue Apr 11 14:02:06 1989 *************** *** 1939,1945 **** if (n%5==0) print "@ @=" \ > grammarfile ## avoids overflowing \.{WEAVE} of \.{WEAVE} ! # # printf "if (%s) {\n\t/* %d: {\\tt %s} */\n%s",\ prodtest[n],n,this_string,prodtrans[n] > grammarfile --- 1939,1945 ---- if (n%5==0) print "@ @=" \ > grammarfile ## avoids overflowing \.{WEAVE} of \.{WEAVE} ! # # printf "if (%s) {\n\t/* %d: {\\tt %s} */\n%s",\ prodtest[n],n,this_string,prodtrans[n] > grammarfile *************** *** 1991,2005 **** # It's desirable to put the production in a comment, but we have to get rid of the confusing \vert, or \.{WEAVE} will think it introduces code. ! #= ! this_string = inputline[n] tempi = index(this_string,"|") ! while (tempi != 0) { ! tempa = substr(this_string,1,tempi-1) ! tempb = substr(this_string,tempi+1) ! this_string = tempa "\\vert " tempb ! tempi = index(this_string,"|") ! } # We have to keep these productions from making an input line too long. --- 1991,2025 ---- # It's desirable to put the production in a comment, but we have to get rid of the confusing \vert, or \.{WEAVE} will think it introduces code. ! We also have to escape underscores and sharp signs, otherwise \TeX\ will ! think we want math mode. ! #= ! this_string = inputline[n] ! tempi = index(this_string,"|") ! while (tempi != 0) { ! tempa = substr(this_string,1,tempi-1) ! tempb = substr(this_string,tempi+1) ! this_string = tempa "\\vert " tempb tempi = index(this_string,"|") ! } ! templ = ""; tempr = this_string ! tempi = index(tempr,"_") ! while (tempi != 0) { ! tempa = substr(tempr,1,tempi-1) ! tempr = substr(tempr,tempi+1) ! templ = templ tempa "\\_" ! tempi = index(tempr,"_") ! } ! this_string = templ tempr ! templ = ""; tempr = this_string ! tempi = index(tempr,"##") ! while (tempi != 0) { ! tempa = substr(tempr,1,tempi-1) ! tempr = substr(tempr,tempi+1) ! templ = templ tempa "\\##" ! tempi = index(tempr,"##") ! } ! this_string = templ tempr # We have to keep these productions from making an input line too long. *** doc/spiderwebman.tex.old Thu Apr 6 14:01:32 1989 --- doc/spiderwebman.tex Tue Apr 11 14:24:39 1989 *************** *** 579,599 **** can define two kinds of macros to make the programs shorter and more readable. ! \yskip\hang`\.{@d} \\{identifier} \PASCAL\ text' defines a {\sl simple\/} macro, where the identifier will be replaced by the \PASCAL\ text when \.{TANGLE} produces its output. ! \yskip\hang`\.{@d} \\{identifier}\.{(\\{ actual identifiers})} \PASCAL\ text' defines a {\sl parametric\/} macro, where the identifier will be replaced by the \PASCAL\ text and where occurrences of the \\{identifiers} in that \PASCAL\ text will be replaced by arguments. ! C programmers will recognize the C macro processor. ! The implementation relies on the C preprocessor to expand the macros. ! The author of \.{Spider} \.{WEB} intends to correct this unfortunate ! historical accident at the earliest opportunity, by restoring ! \.{WEB}'s built-in macro processor. ! --- 579,595 ---- can define two kinds of macros to make the programs shorter and more readable. ! \yskip\hang`\.{@d} \\{identifier} = \PASCAL\ text' defines a {\sl simple\/} macro, where the identifier will be replaced by the \PASCAL\ text when \.{TANGLE} produces its output. ! \yskip\hang`\.{@d} \\{identifier}\.{(\\{ actual identifiers})} = \PASCAL\ text' defines a {\sl parametric\/} macro, where the identifier will be replaced by the \PASCAL\ text and where occurrences of the \\{identifiers} in that \PASCAL\ text will be replaced by arguments. ! For C programmers, this is similar to the C macro processor. ! \endnewstuff