Corrigé de l examen de compilation

Documents pareils
Techniques d analyse de circuits

RECAPITULATIF PLANS Pour quelle école?

Synthèse de cours (Terminale S) Calcul intégral

Notes de révision : Automates et langages

STI2D Logique binaire SIN. L' Algèbre de BOOLE

Algorithmes sur les mots (séquences)

Chapitre 2 Le problème de l unicité des solutions

Module 2 : Déterminant d une matrice

LANGAGES - GRAMMAIRES - AUTOMATES

Introduction à la modélisation et à la vérication p. 1/8

Séquence 8. Probabilité : lois à densité. Sommaire

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Probabilités sur un univers fini

Guide des bonnes pratiques

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

ANALYSE NUMERIQUE NON-LINEAIRE

Limites finies en un point

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

Annexe II. Les trois lois de Kepler

Intégrale et primitives

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

Réalisation de sites Internet PME & Grandes entreprises Offre Premium. Etude du projet. Webdesign. Intégration HTML. Développement.

La spirale de Théodore bis, et la suite «somme=produit».

CULTURE GÉNÉRALE Histoire de l Art (RC) Philosophie (FB)

Théorème de Poincaré - Formule de Green-Riemann

Calculer comment se constituer un capitale ; Calculer comment rembourser une dette en effectuant des versements réguliers.

Influence du milieu d étude sur l activité (suite) Inhibition et activation

Fiche IP n 4 Les Techniques de Recherche d Emploi

Baccalauréat S Asie 19 juin 2014 Corrigé

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Toyota Assurances Toujours la meilleure solution

Guide d'utilisation Easy Interactive Tools Ver. 2

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

F. Barthélemy. 17 mai 2005

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

100 % gratuit. inédit.

Maintenabilité d un parc applicatif

Le système de gestion de version Git et GitHub

Rôle, accès et formation des utilisateurs de HSPnet

Chapitre 11 : L inductance

INSTRUCTIONS POUR L INSTALLATION ET LE FONCTIONNEMENT DES SERRURES À POIGNÉE BÉQUILLE

Inclure la vidéo comme levier de sa stratégie marketing

Registre de donneurs vivants jumelés par échange de bénéficiaires. Qu est-ce qu une greffe de rein par échange de bénéficiaires?

NatStar V8.00. Ce document présente la liste des nouvelles fonctionnalités de la 8.00, disponible à partir de septembre 2013.

Licence M.A.S.S. Cours d Analyse S4

Chapitre VI Contraintes holonomiques

2.4 Représentation graphique, tableau de Karnaugh

CTC Generic LITHO FLEXO. PANTONE a mm/dd/yy xxxxxx. PANTONE a mm/dd/yy xxxxxx PANTONE a mm/dd/yy xxxxxx.

Programmation Par Contraintes

/HVV\VWqPHVFRPELQDWRLUHV

Association Suisse de Médecine Equine (ASME) Statuts

Image d un intervalle par une fonction continue

COB supports pour connecteurs multibroches

CHAUFFE-EAU RÉSIDENTIELS ÉLECTRIQUES

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

Votre succès notre spécialité!

Tout ce qu il faut savoir en math

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

Plan du cours : électricité 1

Mesurer les performances (CPU) sous Linux

DU HAUT DÉBIT AU TRÈS HAUT DÉBIT : Et si l on commençait par un accès neutre par fibre optique au sous-répartiteur?

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Cours d Analyse IV Suites et Séries de fonctions

Conseils et astuces pour les structures de base de la Ligne D30

Déroulement de l épreuve de mathématiques

Chapitre 2 Le problème de l unicité des solutions

GABARIT À PÊNE DORMANT ÉLECTRONIQUE

NOTICE DE MONTAGE VERSION 72

Cours TD TP EC UE EC UE CC Mixte Introduction aux sciences de. 3 Environnement. 4 l'administration et de. Anglais 28 2

FONDATION CLEMENTINE ET MAURICE ANTILLE

CCP PSI Mathématiques 1 : un corrigé

Statuts ASF Association Suisse Feldenkrais

Compteurs d énergie iem3000

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Guide méthodologique Utilisation de l état de contrôle de la participation aux bénéfices C22

Master Mention Etudes Politiques (IEP Aix-en-Provence)

