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

Discussion :

[Conseils] Traduction d'un langage à un autre

  1. #1
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut [Conseils] Traduction d'un langage à un autre
    Bonjour,
    Je me suis réveillé ce matin avec une idée dans la tête, un projet de traduction d'un langage à un autre !
    Donc le but c'est de generer un code qui a les memes fonctionalités que les sources qui sont en entrée pour le moment les deux langages d'entrées vont avoir obligatoirement les memes caracterstiques ex : Objet To objet ou imperatif To imperatif ...
    Et comme je suis débutant dans ce monde, je veux votre avis la-dessus est ce que c'est faisable realisable ?
    quelles seront les contraintes ?
    Pour le moment j'ai pas encore fait les choix du langage de programmation ni les deux langages d'entrées puisque je regarde un pti peu au niveau des grammaires ceux qui seront plus ou moins les mêmes mais jai deja un candidat pour l'entrée c'est le C (il manque le second) et un autre pour la programmation ça va etre probablement en java.
    what else ?
    qu'est ce que vous pouvez me dire la dessus ?

    Merci.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    1ère il n'y a pas d'intérêt autre que pédagogique...

    il est souvent plus intéressant de traduire d'un langage de haut niveau vers un langage plus "pauvre"... en gros, comment émuler des fonctionnalités comme l'objet, les exceptions, les CPS, etc


    regardes les cours sur la théorie des langages :
    http://general.developpez.com/cours/#generalite
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Merci pour ton lien, mdrr tu m'as rappelé mon cours de premiere année en DEUG lol et ouiii mais ça je veux le faire avec un pote juste pour faire mimuz.
    Evidement, si c'est un peu compliqué moi perso j'abandone parceque pas mal de truc a faire sinon si simple pourquoi pas.
    mais je ne comprend pas pourquoi me dirigiez vous vers la THL parceque la je vais limite lexer/perser puis generer ??
    Enfin si je vois pourquoi mais en gros que c'est tres important surtout pour faire gaff a la grammaire etc mais j'aimerais bien avoir une estimation de charge de travail et aussi qu'elle sont les competences qu'il faut avoir autre que THL.

    aa+
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    je dirais qu'il te faudra :
    + lexer/parser
    + manipuler un AST (Abstract Semantic Tree, je crois )
    + effectuer une génération de code (ce qui correspond souvent au back-end des compilateurs)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    bjr,
    ouii, lexer + parser + AST (c'est Synthaxe pour S mdr vivement le cours de THL) mais justement je veux pas aller vers l'idee de la compilation et ça va etre l'enfer pour nous.
    j'ai deja fait un lexer parser pour un shell avec creation des AST j'ai meme ete jusqua l'affichage avec dot et c'est pour ça je me dis pourquoi pas un traducteur (puisque la moitié du taff est faite) mais j pensais pas que ça allais etre plus compliqué et je sens que je vais abandoné lol
    merci tout de meme
    je suis tjr preuneur d'une conception plus simple et rapide !

    Merci beaucoup
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Attention, la partie Analyse Lexicale et Analyse syntaxique est la partie la plus simple dans ce type de projet étant donné que c'est automatisable par des outils. Toute la difficulté réside après au niveau de l'analyse sémantique.

    Convertir un langage A vers un langage B dans le cas où B est plus simple que A, c'est bien la définition d'un compilateur. Ce qui est déjà très difficile. Convertir un langage A vers n'importe quel autre langage B, c'est beaucoup plus dur (notamment si le langage A est plus simple que le langage B).
    Je ne répondrai à aucune question technique en privé

  7. #7
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Bonsoir,

    Merci pour vos reponses, effectivement il me semble que ça sera plus simple d'ecrire un compilateur plutot qu'un traducteur lol
    d'autant plus les outils tel que Flex et Bison je les maitrise pas bien donc ... voila j'abandonne ce projet.
    Merci pour vos réponses franchement trés utile.

    à trés bientot avec d'autre idée
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  8. #8
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Si tu veux t'attaquer à ce type de projet. Faut surtout pas griller les étapes.

    Au début, on écrit un petit intérpreteur d'expression arithmétique.
    Un compilateur d'expression arithmétique vers un langage 3 adresses
    Un compilateur d'un C simplifié (par exemple sans la notion de structure et sans la notion de fonction) vers un code 3 adresses
    Un compilateur d'un C plus complet vers autres choses

    Après, faut essayer de faire des choses comme un Garbage Collector.
    Puis s'attaquer à d'autres paradigmes : objet, fonctionnel, logique ^^

    Après, tu peux t'attaquer vraiment à quelque chose de nouveau
    Je ne répondrai à aucune question technique en privé

  9. #9
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    cela me prendera bcp de temps et comme la personne qui eté motivé pour le faire avec moi m'a dit que je suis un fou donc je pense que je le metterai un temps au frigo ce projet lol
    peut etre pendant les vac d'ete mais surement c'est un truc qui durera au moins 4 à 5 mois avec une dispo de 50%
    donc voila je pensais que ct faisable rapidos je me suis rendu compte que c pas evident tout ca grace a vous.
    merci.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

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

Discussions similaires

  1. Choix du langage et autres outils
    Par 269ahc dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 11/01/2012, 17h10
  2. [Conseil] Log les évenements sur une autre db?
    Par zoltix dans le forum Administration
    Réponses: 6
    Dernier message: 03/06/2009, 12h13
  3. Conseil choix d'un langage pour programmer?
    Par Elammath dans le forum Débuter
    Réponses: 7
    Dernier message: 26/06/2008, 22h30
  4. Besoin de vos conseil : quitter mon travail pour un autre
    Par vallica dans le forum Démission
    Réponses: 12
    Dernier message: 29/11/2006, 09h19
  5. Réponses: 18
    Dernier message: 04/04/2006, 14h31

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