est-il possible de traduire une langue à une autre avec un interprète? p>
Entendu que Quercus puisse traduire PHP en Java? Au début, je pensais que c'était une solution moche peu coûteuse qui pourrait donner des erreurs de code, mais il semble que c'est pleinement possible de le faire. P>
Pourriez-vous traduire PHP dans d'autres langues, comme Python ou Ruby? C ++ à Java et ainsi de suite? P>
4 Réponses :
Le problème vient lorsque vous avez des idiomes qui ne se traduisent pas, non plus de ou vers. Vous obtenez un code syntaxiquement valide, mais on dirait qu'il a été écrit par une personne sur l'acide. P>
Ne peut pas attester de la rapidité ou de bien sûr.
Cela donne un tout nouveau sens au test de l'acide!
Ce n'est peut-être pas ce que vous êtes après, mais il y a Swig http://fr.wikipedia.org/wiki/swig p>
Nous l'avons utilisé dans l'un de nos projets pour créer des liaisons / emballages de Python, Java et Ruby pour un cadre C ++. Voir l'action en action à http://marsyas.ssness.net P>
Je ne comprends pas tout à fait ... que fait-il en anglais clair?
Traduire une langue à une autre n'est qu'un cas particulier pour la classe de programmes appelés compilateurs, interprètes et traducteurs. P>
Cette classe de programme prendra un flux de symboles d'entrée ("code source") qui peut généralement em> être décrit par une grammaire formelle et émise un flux de symboles. P>
Ce flux de sortie de symboles peut être: p>
Y a-t-il un livre, un tutoriel ou un exemple que vous pouvez suggérer? Même un simple
Rechercher pour obtenir un "transpilateur" pour certains pointeurs: https://stackoverflow.com/search?q=transpiler p>
+1, jamais entendu parler du terme transpilateur avant. Sonne le ringard comme l'enfer, mais utile de savoir.
-1, je construis depuis longtemps des outils de translation et chaque fois que vous entendez un terme bestball comme "transpilateur" ou "transcodeur" plutôt que "traducteur", la réponse elle-même est une solution et n'est pas vraiment une bonne solution si fonctionne du tout. Ceux que j'ai examinés produisent réellement produisent des réponses, mais seulement si vous voulez dire que vous voulez dire "traduit et exécute et est un cauchemar pure cru à maintenir". Voir la discussion sur la NACA qui produit Jobol: Stackoverflow.com/questions/1029974/...
Désolé que ce n'était pas dans votre éducation; Mes professeurs m'ont appris ce terme.
Voir mon donc "Titre =" Comment traduire entre Langages de programmation "> Stackoverflow.com/Questions/3455456/... Répondez sur la traduction entre les langues
Vous pouvez avoir une solution moche bon marché qui produit des solutions de travail moche mais de travail. En règle générale, vous ne pouvez pas traduire facilement entre Langatsues et vous ne pouvez pas faire du bon travail avec des machines de fondation moche.
Une mauvaise réponse standard est: "Traduisez la langue orginale en appels sur une bibliothèque de langues cible qui simule la" sémantique "des langues d'origine; Essentialy, vous êtes en train de reculer un interprète. Vous pouvez toujours faire cela; Une machine de Turing peut toujours imiter une autre. Mais le résultat de telles traductions est généralement assez horrible à lire, n'utilise pas la languette de la cible de manière à ce que les ministères formés par la langue cible attendent et ont souvent des frais généraux élevés (tous ces appels de simulation) pour démarrer. Donc, vous pouvez toujours faire cela, mais vous ne devriez pas.