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

Macros et VBA Excel Discussion :

Parsing en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Par défaut Parsing en VBA
    Bonjour à tous,

    J'ai besoin de parser un petit langage propriétaire en VBA. Ce langage prend cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a> = 4 and (<b> = 2 or (<b> = 1 and <c> = 3))
    Il n'est pas excessivement compliqué mais les imbrications font qu'il ne peut être parsé avec des expressions régulières... J'ai naturellement pensé à utiliser un générateur de parser comme Lex/Yacc ou ANTLR mais le souci est qu'ils ne génèrent pas de code VB. Il faudra donc une phase de conversion entre le code généré et VB.

    Est-ce que certains d'entre vous ont déjà eu à faire ce type de chose et pourraient me conseiller un outil/une méthode ?

    Merci d'avance,
    Mark

  2. #2
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonjour Mark531,

    Je n'ai jamais parsé de code de toute ma vie donc mes propos ne sont peut-être pas les plus "pro" que tu puisses trouver sur le sujet.

    S'il me fallait traduire ton code en VBA et avec le VBA, j'utiliserai la fonction Split pour transférer le tout dans un tableau de variables puis j'analyserai le premier et le dernier caractère de chaque mot. Enfin voilà la méthode que je développerai.

    Bertrand

  3. #3
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Je ne suis pas un pro non plus mais j'ai déjà travailler avec quelques parseurs pour un projet.
    On peut parser n'importe quel langage (même un langage de notre création) vers n'importe quel autre langage (même de notre création) donc je comprend pas trop.

    Pour ma part j'avais utilisé au final Code Worker pour générer d'un langage de ma création vers du C.

  4. #4
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Par défaut
    A l'évidence, vous n'avez jamais parsé de langage complexe.

    C'est pas grave, je vais générer une grammaire avec ANTLR pour ceux qui connaissent. Un des fondateurs m'a conseillé de :

    - Créer la grammaire dans ANTLR
    - Générer le moteur de parsing en C#
    - Créer une assembly à partir de ce moteur
    - Communiquer en COM avec VBA

    Sauf que je n'ai jamais fait de C# donc ça risque d'être bien chaud... Du coup, je vais peut-être poster mes futures questions dans le forum C#. J'ai surtout peur de la transco entre les objets .net et les objets VBA.

Discussions similaires

  1. VBA : problème parsing document XML
    Par duffman dans le forum Général VBA
    Réponses: 1
    Dernier message: 15/04/2009, 15h37
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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