CTAN update: cweb
This new release provides the following features: * @<Code sections@> can be used freely in any #if -- #elif -- #else -- #endif preprocessor branches without bashing the debugger * The GCC compiler can be invoked with option -Wimplicit-fallthrough=2 on all CWEB code modules and will acknowledge /* fall through */ comments in the tangled C code * Simple C casts like '(double)x' are formatted with non-breaking small spaces as '(double)\,x' in the woven TeX output * The HINT boolean macros are now in lowercase (as in ifhint.tex) * Comma-separated lists of variable declarations are formatted in accordance with function parameter lists and enumerations, i.e., comma is handled in math-mode with associated small spacing and it fixes these bugs: * Section @<Preprocessor definitions@> isn't overprinted (in PDF) * Trivial CWEB code is formatted correctly (issue #36) * Nested type definitions are recognized (issue #34) Major remaining bug (as of CWEB 4.3.1): * Idiosyncratic function headers in MMIX are formatted incorrectly (issue #38)
This package is located at https://mirrors.ctan.org/web/c_cpp/cweb More information is at https://www.ctan.org/pkg/cweb
Thanks for the upload. For the CTAN Team Manfred Lotz CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs .
cweb – A Web system in C
The CWEB system is a system for literate programming, also known as structured software documentation, with code written in the C and C++ languages.
People have been accumulating several decades of experience with CWEB, and CTANGLE and CWEAVE are known to work reasonably well on numerous platforms. In general those programs are now entirely stable: DEK won't be changing them any more, because they've proved their value in extensive use. (Henceforth he must devote full time to “The Art of Computer Programming”!)
However, further significant developments, including versions that DEK himself does not maintain, are ongoing. All of the really current news about CWEB is, in fact, now to be found in the CWEB development project, thanks to the tireless activities of Andreas Scherer.
The first new release under his auspices incorporates the majority of material from his CWEBbin project, namely all the patches accumulated over many years, and all the changes for ANSI-C. What's left in CWEBbin are a few extensions used in TeX Live:
- includes CTWILL and its utilities
- internationalization with the “GNU gettext utilities”
- output is only written when different from the former run
- new options -l, -i, and -o for CWEAVE and CTWILL
- file lookup with the kpathsea library (TeX Live only)
and it provides tools to bundle packages for various target systems.
Package | cweb |
Version | 4.12 |
Copyright | Silvio Levy and Donald E. Knuth |
Maintainer | Andreas Scherer Donald E. Knuth (inactive) Silvio Levy (inactive) |