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 :

Analyseur de commande


Sujet :

Générateurs de compilateur

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut Analyseur de commande
    Salut,

    J'ignore si ce sujet a déjà été débatu mais mes mots clefs n'ont rien donné dans le moteur de recherche.

    Je souhaite faire un analyseur de commande qui pourrait prendre un nombre indéfini de paramètres. Chaque commande peut avoir une "sous-commande" mais ce n'est pas garanti. De même, elle n'a pas forcément de paramètres.

    Par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    # connection
    # alarm activation zone3 zone4 zone16 
    # alarm desactivation all
    # open door door8
    # open lift lift3
    # activate lift3 floor4
    Je voudrais éviter de faire des énormes blocs if-else. Surtout que je dois avoir pas loin de 600 commandes.

    Merci de m'apporter vos lumières.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Je regarderai du côté de lex/yac et leurs équivalents flex et bison. Ce sont des logiciels justement prévus pour faire des analyseurs.

    Pour les avoir utilisés dans ce contexte, ils sont très puissants

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    Ce sont des logiciels justement prévus pour faire des analyseurs.
    Merci, mais j'aurais besoin d'integrer cet analyseur a mon code. Du coup, le mieux serait peut-etre que je le code moi-meme.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 517
    Points : 37 135
    Points
    37 135
    Par défaut
    Citation Envoyé par Tymk Voir le message
    Merci, mais j'aurais besoin d'integrer cet analyseur a mon code. Du coup, le mieux serait peut-etre que je le code moi-meme.
    Justement, (f)lex et yacc/bison permettent la génération d'analyseurs qui pourront être intégrés dans le code.
    - W

  5. #5
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Fais ça avec Boost.Spirit, c'est beaucoup plus simple pour des petits langages comme ça.

    C'est une lib totalement sous forme de templates, aucun truc à lier où à compiler, et c'est intuitif à utiliser, pour peu qu'on maîtrise quelques notions de C++ comme les foncteurs, qu'on soit un peu à l'aise avec la programmation fonctionnelle (même sans le savoir).

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Justement, (f)lex et yacc/bison permettent la génération d'analyseurs qui pourront être intégrés dans le code.
    En fait, ils génèrent des fichiers sources C ou C++ et H que tu peux intégrer directement dans ton projet et compiler. Désolé de ne pas l'avoir dit du 1er coup.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Ok, je vais regarder tout ca.

    Merci

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

Discussions similaires

  1. Qt - Analyseur lexicale/Syntaxique/Commande
    Par EOD_CO dans le forum Débuter
    Réponses: 4
    Dernier message: 22/07/2008, 18h40
  2. Interception des commandes in et out
    Par KDD dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 18/12/2002, 17h55
  3. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 11h48
  4. Réponses: 3
    Dernier message: 02/09/2002, 19h49
  5. Réponses: 2
    Dernier message: 11/08/2002, 22h27

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