Taras Glek: Pork, MCPP, Oink and Elsa?What?s going on?

It seems that there is some confusion as to what pork is and how it?s related to oink and elsa. So here is my view of it. Pork is my set of tools that use Elsa to rewrite sourcecode (mainly Mozilla code). Our use of Pork is solely for rewriting as it is not suited for convenient and hardcore analysis needs as much as the GCC based tools are. MCPP is the secret sauce C preprocessor that makes C++ rewriting with Elsa possible by annotating preprocessed files with information to undo the lexical braindamage resulting from macro expansion. Elsa is a awesome C++ parser. Awesome in that is can preserve more information regarding parsed code than any other C/C++ parser and it is easy to extend. We maintain our own version of Elsa within pork. I think our version of Elsa is the most up to date and most compatible with newer C++ features and headers used by newer GCC releases. We encourage other projects with C++ parsing/rewriting needs to collaborate with us. We will be parsing code with Elsa for a few years to come and it?s a lot of work to maintain a C++ parser by a single entity. I think elsa is a much better backend to build refactoring support onto than any other C++ parsing project out there right now. The Messy Details Now lets move on the more confusing parts: view original article
Fri, 18 Jul 2008 20:29:28 +0200

more Planet Mozilla articles