Description pas à pas des différents processus d installation, configuration, saisie des résultats et export des données.

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

Chp. 4. Minimisation d une fonction d une variable

Continuité et dérivabilité d une fonction

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Infrastructure à Clé Publique (PKI Public Key Infrastructure)

AUTOUR D UN MÉMOIRE INÉDIT : LA CONTRIBUTION D HERMITE AU DÉVELOPPEMENT DE LA THÉORIE DES FONCTIONS ELLIPTIQUES. Bruno BELHOSTE (*)

Autoroute A16. Système de Repérage de Base (SRB) - Localisation des Points de repère (PR) A16- A16+

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

La mesure de Lebesgue sur la droite réelle

Commencer DCP-7055W / DCP-7057W /

CH.6 Propriétés des langages non contextuels

Guide du module d administration de NETBANX

Utilisation de l'outil AdisTlsMonitoringTester.exe

Le présentoir virtuel. Paul FABING

Intégrales généralisées

Rappels d architecture

Les technologies BIM pour optimiser la performance énergétique des bâtiments

La mémoire. Un ordinateur. L'octet. Le bit

Transcription:

Corrigé de l exmen de compiltion Énsiie, semestre 3 8 jnvier 20 Exercice : Anlyse syntxique (8 points) F irst() F ollow(a) donc l grm- w F irst(w) A w F ollow(w). A A mire G n est ps dns LL(). Automte déterministe LR() A [] S A[$] S A[$] S A[$] A [] A [] A S A [$] S A[$] A [] A [] A S A [$] A [] S A [$] S A [$] S A [$] On voit un conflit shift/reduce dns l étt S A[$] A [] A [] : on peut décler ou

réduire A ɛ. L grmmire n est donc ps LR(). A fortiori, elle n est ps LR(0), ni LL(). 2. On L(G ) = {; ; ; }. L grmmire S A S A A A reconnît le même lngge et est LL() (le clcul des ensemles F irst est trivil) et LR(0) : l utomte déterministe est S A S A S A A S A S A A A A A S A A A A S A A 3. w F irst(w) Dd f Ee f On voit que les ensemles F irst ne sont ps deux-à-deux disjoint, l grmmire n est ps f f Cc f C f LL(). 2

Automte déterministe LR(0) : C Dd C Ee C f f C f D Cc E Cc D E C D C c E C c C D d C E e c D Cc E Cc d C Dd e C Ee On voit un conflit reduce/reduce dns l étt D Cc E Cc où on peut réduire pr D Cc ou pr E Cc. Pr conséquent l grmmire n est ps LR(0). Automte déterministe LR() : C Dd[$ c] C Ee[$ c] C f[$ c] f C f [$ c] D Cc[d] E Cc[e] D E C D C c[d] E C c[e] C D d[$ c] C E e[$ c] c D Cc [d] E Cc [e] d C Dd [$ c] C Ee [$ c] e Ici, il n y ps de conflit ; l grmmire est LR(). Pour rendre l grmmire LL(), on pplique les techniques hituelles : 3

mise en forme récursive directe : C Ccd C Cce C f élimintion de l récursivité à guche : C fc C cdc C cec C ɛ fctoristion à guche : C fc C cc C ɛ C dc C ec On peut vérifier que l grmmire otenue est ien LL(). Pour otenir une grmmire LR(0), seule l mise en forme récursive directe est nécessire, on lors l utomte C Ccd C Cce C f f C f C Ccd C d C C cd C C ce c C Cc d C Cc e e C Cce Exercice 2 : Pile d ppel (8 points). f : il fut suvegrder $r en déut d ppel cr il est écrsé pr les ppels à i et g ; il fut suvegrder $0 contennt x vnt l ppel à g cr il est utilisé pr l suite ; il n est ps nécessire de suvegrder $, qui contient le lien sttique, cr il n est ps utilisé. 4

