84 votes

Comment fonctionne un interpréteur/compilateur

Comment fonctionne un interpréteur/compilateur ? Quelle est la différence entre un interprète et un compilateur ?

0voto

vaibhaw.vipul Points 117

Compilateurs - Un compilateur traduit un langage source en un langage cible. Le langage cible prend alors les entrées et donne les sorties.

Le compilateur produit un code cible en compilant le code source.

alors le code cible prend l'entrée et donne la sortie

Interprètes - Au lieu de générer un code cible, l'interprète semble prendre l'entrée directement avec le code source et donne la sortie.

L'interpréteur fait correspondre les entrées aux sorties en utilisant le programme source.

Ensuite, le programme ciblé sur le langage machine produit par le compilateur est beaucoup plus rapide que l'interprète pour mettre en correspondance les entrées et les sorties. Cependant, comme l'interprète exécute le programme source ligne par ligne, il fournit de meilleurs diagnostics d'erreur que le compilateur.

Référence - Compilateurs : Principes, techniques et outils par Aho alias le livre du dragon

0voto

Algebra Points 5633

Quelle est la différence entre l'interprète et le compilateur.

Pour le dire directement et intuitivement :

  • Compilateur est ce qui traduit le code source lisible par l'homme en code machine que l'ordinateur peut lire et exécuter.

  • Interprète est ce qui prétend être ou simule un ordinateur pour lire et exécuter directement le code source.

-1voto

Regardez PLAI C'est le meilleur livre d'introduction à la réalisation d'un langage dymanique que j'ai trouvé :

Langages de programmation : Application et interprétation (c) Shriram Krishnamurthi

Ce livre se concentre sur l'écriture d'un interpréteur pour un langage dynamique en Scheme (dr.Racket), en l'utilisant vous pouvez écrire votre propre interpréteur pour n'importe quel langage, et ajouter quelques astuces sur la POO de

et SmallTalk et SOM : Simple Object Machine :

Tous les interprètes modernes incluent un compilateur à l'intérieur : compile les éléments de haut niveau. en de faible niveau mais portable code d'octet ou utiliser le JIT pour compiler le code machine dans la RAM.

PS : Si quelqu'un veut écrire un système SmallTalk sur Python, veuillez me le signaler.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X