An Object-Oriented Preprocessor fit for C++

Edward D. Willink and Vyacheslav B. Muchnick.

C++ retains the ANSI C preprocessor, although its limitations have been widely recognised. We describe FOG, a meta-compiler for a super-set of C++, that provides replacement preprocessing and introduces static meta-programming, while preserving the spirit of C++. We show how implementation of preprocessor functionality in an Object-Oriented style eliminates unnecessary replication from practical C++ programs, and supports recent Object-Oriented Programming developments to a much greater extent than existing tools.

PDF of full paper. 69kB.

FOG home page.

Ed Willink's home page.

Edward D. Willink
6 April 2006