I have been searching for a general purpose AutoIt macro preprocessor for some time. I've looked at all the existing implementations I could find, and researched two in detail: Shaggi's implementation of the C Preprocessor "mcpp" () kjactive's Au3PreProcessor (). But none of these are general enough in scope, or powerful enough in their macro expansion capabilities, to allow the rapid development of domain specific commands or the encapsulation of complex AutoIt constructs that I'm looking for. So, I am currently building a prototype AutoIt preprocessor (tentatively named "M4Au3") based on the GNU M4 macro processor (http://www.gnu.org/software/m4/). My goal is to provide a well defined set of built-in macros that extend the existing AutoIt "@Macro" syntax (but accept arguments) and to allow user defined macros in the same style, e.g. "@MyMacro( Arg1, Arg2 )". If anyone has already tried this approach, or something similar to it, I would be very interested in your results and suggestions.