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.
PostScript of full paper. 740kB.
PDF of full paper. 69kB.
Last updated 03 April 2001.