C/C++ tools and libraries
A set of libraries and stand-alone tools written in C or C++.
- The G2 preprocessor:
A tool that allows you to use your favorite language (e.g. TCL, Python, ...)
as a preprocessor for text preprocessing. One of its most interesting
applications is a scripting-language preprocessor for C++ programs,
to replace the traditional and somewhat outdated CPP preprocessor.
- Compressed bitvectors:
A C++ class that represents a bitvector in compressed form and does bitwise
operations on it without first decompressing it. Speedy, compact and
simple. Works best for bitvectors that have long sequences of consecutive 1s
or consecutive 0s (such sequences are called platforms).
Useful for programming sets or bit matrices.
A set of TCL scripts, written for John Ousterhout's
>> Tool Command Language.
Library and tools for very basic object support in TCL.
Code for the classes and objects is generated from a schema file,
allowing you to set up a small set of TCL objects very quickly.
A clipboard is basically a text buffer in which you can place named marks
between the text. By referring to the name of such a mark, you can change
existing pieces of text, remove them, change their order, or insert entirely
new text. Then, when the clipboard is ready, you output it to a file or to
stdout. This is very useful for code generation and other situations
where you don't know in advance the exact content/order of the output you're going
This is a detailed description of the Tcl/Tk code for BWidgets, a popular
Tk toolkit with a number of good-looking new widgets. I try to figure out
how the code works, and explain what I have discovered so far. One day
I may add my own BWidgets here.
Some papers about various programming topics.
- Objects in TCL:
TCL is a procedural language, based entirely on functions and function calls.
This paper explains some easy techniques to introduce object-orientation in TCL.
The techniques are illustrated with examples; you can also download a tarball
containing the paper and its examples so you can run them yourself.
- TCL data formats:
Simple mechanisms for parsing text files in TCL.
Especially useful if you want to make TCL data structures persistent.