This chapter discusses syntax analysis and parsing. It covers topics such as syntax analyzers, context-free grammars, parse trees, ambiguity, left-recursion, left-factoring, and predictive parsing. Syntax analyzers check that a program satisfies the rules of a context-free grammar and build a parse tree. Grammars must be unambiguous and free of left-recursion to be suitable for top-down parsing techniques.