June 2005


Recently, I posted links to the darcs repositories of Scheffig and fcc. Scheffig is the Scheme 48 Foreign Function Interface Generator (well, and the name is a pun, as German speaking readers might have noticed) written by Andreas Bernauer, Tobias Thierer, Martin Gasbichler, and Philipp Schumacher. The project started back in 2001 when Martin taught a pratical course in compiler construction. Andreas and Tobias wrote most of the code and at the end of term, Scheffig was in pretty good shape. Philipp wrote the code for handling C constructs like structs, unions, and typedefs, taught Scheffig to use GCPRO, and added a configuration language to control Scheffig’s behavior. He did this as a term project (I was his advisor). Two give a real world example, we generated bindings for OpenGL. Worked fine, however, the OpenGL API contains some functions that have callbacks as arguments. That’s still an open problem.

However, since some thrill-seeking fearless Scheme 48 users are interested in the code, Martin and I deciced to make the repository (converted to darcs) available:

darcs get http://www-pu.informatik.uni-tuebingen.de/users/knauel/sw/scheffig/

As a prerequisite you will need fcc. Fcc is C front-end written by Mike Sperber:

darcs get http://www-pu.informatik.uni-tuebingen.de/users/knauel/sw/fcc/

Both repositories contain some documentation. My post may also be helpful for building Scheffig. Good luck!

Technorati Tags: , ,

Several people (that is to say two) asked for a progress report on the Qt bindings for Scheme 48. Well, there is some progress. Recently, I have rewritten the code that handles the GUI events to cope with problem related with garbage collection. The old scheme for getting the GUI events into Scheme triggered a garbage collection at some point where the virtual machine didn’t expect the GC to run. However, I have now gained a little bit more knowledge on the virtual machine and fixed the GC bug in the GUI handling code. I think. Still need some time for testing the code, though. As for the Qt class stub generator, there are no news.

Technorati Tags: ,