Différence entre assembleur et interprète

Assembleur vs interprète

En règle générale, un compilateur est un programme informatique qui lit un programme écrit dans une langue, appelée langue source, et le traduit dans une autre langue, appelée langue cible. Traditionnellement, la langue source est un langage de haut niveau tel que C ++ et la langue cible est un langage de bas niveau tel que le langage Assembly. Cependant, certains compilateurs peuvent convertir un programme source écrit en langage Assembly et le convertir en code machine ou en code objet. Les assembleurs sont de tels outils. Par ailleurs, les interprètes sont des outils qui exécutent des instructions écrites dans un langage de programmation. L'interprète peut soit exécuter directement le code source de haut niveau, soit le traduire en code intermédiaire, puis l'interpréter ou exécuter le code précompilé..

Qu'est-ce qu'un assembleur??

Assembler est un logiciel ou un outil qui traduit le langage d'assemblage en code machine. Ainsi, un assembleur est un type de compilateur et le code source est écrit en langage Assembly. Assembly est un langage lisible par l’homme, mais il a typiquement une relation un à un avec le code machine correspondant. Par conséquent, on dit qu'un assembleur effectue une traduction isomorphe (mappage un à un). Les assembleurs avancés fournissent des fonctionnalités supplémentaires qui prennent en charge les processus de développement et de débogage de programmes. Par exemple, le type d’assembleurs appelé macro assemblers fournit une fonction macro.

Qu'est-ce qu'un interprète??

Un interprète est un programme informatique ou un outil qui exécute des instructions de programmation. Un interprète peut soit exécuter le code source directement, soit convertir le code source en un code intermédiaire et l'exécuter directement, soit exécuter le code précompilé produit par un compilateur (certains systèmes interpréteurs incluent un compilateur pour cette tâche). Les langages tels que Perl, Python, MATLAB et Ruby sont des exemples de langages de programmation utilisant un code intermédiaire. UCSD Pascal interprète un code précompilé. Des langages comme Java, BASIC et Samlltalk compilent d’abord le code source en un code intermédiaire appelé bytecode, puis l’interprètent..

Quelle est la différence entre un assembleur et un interprète?

Un assembleur peut être considéré comme un type spécial de compilateur, qui traduit uniquement le langage d'assemblage en code machine. Les interprètes sont des outils qui exécutent des instructions écrites dans une langue. Les systèmes interpréteurs peuvent inclure un compilateur pour pré-compiler le code avant interprétation, mais un interprète ne peut pas être appelé type spécial d'un compilateur. Les assembleurs produisent un code objet, qui doit éventuellement être lié à l'aide de programmes de l'éditeur de liens pour s'exécuter sur une machine, mais la plupart des interprètes peuvent effectuer l'exécution d'un programme eux-mêmes. Un assembleur effectue généralement une traduction individuelle, mais ce n'est pas le cas pour la plupart des interprètes. Parce que le langage d'assemblage correspond parfaitement à un code machine, un assembleur peut être utilisé pour produire du code qui fonctionne très efficacement lorsque les performances sont très importantes (par exemple, les moteurs graphiques, les systèmes embarqués dotés de ressources matérielles limitées par rapport à un ordinateur personnel). micro-ondes, machines à laver, etc.). D'autre part, les interprètes sont utilisés lorsque vous avez besoin d'une grande portabilité. Par exemple, le même bytecode Java peut être exécuté sur différentes plates-formes à l'aide de l'interpréteur approprié (JVM)..