Analyseur lexical

Disponible uniquement sur Etudier
  • Pages : 24 (5837 mots )
  • Téléchargement(s) : 0
  • Publié le : 30 décembre 2011
Lire le document complet
Aperçu du document
´ ´ Ecole Superieure des Sciences Appliquees et Technologiques

Notes de Cours

Techniques & Outils de compilation

Enseignant : Mr. Faiez CHARFI

Niveau : ING2 - Informatique

Octobre 2010

Analyse Lexicale

Table des mati`res e
1 1.1 1.2 2 2.1 3 3.1 3.2 3.3 3.4 3.5 4 4.1 4.2 5 5.1 5.2 5.3 5.4 6 6.1 6.2 6.3 Rˆle de l’analyseur lexical . . . . . . . . . . . . . . . . oTerminologie . . . . . . . . . . . . . . . . . . . . . . . Erreurs lexicales . . . . . . . . . . . . . . . . . . . . . M´morisation du texte d’entr´e . . . . . . . . . . . . . e e Couples de tampons . . . . . . . . . . . . . . . . . . . Sp´cification des unit´s lexicales . . . . . . . . . . . . e e D´finitions . . . . . . . . . . . . . . . . . . . . . . . . . e Op´rations sur les langages . . . . . . . . . . .. . . . e Expressions r´guli`res . . . . . . . . . . . . . . . . . . e e D´finitions r´guli`res . . . . . . . . . . . . . . . . . . . e e e Notations en abr´g´es . . . . . . . . . . . . . . . . . . e e Reconnaissance des unit´s lexicales . . . . . . . . . . . e Diagramme de transition . . . . . . . . . . . . . . . . . Impl´mentation du diagramme de transition . . . . . . e Transformation d’uneexpression r´guli`re en un AFD e e Construction de Thomson . . . . . . . . . . . . . . . . Les r`gles de construction . . . . . . . . . . . . . . . . e Compromis Temps/Espace . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . Langage pour la sp´cification des analyseur lexicaux . e Pr´sentation de l’outil Flex . . . . . . . . . . . . . . . e Specification enFlex . . . . . . . . . . . . . . . . . . . Exemple d’un Code Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 4 4 5 56 6 6 7 7 8 9 10 10 10 11 11 14 14 15 15

1

Analyse Lexicale

1 Rˆle de l’analyseur lexical o

L’analyse lexicale constitue le premi`re phase d’un compilateur. Nous survolons tout au long e de ce chapitre les techniques de sp´cification et d’impl´mentation d’analyseurs lexicaux. Une e e mani`re simple de construire un analyseur lexical consiste ` batir un diagramme qui illustre les e aunit´s lexicales, puis le traduire en un programme qui reconnait ces unit´s. e e

1

Rˆle de l’analyseur lexical o

Le rˆle essentiel de l’analyseur lexical est de lire une suite de caract`res en entr´e et de o e e produire les unit´s lexicales (U.L). Les U.L vont ˆtre utilis´es par la suite par l’analyseur syne e e taxique. Cette interaction entre l’analyseur lexical et syntaxique fait quel’analyseur lexical soit consid´r´ comme un sous programme de l’analyse syntaxique (Fig. 1). De mˆme l’analyseur lexical ee e initialise la table de symboles qui sera utilis´ tout au long du processus de compilation. e
unit´ lexicale e

Code source

Analyseur lexical
obtenir prochaine U.L

Analyseur syntaxique

Table de symboles

Fig. 1: Interaction entre analyseurs lexical et syntaxiqueL’analyseur lexical peut avoir d’autres taches secondaires tel que, – Am´lioration de l’interface avec l’utilisateur, e – ´limination des espaces (caract`re blanc, tabulation, fin de ligne) et des commentaires du e e code source, – garder trace du nombre de lignes rencontr´s, e – d´tection des erreurs lexicales. e L’avantage de faire la s´paration de la phase d’analyse en analyse lexicale et...
tracking img