More pidgin progress

pidgin, n. An artificial language used for trade between speakers of different languages.

melange, n. A motley assortment of things.

Pidgin is overhauled version of CMU's Melange. It's eventually inteded to parse C header files and generate Dylan C FFI bindings in a rigorous and automatic fashion.

Thanks to the efforts of the Gwydion Group at CMU, Melange is a powerful tool. Unfortunately, parts of it need to be redesigned with the benefit of hindsight. That's what Pidgin is for.

What's the status of Pidgin? ----------------------------

Pidgin now has a complete model of ANSI C types and declarations and knows how to represent them as strings.

What's next? ------------

Pidgin needs a type repository and a C parser. The type repository will ensure that all "char *" types are the /same/ "char *" type.

The C parser will come from Melange.

I'll begin work on the type repository and parser integration in my spare time during the coming week.

What kinds of types and declarations are supported? ---------------------------------------------------

Everything, I hope. Here's a sample set of types, printed as abstract declarators. Note that Pidgin can represent function types and typedefs in a more explicit fashion than is required by the ANSI C standard. This design decision was based on experience with Melange.