Maîtrise d'Informatique
option: Compilation

Vendredi, 21 mai 2004

Université Bordeaux 1 Département d'Informatique

Master d'Informatique
option: Compilation
Vendredi, 21 mai 2004
Durée 3 heures

Tous documents autorisés

  1. Décrire le principe commun des algorithmes d'analyse syntaxique LR et les différences entre les algorithmes LR(1), SLR(1) et LALR(1).

    Donner un exemple d'une grammaire qui est SLR(1) mais qui n'est LL(n) pour aucune valeur de n.

  2. Comment les calculs des attributs peuvent-ils déterminer que dans une affectation le type de la partie droite est compatible avec le type de la variable à gauche, étant donné que les deux types dépendent de diverses déclarations éloignées de l'affectation?
    (Vous pouvez répondre en détail pour un langage sans déclarations imbriquées en d'autre déclarations ou en instructions mais décrire brièvement comment traiter les cas plus généraux).
  3. Expliquer pourquoi un appel textuel d'une méthode dans un langage orienté objet n'est pas forcément toujours un appel de la même méthode.

    Décrire un système qui permet, de générer du code correct et sans trop de surcoût en temps ou espace, pour des appels de méthodes dans un langage avec héritage simple.

  4. On propose d'effectuer une optimisation par laquelle des utilisations de registres dans des instructions peuvent être supprimées si la valeur du registre au moment de l'exécution de l'instruction peut être déterminée par le compilateur.

    Quels sont les calculs à effectuer pour trouver des instructions et registres avec cette propriété?




File translated from TEX by TTH, version 3.05.
On 28 Apr 2005, 15:54.