CTAN update: cweb
This new release of CWEB comes with these new features: * CWEAVE has a new command-line option '-F' that pulls the first line of a 'compound statement' (aka 'block') next to the opening curly brace. C/C++ control structures like 'if', 'while', 'for' are /not/ treated this way, but can be forced up with the '@+' control code as usual. * 'do...while' loops are separated from the surrounding statements also when 'cweave -f' is used. (Override with '@+'.) * The `\startpdf' macro (in 'cwebacromac.tex') now supports multi-page tables-of-contents, with or without the application of the 'pdfwebtocfront.tex' macros. * Martin Ruckert (TUG'24 in Prague) has found and fixed a performance issue with large C/WEB programs with extensive index entries. His new '\scan' macro (in 'cwebacromac.tex') greatly improves the overall runtime. * The classic macros by César Crusius (1999/2000) have been reworked and perform 10–15 percent better for some inputs.
The package’s Catalogue entry can be viewed at https://ctan.org/pkg/cweb The package’s files themselves can be inspected at https://mirrors.ctan.org/web/c_cpp/cweb/
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
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) |