The document defines different phases of a compiler and describes Lexical Analysis in detail. It discusses:
1) A compiler converts a high-level language to machine language through front-end and back-end phases including Lexical Analysis, Syntax Analysis, Semantic Analysis, Intermediate Code Generation, Code Optimization and Code Generation.
2) Lexical Analysis scans the source code and groups characters into tokens by removing whitespace and comments. It identifies tokens like identifiers, keywords, operators etc.
3) A lexical analyzer generator like Lex takes a program written in the Lex language and produces a C program that acts as a lexical analyzer.