It is written here that the one among many jobs of preprocessor is :
Inclusion of header files. These are files of declarations that can be substituted into your program.
Does the contents in header files goes through lexical analyser, syntax analyzer or semantic analyzer before it is used in our code? If not how did the compiler report any errors in header file before reporting errors in the "programmer written code"?