Pil chap4 lex CHAPITRE BASES DE LEX CAnalyse lexicale rappel ? L ? analyse lexicale consiste à déterminer le statut ? de chaque mot c ? est-à-dire l ? unité lexicale ou token qui lui correspond ? Les unités lexicales sont généralement dé ?nies par des exp
CHAPITRE BASES DE LEX CAnalyse lexicale rappel ? L ? analyse lexicale consiste à déterminer le statut ? de chaque mot c ? est-à-dire l ? unité lexicale ou token qui lui correspond ? Les unités lexicales sont généralement dé ?nies par des expressions rationnelles ? Le problème de base à résoudre est donc ?? Données un mot w un langage rationnel L donné par une expression rationnelle ?? Question w ? L CAnalyse lexicale suite ? Le problème plus général de l ? analyse lexicale est ?? Données ? un long mot w le texte à analyser ? Un ensemble rationnelles de langages L L ? Lk dé ?nis par des expressions ?? Problème décomposer w en une concaténation de mots w w ? wn de sorte que chacun des wi appartient à un Lj ? Si une telle décomposition n ? est pas possible le texte est lexicalement incorrect ? Si la décomposition est possible l ? analyseur e ?ectuera une doit ou des actions être unique pour chaque wi La décomposition CAnalyse lexicale méthode ? Idée générale construire un automate ?ni à partir de l ? expression rationnelle ? Rappel du théorème de Kleene tout langage rationnel est reconnaissable ? Lex permet de programmer des analyseurs lexicaux en s ? a ?ranchissant totalement des problèmes de création et de gestion des automates CLex schéma d ? utilisation Programme source lex Compilateur lex Programme source C Compilateur C Programme exécutable toto l lex toto l lex yy c gcc lex yy c -ll a out CLex généralités ? Histoire ?? développé aux laboratoires Bell ?? A l ? origine un outil de Unix aujourd'hui aussi pour Windows ?? A l ? origine pour C Aujourd ? hui aussi pour Java ?? Coopère généralement avec Yacc ? Versions actuelles ? ex version GNU de Lex pour C http www gnu org software ex ? JLex version Java avec légères di ?érences dans la syntaxe http www cs princeton edu appel modern java JLex ? CsLex version C dérivé de JLex CStructure d ? un programme lex Déclarations Règles de traduction Fonctions auxiliaires CStructure d ? un programme lex Déclarations Règles de traduction Fonctions auxiliaires Obligatoires pour séparer les trois parties CPartie Déclarations ? Cette partie peut comprendre ?? des déclarations de variables et de constantes en C délimitées par et ? les délimitateurs sont toujours en début de ligne ?? des dé ?nitions régulières ? qui permettent de donner des noms à des expressions régulières qui seront utilisées dans les règles de traduction ? Cette partie peut aussi être vide CPartie Règles de traduction ? Elles sont de la forme suivante mm action action mn action n oac? tiloens smsiosnotndtedsessueitxepsreds ? siniosntrsurcétgiounlisèerensCle xEleletsles décrivent ce que l ? analyseur lexical doit faire lorsqu ? il reconna? t un lexème un mot du texte qui appartient au langage mi correspondant CExpressions régulières en lex ? Alphabets ?? codes ISO ASCII etc ? Expressions régulières ?? forme de Kleene via des
Documents similaires










-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Mar 03, 2022
- Catégorie Management
- Langue French
- Taille du fichier 43.4kB