Are the stages of compilation of a C++ program specified by the standard?
If so, what are they?
If not, an answer for a widely-used compiler (I'd prefer MSVS) would be great.
I'm talking about preprocessing, tokenization, parsing and such. What is the order in which they are executed and what do they do in particular?
EDIT: I know what compilation, linking and preprocessing do, I'm mostly interested in the others and the order. Explanations for these are, of course, also welcomed since I might not be the only one interested in an answer.