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 :

Interpréteur de langage de script spécifique


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Interpréteur de langage de script spécifique
    salut tout le monde , voila j'ai un projet à base de c++ , qui consiste en un interpréteur de langage de script spécifique c-à-dire que le langage sera bien défini avec des fonction(arg, arg ) et des boucles for ou while do .Pour mieux vous expliquer l'interface de mon programme se comportera comme un editeur , une fois le script saisi l'utilisateur appuyera sur un bouton pour valider la syntaxe du programme .si il y a des erreurs un message affichera les lignes erronées et une fois les errurs corrigées l'utilisateur pourra sauvegarder son programme sous un format text .txt .

    En fait ces programmes à saisir sont des tests avec des paramètres comme arguments et un nbre d'itération précis.

    exemple : répeter test1(24,9) 5 fois;
    répeter test1(33,8) 3 fois;

    Ca doit être implémenter sous visual studio c++ .

    J'ai penser aux bibliothèques .dll pour chaque test , et fera l'appel à partir de l'interface de l'interpreteur

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 220
    Points : 12 396
    Points
    12 396
    Par défaut
    C'est quoi la question ?

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    La réponse est "Lex/Yacc" si tu fais ton propre langage de script.

    Ou alors, ajouter un interpréteur LUA / Python / Autre dans ton programme C++, la plupart des langages de script permettant de faire cette opération...

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Ainsi que Boost.Spirit ou Boost.Python.

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    je vous remercie pour l'attention dont vous avez fais preuve à mon problème.

    En fait mon interpréteur vérifiera ligne par ligne des fonctions bien définit :

    choisir_type_liaison(RS232);
    choisir_ligne(1);
    répéter(comparer_chaine("hello"),5); //pour tester la liaison en mode echo


    donc je ne vois pas comment le boost ou Lex/Yacc pourront m'etre utile quand je vais developper tout ca en c++ ?

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 220
    Points : 12 396
    Points
    12 396
    Par défaut
    Lex permet de générer un analyseur syntaxique donc la première partie d'un interpréteur.

  7. #7
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Pour le parser, je conseille fortement Boost.Spirit. Après, à toi de voir ce que tu voudras faire derrière, je ne connais pas de bibliothèque pour gérer ce qui se passe ensuite, c'est trop dur à généraliser.

  8. #8
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 695
    Points : 188 898
    Points
    188 898
    Par défaut
    À noter qu'il existe un tutoriel d'introduction à Boost.Spirit : http://irmatden.developpez.com/tutor...-boost-spirit/

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par sinaps1618 Voir le message
    En fait mon interpréteur vérifiera ligne par ligne des fonctions bien définit :

    choisir_type_liaison(RS232);
    choisir_ligne(1);
    répéter(comparer_chaine("hello"),5); //pour tester la liaison en mode echo

    donc je ne vois pas comment le boost ou Lex/Yacc pourront m'etre utile quand je vais developper tout ca en c++ ?
    Et je ne vois toujours pas en quoi tu ne pourrais pas faire ces fonctions [en rouge] en C/C++, avec ces mêmes noms/paramètres, et les publier ensuite dans un interpréteur Python, LUA, ou n'importe quel autre langage de script... En fait, n'importe quel langage de script supportant le concept d'inclusion fera l'affaire, tu n'auras qu'à exécuter ton script à tester au sein d'un script général d'exécution.

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/11/2005, 15h04
  2. Réponses: 4
    Dernier message: 01/06/2005, 18h01
  3. Définition langage de scripting
    Par Filippo dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/12/2004, 10h25
  4. [langage] perl script pour balancer un B-arbre
    Par RonMaster dans le forum Langage
    Réponses: 5
    Dernier message: 22/10/2004, 18h35
  5. [langage] cherche script pour formater une chaine
    Par MASSAKA dans le forum Langage
    Réponses: 7
    Dernier message: 12/11/2003, 13h18

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