Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
GOBO Ne pas partir de zéro
Utiliser la partie avant d'un compilateur Eiffel pour l'analyse lexicale pour l'analyse syntaxique Adapter les traitements sémantiques pour produire des faits PROLOG Étendre GOBO pour implémenter l'héritage inverse.
2
Notes sur le SLIDE 1 NE PAS INTEGRER DANS LE BEAMER
ANTLR : non Une tâche trop difficile a réaliser Double objectif : faits PROLOG / héritage inverse S'appuyer sur un compilateur déjà existant, du domaine public.
3
Parcourir un AST Représentation d'un programme Eiffel par un AST (Abstract Syntax Tree). Chaque noeud représente une structure syntaxique particulière. Pour générer les faits PROLOG, il est nécessaire de traiter spécifiquement les noeuds de l'AST. Design Pattern Visitor.
4
Gestion des clés primaires
Garantir l'unicité d'une clé Retrouver la clé d'un fait Utilisation d'une fabrique de clés pour regrouper les opérations de génération. Design pattern Fabric Typage des clés
5
Fabrique de clés
6
Association des traitements sémantiques
Regroupement des traitements dans une classe Visiteur Échange de données entre noeuds Attribut d'instance pour représenter une valeur courante Transmission des clés primaires Utilisation des identificateurs de noeud
7
Mise en oeuvre du partage des informations
Délégation des opérations sur les noeuds à d'autres Visiteurs Permet de générer des catégories de faits similaires. Partage de la fabrique de clés, de faits ou d'un contexte Design pattern Singleton
9
Fonctionnement de l'ensemble
10
Extension de la grammaire
Modification du fichier yacc Adapter la grammaire Problème des mots clés Création de nouveaux noeuds Adapter les noeuds préexistants Fort couplage avec les autres noeuds de l'arbre Modification de l'interface Visiteur
11
Extension de la grammaire
12
Difficultés de l'implémentation
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.