home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
new
/
dev
/
misc
/
cweb
/
cweave-p.ch
< prev
next >
Wrap
Text File
|
1993-12-21
|
40KB
|
1,300 lines
-*-Web-*-
This file, CWEAVE-P.CH, is part of CWEB-p.
It is a changefile for CWEAVE.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 CWEAVE.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 CWEAVE.W 2.1.
p2 13 Feb 1992 H2B Updated for CWEAVE.W 2.4, ANSI and Turbo
changefiles merged together, typesetting of
certain ANSI and special constructions fixed.
p3 16 Apr 1992 H2B Updated for CWEAVE.W 2.5.
p4 22 Jun 1992 H2B Updated for CWEAVE.W 2.6, retaining hack for
underlining of customized iddentifiers.
p5 21 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.
p5c 30 Jul 1992 KG removed comments used after #endif
p6 06 Sep 1992 H2B Updated for CWEAVE.W 2.7, |dot_dot_dot| added,
proper typesetting of formatted macro
identifiers provided, bug in processing
short comments fixed.
p6a 15 Mar 1993 AS adaptions for SAS/C 6.0 and use of German
macro file gcwebmac.tex
p6b 28 Jul 1993 AS new patch level due to minor changes
01 Aug 1993 AS missing `ptrdiff_t' datatype included
p6c 04 Sep 1993 AS new patch level in accordance with Common
p6d 09 Oct 1993 AS Updated for CWEAVE.W 2.8. (This was p7)
p7 13 Nov 1992 H2B Converted to master change file, updated for
CWEAVE.W 2.8. [Not released.]
p7.5 29 Nov 1992 H2B Updated for CWEAVE.W 2.9beta. [Not released.]
p8 04 Dec 1992 H2B Updated for CWEAVE.W 2.9++ (stuff went into
the source file). [Not released.]
p8a 10 Mar 1993 H2B Restructured for public release. [Not released.]
p8b 15 Apr 1993 H2B Updated for CWEAVE.W 3.0beta. [Not released.]
p8c 21 Jun 1993 H2B Updated for final CWEAVE.W 3.0.
p8d 25 Oct 1993 AS Incorporated with 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, CWEAVE.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.6 --- Don Knuth, June 1992
% Version 2.6 [p5] --- Hans-Hermann Bode, July 1992
% Version 2.6 [p5a] --- Klaus Guntermann, July 1992
% Version 2.6 [p5b] --- Hans-Hermann Bode, July 1992
% Version 2.6 [p5c] --- Klaus Guntermann, 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) 1991,1993 Carsten Steger
% Copyright (C) 1993 Andreas Scherer
@z
------------------------------------------------------------------------------
@x l.30
\def\title{CWEAVE (Version 3.0)}
@y
\def\title{CWEAVE (Version 3.0 [p8d])}
@z
------------------------------------------------------------------------------
@x l.34
\centerline{(Version 3.0)}
@y
\centerline{(Version 3.0 [p8d])}
@z
------------------------------------------------------------------------------
@x l.40
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\ 1991, 1993 Carsten Steger
\smallskip\noindent
Copyright \copyright\ 1993 Andreas Scherer
@z
------------------------------------------------------------------------------
Activate this, if only the changed modules should be printed.
x l.51
\let\maybe=\iftrue
y
\let\maybe=\iffalse
z
------------------------------------------------------------------------------
@x l.54
This is the \.{CWEAVE} program by Silvio Levy and Donald E. Knuth,
based on \.{WEAVE} by Knuth.
@y
This is the \.{CWEAVE} program by Silvio Levy and Donald E. Knuth,
based on \.{WEAVE} by Knuth, with {\mc ANSI-C} conforming changes
and {\mc TURBO}-\CPLUSPLUS/ implementation made by Hans-Hermann Bode.
Use of German macros and {\mc SAS/C~6.0} implementation made by Andreas
Scherer based on ideas by Carsten Steger.
@z
------------------------------------------------------------------------------
@x l.64
@d banner "This is CWEAVE (Version 3.0)\n"
@y
@d banner "This is CWEAVE (Version 3.0 [p8d])\n"
@z
------------------------------------------------------------------------------
@x l.78
@<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.94
int main (ac, av)
int ac; /* argument count */
char **av; /* argument values */
@y
int main (int ac, char **av)
/* argument count and argument values */
@z
------------------------------------------------------------------------------
@x l.139
@i common.h
@y
@i common-p.h
@z
------------------------------------------------------------------------------
@x l.223
typedef struct xref_info {
sixteen_bits num; /* section number plus zero or |def_flag| */
struct xref_info *xlink; /* pointer to the previous cross-reference */
} xref_info;
typedef xref_info *xref_pointer;
@y
typedef struct xref_info {
sixteen_bits num; /* section number plus zero or |def_flag| */
struct xref_info HUGE *xlink; /* pointer to the previous cross-reference */
} xref_info;
typedef xref_info HUGE *xref_pointer;
@z
------------------------------------------------------------------------------
@x l.230
xref_info xmem[max_refs]; /* contains cross-reference information */
xref_pointer xmem_end = xmem+max_refs-1;
@y
#ifdef __TURBOC__
xref_info HUGE *xmem; /* contains cross-reference information */
xref_pointer xmem_end;
#else
xref_info xmem[max_refs]; /* contains cross-reference information */
xref_pointer xmem_end = xmem+max_refs-1;
#endif
@z
------------------------------------------------------------------------------
@x l.244
xref_ptr=xmem; name_dir->xref=(char*)xmem;