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 C & C++ Discussion :

Parser un fichier C sans projet CDT


Sujet :

Eclipse C & C++

  1. #1
    Membre éclairé
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 471
    Points : 831
    Points
    831
    Par défaut Parser un fichier C sans projet CDT
    Bonjour à tous

    je dois parser un fichier C qui n'appartient pas un à projet CDT
    j'ai regardé CDOM et PDOM, mais les parseur font toujours référence à un projet

    Il y a t 'il un moyen de contourner ce problème

    merci d'avance
    Page sur Developpez : http://pbriand.developpez.com

  2. #2
    Membre éclairé
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 471
    Points : 831
    Points
    831
    Par défaut
    Bonjour à tous,

    j'ai pu trouver une solution , la voici donc ici

    la solution passe par la création d'un projet virtuel. En faite je crée par logiciel un projet ou je stocke mes fichiers, et dans ce cas je peux alors parser mes fichiers C

    Voici le code d'une méthode permettant de créer un projet, puis d'y inclure un répertoire source ou ou je vais pouvoir placer mes fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
      private IFolder createProject() {
        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
        virtualProject  = root.getProject("VirtualProject");
        IFolder folder = null;
        try {
          /* Si le projet existe déjà ,je le détruit pour repartir sur une base saine */
          if (virtualProject.exists()) {
            root.delete(true,true,null);
          }  
          virtualProject.create(null);
          folder = virtualProject.getFolder("src");
          if (!virtualProject.isOpen()) {
            virtualProject.open(null);
          }
          folder.create(IResource.NONE, true, null);
        } catch (CoreException e) {
          e.printStackTrace();
        }
     
        return folder;
      }
    ensuite pour placer mes fichiers voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    /* Création d'un projet pour stocker les fichiers */
        IFolder folder = createProject();
        IFile file = folder.getFile(fileObject.getName());
        FileInputStream source;
        try {
           source = new FileInputStream(fileObject.getFullPath());
           try {
             file.create(source, IResource.NONE, null);
           } catch (CoreException e) {
             e.printStackTrace();
           }
         } catch (FileNotFoundException e) {
           e.printStackTrace();
         }
    maintenant, il ne reste plus qu'a parser mon fichier comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      IParserConfiguration conf = new ParserConfiguration();
      IASTTranslationUnit tu;
      try {
        tu = dom.getTranslationUnit(file,new CodeReaderFactory(),conf);
        Activator.msgStream.println("parse du fichier " + fileObject.getName() + " faite");
      } catch (UnsupportedDialectException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    fileObject est un objet d'une classe que j'ai écrit. cela permet de sotcker un nom de fichier et aussi le chemin complet au fichier

    ParserConfiguration est aussi une classe que j'ai écrite et qui permet de personnaliser mon scanner. Le reste est standard CDT


    Cordialement
    Page sur Developpez : http://pbriand.developpez.com

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/04/2013, 10h38
  2. [DOM] Parser un fichier xml (sans espaces et retours à la ligne)
    Par rizki1 dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 04/05/2010, 10h26
  3. Nouveau fichier sans projet
    Par kelso dans le forum Eclipse
    Réponses: 1
    Dernier message: 25/04/2010, 01h04
  4. [JDOM] parser un fichier xml dans un projet J2EE
    Par sal.gass dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 24/06/2008, 17h05
  5. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 17h51

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