All Projects → ascherer → cwebbin

ascherer / cwebbin

Licence: MIT license
Literate Programming in C/C++

Programming Languages

c
50402 projects - #5 most used programming language
TeX
3793 projects
C++
36643 projects - #6 most used programming language
CWeb
17 projects

Labels

Projects that are alternatives of or similar to cwebbin

Antsy Alien Attack
A game, written in Bash, that is a somewhat retro-a-like shoot 'em up. Hopefully.
Stars: ✭ 86 (+258.33%)
Mutual labels:  ansi
Tendo
Official repository of python tendo library, always welcoming new contributions.
Stars: ✭ 113 (+370.83%)
Mutual labels:  ansi
Tinn
A tiny neural network library
Stars: ✭ 1,944 (+8000%)
Mutual labels:  ansi
Etherterm
EtherTerm (SDL2) Telnet/SSH Terminal
Stars: ✭ 86 (+258.33%)
Mutual labels:  ansi
Monolog Colored Line Formatter
Colored/ANSI Line Formatter for Monolog
Stars: ✭ 108 (+350%)
Mutual labels:  ansi
Terminal Canvas
Manipulate the cursor in your terminal via high-performant, low-level, canvas-like API
Stars: ✭ 125 (+420.83%)
Mutual labels:  ansi
Progress.c
Progress display lib for c
Stars: ✭ 67 (+179.17%)
Mutual labels:  ansi
Gchalk
Terminal string styling for go done right, with full and painless Windows 10 support.
Stars: ✭ 168 (+600%)
Mutual labels:  ansi
Strings
A set of useful functions for transforming strings.
Stars: ✭ 111 (+362.5%)
Mutual labels:  ansi
Ascension
ANSI/ASCII art viewer for Mac OS X
Stars: ✭ 143 (+495.83%)
Mutual labels:  ansi
Retrotxt
RetroTxt is the WebExtension that turns ANSI, ASCII, NFO text into in-browser HTML
Stars: ✭ 93 (+287.5%)
Mutual labels:  ansi
Pansies
Powershell ANSI Escape Sequences, functions for colored output, etc.
Stars: ✭ 101 (+320.83%)
Mutual labels:  ansi
Ansiweather
Weather in terminal, with ANSI colors and Unicode symbols
Stars: ✭ 1,663 (+6829.17%)
Mutual labels:  ansi
Gvcci
color extraction to turn images into 16 color palettes
Stars: ✭ 86 (+258.33%)
Mutual labels:  ansi
Reflow
A collection of (ANSI-sequence aware) text reflow operations & algorithms
Stars: ✭ 172 (+616.67%)
Mutual labels:  ansi
Ansi Econsole
Eclipse plugin that understands ANSI escape sequences to color the Eclipse console output.
Stars: ✭ 72 (+200%)
Mutual labels:  ansi
Sdefl
Small inflate/deflate implementation in ~300 LoC of ANSI C
Stars: ✭ 120 (+400%)
Mutual labels:  ansi
Colorizeswift
Terminal string styling for Swift.
Stars: ✭ 253 (+954.17%)
Mutual labels:  ansi
Ansilove
ANSI and ASCII art to PNG converter in C
Stars: ✭ 207 (+762.5%)
Mutual labels:  ansi
Ololog
A better console.log for the log-driven debugging junkies
Stars: ✭ 141 (+487.5%)
Mutual labels:  ansi

literate programming in ansi-c/c++

cwebbin is an extension of silvio levy's and donald e. knuth's cweb system and donald e. knuth's ctwill program. it requires the contents of the original cweb source drop and the secondary ctwill source drop, to which it applies a set of change files to introduce advanced features. see the extensive readme for the full story.

feature list

  • includes ctwill and its utilities;
  • internationalization with the “GNU gettext utilities”;
  • temporary file output: check output for differences from former run with new option +c;
  • [only cweave and ctwill] option -l to change the first line in the tex output; options -i and -o for slightly customizable code layout;
  • [only ctangle] output can be redirected to @(/dev/{stdout,stderr,null}@>;
  • [only in “tex live”] file lookup with the kpathsea library.

manual compilation

extract ctwill.tar.gz and add the contents of cweb-4.8.tar.gz (overwriting outdated source files Makefile, common.h, common.w, and prod.w) and cwebbin-2022.2.tar.gz for the full set of source files. replace @@VERSION@@ in line 129 of the Makefile.unix with something like Version 4.8 [CWEBbin 2022.2]. touch *.cxx. unix/linux users should work with make -f Makefile.unix exclusively (targets boot, cautiously, and all). macos/bsd users will have to adapt Makefile.unix in several spots to make things work.

advanced packaging

alternatively, you may want to use rpmbuild or debbuild for compiling the sources and for creating installable packages in rpm and deb format. set up your build arena with mkdir BUILD BUILDROOT RPMS SOURCES SPECS SRPMS for rpmbuild (plus mkdir DEBS SDEBS for debbuild).

clone cweb and cwebbin, create the source drops with

git archive -o cweb-4.8.tar.gz cweb-4.8
git archive -o cwebbin-2022.2.tar.gz cwebbin-2022.2

respectively, put these two tarballs and the original ctwill.tar.gz in the SOURCES directory, add the patch files

  • 0001-Support-extended-syntax-for-numeric-literals.patch
  • 0002-Purge-redundant-TeX-macro.patch
  • 0003-Adapt-to-CWEB-4.5.patch
  • 0004-Add-silent-datecontentspage-macro.patch

to SOURCES also, and place cwebbin.spec in the SPECS directory of your build arena.

the four patch files upgrade the ctwill macros for modern cweb. originally, they come from branch update-macros-for-cweb-4 and can be recreated by git format-patch master in the archived ctwill project.

depending on your preferences run the magic incantation

{deb|rpm}build -ba SPECS/cwebbin.spec

cweb for texlive

the extended sources and the build system were modified to smoothly integrate with the texlive build system. by invoking

{deb|rpm}build -bi SPECS/cwebbin.spec --with texlive

you receive a small tarball cweb-texlive.tar.gz, which should be extracted in texlive's source directory texlive-source (or the subversion equivalent) with

cd /path/to/texlive-source
pax -rzf /path/to/cweb-texlive.tar.gz

this tarball contains *-w2c.ch files that modify the original cweb sources for the texlive ecosystem. additionally, it contains language catalogs, tex macros, and cweb include files.

updated versions of cweb are added to the texlive source tree with

cd /path/to/texlive-source/texk/web2c/cwebdir
pax -rzf /path/to/cweb-4.8.tar.gz
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].