Does that mean that the compiler could invoke a different program as its front-end preprocessor? >:-)
Read what I wrote: I said that the preprocessor is not part of the language. It is however an intrinsic part of the compiler and not changeable.
A simple "NO." would have sufficed. I very carefully said /could/, not /can/, so with respect read what *I* wrote.
Having said which, such a thing might be useful since it would allow a standard response to suggestions like "Please can we have braces as block markers": "Sure, write a suitable preprocessor.".
MarkMLl