Author: Christian.Queinnec@lip6.fr

## Chapter Structure

This chapter introduces the tools of the Objective CAML distribution for lexical analysis and parsing. The latter normally supposes that the former has already taken place. In the first section, we introduce a simple tool for lexical analysis provided by module `Genlex`. Next we give details about the definition of sets of lexical units by introducing the formalism of regular expressions. We illustrate their behavior within module `Str` and the `ocamllex` tool. In section two we define grammars and give details about sentence production rules for a language to introduce two types of parsing: bottom-up and top-down. They are further illustrated by using Stream and the `ocamlyacc` tool. These examples use context-free grammars. We then show how to carry out contextual analysis with Streams. In the third section we go back to the example of a BASIC interpreter from page ??, using `ocamllex` and `ocamlyacc` to implement the lexical analysis and parsing functions.