240 likes | 419 Views
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. Introduction. Présentation du sujet Les objectifs Les modules. Plan.
E N D
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
Introduction • Présentation du sujet • Les objectifs • Les modules
Plan • Introduction • Points de choix • Gestion de projet • Conclusion • Démonstration
Etats Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Dé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
Etats Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Dé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
Etatcourant Traitements Demande de l’IHM Changementd’état Nouvelétat Changementpossible Etats Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration Changementimpossible
Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration Gestion des tableaux Trois structures Tas Espaces libres Espaces occupés Garbage-collector Élimine les trous Utilise les espaces libres Le tas - Présentation
Le tas - Fonctionnement Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • 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
Le tas - Fonctionnement Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • Garbage-collector • Parcours des espaces libres • Permutations des tableaux • Obtention d’un unique espace libre à la fin du tas
Choix d’implantation Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • 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
Schéma de fonctionnement Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration
Gestion des erreurs Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • 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)
Asa Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • 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
Contrôle de type Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • « Outils » utilisés • Visiteurs pour parcourir l ’ASA • Vectors Java pour la table des symboles
Contrôle de type Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • Choix techniques • L ’ASA est parcouru une seule fois • Chaque noeud renvoie son type • Modification des identificateurs pendant le parcours
Bilan technique Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • 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
Bilan technique Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • 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
Outils Utilisés Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • WinCVS • Liste de diffusion • Makefile • JavaDoc
Méthodes Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • Communication • Rapports de bogues • Tests & Recette • Tests unitaires • Tests d'intégration • Recette
Bilan Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • Les plus • Interfaçage • Les moins • Documentation • Pour mieux faire • Documentation projet
Conclusion Introduction Points de choix États Tas - gc Pile d’exécution Asa Contrôle de type Bilan technique Gestion de projet Outils utilisés Méthodes Bilan Conclusion Démonstration • Travail en groupe • Gestion de projet • Acquisition de connaissances • Ouverture vers le monde professionnel