A preprocessor is a curious thing: it is essentially, for all intents and purposes, a compiler that processes the input text, expands macros, connects additional textual sources, performs variant compilation and other similar activities. On the other hand, it is so common to use it before the “actual” compiler, that some study books regard it as a separate phase of compilation.
All rights reserved (c) Tushar Sharma 2017-23.