Slides2 lex Analyse lexicale septembre Analyse lexicale Un peu de théorie L ? outil ocamllex Commentaires Localisation des erreurs Programmer avec des analyseurs lexicaux C Paulin Université Paris Sud Compilation - CRappel Objectif de l ? analyse lexicale
Analyse lexicale septembre Analyse lexicale Un peu de théorie L ? outil ocamllex Commentaires Localisation des erreurs Programmer avec des analyseurs lexicaux C Paulin Université Paris Sud Compilation - CRappel Objectif de l ? analyse lexicale et syntaxique Entrée suite de caractères Sortie arbre de syntaxe abstraite représentant le programme sous-jacent Structure intermédiaire suite d ? entités lexicales tokens Outils théoriques expressions régulières grammaires Outils logiciels Lex et Yacc C Paulin Université Paris Sud Compilation - CPrincipes de l ? analyse lexicale Chaque entité lexicale est décrite par une expression régulière A chaque entité lexicale est associée une action L ? action produit en général un token mais peut aussi avoir d ? autres e ?ets compter des lignes ignorer ou transformer le texte C Paulin Université Paris Sud Compilation - CSommaire Analyse lexicale Un peu de théorie L ? outil ocamllex Commentaires Localisation des erreurs Programmer avec des analyseurs lexicaux C Paulin Université Paris Sud Compilation - CExpressions régulières Les constructions de base regexp ? caractère ? regexp regexp regexp regexp regexp Dans la théorie on ajoute aussi des expressions régulières pour le mot vide notée l ? ensemble vide notée ? mais qui ne sont pas utilisées dans les analyseurs lexicaux Chaque expression e représente un langage ensemble de mots L e qui est dit régulier L c L e e L e e L e ? c m m m ?? L e m ?? L e L e ?? L e ? n L en e en e en C Paulin Université Paris Sud Compilation - CExpressions régulières étendues La syntaxe autorisée par ocamllex regexp cha? ne regexp regexp caractères caractères eof regexp regexp as ident caractères ? caractère ? ? caractère ? - ? caractère ? Précédence plus haute et ensuite puis la concaténation puis le choix Exemple ? a ? ? b ? ? c ? se lit ? a ? ? b ? ? c ? C Paulin Université Paris Sud Compilation - CRésultats Si e est une expression régulière alors il existe un automate ?ni que l ? on calcule à partir de e qui reconnait le langage L e La réciproque est vraie Le langage des expressions bien parenthésées anbn n ?? N n ? est pas régulier Exercice donner une expression régulière pour les identi ?cateurs suite de caractères alphabétiques qui ne sont pas le mot clé set Construire l ? automate correspondant Solution C Paulin Université Paris Sud Compilation - CSommaire Analyse lexicale Un peu de théorie L ? outil ocamllex Commentaires Localisation des erreurs Programmer avec des analyseurs lexicaux C Paulin Université Paris Sud Compilation - Cocamllex Syntaxe d ? un ?chier ocamllex header let ident regexp rule entrypoint arg argn parse regexp action regexp action and entrypoint arg argn parse and trailer C Paulin Université Paris Sud Compilation - CRésultat de ocamllex La commande ocamllex ?le mll produit un ?chier ?le ml qui doit ensuite être compilé par ocaml af ?che la taille de l ? automate
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Nov 10, 2021
- Catégorie Management
- Langue French
- Taille du fichier 72.9kB