Joan is a tool to clean up C source code generated by the SmallEiffel compiler. It replaces the cryptic mangled names by more meaningful ones, removes distracting comments, and reformats the indention.
The idea behind joan is of course stupid and sick. But as of 2001, SmallEiffel does not yet include native debugging and profiling tools.
In some cases, print is good enough. If not, many people use C tools.Looking at the C source generated by SmallEiffel is not much fund. Naturally, the code optimized to be short in order to compile faster and use less disk space. Joan cleans up this C code, making it easier to interpret.
To get most out of it, it helps to know how to implement exception handling, garbage collection, and multiple inheritance. But even with only some basic C knowledge, you should be able to step through Eiffel routines and read profiler output.
In 2017, when SmallEiffel has an own IDE and tools, joan will not be of much use anymore, except for tracking down Eiffel compiler bugs.
compile -boost -no_split joan
Joan operates on the C source code and *.id file SmallEiffel generates. All of these must exist. It then simple replaces the "ugly" *.c by a one that will be easier to read.
The general pattern of operation is:
compile -no_split my_classIt is important to have "-no_split" and not to have "-clean".
joan my_class
gcc my_class.c -o my_classYou can specify C compiler options for debugging, profiler, and coverage information at will.
If you just compiled joan as described above, there still should be three files in your current directory: joan.id, joan.h, and joan.c.
Take a look at joan.c - it is ugly
Now type
joan joan
and watch.
If everything works out, you will have a new joan.c. Take a look at it, it should be nicer (as far as C can be nice).
Joan is released under the GNU GPL. (It has to be like that because it uses code from SmallEiffel's "lib_se".)
You can reach the author via e-mail: Thomas Aglassinger <agi@giga.or.at>.
This tool is named after the actress Joan Collins. The relation is that C looks ugly, and after applying joan, it looks better, but still ugly. It's pretty much the same with old women like Joan Collins: they look ugly, but put them in a mini-skirt, use 2 kg of make up, and... you get the idea.
Anyway, I did some research on her, here's a couple of links I found useful: The Interet Movie Data Base has an entry, giving all the details, inclcuding some bikini pics before.. uhm, you know. Mr Showbiz has a short bio which is quite to the point. And there an interesting wacko site describing the various female archetypes she represented in her movies; includes panty shots and stuff.