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             

 

P1 : Le langage Z


        Description

        Grammaire

        Expérimentation

P2 : Le langage Z minimal 

        Description

            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 écriture 

        Grammaire

 


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

        

P 6 : Tables

        Table des symboles
        Les tables de compilation générées

P 7 : Sémantique des déclarations

        Déclaration de variables simples

        Forme interne

 

P 8 : Sémantique des expressions arithmétiques
        Expressions arithmétiques

        Forme interne

 

P 9 : Sémantique des instructions
        Affectation

        Lecture et écriture

        Forme interne


P 10 : Interprétation ou Génération de code

 


compilateur pour le langage Z minimal + expressions logiques

P 11 : 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 fonctions

        Ajouter 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 complexes 

        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

 

P 17 : Machines de Turing
        Ajouter les
déclarations des machines de Turing 

        Ajouter 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ées

        Ajouter 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 

 

P 19 : Fichiers  

        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

 

P 20 : Fonctions standards

        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érie
       Siteweb : http://zegour.esi.dz/
        email: [email protected]
        Révision : 08 juillet 2014 .