The GNU M4 Macro Processor