IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Xtext et compilation


Sujet :

Eclipse Platform

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Points : 58
    Points
    58
    Par défaut Xtext et compilation
    Bonjour,

    J'ai défini une grammaire à l'aide de Xtext. Ensuite, je crée un projet où je crée des objets à l'aide de la grammaire.

    Je voulais savoir si il était possible de définir un "compilateur" de cette grammaire et comment le faire ? Je n'arrive pas à trouver le point d'entrée.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Bonsoir,

    Xtext définit la notion de builder, il faut se brancher dessus je pense. Le builder est invoqué à chaque sauvegarde des fichiers Xtext (comme le builder Eclipse).
    Tu peux jeter un coup d'oeil ici:
    https://eclipse.org/Xtext/documentat...ode-generation

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  3. #3
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Merci pour votre réponse.

    J'avais vu cette solution mais ça m'embête de recompiler tout à chaque sauvegarde. Je pensais que l'on pouvait invoquer un compilateur à l'aide d'un bouton.

  4. #4
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Dans ce cas c'est encore plus simple, il suffit de charger le modèle depuis n'importe quelle ressource Xtext : https://wiki.eclipse.org/Xtext/FAQ#H...ation.C2.A0.3F
    Ensuite rien n'empêche de faire tout ce qu'on veut avec, notamment appeler de la génération via Xtend, Acceleo ou autre, ou même générer du contenu en Java pur.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  5. #5
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Merci de ta réponse. Je regarde ça (même si je comprends pas tout).

  6. #6
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    J'ai un problème lorsque je récupère mes objets java créés par Xtext qui appelle d'autre objets définis dans un autre fichier.

    Pour récupérer mes ressources, je fais ça ( vu dans un tuto de G.Kemayo je crois) avec URI le chemin du fichier analysé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		new SvcStandaloneSetup();
    		SvcStandaloneSetup.doSetup();
    		ResourceSet resourceSet = new ResourceSetImpl();
    		Resource resource = resourceSet.getResource(URI.createURI(uri, true), true);
                    EObject eobject = resource.getContents().get(0);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    		new org.eclipse.emf.mwe.utils.StandaloneSetup().setPlatformUri("../");
    		Injector injector = new SvcStandaloneSetup().createInjectorAndDoEMFRegistration();
    		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
    		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
    		Resource resource = resourceSet.getResource(URI.createURI(uri), true);
                    EObject eobject = resource.getContents().get(0);
    En manipulant les objets de ce fichier, j'ai remarqué que si l'objet a comme attribut un objet créé dans un autre fichier, les paramètres de cet attribut sont tous nuls. J'ai même pas le nom (identifiant) de l'attribut.

    Comment faire pour récupérer les objets complets ?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 10/10/2002, 19h19
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo