La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours de Compilation Séance dintroduction Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)

Présentations similaires


Présentation au sujet: "Cours de Compilation Séance dintroduction Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)"— Transcription de la présentation:

1 Cours de Compilation Séance dintroduction Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)

2 Introduction (Définition) Compilation : Étude des techniques permettant de traduire un programme source en un programme objet Programme source : écrit dans un langage de programmation Programme objet : dépend de la machine

3 Introduction(Pré-requis) Compilation : Algorithmes et structures de données (Piles, arbres, graphes,… ) Programme source : Théorie des langages Programme objet : Structure des machines Autres : programmation procédurale, programmation objet, quelques langages de programmation

4 Introduction(Structures de données) Algorithmes Structures de données (Pile, arbre, graphe,… ) Pile Arbre Graphe …

5 Introduction(Théorie des langages) Relation entre les mathématiques et les langages Notion de grammaires et langages Classification (Chomsky) Les langages réguliers et les automates Les langages algébriques (contexte libre) et les automates à pile …

6 Introduction(Structure des machines) Algèbre de Boole Représentation et codage de linformation Techniques dadressage Exécution dune instruction Les langages dassemblage et les assembleurs …

7 Introduction(Organisation du cours) Cours théorique accompagné de code C# (T1, T2, …, T8) (DotNet + Introduction C#) Cours spécifique : Réalisation du compilateur (Langage Z) (P1, P2,….,P20)

8 Introduction(Plan/Cours théorique) T1 : Vue générale T2 : Analyse lexicale T3 : Analyse syntaxique T4 : Traitement sémantique et grammaires dattribut T5 : Table des symboles T6 : Génération de code T7 : Les analyseurs Bottom-up T8 : Générateurs de compilateurs

9 Introduction(Plan/Cours théorique) T1: Vue générale Motivation Structure dun compilateur Grammaires Arbres Syntaxiques et Ambiguïté Classification de Chomsky

10 Introduction(Plan/Cours théorique) T2 : Analyse lexicale Taches dun scanner Grammaires Régulières et Automates finis Implémentation des scanners

11 Introduction(Plan/Cours théorique) T3 : Analyse syntaxique Grammaires contexte-libre et Automates à pile(PDA) Analyse descendante récursive Propriétés LL(1) Traitement des erreurs

12 Introduction(Plan/Cours théorique) T4 : Traitement de la sémantique et les grammaires dattribut Traitement sémantique Grammaires dattributs (ATG) Transformations des ATG en un analyseur Exemples dapplications

13 Introduction(Plan/Cours théorique) T5 : Table des symboles Vue générale Symboles Portée Types

14 Introduction(Plan/Cours théorique) T6 : Génération Code Vue générale Le code à générer Organisation de la mémoire Expressions Affectations Structures de contrôle Méthodes

15 Introduction(Plan/Cours théorique) T7 : Les analyseurs Bottom-up Comment fonctionne un analyseur Bottom-up Grammaires LR Génération de la table LR Traitement de la sémantique Traitement des erreurs LR Variantes de LR

16 Introduction(Plan/Cours théorique) T8 : Générateurs de compilateurs Vue générale Yacc Lex Coco/R

17 Introduction(Plan/Cours spécifique) Langage Z (P1) et langage Z minimal (P2) Réalisation dun compilateur très simplifié pour le langage minimal (P3 P10) Extension du langage minimal par Expressions logiques (P11)et chaînes de caractères (P12) Les structures simples et tableaux (P13) Les structures de contrôle (P14) Les procédures et fonctions (P15) Les structures complexes (P16) Les machines abstraites (P17 P19) Les fonctions standards (P20)

18 Introduction(Plan/Cours spécifique) Réalisation du compilateur pour le langage Z minimal Réalisation analyse lexicale Réalisation analyse syntaxique Organisation simple de la mémoire et attribution des adresses Sémantique des déclarations, instructions et expressions Interprétation du langage

19 Introduction(Plan/Cours spécifique) Les machines abstraites Z Machines de Turing Les listes linéaires chaînées Les fichiers

20 Introduction(Plan/Réalisation) Démarche Définir un langage minimal de Z et réalisez le compilateur en entier Enrichir progressivement la grammaire A chaque étape, redémarrer toutes les étapes : lexique, syntaxe, sémantique, génération de code Sarrêter quand le langage entier est traité.

21 Organisation du cours T2 T1 T8 T7 T6 T3 T4 T5 P1P2 P3 P4 P5P6 P8P7P9P10 P11P12P13P14P15 P16P17P18 P19P20 Introduction Dot Net et C# T P Cours théorique général Cours spécifique Travaux dirigés Ordre de présentation du cours PAUSE : Terminer la réalisation du compilateur du langage Z minimal FIN : Terminer la réalisation du compilateur du langage Z COMPIL Z

22 Introduction(Extensions) Formalisation de la sémantique des langages de programmation : Spécifications relationnelles, axiomatiques, algébriques,... Compilateurs/Interpréteurs pour langages non procéduraux - Langages fonctionnels (LISP) - Langages logiques (PROLOG) (Syntaxe identique mais Sémantique totalement différente)

23 Introduction(Outils standards) Langage de programmation : pour lécriture du compilateur/interpréteur (C++, Delphi,... ) Langage dassemblage : pour la génération de code (Processeur Intel) Langage pivot (Machine Virtuelle) : pour la génération de code ( P-code de PASCAL, JVM, La machine virtuelle de.NET : Common Language Runtime (CLR) )

24 Introduction(Outil spécifique) Khawarizm niveau 1 : environnement pour le développement des algorithmes en langage Z (conçu pour lapprentissage de la programmation) Compil-Z : dévoiler le fonctionnement interne des compilateurs

25 Introduction(Références) Compiler Construction for digital computers. David Gries. Addison- Wesley Edition Principles of Compiler Design. A.V. Aho, J.D Ullman. Addison-Wesley Edition Compilers : Principles, Techniques and Tools. Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman. Addison-Wesley Edition. 2003


Télécharger ppt "Cours de Compilation Séance dintroduction Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)"

Présentations similaires


Annonces Google