2010-05-15 15 views
2

Je sais que vous n'aimez pas aider les autres dans leurs devoirs, mais je dois faire une grammaire XText, écrire un exemple de code qui correspond à cette grammaire et la compiler dans un fichier html.Faire fonctionner XText

Le conférencier nous a montré les étapes et tout a fonctionné pour lui ... Il a dit "C'est si simple que ce sera un travail de 10 minutes pour vous". Et je croyais ça. Cependant, à la maison, presque rien ne fonctionne comme prévu. Et bien sûr, plus de conférences pour aller seulement à l'examen m'attend où je dois montrer ce que j'ai fait passer. De plus, l'e-mail que je lui ai envoyé a été renvoyé par le mailer-démon ...

J'ai eu Xtext avec Eclipse IDE depuis le site xtext et je l'ai déballé et j'ai suivi les étapes dans le tuturial officiel pour obtenir le défaut modèle de projet à travailler. Le tutoriel se trouve ici: http://wiki.eclipse.org/Xtext/GettingStarted

Maintenant, je suis à l'étape "Modèle". Il dit ouvrir le "MyModel.mydsl" Je le fais mais l'éditeur ne s'ouvre pas. Il dit:

"Impossible d'ouvrir l'éditeur: La classe d'éditeur n'a pas pu être instanciée, ce qui indique généralement un constructeur sans-argument manquant ou que le nom de classe de l'éditeur a été mal saisi dans plugin.xml."

Puisque tout est généré, le message d'erreur ne me pas aidé ... Il y avait une option pour regarder la trace de la pile (il était mile de long) et sur le dessus de celui-ci il y avait une exception:

java.lang.IllegalStateException: L'ensemble n'a pas encore été activé. Assurez-vous que le Manifest.MF contient 'Bundle-ActivationPolicy: paresseux'.

J'ai ouvert Manifast.MF et Bundle-ActivationPolicy: paresseux a été mis ...

I googlé pour la solution, mais sans résultat. Ça m'a rendu fou et j'ai abandonné.

Je n'ai aucune expérience avec Eclipse et Java et XText, je veux juste faire mes devoirs et tout oublier jusqu'à ce que je vais avoir besoin de nouveau ...

Toute une expérience avec XText?

Toute aide appréciée. Ps: Je serai là aussi et je pourrais résoudre le problème en quelques heures. Mais maintenant je suis à perte.

+1

Il n'y a rien de mal avec les devoirs, à condition qu'ils soient clairement annoncés en tant que tels, généralement par l'étiquetage, mais une confession préalable fait aussi l'affaire. Vous ne serez pas nourri à la cuillère (espérons-le), mais vous aurez toujours de l'aide (espérons-le). Malheureusement, cette aide ne viendra pas de moi; Je ne sais rien sur XText et très peu sur Eclipse. Pardon. –

+0

Si vous n'êtes pas intéressé à apprendre le sujet, pourquoi suivez-vous le cours en premier lieu? – JesperE

Répondre

1

J'ai enfin réussi à résoudre le problème. Je me suis rendu compte que je pouvais passer toute l'étape de déploiement. Je n'ai pas besoin de faire un plugin de vérification de syntaxe pour mon DSL. J'ai découvert que pour faire fonctionner les choses, j'ai besoin d'assigner tous mes jetons.

Alors

SomeDeclaration: 
    'declare' STRING 

est bien formé xtext mais il ne fonctionnera pas quand je compile ma langue. Il causera beaucoup d'erreurs mystérieuses ...

SomeDeclaration 
    'declare' declaredStuff=STRING 

volonté.

Ce fut une longue ... Je l'ai fait un travail de 10 minutes pour 8 heures ...

J'espère que cela aidera les autres ont commencé à se XText.

+2

Donc vous n'avez pas suivi les étapes du tutoriel ** exactement **, n'est-ce pas? C'est généralement une bonne idée. Tout d'abord, quand tout fonctionne, faites vos modifications par petits incréments ** de sorte que lorsque les choses s'arrêtent de fonctionner, vous savez pourquoi. – JesperE

1

Il semble y avoir un problème avec votre installation eclipse/XText. Comment l'avez-vous installé? Si vous avez Eclipse et ajouté le plugin après, vous devez vous assurer que les versions sont compatibles.

Il y a une distribution groupée here

+0

J'ai téléchargé exactement cela. – Calmarius

1

Une possibilité: Dans l'étape de déploiement, s'il vous plaît vérifier si vous avez effectivement créé trois plugins en regardant le répertoire d'installation du Xtext, à l'intérieur du dossier plugins? Si elles sont placées à un endroit différent, vous pouvez les déplacer dans le dossier plugins. Et, avez-vous redémarré Xtext eclipse après l'installation de ces plugins? La plateforme ne reconnaîtra pas ces plugins (et l'éditeur MyDsl) à moins que vous ne le redémarriez.

+0

Je l'ai fait et redémarré Eclipse après. – Calmarius

1

Je recevais exactement les mêmes problèmes (obtenant l'erreur "Impossible d'ouvrir l'éditeur: La classe d'éditeur n'a pas pu être instanciée.") Lorsque j'ai essayé de voir mon DSL en éclipse. J'ai ensuite essayé et tout essayé pour changer les fichiers de configuration à la fois dans eclipse et xtext mais sans succès.

Ma seule solution a été de tout réinstaller. Je cours une version 64 bits de Windows (Vista 64 bits), mais seulement JVM et JDK 32 bits. Donc, ceux-ci, eclipse et xtext ont été mis à jour vers les dernières versions 64 bits et seulement alors cela a fonctionné bien.

Je suppose que c'est un problème avec eclipse plutôt que xtext et la mise à jour de Helios (éclipse 64 bits) est probablement ce qui a fait la différence.