filepp is a generic file preprocessor. It is designed to allow the functionality provided by the C preprocessor to be used with any file type. filepp supports the following keywords, all of which have their usual C preprocessor meanings and usage.
- An extended #if keyword which includes string and regular expression parsing.
- It works with all character sets including international characters, not just ASCII characters.
- The prefix to the keyword (normally #) and the line continuation character (normally ) can be set to any character, string or regular expression.
- Keywords can be added, removed or modified.
- Macro expansion can work on whole or part words (the C preprocessor's macro expansion only works on whole words).
- Macros can have multiple arguments.
- Filepp has a debugging mode to help when things go wrong.
- Environment variables can be automatically defined as macros.
- Blank lines originating from include files can be suppressed.
- Filepp can be customised on the fly using the #pragma keyword which allows any of filepp's internal functions to be called.
- Modules can be written (in Perl) to modify or extend the behaviour of filepp.