Projects / GPP


GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any programming language makes it much more versatile than cpp, while its syntax is lighter and more flexible than that of m4. The syntax is fully customizable, which makes it possible to process text files, HTML, or source code equally efficiently in a variety of languages.

Operating Systems

Recent releases

  •  19 Sep 2004 23:33

    Release Notes: This version features a new meta-macro for formatting the current date and time.

    •  11 Jul 2004 20:52

      Release Notes: A bug where #error and #warning directives were processed in the false branch of a conditional has been fixed.

      •  14 Feb 2004 18:43

        Release Notes: GPP now features the commandline option --include, which allows preprocessing of a specified file before the main input file.

        •  07 Feb 2004 19:08

          Release Notes: GPP now supports CPP-style #error and #warning macros.

          •  18 Jan 2004 07:54

            Release Notes: The arithmetic evaluation macro (#eval) now supports POSIX-style wildcard matching (i.e., shell globbing). There is now an #elif macro to help avoid deeply-nested conditionals. Finally, a long-standing bug has been fixed where GPP would be off by one when reporting line numbers in its error messages or with the #line meta- macro.

            Recent comments

            09 Aug 2011 08:10 jkb

            I have written a 3.0 gpp release that fix recursive macro evaluation and some other minor bugs. Please test.




            21 Sep 2004 05:20 psychonaut

            How do you use GPP?

            Greetings, GPP users.

            I am currently working on a presentation on GPP which I may eventually publish online as a tutorial or introduction. As part of this project I would like to gather some data on what people use GPP for.

            Do you use GPP to help manage a large website? Do you use it for a particular programming language which lacks a suitable preprocessor? Or perhaps you've discovered some novel and interesting use for GPP? Any way, I'd be interested in hearing about it. Please drop me a short note at with your background and experiences.

            Thanks in advance for your time, and I hope GPP has been serving you well.




            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.