Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

m1ilc:compil_8 [2009/11/16 09:58]
suitable créée
m1ilc:compil_8 [2009/11/16 10:09] (Version actuelle)
suitable
Ligne 13: Ligne 13:
 Remplissage de la table des symboles--ou la collecte des informations--s'effectue dans les phases d'analyse et ces information sont utilisées dans toute les phases de compilation.  Donc, l'accès aux informations doit être le plus efficace (rapide) possible. Remplissage de la table des symboles--ou la collecte des informations--s'effectue dans les phases d'analyse et ces information sont utilisées dans toute les phases de compilation.  Donc, l'accès aux informations doit être le plus efficace (rapide) possible.
  
-Les opérations à réaliser sur une table locale sont :+L'objectif de ce chapitre es d'organiser la table des symboles de façon à accéder rapidement aux informations. 
 + 
 +Certaines notions présentes dans les langages de programmation doivent être prises en compte.  La structuration d'un programme en blocs, par exemple, où chaque bloc est une unité de programme pouvant contenir des déclarations de variables.  Ceci entraine la nécessité de gérer la portée (visibilité) des variables; c'est à dire, de connaître l'ensemble des blocs où la variable est définie (et peut être utilisée). 
 + 
 +  begin 
 +    var b 
 +    begin 
 +      var a,b 
 +      ... 
 +    end 
 +    ... 
 +  end 
 + 
 +==== Table des Symboles Locaux ==== 
 + 
 +Une table des symboles locaux mémorise les informations relatives aux identificateurs associés à un certain bloc.  Les opérations à réaliser sur une table locale sont :
   * création   * création
   * destruction   * destruction
Ligne 20: Ligne 35:
   * accès à un champ de l'enregistrement associé à un identificateur   * accès à un champ de l'enregistrement associé à un identificateur
  
-==== Représentations Possibles ==== +Représentations Possibles ^ Forces/faiblesses ^
 | tableau unidimensionnel | recherche lente | | tableau unidimensionnel | recherche lente |
 | arbre binaire équilibré | accès nécessite des indirections | | arbre binaire équilibré | accès nécessite des indirections |
Ligne 74: Ligne 88:
 | nombre de dimensions | borne inf. 1 | borne sup. 1| borne inf. 2 | ... | | nombre de dimensions | borne inf. 1 | borne sup. 1| borne inf. 2 | ... |
  
 +---- 
 +[[compil_7| <= Génération de code intermédiaire]] [[compil_9| optimisation du code =>]]
 
m1ilc/compil_8.txt · Dernière modification: 2009/11/16 10:09 par suitable
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante :CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki