Cours spécifique de compilation
Réalisation d'un compilateur pour le langage Z
Pr. ZEGOUR DJAMEL EDDINE
DéFINITION DU LANGAGE D'EXPéRIMENTATION
DescriptionGrammaire
Expérimentation
P2 : Le langage Z minimalDescription
Pas de procédures et fonctions
Se limiter aux types simples
Se limiter aux expressions arithmétiques
Se limiter aux seules instructions: affectation, lecture et écritureGrammaire
compilateur pour le langage Z minimal
P 3 : Analyse lexicale
Implémentation
P 4 : Analyse syntaxique
Implémentation
P 5 : Organisation de la mémoire
Zone de données
Attribution des adresses
Table des symboles
Les tables de compilation générées
P 7 : Sémantique des déclarationsDéclaration de variables simples
Forme interne
P 8 : Sémantique des expressions arithmétiques
Expressions arithmétiquesForme interne
P 9 : Sémantique des instructions
AffectationLecture et écriture
Forme interne
P 10 : Interprétation ou Génération de code
compilateur pour le langage Z minimal + expressions logiques
Ajouter les expressions logiques dans la grammaire
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions logiques + Expressions sur les chaînes de caractères
P 12 : Expressions chaînes de caractères
Ajouter les expressions chaînes de caractères dans la grammaire
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle
P 13 : Structures de contrôle
Ajouter les structures de contrôle "TANTQUE" et "POUR" dans la grammaire
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux
P 14 : Structures simples et les tableaux
Ajouter les déclarations des structures simples et des tableaux
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux + Procédures et fonctions
P 15 : Procédures et Fonctions
Ajouter les déclarations des procédures et fonctionsAjouter les appels de procédure et fonctions
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux + Procédures et fonction + structures complexes
P 16 : Structures complexes
Ajouter les déclarations des structures complexesReprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux + Procédures et fonction + structures complexes + machines de turing
P 17 : Machines de Turing
Ajouter les déclarations des machines de TuringAjouter les opérations sur les machines de Turing
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux + Procédures et fonction + structures complexes + machines de Turing + Listes linéaires chaînées
P 18 : Machine abstraite sur les listes linéaires chaînées
Ajouter les déclarations des listes linéaires chaînéesAjouter les opérations sur les listes linéaires chaînées
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux + Procédures et fonction + structures complexes + machines de Turing + Listes linéaires chaînées + Fichier
Ajouter les déclarations des fichiers
Ajouter les opérations sur les fichiers
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
compilateur pour le langage Z minimal + expressions + Structures de contrôle + les structures simples et tableaux + Procédures et fonction + structures complexes + machines de Turing + Listes linéaires chaînées + Fichier + Fonctions standards = compilateur pour le langage Z
Ajouter les fonctions standards du langage Z
Reprendre (Lexique, Syntaxe, Sémantique, Forme interne, Interprétation)
Pr ZEGOUR DJAMEL EDDINE
Adresse: Ecole Supérieure d'Informatique (INI), Ex INI, CERI
BP 68M, 16270, Oued-Smar, Alger, AlgérieSiteweb : http://zegour.esi.dz/
email: [email protected]Révision : 08 juillet 2014 .