Plan du chapitre
Ce chapitre présente différents outils de la distribution d'Objective CAML
pour l'analyse lexicale et l'analyse syntaxique. Cette dernière
suppose en règle générale que la première a été effectuée. Dans la
première section, nous présentons un outil simple d'analyse lexicale
fourni par le module Genlex. Nous entrons ensuite un peu plus
dans le détail de la définition des ensembles d'unités lexicales en
présentant le formalisme des expressions rationnelles. Nous
illustrons leur mise en oeuvre dans le module Str et
l'outil ocamllex. Dans la deuxième section nous définissons les
grammaires et détaillons les règles de production de phrase d'un
langage pour présenter deux types d'analyse : l'analyse descendante et
l'analyse ascendante. Elles sont illustrées par l'utilisation des
Stream et par l'outil ocamlyacc. Les analyses
précédentes utilisent des grammaires sans contexte. Nous montrerons
comment effectuer une analyse contextuelle avec les Streams.
Dans la troisième section, nous reprenons l'exemple de l'interprète de
BASIC, présenté page ??, en utilisant ocamllex
et ocamlyacc pour implanter les fonctions d'analyse lexicale et
syntaxique du langage.