We had two speakers, Troy Will and Guy Shaw. This was Troy's first visit to LA.pm. Thank you both for presenting. Guy was a last minute fill to cover when Aran took ill.
Guy is talking about pe-cpp, a partial c-pre-processor evaluator for making simplified header files. pe-cpp produces "sliced" cpp header files and does partial evaluation of arithmetic expressions. It does not simplifiy data structures. This is a source-to-source transformation for c header files to create simpler c header files that have been compressed by collapsing the known options. Yacc/Bison style!
After a thorough analysis of the available projects in this space, he found he needed to write his own to work around the limitations of the other. Originally written to assist C+asm integration and uses Sun's CTF for definitions of offsets and the like. "It's less scary than looking into h2ph," says Guy.
A good question: what happened to preprocessors? They seem to have fallen out of fashion, one camp views preprocessors as needed "only to cover up bad language design." Perhaps with Common Lisp and pure functional languages getting a resurgence of interest we will see more use of source-to-source transforms of code like this.
Convert::Binary::C may be useful to a similar audience, if one wants to use C data structure definitions within perl.