<< What is MCPP >>

MCPP is a C/C++ preprocessor with the following features:

  1. Implements all of C90, C99 and C++98 features.  It has the highest
  2. Accompanies a validation suite to test the C/C++ preprocessors
    comprehensively.  When it is applied to the existing preprocessors,
    MCPP shows outstanding result.
  3. Has a variety of accurate diagnostic messages.  This allows
    examination of most preprocessing problems of source, like potential
    bugs or portability problems.
  4. Has various #pragma directives to output debug information.
  5. Supports the various encodings of multi-byte characters for Japan,
    China, Taiwan and Korea.
  6. Highly portable.  Supports many compiler systems on UNIX-like
    systems and Windows.  It can replace resident preprocessor of the
    compiler system.  It can also behave independently from any compiler
    systems.  Moreover, it can be built as a subroutine from any other
    main program, too.
  7. Preprocessors of various behavior specifications can be generated
    from the source.
  8. Is an open source software released under BSD-style-license.
  9. Full documentations in Japanese and English are attached.

MCPP is probably the best C preprocessor in the world.

MCPP was selected as one of the "Exploratory Software Projects" of the
Information-technology Promotion Agency (IPA), Japan, in year 2002 and
2003.  With its achievements, the author was evaluated as one of the
highest rank programmers.

The sources and documents of MCPP are found at:

Please read mcpp-summary.pdf for the overview of MCPP and Validation

Please read INSTALL (INSTALL-jp) for how to install MCPP on your system
from the source.  Refer to the above web page for installation of the
binary packages of MCPP.

All the files except mcpp-summary.pdf are normal text files.  In the
.tar.gz file, newline of the text files are [LF], and encoding of
INSTALL-jp is EUC-JP.  In the .zip file, newline of the text files are
[CR][LF], and encoding of INSTALL-jp is shift-JIS.

I would like to hear from many C programmers for reviews, comments and
the interest to participate in development.

Kiyoshi Matsui <>