lexical analysis, parsing, and semantic analysis as filters that progressively reject more and more input strings until finally you're left after all three phases have run with only valid programs to compile, well semantic analysis is the 