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 :

Evalutation d'expression logique/booleenne


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Par défaut Evalutation d'expression logique/booleenne
    Bonjour,

    Je souhaiterais effectuer en C, l'évaluation d'une chaine de caractères contenant une expression logique. Par exemple : ( 214 >= 14 ) && ( 214 <= 800 ) dont le résultat serait vrai ou faux (vrai dans le cas présent). Cependant, il faut également que l'évaluation puisse être faite avec des chaines de caractères. Par exemple : AAA == AAA.

    Il me semble que la librairie regex.h ne correspond pas vraiment à mon besoin étant donné qu'elle semble faite pour traiter les expressions régulières et non le type d'expression que je souhaite évaluer.

    J'espère avoir été assez clair dans mes explications.
    Si vous avez une idée à me suggérer, je vous en remercie.

    Esteban

  2. #2
    Membre éprouvé Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Par défaut
    Bonjour,

    Je pense que bvous devriez vous pencher sur Lex et Yacc (ou Flex et Bison, leurs cousins libres). Ca permet de faire des analyseurs syntaxiques en C. Je pense que c'est adapté pour ce genre de choses.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 15
    Par défaut
    Pour evaluer des expressions logiques ou mathématiques tu peut le faire sous la forme d'un arbre que tu résous depuis le bas

    Les operateurs sont des noeuds et les feuilles sont des valeurs.

    Tout exemple donerais un arbre dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
              &&
          /        \
        >=          <=
      /    \         /    \
    214  800   214    14
    Ca te permet des expressions très compliquée.

    Je l'ai déjà fait de cette manière mais en Prolog

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Par défaut
    C'est bien ce que je soupçonnais (solution de l'arbre ou Lex et Yacc).
    Merci à vous pour vos réponses.
    Si quelqu'un a déjà fait une fonction d'analyse arborescente, je suis preneur
    (c'est bien l'interet des fonctions : la re-utilisation, ne pas re-inventer la roue...)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Par défaut
    Si quelqu'un est intéressé par ce problème, j'ai modifié un outil en C qui répond au besoin

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

Discussions similaires

  1. Vérifier une expression logique
    Par mike600river dans le forum Langage
    Réponses: 2
    Dernier message: 02/01/2008, 16h08
  2. [VB .NET] évaluteur d'expressions logiques
    Par razikos18 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/12/2006, 09h11
  3. Réponses: 17
    Dernier message: 02/08/2006, 15h32
  4. logique booleennes
    Par numeror dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/02/2006, 08h36
  5. Réponses: 10
    Dernier message: 18/11/2004, 23h12

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