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.