Option Traduction de Programmes TD Mercredi 7 février

Attributs

1. Dans la grammaire qui suit, un attribut synthétisé P.bon doit être vrai ssi chaque instruction break est incluse dans une boucle while. Montrer deux méthodes d’assurer cela, l’une directe et l’autre utilisant un attribut hérité.

P ⇒ S S ⇒ affectation; S ⇒ {S} S ⇒ S S S ⇒ while E do S S ⇒ break

2. Dans cette grammaire dec introduit une déclaration locale. Ajouter des attributs pour calculer la taille de pile qu’il faut affecter pour être capable, à tout moment pendant l’exécution de stocker, toutes les variables accessibles ou qui existent et redeviendront accessibles (toutes de taille 1).

S ⇒ affectation; S ⇒ {D; S} S ⇒ S S D ⇒ dec idliste; idliste ⇒ id idliste ⇒ idliste id

3. Interaction de syntaxe et sémantique:

Ajouter des attributs à la grammaire:

S ⇒ S ( S ⇒ S ) S ⇒ ϵ

de sorte que l’attribut S.bon soit vrai pour les mots qui sont dérivés aussi de la grammaire des parenthèses équilibrées: E ⇒ ( ) E ⇒ E E E ⇒ ( E )

4. Un mot sur l’alphabet {N,S,E,O} décrit un chemin dans le plan. Donner une grammaire attribuée qui distingue les chemins simples, c’est-à-dire ceux qui ne passent pas deux fois par un même point.