Short: Literate programming discipline for C/C++.
Type: dev/c
Files: cweb32p10.lha, cweb32p10.readme
Uploader: Andreas Scherer
Authors: Silvio Levy and Donald Knuth

This  is  the  portability  implementation  of  Silvio Levy's and Donald E.
Knuths's  CWEB  system,  version  3.2 of August 1994, compiled and provided
with  changefiles  for  ANSI-C,  TURBO-C,  and  SAS/C 6.x and makefiles for
UNIX-make,  TURBO-make and SAS-make by Andreas Scherer.  It is based on the
CWEB  3.1  port by Tomas Willis and the CWEB 2.8 port by Carsten Steger and
the  CWEB-p  3.0  distribution  by  Hans-Hermann Bode and Klaus Guntermann,
including  all features of the original UNIX implementation like ANSI-C and
C++  support,  full ASCII input capability, and more, plus all enhancements
made in these AMIGA, MSDOS, and UNIX ports plus some special features like:

   - The complete source code is capable of being recompiled with SAS/C for
     AMIGADOS, with  GCC and TURBOC for  MSDOS, and with  CC, C89, and  GCC
     for UNIX without the need for further changes.

   - The `gcwebmac.tex' macro package  activated by setting the `+g' option
     includes support for  special characters like  German umlauts and some
     frequently  used  specials  according  to  ISO 8859-1/ECMA-94, IBM  PC
     International Codepage 850, Macintosh 8-bit font table and HP Roman 8.
     All captions used by CWEB are translated to German in this macro file.

   - There  are  TeX macro  files `ecma94.tex', `hp8.tex', `mac8.tex',  and
     `pc850.tex' for  support  of  extended  code  tables.   Also  included
     are  `ecma94.w',  `hp8.w',  `mac8.w',  and  `pc850.w' with appropriate
     transliteration tables.

   - Two  AREXX  scripts for use with the CygnusEd Professional Editor were
     added to this package, one for CTANGLE and CWEAVE, localized in German
     and English under AMIGADOS version 2.1 or 3.0,  the other for use with
     the SAS/C 6.x compiler in connection with CED version 3.5.

   - Both  CTANGLE and  CWEAVE are localized in German and English with the
     help of the `locale.library' of AMIGADOS 2.1/3.0.  Catalogs  for other
     languages can easily be added.  A set of German strings is provided.

   - An algorithm for recursive `@i'nclude file search was adapted from the
     TeX and METAFONT implementation.

   - The `o' option  as described in `cwebman.tex' was added  in connection
     with the `i' option by Steger.

   - Five additional CWEB example programs are included as examples for the
     portability between PASCAL-WEB and C-CWEB and for the usage of the C++
     features of version 3.1.  The  fifth  example program is a simple text
     converter  for  files  with  extended  character codes of ISO-Latin-1,
     PC-850, MAC 8-bit font, and HP 8-bit font.

   - All three system programs support the `version' information command.

   - Both CTANGLE and CWEAVE are compiled in the NEAR  data segment and can
     be made resident.

   - The `m' option enables ARexx communication between  CWEB and the SAS/C
     message browser SCMSG.  Any warnings or error messages are transferred
     to its list  window.  The behaviour of  this feature can be controlled
     via  the  external  environment variable SCMSGOPT, which may be set to
     any legal option string as described in the documentation of the SAS/C
     development system by SAS Institute.

This port was done and completely tested with SAS/C version 6.3 and SAS/C++
version  6.51  on the AMIGA.  After completion the package was re-ported to
various  UNIX systems (HP 9000, HP-PA, Sun, SGI) with CC, C89, and GCC, and
ported  to  MSDOS  with  TURBO-C++ 3.1.  Provided that all these ports work
successfully, I am quite sure that all bugs have been found and fixed.
