Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER,...

24
1 Projet de compilation : MiniJaja

Transcript of Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER,...

Page 1: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

1

Projet de compilation : MiniJaja

Page 2: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

2

Projet de Compilation

Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE,Lionel DROZ-BARTHOLET, Emmanuel

JEANVOINE,Matthias MEUSBURGER, Yannick PAGE, Benoît RICHE.

Responsable de projet : Monsieur Jacques Julliand

Page 3: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

3

Projet de compilation : MiniJaja

Introduction

• Présentation du sujet

• Les objectifs

• Les modules

Page 4: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

4

Projet de compilation : MiniJaja

Plan

Introduction

Points de choix

Gestion de projet

Conclusion

Démonstration

Page 5: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

5

Projet de compilation : MiniJaja

Etats

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

IHM et Interfaçage : « Modèle-Vue-Contrôleur »

Interfaçage : partie « Modèle » découpage en états

Avantages : Interfaçage séparé de l'IHM Code source plus maîtrisable, plus

propre, plus évolutif

Page 6: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

6

Projet de compilation : MiniJaja

Etats

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Les états : ETAT_DEPART ETAT_COMPILATION ETAT_PARSING_OK ETAT_INTERPRETATION_JJC ETAT_INTERPRETATION_MJJ ETAT_INTERPRETATION_MJJ_PTS_ARRET ETAT_REDEMARRE_INTERPRETATION_JJC ETAT_REDEMARRE_INTERPRETATION_MJJ

Page 7: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

7

Projet de compilation : MiniJaja

Etats

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Etatcourant

Changementd’état

Traitements

Nouvelétat

Demande de l’IHM

Changementpossible

Changementimpossible

Page 8: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

8

Projet de compilation : MiniJaja

Le tas - Présentation

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Gestion des tableaux Trois structures

Tas Espaces libres Espaces occupés

Garbage-collector Élimine les trous Utilise les espaces libres

Page 9: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

9

Projet de compilation : MiniJaja

Le tas - Fonctionnement

Insertion d’un tableau Recherche du meilleur espace libre Affectation des espaces occupés Modification des espaces libres

Suppression d’un tableau Modification des espaces libres Affectation des espaces libres

Accès aux tableaux Utilisation des espaces occupés

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 10: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

10

Projet de compilation : MiniJaja

Le tas - Fonctionnement

Garbage-collector Parcours des espaces libres Permutations des tableaux Obtention d’un unique espace libre

à la fin du tas

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 11: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

11

Projet de compilation : MiniJaja

Choix d’implantation

Première version basique Choix techniques : liste chaînée Avantages : mise en place simple Inconvénients : accès à un quadruplet

Deuxième version optimisée Choix techniques : table de hachage et

liste chaînée Avantages : accès optimal Inconvénients : plus fort besoin de test

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 12: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

12

Projet de compilation : MiniJaja

Schéma de fonctionnement

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 13: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

13

Projet de compilation : MiniJaja

Gestion des erreurs

Erreur interne -> Exceptions levées Pile vide Swap incorrect Déclaration incorrecte

Erreur utilisateur -> mailbox Pile pleine Tas plein (via exception du tas) Accès hors limites (via exception du tas)

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 14: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

14

Projet de compilation : MiniJaja

Asa

Adaptation de la grammaire pour la rendre LL(1)

Génération de l'analyseur via JJTree et JavaCC

Modification des noeuds pour indiquer les breakpoints et les n° de ligne

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 15: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

15

Projet de compilation : MiniJaja

Contrôle de type

« Outils » utilisés Visiteurs pour parcourir l ’ASA Vectors Java pour la table des

symboles

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 16: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

16

Projet de compilation : MiniJaja

Contrôle de type

Choix techniques L ’ASA est parcouru une seule fois Chaque noeud renvoie son type Modification des identificateurs

pendant le parcours

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 17: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

17

Projet de compilation : MiniJaja

Bilan technique

Besoins fonctionnels réalisés Analyse syntaxique Interprétation Minijaja et Jajacode Compilation et affichage Affichage simultané des états

mémoires pour l ’interprétation Minijaja et Jajacode

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 18: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

18

Projet de compilation : MiniJaja

Bilan technique

Besoins non fonctionnels réalisés Utilisation des règles du cours

(compilation, interprétation, analyse) Messages d’erreur (ASA, contrôle de

type) État mémoire avec une table de

hachage et un garbage-collector fonctionnalités supplémentaires

breakpoints

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 19: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

19

Projet de compilation : MiniJaja

Outils Utilisés

WinCVS

Liste de diffusion

Makefile

JavaDoc

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 20: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

20

Projet de compilation : MiniJaja

Méthodes

Communication Rapports de bogues Tests & Recette

Tests unitaires Tests d'intégration Recette

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Page 21: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

21

Projet de compilation : MiniJaja

Bilan

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Les plus Interfaçage

Les moins Documentation

Pour mieux faire Documentation projet

Page 22: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

22

Projet de compilation : MiniJaja

Conclusion

IntroductionPoints de choix

ÉtatsTas - gcPile d’exécutionAsaContrôle de typeBilan technique

Gestion de projetOutils utilisésMéthodesBilan

ConclusionDémonstration

Travail en groupe Gestion de projet Acquisition de

connaissances

Ouverture vers le monde professionnel

Page 23: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

23

Projet de compilation : MiniJaja

Démonstration

Page 24: Projet de compilation : MiniJaja 1. 2 Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE, Lionel DROZ-BARTHOLET, Emmanuel JEANVOINE,Matthias.

24

Projet de compilation : MiniJaja

Des Questions ?