home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
new
/
dev
/
misc
/
cweb
/
ctangle-p.ch
< prev
next >
Wrap
Text File
|
1993-12-21
|
18KB
|
557 lines
-*-Web-*-
This file, CTANGLE-P.CH, is part of CWEB-p.
It is a changefile for CTANGLE.W, Version 3.0.
Authors and Contributors:
(H2B) Hans-Hermann Bode, Universität Osnabrück,
(hhbode@@dosuni1.rz.uni-osnabrueck.de or HHBODE@@DOSUNI1.BITNET).
(KG) Klaus Guntermann, TH Darmstadt,
(guntermann@@iti.informatik.th-darmstadt.de).
(AS) Andreas Scherer,
Abt-Wolf-Straße 17, 96215 Lichtenfels, Germany.
(CS) Carsten Steger, Universität München,
carsten.steger@informatik.tu-muenchen.de
Caveat utilitor: Some of the source code introduced by this change file is
made conditional to the use of specific compilers on specific systems.
This applies to places marked with `#ifdef __TURBOC__' and `#ifdef _AMIGA'.
This program is distributed WITHOUT ANY WARRANTY, express or implied.
The following copyright notice extends to this changefile only, not to
the masterfile CTANGLE.W.
Copyright (C) 1993 Andreas Scherer
Copyright (C) 1991, 1993 Carsten Steger
Copyright (C) 1991, 1992 Hans-Hermann Bode
Permission is granted to make and distribute verbatim copies of this
document provided that the copyright notice and this permission notice
are preserved on all copies.
Permission is granted to copy and distribute modified versions of this
document under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Version history:
Version Date Author Comment
a1/t1 10 Oct 1991 H2B First attempt for CTANGLE.W 2.0.
p2 13 Feb 1992 H2B Updated for CTANGLE.W 2.2, ANSI and Turbo
changefiles merged together.
p3 16 Apr 1992 H2B Updated for CTANGLE.W 2.4.
p4 21 Jun 1992 H2B Nothing changed.
p5 18 Jul 1992 H2B Extensions for C++ implemented.
p5a 24 Jul 1992 KG adaptions for other ANSI C compiler
p5b 28 Jul 1992 H2B Remaining headers converted to ANSI style.
p6 06 Sep 1992 H2B Updated for CTANGLE.W 2.7, |dot_dot_dot|
added, parsing of @@'\'' fixed (due to KG),
@@<Copy an ASCII constant@@> extended,
(nonfatal) confusion in processing short
comments fixed.
p6a 15 Mar 1993 AS Re-changing some of the TC stuff to SAS/C
p6b 27 Jul 1993 AS new patch level in accordance with CWeave
p6c 04 Sep 1993 AS new patch level in accordance with Common
p6d 09 Oct 1993 AS Updated for CTANGLE.W 2.8. (This was p7)
p7 13 Nov 1992 H2B Converted to master change file, updated for
ctangle.w 2.8. [Not released.]
p7.5 29 Nov 1992 H2B Updated for ctangle.w 2.9beta. [Not released.]
p8 08 Dec 1992 H2B Updated for ctangle.w 2.9++ (stuff went into
the source file), ANSI bug in <Get a constant>
fixed. [Not released.]
p8a 10 Mar 1993 H2B Restructured for public release.
[Not released.]
p8b 14 Apr 1993 H2B Updated for ctangle.w 3.0beta. [Not released.]
p8c 21 Jun 1993 H2B Updated for final ctangle.w 3.0.
p8d 25 Oct 1993 AS Incorporated into Amiga version 2.8 [p7] and
updated to version 3.0.
------------------------------------------------------------------------------
@x l.1
% This file is part of CWEB.
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
% Version 3.0 --- June 1993
% Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
@y
% This file, CTANGLE.W, is part of CWEB-p.
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
% Version 2.4 --- Don Knuth, April 1992
% Version 2.4 [p5] --- Hans-Hermann Bode, July 1992
% Version 2.4 [p5a] --- Klaus Guntermann, July 1992
% Version 2.4 [p5b] --- Hans-Hermann Bode, July 1992
% Version 2.7 --- Don Knuth, July 1992
% Version 2.7 [p6] --- Hans-Hermann Bode, September 1992
% Version 2.7 [p6a] --- Andreas Scherer, March 1993
% Version 2.7 [p6b] --- Andreas Scherer, July 1993
% Version 2.7 [p6c] --- Andreas Scherer, September 1993
% Version 2.8 --- Don Knuth, September 1992
% Version 2.8 [p7] --- Andreas Scherer, October 1993
% Version 3.0 --- Don Knuth, June 1993
% Version 3.0 [p8c] --- Hans-Hermann Bode, June 1993
% Version 3.0 [p8d] --- Andreas Scherer, October 1993
% Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
% Copyright (C) 1991,1992,1993 Hans-Hermann Bode
% Copyright (C) 1993 Andreas Scherer
@z
------------------------------------------------------------------------------
@x l.25
\def\title{CTANGLE (Version 3.0)}
@y
\def\title{CTANGLE (Version 3.0 [p8d])}
@z
------------------------------------------------------------------------------
@x l.29
\centerline{(Version 3.0)}
@y
\centerline{(Version 3.0 [p8d])}
@z
------------------------------------------------------------------------------
@x l.33
Copyright \copyright\ 1987, 1990, 1993 Silvio Levy and Donald E. Knuth
@y
Copyright \copyright\ 1987, 1990, 1993 Silvio Levy and Donald E. Knuth
\smallskip\noindent
Copyright \copyright\ 1991, 1992, 1993 Hans-Hermann Bode
\smallskip\noindent
Copyright \copyright\ 1993 Andreas Scherer
@z
------------------------------------------------------------------------------
Activate this, if only the changed modules should be printed.
x l.46
\let\maybe=\iftrue
y
\let\maybe=\iffalse
z
------------------------------------------------------------------------------
@x l.49
This is the \.{CTANGLE} program by Silvio Levy and Donald E. Knuth,
based on \.{TANGLE} by Knuth.
@y
This is the \.{CTANGLE} program by Silvio Levy and Donald E. Knuth,
based on \.{TANGLE} by Knuth, with {\mc ANSI-C} conforming changes
and {\mc TURBO}-\CPLUSPLUS/ implementation made by Hans-Hermann Bode.
{\mc SAS/C~6.0} implementation made by Andreas Scherer.
@z
------------------------------------------------------------------------------
@x l.59
@d banner "This is CTANGLE (Version 3.0)\n"
@y
@d banner "This is CTANGLE (Version 3.0 [p8d])\n"
@z
------------------------------------------------------------------------------
@x l.74
@<Predecl...@>=
extern int strlen(); /* length of string */
extern int strcmp(); /* compare strings lexicographically */
extern char* strcpy(); /* copy one string to another */
extern int strncmp(); /* compare up to $n$ string characters */
extern char* strncpy(); /* copy up to $n$ string characters */
@y
@<Include files@>=
#include <string.h>
@z
------------------------------------------------------------------------------
@x l.89
int main (ac, av)
int ac;
char **av;
@y
int main (int ac, char **av)
@z
------------------------------------------------------------------------------
Blow the fuck out of {\mc MULTIPLE SCLEROSIS};
any decent system is capable of using the defaults.
x l.103
@ The following parameters were sufficient in the original \.{TANGLE} to
handle \TEX/,
so they should be sufficient for most applications of \.{CTANGLE}.
y
@ In the following, due to memory limitations of {\mc MS-DOS} systems, the
value of |max_toks| is reduced to~$1\over2$ of its value in the original
\.{CTANGLE}, the remaining parameters were sufficient in the original
\.{CTANGLE} to handle \TEX/; nevertheless, even |max_toks| should be sufficient
for most applications of \.{CTANGLE}.
@^system dependencies@>
z
------------------------------------------------------------------------------
x l.111
@d max_toks 270000 /* number of bytes in compressed \Cee\ code */
y
@d max_toks 135000 /* number of bytes in compressed \Cee\ code */
z
------------------------------------------------------------------------------
@x l.124
@i common.h
@y
@i common-p.h
@z
------------------------------------------------------------------------------
@x l.151
eight_bits *tok_start; /* pointer into |tok_mem| */
@y
eight_bits HUGE *tok_start; /* pointer into |tok_mem| */
@z
------------------------------------------------------------------------------
@x l.160
eight_bits tok_mem[max_toks];
eight_bits *tok_mem_end=tok_mem+max_toks-1;
eight_bits *tok_ptr; /* first unused position in |tok_mem| */
@y
#ifdef __TURBOC__
eight_bits HUGE *tok_mem;
eight_bits HUGE *tok_mem_end;
#else
eight_bits tok_mem[max_toks];
eight_bits *tok_mem_end=tok_mem+max_toks-1;
#endif
eight_bits HUGE *tok_ptr; /* first unused position in |tok_mem| */
@z
--------