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

Sémantique des déclarations pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)

Présentations similaires


Présentation au sujet: "Sémantique des déclarations pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)"— Transcription de la présentation:

1 Sémantique des déclarations pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)

2 Sémantique des déclarations pour le langage Z minimal: Introduction Lanalyseur sémantique = ensemble de fonctions sémantiques déduites à partir de la définition du langage Rôle des fonctions sémantiques : générer une forme intermédiaire en tenant compte des concepts prédéfinis(organisation de la mémoire, attribution des adresses, tables de compilation, … ) Il sagit dune forme très proche du langage machine : Quadruplets, Triplets, … Les fonctions sémantiques sont insérées quelque part dans les règles syntaxiques.

3 Sémantique des déclarations pour le langage Z minimal: Quadruplets Le programme source est transformé et découpé en opérations élémentaires très proches du langage machine Opération élémentaire = Quadruplet Quadruplet = (A, B, C, D) A:Code Opération B, C, D:Paramètres de lopération Les paramètres de lopération sont des pointeurs vers les tables de compilation

4 Sémantique des déclarations pour le langage Z minimal: Résultats de la phase sémantique Quadruplés Tables de compilation + = Forme intermédiaire

5 Sémantique des déclarations pour le langage Z minimal: Analyse sémantique Analyse syntaxique Fonctions sémantiques + = Analyse sémantique

6 Sémantique des déclarations pour le langage Z minimal: Quadruplés pour déclarations Comme lallocation des variables est dynamique, Pour chaque déclaration de variable nous devons générer le quadruplet (A, B, C, D) tel que A est de la forme D+type (Type est le type de la variable) B : pointeur dans TABOB vers lobjet C et D non utilisés Pour le langage minimal, un seul type de quadruplé : (DE, B,, )

7 Sémantique des déclarations pour le langage Z minimal: le problème Où insérer les fonctions sémantiques dans lanalyseur syntaxique pour faire les vérifications quil faut et générer pour chaque déclaration de variable le quadruplé correspondant à une déclaration ?

8 Sémantique des déclarations pour le langage Z minimal: Syntaxe des déclarations [ ~Soit|Soient~ ] Debut Fin [;] ;{ [~Soit|Soient~] ;}* [Sep ~] Idf {, Idf}* Entier Sep dans { :, Un, Une, Des }

9 Sémantique des déclarations pour le langage Z minimal: Définition sémantique La partie déclaration consiste à définir lensemble des variables utilisées dans le programme source Pour le langage Z minimal, seules les variables entières sont autorisées Un identificateur ne doit pas désigner deux variables différentes Le type peut ne pas être donné. Par défaut cest Entier (Règle )

10 Sémantique des déclarations pour le langage Z minimal: Fonctions sémantiques [ ~Soit|Soient~ ] Debut Fin [;] ;{ [~Soit|Soient~] ;}* [Sep ] Idf {, Idf }* Entier Sep dans { :, Un, Une, Des } F1 F3F4F2

11 Sémantique des déclarations pour le langage Z minimal: Fonctions sémantiques F1 Vérifier que lidentificateur Idf nest pas déclaré, sinon Erreur (non dans L et non dans la table des symboles) Sauvegarder lidentificateur Idf dans une liste L Idf {, Idf }* F1

12 Sémantique des déclarations pour le langage Z minimal: Fonctions sémantiques F4 Pour chaque Idf dans L : - Le mettre dans la table des symboles - Lui attribuer une adresse relative et le mettre dans la table des objets (soit Pt son emplacement) -Générer le quadruplé (D+Type, Pt,, ) Par défaut le type est Entier. Initialiser donc une variable, soit Type, avec E ( Entier) F3 Si le type est spécifié modifier la valeur de la variable Type avec le type spécifié F2 [Sep ] F2F3F4

13 Sémantique des déclarations pour le langage Z minimal : Exemple Soit A, B, C des Entiers; Debut A := 3; B := 5; C := 12; Fin TABCONS En fin de compilation, programme source = table des quadruplés + TABOB + TABCONS + LONGZDD LE 0 LE1 LE2 CE0 CE1 CE TABOB 3 LONGZDD Quadruplés pour les déclarations DE0 1 2 … 3 4 5

14 Sémantique des déclarations pour le langage Z minimal : Implémentation Module sur la table des quadruplés: New_quadruple (P1,P2,P3,P4) Indice dans la table des quadruplés où le quadruplé est créé, -1 si Échec Définir une limite pour la table des quadruplés LimitQuad = une valeur arbitraire


Télécharger ppt "Sémantique des déclarations pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)"

Présentations similaires


Annonces Google