new preprocessing: macro function handling and better ANSI conformance