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 :

Comment ajouter un nouveau langage ?


Sujet :

Eclipse Platform

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment ajouter un nouveau langage ?
    Bonjour,

    Je travaille avec un logiciel qui possède un pseudo code C.

    Je souhaite réaliser un plug-in pour la coloration syntaxique et la validation du code.

    Quelqu'un pourrait-il me guider un peu dans cette démarche ?

    Il faut la grammaire du langage, un parser, un lexeur, un interpreteur ?

    D'autre part, je souhaite réaliser une interface spécifique graphique pour définir quelques macro "standard", c'est-à-dire lecture de données dans un fichier, écriture d'un texte dans un fichier...

    Merci d'avance pour votre aide.

  2. #2
    Membre expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 475
    Points : 3 004
    Points
    3 004
    Par défaut
    Jette peut-etre un oeil du coté d'XText.

  3. #3
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour vdavid4472,

    Je me suis pose la meme question lorsque j'ai demarre le developpement (qui est en stand by pour l'instant) du plugin Eclipse Freemarker. Apres mes recherches il y a 2 frameworks qui gerent ceci :

    1. DLTK (Dynamic Language Toolkit) qui permet de gérer des languages. Il existe plusieurs implementation comme Javascript, Python, Ruby...DLTK a en fait repris le meme modele que JDT (le plugin Java d'Eclipse) mais l'a rendu plus generique pour gerer n'importe quel language. Du coup tu benefecies d'un tas de fonctionnalite comme le refactoring, le debug (DBGP), la recherche...
    2. XText qui est basé sur EMF. L'idée (de ce que j'ai compris) est de maintenir ton instance EMF au mieux suivant le code que tu tappes dans l'editeur et XText te gere la couleur syntaxique par exemple.


    Que choisir entre ces 2 frameworks? Personnelement j'ai choisi DLTK car Freemarker possedait deja un parseur. Avec XText tu decris ta grammaire et et tu travailles ensuite avec une instance EMF. Avec DLTK il y a une API qui encapsule l'API JFace de coloration syntaxique mais tu es quand meme oblige de coder certains trucs. Mais DLTK te fournit un debugger (cote IDE avec DBGP), et il faut maintenair au mieux un AST DLTK qui te permet ensuite de beneficier d'un tas de chose comme la outline, refactoring, recherche...(pour ces 2 derniers points je ne suis pas sur que XText te gere ca).

    XText est super bien documenté alors que DLTK tu es oblige de mettre les mains dans les sources des implementation (Javascript, Ruby...) pour developper ton propre language.

    Je pense que XText est super bien si tu souhaites gerer un language dans un fichier unitaire (qui ne fait pas de lien avec un autre fichier (ex : ne gere pas les include de fichier par exemple)). Mais si tu souhaites avoir les memes fonctionnalites qu'un language comme Javascript, Ruby avec refactoring, debug....je pense DLTK est plus adapté. Je ne connais pas bien XText donc je peux dire certaines betises, mais c'est ce que j'ai constaté en regardant les exemples.

    Bon courage car se lancer dans un tel plugin est une taches extrement difficile. Ce qui est tres difficile c'est de maintenir au mieux un AST en fonction du code tappé (si le code tappé n'est pas tout a fait correct il faut que ton parseur soit tolerant et ne pas peter a la premiere erreur).

    Bon courage

    Angelo
    .

Discussions similaires

  1. Comment ajouter un nouveau cours?
    Par medti dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 18/07/2006, 13h22
  2. Réponses: 4
    Dernier message: 11/05/2006, 16h23
  3. Réponses: 3
    Dernier message: 05/05/2006, 16h14
  4. [Plateforme.NET]Comment ajouter un autre langage ?
    Par reggae dans le forum Framework .NET
    Réponses: 4
    Dernier message: 14/12/2005, 21h16

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