mcpp is a C/C++ preprocessor with the following features.
* Implements all of C90, C99 and C++98 specifications.
* Provides a validation suite to test C/C++ preprocessor's conformance
and quality comprehensively. When this validation suite is applied,
mcpp distinguishes itself among many existing preprocessors.
* Has plentiful and on-target diagnostics to check all the preprocessing
problems such as latent bug or lack of portability in source code.
* Has #pragma directives to output debugging information.
* Is portable and has been ported to many compliler-systems, including
GCC and Visual C++, on UNIX-like systems and Windows.
* Preprocessors of various behavior modes are able to be generated from
the source code.
* Can be built either as a compiler-specific preprocessor to replace the
resident preprocessor of a particular compiler system, or as a
compiler-independent command, or even as a subroutine called from some
other main program.
* Provides comprehensive documents both in Japanese and in English.
* Is an open source software released under BSD-style-license.