Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMargaux Pottier Modifié depuis plus de 9 années
1
L’analyse lexicale Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http://zegour.esi.dz/ email: d_zegour@esi.dzd_zegour@esi.dz
2
L’analyse lexicale : Rappel Produit les unités lexicales : couple (Syn, Sem) - Syn (code) utilisée dans la phase syntaxe - Sem(chaîne de caractères)utilisée dans la phase sémantique Élimine les blancs, les commentaires Signale certains types d’erreurs
3
L’analyse lexicale : les conventions du langage Longueur maximale des identificateurs = 11 Pas de distinction entre minuscule et majuscule Les constantes numériques sont entières et de longueur <=11 Syntaxe : [~+|-~] { digit }+ avec digit dans {0,1,2,…..9} Les commentaires sont entre les symboles /* et */ ou { et } Longueur maximale des chaînes de caractères = 256
4
L’analyse lexicale : les mots clés Considérer le langage minimal Recenser les mots clés du langage et leur attribuer un code. Les mettre dans une structure de donnée à accès rapide(table triée, arbre, H- code, …) Organiser les codes en classes Développer le module de recherche sur cette structure Recherche dichotomique s’il s’agit d’une table triée. Exemples de mots clés : SOIT, TANTQUE, …
5
L’analyse lexicale : les délimiteurs Recenser les délimiteurs du langage et leur attribuer un code. Les mettre dans une structure de donnée à accès rapide(table triée, arbre, H-code, …) Organiser les délimiteurs en classes Développer le module de recherche sur cette structure Recherche dichotomique s’il s’agit d’une table triée. Exemples de délimiteurs : ‘+’, ‘:’, ‘=‘, …
6
L’analyse lexicale : le module Nextch Délivre le prochain caractère non blanc du texte : Il peut appartenir –À la ligne en cours –À la prochaine ligne Nextch rend un caractère spécial si la fin du texte d’entrée est rencontré Développer ce module
7
L’analyse lexicale : le module Scan Récupère le texte d’entrée caractère par caractère (utilisation de Nextch) Applique l’automate de reconnaissance des unités lexicales qui produit le couple (Syn, Sem) Forme générale du module Scan (PASCAL) CASE Classe of 1 : begin … End // identificateurs 2 : begin … End // signe + … n : begin … End END
8
L’analyse lexicale : Test du scanner Répéter Scan (Syn, Sem) Afficher Syn et Sem Jusqu’ à fin du fichier d’entrée (Programme)
9
L’analyse lexicale : Type des erreurs Identificateur trop long Constante caractère trop longue Caractère invalide Fin de fichier dans un commentaire : erreur fatale Fin de fichier dans une chaîne de caractères: erreur fatale Erreur dans une constante numérique Ligne trop longue …
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.