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

Générateurs de compilateur Discussion :

Parser une expression


Sujet :

Générateurs de compilateur

  1. #1
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut Parser une expression
    Bonjour,

    J'aimerais parser une expression qui est une condition d'un langage de programmation, ceci afin de la traduire dans un autre langage. En cherchant sur le web, j'ai découvert que les outils lex et yacc permettent justement de faire ce genre de choses. Pensez-vous que ces outils peuvent m'aider à résoudre mon problème ou me conseilleriez-vous une autre technique ?
    Je n'ai jamais utilisé ces outils, ni même compilé de programme en c (je suis un programmeur .net). J'aimerais donc bien partir d'un exemple similaire à mon problème pour comprendre comment les choses fonctionnent.

    Tous les conseils pour m'aider à débuter avec ces outils et le c sont les bienvenus.

    Merci d'avance,

    mathmax
    ****************************************

    - I don’t write plumbing code anymore
    - I use PostSharp
    - And you?


    ****************************************

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 508
    Points
    5 508
    Par défaut
    Cela dépend de la complexité du langage pour lequel tu désires construire un analyseur syntaxique. Dans certains cas, il peut être pertinant d'implanter son parseur à la main plutôt qu'à l'aide de lex et de yacc (ou flex et bison).

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut
    Il s'agit de parser une condition du langage CA-Clipper en clause WHERE SQL.

    Un exemple de traduction serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("Mart" $  Customers->Name .and. Orders->Price >= 120) .or. Oders->Date = ctod("18/06/08")

    qui sera traduit en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where exists (select 0 from Customers as C, Orders as O where C.Id = O.Customers_Id and (C.Name like "%Mart%" and O.Price >= 120) or O.Date = #18/06/08#)
    ****************************************

    - I don’t write plumbing code anymore
    - I use PostSharp
    - And you?


    ****************************************

  4. #4
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut
    Un conseil pour m'aider à construire ce parser ? Utilisation de lex et yacc ?
    ****************************************

    - I don’t write plumbing code anymore
    - I use PostSharp
    - And you?


    ****************************************

Discussions similaires

  1. Parser une ligne suivant une expression réguliere
    Par houba91 dans le forum Général Java
    Réponses: 11
    Dernier message: 28/03/2014, 16h41
  2. Parser une expression préfixe
    Par golden boy dans le forum Haskell
    Réponses: 19
    Dernier message: 27/06/2011, 21h03
  3. Parser une expression en C
    Par scls19fr dans le forum Générateurs de compilateur
    Réponses: 0
    Dernier message: 22/04/2009, 10h25
  4. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2003, 18h06
  5. [langage] Continuer a parser une ligne
    Par D[r]eadLock dans le forum Langage
    Réponses: 5
    Dernier message: 30/09/2002, 19h49

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