Qu'est-ce qu'un compilateur, un interprète, un assembleur ?

9 Réponses


  • Un compilateur est responsable de la traduction d'un code source, écrit dans un langage de programmation, dans un langage cible. Ceci est le plus souvent fait afin de créer un programme exécutable. Un compilateur est principalement utilisé pour les programmes qui traduisent un code source en un langage assembleur ou un code machine, qui sont tous deux un langage de niveau inférieur au code source.

    Il existe différents types de compilateurs, par exemple, un compilateur croisé est celui qui exécutera un programme compilé sur un ordinateur dont le système d'exploitation ou le processeur est différent de celui sur lequel le compilateur s'exécute ; et un décompilateur traduit d'un langage de bas niveau vers un langage de niveau supérieur.

    Un interpréteur est un programme qui exécute les instructions écrites dans un langage de programmation. Il peut le faire de plusieurs manières : il peut exécuter directement le code source ; il peut déchiffrer le code source en un code efficace (également appelé représentation intermédiaire) et l'implémenter immédiatement ; ou il exécute spécifiquement un code précompilé qui a été créé et stocké par un compilateur.

    La compilation et l'interprétation sont les deux principaux modes de réalisation des langages de programmation.

    Les assembleurs créent un code objet en traduisant les mnémoniques des instructions d'assemblage en opcodes. Ils déterminent également des noms symboliques pour les emplacements mémoire ainsi que pour d'autres entités. Une caractéristique principale des assembleurs est l'utilisation de références symboliques, ce qui permet d'économiser du temps sur les calculs manuels et les mises à jour d'adresses après la modification d'un programme. La majorité des assembleurs disposent également de fonctions macro leur permettant d'effectuer des substitutions textuelles, ce qui signifie qu'ils sont capables de créer de courtes séquences d'instructions.

    Il est plus facile d'écrire un assembleur pour des langages de haut niveau que d'écrire un compilateur, et en fait, ils existent depuis les années 1950.
  • Compilateur : Un compilateur est un programme qui convertit l'instruction d'un langage de haut niveau en langage machine dans son ensemble. Un programme écrit dans un langage de haut niveau est appelé programme source. Une fois le programme source converti en langage machine par le compilateur, il est appelé programme objet.

    Le compilateur vérifie chaque instruction dans le programme source et génère des instructions machine. Le compilateur vérifie également les erreurs de syntaxe dans le programme. Un programme source contenant une erreur ne peut pas être compilé dans un programme objet.

    Un compilateur ne peut traduire les programmes que du langage pour lequel il est écrit. Par exemple, le compilateur C++ ne peut traduire que les programmes écrits en C++. Chaque machine nécessitait un compilateur distinct pour chaque langage de haut niveau.

    Interpréteur : Un interpréteur est un programme qui convertit une instruction d'un programme à la fois. Il exécute cette instruction avant de traduire l'instruction suivante du programme source. S'il y a une erreur dans l'instruction, l'interpréteur cessera de fonctionner et affichera un message d'erreur.

    L'avantage des interpréteurs par rapport aux compilateurs est qu'une erreur est détectée immédiatement. Ainsi, le programmeur peut apporter des corrections pendant le développement du programme.

    L'inconvénient de l'interprète est qu'il n'est pas très efficace. L'interpréteur ne produit pas de programme objet. Il doit convertir le programme à chaque exécution. Visual basic utilise un interpréteur.
  • Assembleur- Un programme informatique qui prend des instructions informatiques et les convertit en un modèle de bits que l'ordinateur peut comprendre et effectuer par lui certaines opérations.

    Compilateur - Il s'agit d'un programme spécial qui traite les instructions écrites dans un langage de programmation et les transforme en langage machine utilisé par le processeur d'un ordinateur.

    Voici un article qui explique la différence entre un compilateur et un interpréteur.

    Programmation structurée - un sous-ensemble de programmation procédurale qui applique une structure logique au programme en cours d'écriture pour le rendre plus efficace et plus facile à comprendre et à modifier.
  • Un compilateur traduit un programme d'un langage informatique (langage source) en un programme dans un autre langage informatique (langage cible). Le langage source d'un compilateur est généralement un langage de haut niveau. Il existe plusieurs types de langages informatiques et de traducteurs de langages informatiques.

    Un assembleur se compose d'un peu plus qu'une routine de recherche de table, où chaque mot du langage source (langage assembleur) est recherché dans une table pour son équivalent numérique, qui est ensuite généré dans le cadre du programme en langue cible. Le langage d'assemblage donne généralement au programmeur un accès précis et direct à toutes les capacités du matériel informatique.

    Alors qu'un compilateur traduira un programme informatique en code machine qui s'exécutera ultérieurement, un interpréteur exécute en fait le programme au fur et à mesure qu'il est lu. Un interpréteur doit lire son programme d'entrée encore et encore pour calculer les résultats, mais un compilateur ne le traduit qu'une seule fois. Les compilateurs mettent plus de temps à obtenir la sortie dès la première exécution d'un programme informatique, mais les exécutions suivantes sont beaucoup plus rapides car aucune traduction supplémentaire n'est nécessaire.
  • Assembleur est l'étape vient entre un code Sorce
    et étapes .exe de file.The sont comme ça Sorce de
    préprocesseur -> compilateur (Assemblez code) -> Assembleur (Object
    Code) -> Bibliothèques liens -> exécutable fichiers créés.
    "L'assembleur crée du code objet. Sur un système UNIX, vous
    pouvez voir des fichiers avec un suffixe .o (.OBJ sur MSDOS) pour indiquer les
    fichiers de code objet".
  • Un assembleur est un programme qui prend des instructions informatiques de base et les convertit en un modèle de bits que le processeur informatique peut utiliser pour effectuer ses opérations de base.
  • Un compilateur traduit un programme d'un langage informatique (langage source) en un programme dans un autre langage informatique (langage cible). Le langage source d'un compilateur est généralement un langage de haut niveau. Il existe plusieurs types de langages informatiques et de traducteurs de langages informatiques.

    Un assembleur se compose d'un peu plus qu'une routine de recherche de table, où chaque mot du langage source (langage assembleur) est recherché dans une table pour son équivalent numérique, qui est ensuite généré dans le cadre du programme en langue cible. Le langage d'assemblage donne généralement au programmeur un accès précis et direct à toutes les capacités du matériel informatique.

    Alors qu'un compilateur traduira un programme informatique en code machine qui s'exécutera ultérieurement, un interpréteur exécute en fait le programme au fur et à mesure qu'il est lu. Un interpréteur doit lire son programme d'entrée encore et encore pour calculer les résultats, mais un compilateur ne le traduit qu'une seule fois. Les compilateurs mettent plus de temps à obtenir la sortie dès la première exécution d'un programme informatique, mais les exécutions suivantes sont beaucoup plus rapides car aucune traduction supplémentaire n'est nécessaire.
  • Le compilateur traduit l'ensemble du programme à la fois pour produire le code objet.
    L'interprète traduit le programme instruction par instruction.
    Lien source   innovation.colorado.edu target="_blank" rel="external">en.wikipedia.org
  • Compilateur signifie qui prend le code source en entrée et le convertit en un code lisible par m/c à la fois.
    Alors que l'interpréteur convertira le code source en code lisible par m/c ligne par ligne.

Ecrivez votre réponse

Votre réponse apparaîtra après modération