The LIL Preprocessor (lip) is a very simple text preprocessor based on the LIL scripting language and specifically the C LIL implementation's support for embedded LIL code in text fragments (see lil_embedded() function information in LIL's readme.txt file).
The preprocessor allows the process of text files that contain embedded code fragments in LIL placed between <?lil and ?> in a similar fashion to PHP and classic ASP. Any text outside these tags is printed in the standard output and any code inside is interpreted by the LIL interpreter hosted by the preprocessor (any string printed via a call to print by the code is also written to standard output).
The program is very simple - at just 100 lines of code, it mostly relies on LIL to do the actual preprocessing. It is open source (zlib license, but keep in mind this note about my open source projects) and written in C.