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 :

Syntaxes matlab en c++


Sujet :

C++

  1. #1
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut Syntaxes matlab en c++
    Bonjour,

    j'aimerais savoir quelles sont les techniques possibles pour mimer des syntaxes matlab en C++. Par exemple, pour un tableau array 2D suffisamment grand, mimer ce genre de choses
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    array(1:3,: ) = ...
    ... = array(1:3,1:4)
    ou encore les op�rations terme � terme du style
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    array.*array  (passage au carré des coefficients de array)
    array./array  (tous les coeffs de array sont divisés par eux-mêmes).
    Bien s�r, ici, la question concerne les op�rateurs :, .* et ./ parce que sans op�rateurs je n'ai pas de probl�mes.

    EDIT : et sans utiliser boost bien s�r...

  2. #2
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    Citation Envoy� par Aleph69 Voir le message
    j'aimerais savoir quelles sont les techniques possibles pour mimer des syntaxes matlab en C++
    �a doit pas �tre facile en effet. As-tu cherch� du c�t� des �coles de th�atre? Il y a souvent des cours de mime.

    Plus s�rieusement, que veux-tu dire par "mimer"?

  3. #3
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Bonjour,

    ah je n'avais pas pens� � l'�cole de th��tre... elle est loin de l'�cole du cirque o� tu te trouves?

    En fait, imaginons que l'op�rateur ":" soit surchargeable, comment fais-tu pour g�rer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    array(1:3,:)=another_array?
    En particulier, que renvoie operator: (int,int) et comment est surcharg� l'op�rateur "," pour rester efficace?

    EDIT : et comment faire pour pour la seconde dimension o� : ne prend a priori aucun argument?

  4. #4
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    Mais en fait, que veux-tu faire?
    Veux-tu faire un interpr�teur? Un compilateur? Veux-tu �crire dans un fichier? Veux-tu lire un fichier? Veux tu lire des instructions entr�es par l'utilisateur dans la console? Ouvrir un programme �crit en mathlab et le traduire en C++? L'inverse? ...

  5. #5
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Rien de tout �a : je veux surcharger des op�rateurs.

  6. #6
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par d�faut
    boost.proto mais y'a des choses qui seront pas faisable beaucoup m�me, tout ce qui implique un op�rateur qui n'existe pas en C++ ie :
    array(1:3,: )
    �a marchera pas, va falloir s/:/| ou autre
    Parser l'expression serait plus int�ressant je pense.

    ( Joel travaille sur quelque chose dans ce go�t l� si mes souvenirs sont bons...)

  7. #7
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Merci pour ta r�ponse Goten.

    Je pensais effectivement � ce que fait Joel mais je l'ai seulement vu dans une pr�sentation : je ne sais pas si un code est � disposition. Il remplace ":" par "_" si mes souvenirs sont bons.

  8. #8
    Membre Expert

    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Ao�t 2004
    Messages
    1 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 1 391
    Par d�faut
    Pour boost::proto, la s�rie d'articles sur les EDSL sur CppNext traite de ce probl�me. Je trouve qu'elle explique tr�s bien le principe, tu devrais lire les premiers articles de la s�rie, et essayer d'appliquer ce qu'il fait � ton probl�me, il te faudra juste choisir une grammaire l�g�rement diff�rente pour �tre compatible avec les op�rateurs du C++ comme l'a dit goten.

    L'id�e est que le compilateur construise un AST en voyant ton expression (en jouant avec les op�rateurs) et qu'il l'�value pour produire ce qui est attendue. Il y a plusieurs exemple dans les articles, ils illustrent tr�s bien comment ca fonctionne (lambda notamment).

  9. #9
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    y a une vielle version de nt2 sur sourceforge qui marche, : devient all()
    la v3 present�e a boost'con est "coming soon"

  10. #10
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Bonsoir,

    merci pour vos r�ponses.

    @Joel F : c'est s�rement la pr�sentation de la v3 que j'ai regard�. Je vais d�j� jeter un oeil � ce qui est fait dans la version sourceforce nt2 en attendant.

    @Flob90 : merci pour les r�f�rences, je vais regarder. Est-ce que tu peux me traduire EDSL et AST parce que je ne sais pas ce que c'est.

    Sinon, est-ce que des bouquins sur le C++ ou boost pr�sentent les concepts qui fondent boost::proto?

  11. #11
    Membre Expert

    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Ao�t 2004
    Messages
    1 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 1 391
    Par d�faut
    AST : Abstract Syntax Tree
    Intuitivement, c'est le fait de passer d'une expression � un arbre (grace � un parser), dont les noeuds sont les op�rateurs et les feuilles les op�randes

    EDSL : Embedded Domain Specific Language
    Ce le sujet principale des articles, je te laisse d�couvrir

    Pour les bouquins, il y a "C++ Template Metaprogramming : ..." (David Abrahams) qui en parle peut-etre, je ne l'ai pas (encore) lu donc je peut pas confirmer, mais goten devrait pouvoir le faire.

  12. #12
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par d�faut
    Ouaip il aborde le topic des DSEL avec du spirit / lambda / blitz etc, puis il montre les bases avec un framework pour faire des machines � �tat finis.
    Mais pas de proto non (trop ancien le bouquin).
    Mais la doc de proto est vraiment bien fichue. (presque)

  13. #13
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Bonjour,

    merci � tous pour ces informations. Je pars de ce pas faire en sorte de me coucher moins b�te!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Matlab. Syntaxe POO
    Par bakaratoun dans le forum MATLAB
    R�ponses: 0
    Dernier message: 03/11/2009, 12h14
  2. [Syntaxe] Action simultan�e sur plusieurs �lements
    Par FranT dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 20/03/2003, 20h20
  3. Syntaxe TASM <-> MASM
    Par LFC dans le forum Assembleur
    R�ponses: 3
    Dernier message: 28/02/2003, 15h56
  4. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 18/10/2002, 15h33

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