This chapter discusses lexical and syntax analysis in language processing. It covers lexical analysis, which breaks input into tokens, and parsing, which analyzes syntax based on a context-free grammar. The chapter describes recursive descent and bottom-up parsing techniques. Recursive descent parsing implements grammar rules as subroutines while bottom-up parsing uses shift-reduce operations on a parse stack. LR parsers can handle the broadest class of grammars for programming languages.