g : il fut suvegrder $r en déut d ppel cr il est écrsé pr les ppels à h et i ; il fut suvegrder $ et $2 contennt et c vnt l ppel à h cr ils sont utilisés pr l suite ; il n est ps nécessire de suvegrder $0, qui contient, cr il n est ps utilisé près l ppel à h. h : il ne fut ps suvegrder $r cr il n y ps d ppel qui l écrserit ; de même, les registres $0 $3 n ont ps esoin d être suvegrdés. i : idem. 2. f : $r $0 = x y g : e lien sttique $r $ = $2 = c u h : t i : n lien sttique On peut choisir de suvegrder les registres dns un ordre différent. 3. $0 $ indef (lien sttique) $2 indef $3 indef $v0 indef $r R 2 $0 $ 4 $2 $3 4 $v0 indef $r 3 R trme de f 5 trme de i $sp R trme de f indef 4 $sp 3 $0 (resturé) $ 4 $2 $3 4 $v0-2 $r 3 R trme de f 5 $sp. suvegrdé uniquement vnt l ppel à g 5

4 $0-2 $ -2 R trme de f $2 déut de trme de g $3-2 $v0-2 -2 trme de g $r 5 6-2 0 - $sp trme de h 5 $0-2 $ (resturé près ppel) R trme de f $2-2 (resturé près ppel) $3-2 $v0-3 -2 trme de g $r 5 6-2 0 $sp 2 $0 $ -2 R trme de f $2-2 $3 - $v0-3 trme de i $r 6 $sp 6 $0 $ -2 $2-2 $3 $v0-2 $r 6 R trme de f - $sp 4. ddi $sp, $sp, -4 # crétion de l trme lw %0, -4($2) # deut de trme de f dns %0 lw %, -4(%0) # vleur de x dns % dd %2, %, $ # clcul de l vleur de t sw %2, 0($sp) # stockge de t sur l pile 6

dd $v0, %2, $0 ddi $sp, $sp, 4 jr $r # vleur de retour # destruction de l trme # retour à l ppelnt Exercice 3 : Alloction de registres (5 points). : neutre := 0; 2 : s := neutre; 3 : opp := -x; 4 : opp > x 8 : s := x; 5 : tmp := x; 6 : x := opp; 7 : opp := tmp; 2. instruction vivntes vnt vivntes pres x x neutre 2 x neutre x 3 x x opp 4 x opp x opp 5 x opp opp tmp 6 opp tmp x tmp 7 x tmp x opp 8 x 3. tmp x s opp neutre 4. Quelque soit le critère choisi : fusionner s et neutre 7

simplifier s/neutre spiller tmp simplifier x simplifier opp Le seul choix possile concerne l ordre des deux dernières étpes. On otient le colorige : tmp x s opp neutre Exercice 4 : Reching definitions (9 points). i Rech((vnt, i), x) Rech((près, i), x) i i i2 i i2 i3 i i2 i i2 i4 i i2 i4 2. Rech((vnt, i), x) = Rech((près, j), x) 3. j i Rech((près, i), %v) = {i} i redéfinit %v donc de tous les chemins qui rrivent près i, seul celui prtnt de i ne redéfinit ps %v. Rech((près, i), w) = Rech((vnt, i), w) pour w %v i ne redéfinit ps w. Si on un chemin d une instruction j u point vnt i qui ne redéfinit ps w, lors en complétnt ce chemin pour ller près i on ne redéfinit toujours ps w. 4. On pose T = ({vnt; près} Instr) Vr P(Instr). On Rech T. Comme ensemle des prties, (P(Instr), ) est un treillis complet, donc (T, ) (ordre point-à-point) l est ussi. On définit une fonction F : T T telle que F (f)((vnt, i), w) = f((près, j), w) j i F (f)((près, i), w) ={i} F (f)((près, i), w) =f((vnt, i), w) si i définit w si i ne définit ps w 8

On peut vérifier que F est monotone dns (T, ), donc pr le théorème de Knster- Trski, elle dmet des points fixes. On vérifie fcilement que Rech est un point fixe de F. Il s git du plus petit cr on peut montrer que tout point fixe de F surpproxime les ensemles Rech. 5. pour toute instruction i pour toute vrile v Rech((vnt,i),v) Rech((pres,i),v) W Instr tnt que W retirer i de W, si possile sns prédécesseur dns W pour tout v pour tout j tel que j i Rech((vnt,i),v) Rech((vnt,i),v) Rech((pres,j),v) si definit(i, v) tmp i sinon tmp Rech((vnt,i),v) si tmp Rech((pres,i),v) jouter à W les successeurs de i Rech((pres,i),v) tmp 9