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

 C Discussion :

production avec répétition plusieurs fois de termes grammaire yacc


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut production avec répétition plusieurs fois de termes grammaire yacc
    Bonsoir,

    Tout d'abord je m'excuse si je ne suis pas au bon endroit du forum mais je n'ai pas trouvé de coin précis pour lex et yacc alors ... !
    J'ai un petit souci au niveau d'une grammaire que je dois implémenter dans un fichier yacc : dans cette grammaire j'ai par moment dans certaines règles des éléments à répéter zero ou plusieurs fois et impossible de construire correctement la grammaire !! Voici la règle qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exp -> ([exp {;exp}])
    Ce qui se trouve entre [] est optionnel (pas de problème pour traduire ça !)
    Ce sui se trouve entre {} est à répéter zéro ou plusieurs fois (c'est là que ça coince ! )

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 082
    Par défaut
    Pour repeter 0 ou plusieurs fois, boucle while
    Pour repeter 1 ou plusieurs fois, boucle do while

    Apres, si tu veux plus de precision, detail plus parce que la, je suis un peu paulé en faite,meme si je pense avoir bien repondu.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 450
    Par défaut
    Citation Envoyé par marion5515 Voir le message
    Voici la règle qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exp -> ([exp {;exp}])
    Ce qui se trouve entre [] est optionnel (pas de problème pour traduire ça !)
    Ce sui se trouve entre {} est à répéter zéro ou plusieurs fois (c'est là que ça coince ! )
    Il te faut une règle dédiée pour pouvoir faire une itération.
    Code yacc : Sélectionner tout - Visualiser dans une fenêtre à part
    e2: exp | exp ; e2
    Attention également aux ambigüités.


    Citation Envoyé par SofEvans Voir le message
    Pour repeter 0 ou plusieurs fois, boucle while
    Pour repeter 1 ou plusieurs fois, boucle do while

    Apres, si tu veux plus de precision, detail plus parce que la, je suis un peu paulé en faite,meme si je pense avoir bien repondu.
    Lex & Yacc sont les deux plus célèbres outils d'analyse lexicale et grammaticale. On est très légèrement à côté de l'algorithmique, dans ce cas :

    http://www.linux-france.org/article/devl/lexyacc/

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Par défaut
    Merci pour vos réponses mais il est vrai que c'est la 2ème réponse que j'attendais ! En tout cas c'est pile ce qui me fallait, je vais essayer ça sur ma grammaire, il me semble que j'avais déjà tenté un truc dans ce genre mais yacc me signalait des conflits donc je voulais savoir si il y'avait quelque chose de plus correct. Je vais essayer ça tout à l'heure et je vous tiens au courant ! Encore merci !!

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 450
    Par défaut
    Si ça marche, n'oublie pas !

    À bientôt.

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

Discussions similaires

  1. [WD-2007] Formulaire avec champs repris plusieurs fois
    Par richard_sraing dans le forum Word
    Réponses: 2
    Dernier message: 21/05/2010, 14h38
  2. Réponses: 0
    Dernier message: 29/04/2010, 16h50
  3. Réponses: 5
    Dernier message: 16/01/2009, 10h21
  4. demander plusieurs fois mot de passe avec htaccess
    Par magy91 dans le forum Sécurité
    Réponses: 1
    Dernier message: 29/02/2008, 17h44
  5. Réponses: 4
    Dernier message: 04/09/2007, 08h55

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