Diferencia Entre Ensamblador Y Compilador

Diferencia Entre Ensamblador Y Compilador
Diferencia Entre Ensamblador Y Compilador

Vídeo: Diferencia Entre Ensamblador Y Compilador

Vídeo: Diferencia Entre Ensamblador Y Compilador
Vídeo: Curso de Java #3: Compiladores e intérpretes 2024, Abril
Anonim

Ensamblador vs compilador

En general, el compilador es un programa informático que lee un programa escrito en un idioma, que se denomina idioma de origen, y lo traduce a otro idioma, que se denomina idioma de destino. Tradicionalmente, el lenguaje de origen era un lenguaje de alto nivel como C ++ y el lenguaje de destino era un lenguaje de bajo nivel como el lenguaje ensamblador. Sin embargo, existen compiladores que pueden convertir un programa fuente escrito en lenguaje ensamblador y convertirlo a código máquina o código objeto. Los ensambladores son esas herramientas. Entonces, tanto los ensambladores como los compiladores finalmente producen código que se puede ejecutar directamente en una máquina.

¿Qué es un compilador?

El compilador es un programa informático que lee un programa escrito en un idioma, que se denomina idioma de origen, y lo traduce a otro idioma, que se denomina idioma de destino. La mayoría de las veces, el idioma de origen es un idioma de alto nivel y el idioma de destino es un idioma de bajo nivel. Entonces, en general, los compiladores pueden verse como traductores que traducen de un idioma a otro. Además, los compiladores realizan algunas optimizaciones del código. Un compilador típico se compone de varios componentes principales. El primer componente es el escáner (también conocido como analizador léxico). Scanner lee el programa y lo convierte en una cadena de tokens. El segundo componente es el analizador. Convierte la cadena de tokens en un árbol de análisis (o un árbol de sintaxis abstracta), que captura la estructura sintáctica del programa. El siguiente componente son las rutinas semánticas que interpretan la semántica de la estructura sintáctica. Las optimizaciones de código y la generación de código final siguen a esto.

¿Qué es un ensamblador?

Assembler es un software o una herramienta que traduce el lenguaje ensamblador a código de máquina. Entonces, un ensamblador es un tipo de compilador y el código fuente está escrito en lenguaje ensamblador. El ensamblaje es un lenguaje legible por humanos, pero normalmente tiene una relación uno a uno con el código de máquina correspondiente. Por lo tanto, se dice que un ensamblador realiza una traducción isomórfica (mapeo uno a uno). Los ensambladores avanzados proporcionan características adicionales que respaldan el desarrollo de programas y los procesos de depuración. Por ejemplo, el tipo de ensambladores llamados ensambladores de macros proporciona una facilidad de macro.

¿Cuál es la diferencia entre un ensamblador y un compilador?

El compilador es un programa de computadora que lee un programa escrito en un idioma y lo traduce a otro idioma, mientras que un ensamblador puede considerarse un tipo especial de compilador que traduce solo el lenguaje ensamblador a código de máquina. Los compiladores suelen producir el código ejecutable de la máquina directamente a partir de un lenguaje de alto nivel, pero los ensambladores producen un código objeto que podría tener que vincularse mediante programas enlazadores para poder ejecutarse en una máquina. Debido a que el lenguaje ensamblador tiene un mapeo uno a uno con el código de máquina, se puede usar un ensamblador para producir código que se ejecute de manera muy eficiente en ocasiones en las que el rendimiento es muy importante (por ejemplo, motores gráficos, sistemas integrados con recursos de hardware limitados en comparación con una computadora personal como microondas, lavadoras, etc.).

Recomendado: