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 IHM et Interfaçage : Interfaçage : Avantages : 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 Les états : ETAT_DEPART ETAT_COMPILATION ETAT_PARSING_OK 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
Etats Etat courant Changement d’état Traitements Nouvel état 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 Etat courant Changement d’état Traitements Nouvel état Demande de l’IHM Changement possible Changement impossible
Le tas - Présentation Gestion des tableaux Trois structures 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 - 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 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 Première version basique 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 Erreur interne -> Exceptions levées 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 Adaptation de la grammaire pour la rendre LL(1) 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 « Outils » utilisés Visiteurs pour parcourir l ’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 « Outils » utilisés Visiteurs pour parcourir l ’ASA Vectors Java pour la table des symboles
Contrôle de type Choix techniques L ’ASA est parcouru une seule fois 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 Besoins fonctionnels réalisés Analyse syntaxique 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 Besoins non fonctionnels réalisé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 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 WinCVS Liste de diffusion Makefile JavaDoc 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 Communication Rapports de bogues Tests & Recette 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 Les plus Les moins Pour mieux faire Interfaçage Documentation 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 Travail en groupe Gestion de projet 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
Démonstration
Des Questions ?