A preprocessor for C and languages with similar syntax by Lutz Prechelt <prechelt@ira.uka.de>. C-Refine allows symbolic naming of code fragments so as to redistribute complexity and provide running commentary.

Version 3.0 is available from comp.sources.reviewed archives. It is highly portable and has been ported to Unix, MS-DOS, Atari, Amiga.