Aargh is a code generator written in C++. Based on specifications defined in an XML file, it generates C or C++ code to parse a command line, using the getopt() facility available in Unix, Linux, and similar environments. It supports command line options with integer arguments, string arguments, and no arguments. It optionally applies range tests to validate the option arguments, or calls a user-defined validation function. The generated code is commented and carefully indented for readability.
Cheap Threads is a collection of portable C routines for implementing sychronous threads. It includes a scheduler and a facility for passing messages among threads. Threads may run in a round robin or according to a priority scheme. Each thread must voluntarily relinquish control from time so that other threads can run. Since the threads are synchronous, i.e. they don't interrupt each other, they don't need to use semaphores, mutexes, critical sections, or other facilities to keep from interfering with each other. One version of Cheap Threads is designed for embedded systems.