|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| ChangeLog | H A D | 18-Jun-2014 | 2.8 KiB | 82 | 55 |
| Makefile | H A D | 13-Jan-2007 | 4.8 KiB | 196 | 114 |
| README | H A D | 17-Jan-2006 | 3.2 KiB | 99 | 85 |
| c++lib.w | H A D | 17-Jan-2006 | 1.6 KiB | 86 | 85 |
| comm-amiga.ch | H A D | 17-Jan-2006 | 544 | 18 | 14 |
| comm-bs.ch | H A D | 17-Jan-2006 | 6.2 KiB | 230 | 192 |
| comm-mac.ch | H A D | 17-Jan-2006 | 5.2 KiB | 151 | 133 |
| comm-man.ch | H A D | 17-Jan-2006 | 782 | 23 | 21 |
| comm-os2.ch | H A D | 17-Jan-2006 | 701 | 25 | 20 |
| comm-pc.ch | H A D | 17-Jan-2006 | 937 | 34 | 27 |
| comm-ql.ch | H A D | 17-Jan-2006 | 10.6 KiB | 333 | 296 |
| comm-vms.ch | H A D | 17-Jan-2006 | 2.5 KiB | 82 | 69 |
| comm-w2c.ch | H A D | 18-Jun-2014 | 18.1 KiB | 814 | 665 |
| comm-w32.ch | H A D | 17-Jan-2006 | 3.3 KiB | 95 | 80 |
| common.c | H A D | 17-Jan-2006 | 21.6 KiB | 1,243 | 914 |
| common.h | H A D | 17-Jan-2006 | 8.7 KiB | 193 | 161 |
| common.w | H A D | 05-Sep-2012 | 50.9 KiB | 1,419 | 1,241 |
| ctang-bs.ch | H A D | 17-Jan-2006 | 7.1 KiB | 203 | 172 |
| ctang-man.ch | H A D | 17-Jan-2006 | 783 | 23 | 21 |
| ctang-pc.ch | H A D | 17-Jan-2006 | 958 | 25 | 21 |
| ctang-ql.ch | H A D | 17-Jan-2006 | 459 | 26 | 20 |
| ctang-vms.ch | H A D | 17-Jan-2006 | 1.1 KiB | 36 | 29 |
| ctang-w2c.ch | H A D | 18-Jun-2014 | 9.2 KiB | 479 | 385 |
| ctang-w32.ch | H A D | 17-Jan-2006 | 1.6 KiB | 67 | 59 |
| ctangle.c | H A D | 17-Jan-2006 | 29.5 KiB | 1,567 | 1,179 |
| ctangle.w | H A D | 05-Sep-2012 | 53.5 KiB | 1,555 | 1,374 |
| cweav-bs.ch | H A D | 17-Jan-2006 | 8.7 KiB | 303 | 251 |
| cweav-man.ch | H A D | 17-Jan-2006 | 783 | 23 | 21 |
| cweav-pc.ch | H A D | 17-Jan-2006 | 1.1 KiB | 40 | 33 |
| cweav-ql.ch | H A D | 17-Jan-2006 | 483 | 33 | 25 |
| cweav-vms.ch | H A D | 17-Jan-2006 | 1.1 KiB | 38 | 30 |
| cweav-w2c.ch | H A D | 18-Jun-2014 | 20.3 KiB | 1,084 | 886 |
| cweav-w32.ch | H A D | 17-Jan-2006 | 1.4 KiB | 53 | 46 |
| cweave.test | H A D | 17-May-2009 | 220 | 9 | 2 |
| cweave.w | H A D | 05-Sep-2012 | 164.9 KiB | 4,652 | 4,171 |
| cweb.1 | H A D | 17-Jan-2006 | 3.8 KiB | 139 | 137 |
| cweb.el | H A D | 17-Jan-2006 | 8.3 KiB | 216 | 153 |
| cwebmac.tex | H A D | 13-Jan-2007 | 25.4 KiB | 546 | 524 |
| cwebman.tex | H A D | 13-Jan-2007 | 81.5 KiB | 1,763 | 1,551 |
| makefile.bs | H A D | 17-Jan-2006 | 1.5 KiB | 61 | 22 |
| prod.w | H A D | 17-Jan-2006 | 15.3 KiB | 308 | 291 |
| readme.ql | H A D | 17-Jan-2006 | 2.8 KiB | 85 | 72 |
README
1% This file is part of CWEB.
2% The CWEB programs by Silvio Levy are based on programs by D. E. Knuth.
3% They are distributed WITHOUT ANY WARRANTY, express or implied.
4% This README file last updated May 2000 by Don Knuth
5
6% Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth
7
8% Permission is granted to make and distribute verbatim copies of this
9% document provided that the copyright notice and this permission notice
10% are preserved on all copies.
11
12% Permission is granted to copy and distribute modified versions of this
13% document under the conditions for verbatim copying, provided that the
14% entire resulting derived work is given a different name and distributed
15% under the terms of a permission notice identical to this one.
16
17% Please send comments, suggestions, etc. to levy@math.berkeley.edu.
18
19This directory contains the following files:
20
21Makefile
22README
23comm-amiga.ch
24comm-bs.ch
25comm-mac.ch
26comm-man.ch
27comm-pc.ch
28comm-ql.ch
29comm-vms.ch
30comm-w32.ch
31common.c
32common.h
33common.w
34ctang-bs.ch
35ctang-man.ch
36ctang-pc.ch
37ctang-ql.ch
38ctang-vms.ch
39ctang-w32.ch
40ctangle.c
41ctangle.w
42cweav-bs.ch
43cweav-man.ch
44cweav-pc.ch
45cweav-ql.ch
46cweav-vms.ch
47cweave-w32.ch
48cweave.w
49cweb.1
50cweb.el
51cwebmac.tex
52cwebman.tex
53examples/
54makefile.bs
55prod.w
56readme.ql
57c++lib.w
58
59The file cwebman.tex is the user manual.
60The examples directory contains additional examples of the use of CWEB.
61The files common.c and ctangle.c are used for bootstrapping.
62The file cweb.1 is a manual page.
63The file cweb.el is suggested for GNU-Emacs users.
64The file c++lib.w is for C++ users (say `@i c++lib.w' at beginning of program).
65The files *-man.ch are used if you want to make the full 239-page CWEB manual.
66The files *-bs.ch are used instead of *-pc.ch if you are doing BIG programs.
67You can use makefile.bs to make CWEB with *-bs.ch.
68The files *-ql.ch are for QDOS/SMSQ systems; see readme.ql for further info.
69The files *-w32.ch use __fastcall conventions on win32 systems.
70The file comm-mac.ch is for Macintosh conventions.
71The other files named *.ch are sample change files for local customization.
72
73IMPORTANT: Please touch *.c before proceeding.
74Then edit the opening lines of Makefile so that it has the proper
75directory information for your local system.
76
77To make ctangle and cweave say `make all'; this should produce roughly
78the following actions (possibly with harmless warning messages from cc):
79
80cc -g -w -c ctangle.c
81cc -g -w -DCWEBINPUTS=\"/usr/local/lib/cweb\" -c common.c
82cc -g -o ctangle ctangle.o common.o
83./ctangle cweave
84cc -g -w -c cweave.c
85cc -g -w -o cweave cweave.o common.o
86
87To get some reassurance that things are OK, you can say `make cautiously',
88which ensures that CTANGLE will reproduce itself. (Otherwise the source
89files common.w and ctangle.w won't actually have been used.)
90
91To install cweave and ctangle say `make install'. You probably need to
92be superuser to do this; but it's wise to `make all' first, BEFORE
93becoming superuser and saying `make install'.
94
95Note that change files for VMS, AMIGA, MAC, and PCs are provided. When you
96are first bootstrapping to a new system, you may need to edit common.c and
97ctangle.c by hand, but the vast majority of the change-file changes are
98minor refinements that are not necessary for a rudimentary ctangle.
99
readme.ql
1This is the readme file for CWEB for QDOS/SMSQ systems
2
3(These instructions are for systems with Toolkit II,
4 please report any problems to me, the address is at the
5 end of the file)
6
7If you want to compile CWEB for your QL system, you must first
8convert the ASCII code to the QL's character set. Therefore you
9can use the little BASIC program appended at the end of the file.
10
11For a first version you have to alter the supplied ctangle_c file.
12Set your DATA_USE to the directory you have the CWEB sources in, and
13the PROG_USE to C68's directory.
14compile it with:
15ex cc;'common_c ctangle_c -bufp500K -octangle'
16
17then ctangle the source files with:
18ex datad$&'ctangle';'common_w comm-ql_ch'
19ex datad$&'ctangle';'ctangle_w ctang-ql_ch'
20ex datad$&'ctangle';'cweave_w cweav-ql_ch'
21
22Compile the following way (C68v4.14 +):
23
24ex cc;'-c common_c'
25ex cc;'-c ctangle_c'
26ex cc;'-c cweave_c'
27ex ld;'-bufp500K common_o ctangle_o -octangle'
28ex ld;'-bufp500K common_o cweave_o -ocweave'
29
30After that copy the ctangle and cweave executables into your
31programs directory (if you want them there).
32
33The DATA default may be used as usual. E.g. if you have
34a file win2_data_test_w and the DATA default set to
35win2_data_ you may call ctangle with
36 ex ctangle;'test'
37assuming that ctangle is in your PROG default.
38
39Please report any problems with the QL version to:
40Robert Klein
41Bluecherstrasse 24
42D-56349 Kaub
43Germany
44
45
46**************** ASCII Conversion program ***************
47With this program you can convert DOS and Unix 7-Bit ASCII
48files to the QL's character set. You'll need Toolkit II.
49The program will take all the files in the source directory
50and put them converted into the destination&source directory,
51e.g. you have as drive1$='win2_', drive2$='win3_',
52path1$='cweb_' and path2$='ql_'. Then the routine will take
53all files in win2_cweb_ (wthout subdirectories!) convert them
54and write them to 'win3_ql_cweb_'. It's only a lousy hack,
55but it'll do it's job.
56
571000 DEFine PROCedure dos2ql (drive1$,path1$,drive2$,path2$)
581002 LOCal zx$,zx%,ishl,ashl
591005 DELETE drive2$&path2$&'dirlist'
601010 OPEN_NEW#5,drive2$&path2$&'dirlist'
611020 DIR#5,drive1$&path1$
621030 CLOSE#5
631040 OPEN_IN#5,drive2$&path2$&'dirlist'
641050 INPUT#5,zx$:INPUT#5,zx$:REMark devicename and sectors
651060 REPeat ashl
661070 IF EOF(#5)THEN EXIT ashl
671080 INPUT#5,zx$
681085 IF '->' INSTR zx$ THEN NEXT ashl
691090 OPEN_IN#3,drive1$&zx$
701100 OPEN_NEW#4,drive2$&path2$&zx$
711110 REPeat ishl
721120 IF EOF(#3)THEN EXIT ishl
731130 BGET#3,zx%
741140 SELect ON zx%
751150 = 13:REMark do nothing (DOS LineFeed)
761155 = 26:REMark do nothing (DOS EOF sign)
771160 = 96: BPUT#4,159:REMark Unix/DOS beginning quote sign
781170 = REMAINDER : BPUT#4,zx%
791180 END SELect
801190 END REPeat ishl
811195 CLOSE#3:CLOSE#4
821200 END REPeat ashl
831205 CLOSE#5
841210 END DEFine dos2ql
85