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 :

[bison & flex] affectation d'une expression arithmetique


Sujet :

Générateurs de compilateur

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [bison & flex] affectation d'une expression arithmetique
    bonjour,
    j'ai commencé a travailler avec bison et flex pour un projet d'etudes, et je bloque avec l'affectation d'une expression arithmetique avec des entiers signé
    par exemple quand j'ecris: a:= 12-36; //il me dit syntax error, unexpected entier, expecting ';'
    ça veut dire qu'il ne prend pas le signe '-' en tant que signe seul, mais faisant partie de l'entier signé "-36"
    voici mes declarations:
    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
    //expression reguliere
    entier [+-]?(0|[1-9][0-9]*)
    .
    .
    .
    [{},;=+*/<>()&-]  return yytext[0];
    .
    .
    .
    {entier} return entier; 
    //syntax
    .
    .
    .
    EXPA: VAR OPA EXPA| VAR | EXPAP ;
    EXPAP:'(' EXPA ')'| '(' EXPA ')' OPA EXPA;
    OPA: '-' |'+'| '*' | '/' ;
    VAR: entier | idf ;
    alors SVP, comment je peux regler ce probleme ??
    merci de bien vouloir m'aider ....

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Je dirais sépare le '-' de l'entier et fais-en un opérateur unaire (pareil pour le +).
    Un truc du genre:
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //expression reguliere
    entier (0|[1-9][0-9]*)
    .
    .
    [{},;=+*/<>()&-] return yytext[0];
    .
    .
    {entier} return entier;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //syntax
    .
    .
    .
    EXPA: VAR OPA EXPA| VAR | EXPAP | OPUB EXPA ;
    EXPAP:'(' EXPA ')'| '(' EXPA ')' OPA EXPA;
    OPUB: '-' |'+'; //Opérateurs pouvant être à la fois unaires ou binaires
    OPA:  OPUB | '*' | '/' ;
    VAR: entier | idf ;
    Mais je ne suis pas 100% certain que ça marche comme ça.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup
    j'ai essayé votre solution, et ça a marché !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/10/2015, 14h00
  2. Réponses: 1
    Dernier message: 02/01/2007, 11h22
  3. Réponses: 1
    Dernier message: 09/12/2006, 10h13
  4. evaluation d'une expression arithmetique
    Par yasmine77 dans le forum C++
    Réponses: 4
    Dernier message: 04/04/2006, 09h11
  5. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2003, 17h06

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