Ocaml
Encadré par
Mr.CHKOURI Yassin
Ocamllex & Ocamlyacc
Sommaire
I Introduction 3
II Ocamllex 3
a. Définition 3
b. Compilation du fichier 3
c. Input 4
d. Patterns 4
e. Options 6
f. Output 6
g. Démarrage 7
III Ocamlyacc 8
a. Introduction 8
b. Compilation du fichier 8
c. Forme générale 9
d. Déclaration des lexèmes 9
e. Les règles de grammaire 9
IV Installation Ocaml et cypwing 10
a. Ocaml 10
b. Interface ocaml 10
c. Cypwin 11
d. Interface cypwin 11
V Compilation 12
a. Les fichiers nécessaires pour la compilation: 12
i. Lexer.mll 12 ii. Parser.mly 13 iii. Calcultarice.ml 13
b. Les commandes de compilation : 14
VI Conclusion 14
I Introduction
Analyse syntaxique : découpage d'un texte brut en termes complexes (en programme).
Analyse sémantique : analyse du sens d'un texte (ex : typage).
Analyse de la forme d'un texte.
Décomposition de l'analyse syntaxique :
1. Analyse lexicale : décomposition d'un texte en différents mots (ex : en Français découpage selon les espaces).
2. Analyse grammaticale : regroupement des mots en différentes constructions (ex : en Français, découpage en propositions).
Production d'une représentation abstraite du texte d'entrée : l'Arbre de Syntaxe Abstraite.
II Ocamllex
a. Définition Ocamllex est un outil d'OCaml pour générer des scanners : programmes qui reconnaissent des motifs lexicaux à l'aide de descriptions sous forme de paire (expression régulière, règle).
Ocamllex génère un exécutable qui effectue l'analyse lexicale et également le code Ocaml correspondant.
b. Compilation du fichier
La commande pour lancer le lexer :
c. Input Le fichier d'entrée d'Ocamllex contient 4 sections : header, définitions, rules et trailer. Son extension est ".mll".
Il faut retenir que : header et rules sont obligatoires header et trailer entre accolades, code Ocaml qui sera remis "tel quel" dans le fichier ocaml de sortie.