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

Algorithmes et structures de données Discussion :

[Grammaire] Exposant dans une définition dirigée par la syntaxe


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 313
    Points : 404
    Points
    404
    Billets dans le blog
    14
    Par défaut [Grammaire] Exposant dans une définition dirigée par la syntaxe
    bonjour,

    voici une grammaire (je l'ai simplifiée pour être plus concis)

    E -> T E'
    E' -> + T E'
    E' -> production vide
    T -> F T'
    T' -> * F T'
    F -> nb P
    F -> ID P
    F -> ( E ) P
    F -> - F
    P -> ^ F
    P -> production vide

    SI j'ajoute les règles sémantique pour les productions F et P, je ne sait pas si ceci est correcte:

    F -> nb P......F.val = nb.valex
    .....................P.h = nb.valex
    F -> (E) P..... F.val=E.val
    .....................P.h = E.val
    F -> -F...........F.val =- F.val
    P -> ^ F.........P.h = P.s ^ F.val
    P -> epsilone.P.s = P.h

    Il me semble que les deux dernière production présentent une définition circulaire.

    comment gère-t-on l'operation puissance dans une dds L-attribuée?

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 313
    Points : 404
    Points
    404
    Billets dans le blog
    14
    Par défaut
    peut-être suffit-il de donner à E l'attribut synthétisé du calcul de l'exposant en guise d'exposant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    F -> (E) P      |   F.s := E.s ^ P.s
     
    F -> id P       |   F.s := id.val ^ P.s
     
    P->  ^ F        |   P.s := F1.s
     
    P -> epsilone   |   P.s := 1
    qu'en pensez-vous?

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 313
    Points : 404
    Points
    404
    Billets dans le blog
    14
    Par défaut
    tout ceci est faux.
    voir la solution https://www.developpez.net/forums/bl...-associatives/

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 313
    Points : 404
    Points
    404
    Billets dans le blog
    14
    Par défaut
    désolé pour le lien mort, le bon lien est https://www.developpez.net/forums/bl...-associatives/

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 313
    Points : 404
    Points
    404
    Billets dans le blog
    14
    Par défaut
    voici la définition dirigée la par la syntaxe de l'exposant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    F -> nb P              |   P.h = nb.vallex
                           |   F.s = P.s
    F -> identificateur P  |   P.h = identificateur.unilex
                           |   F.s = P.s
    P -> ^ F               |   P.s = P.h ^ F.s
    P -> epsilon           |   P.s = P.h
    epsilon est la production vide

    le schéma de traduction dirigé par la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    F -> nb { P.h = nb.vallex } P { F.s = P.s }
    F -> identificateur { P.h = identificateur.unilex } P { F.s = P.s }
    P -> ^ F { P.s = P.h ^ F.s }
    P -> epsilon { P.s = P.h}

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 313
    Points : 404
    Points
    404
    Billets dans le blog
    14
    Par défaut
    moi-même :
    ceci est faux:
    voir mon billet de blog:
    https://www.developpez.net/forums/bl...-associatives/

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

Discussions similaires

  1. Inersert dans une table crée par les cardinalités [*,*]
    Par drasalmed dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/05/2007, 18h27
  2. Réponses: 11
    Dernier message: 26/02/2007, 00h04
  3. [C#] insertion de caractère en exposant dans une string
    Par papouAlain dans le forum Windows Forms
    Réponses: 9
    Dernier message: 11/07/2006, 15h45
  4. Intégrer une variable dans une définition
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/03/2006, 14h59
  5. [VB.NET][MySQL]ID insertion dans une base MySQL par ODBC
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/03/2006, 10h58

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