¿Qué es un compilador o cómo hacer que una computadora entienda lo que quieres de ella?

Tabla de contenido:

¿Qué es un compilador o cómo hacer que una computadora entienda lo que quieres de ella?
¿Qué es un compilador o cómo hacer que una computadora entienda lo que quieres de ella?

Video: ¿Qué es un compilador o cómo hacer que una computadora entienda lo que quieres de ella?

Video: ¿Qué es un compilador o cómo hacer que una computadora entienda lo que quieres de ella?
Video: ¿Qué es Compilar y cómo funciona un compilador? | DICCIONARIO PARA PROGRAMADORES 🖤 ONIXDEV 🖤 2024, Diciembre
Anonim

La etapa final de la creación de un programa es traducir un algoritmo escrito en uno de los lenguajes de programación (C/C++, Pascal, etc.) a un lenguaje de máquina de bajo nivel. Esto se debe al hecho de que para realizar cualquier tarea, las computadoras necesitan recibir comandos en un lenguaje que entiendan, cercano al binario y que opere con estructuras de datos primitivas (bit, byte o palabra). El proceso de traducir declaraciones específicas de dominio de lenguajes de alto nivel a código binario se llama traducción. Hay dos métodos de traducción: compilación e interpretación.

el compilador es
el compilador es

Compilador: ¿qué es?

El análisis de muchas interpretaciones de los términos "compilador" y "compilación" nos permite res altar la siguiente definición. Un compilador es un programa diseñado para traducir el texto de un algoritmo fuente de un lenguaje de alto nivel a un conjunto equivalente de instrucciones en un lenguaje orientado a máquina. Este es el llamado código objeto, para el montaje posterior del código objeto resultante en un módulo de programa listo para usar.

Compilador e intérprete - similitudes y diferencias

Un intérprete es una utilidad queasí como un compilador, diseñado para traducir código fuente a código máquina. Sin embargo, a diferencia del compilador, el intérprete se ejecuta siempre con el programa y realiza la traducción línea por línea.

Se puede decir que el compilador y el intérprete son procesadores de lenguaje que permiten que la computadora reconozca y ejecute comandos dados por el programador.

Clasificación del compilador

compilador es un programa
compilador es un programa

Los compiladores se clasifican principalmente por características relacionadas con sus áreas de aplicación práctica.

El compilador vectorizador es una utilidad que traduce el código fuente en código objeto y está adaptado para computadoras equipadas con procesadores vectoriales.

Un compilador flexible se programa en un lenguaje de alto nivel de forma modular. Su gestión se realiza mediante tablas. También es posible ejecutarlo usando el compilador de compiladores.

El compilador incremental es un procesador de lenguaje que vuelve a traducir fragmentos separados del código fuente y las adiciones al mismo. Sin embargo, evita volver a compilar toda la aplicación.

Un compilador interpretativo (por pasos) es una utilidad que ejecuta secuencialmente una compilación independiente de cada declaración o comando de un código fuente de alto nivel.

Un compilador de compiladores es un traductor capaz de aceptar una descripción formal para un lenguaje de programación y generar de forma independiente un compilador para cualquier lenguaje.

compilador e interprete
compilador e interprete

El compilador de depuración le permite encontrar y corregir algunos tipos de errores de sintaxis cometidos al escribir el código fuente

Un compilador residente ocupa un lugar permanente en la RAM y, por lo tanto, es reutilizable para una amplia gama de tareas.

El compilador autocompilado está escrito en el mismo idioma que la traducción.

El compilador universal se basa en una descripción formal de los parámetros semánticos y sintácticos del lenguaje de entrada. Los principales componentes de dicha utilidad son los cargadores central, sintáctico y semántico.

Dispositivo compilador

Un compilador y un enlazador están en el corazón de cualquier compilador. A menudo, al compilar, se usa un enlazador externo y el compilador solo realiza la función de traducción. También sucede que el compilador se implementa como una especie de programa administrador que se asocia con el traductor (o traductores, si se usaron diferentes lenguajes de programación al escribir el código fuente) y el enlazador e inicia su ejecución cuando es necesario.

Lenguajes de programación y métodos de traducción

compilador de lenguaje
compilador de lenguaje

A pesar de que un programa escrito en cualquier lenguaje de programación puede ser tanto compilado como interpretado, muchos lenguajes de alto nivel tienen predisposición a uno u otro método de traducción. Entonces, el lenguaje C se diseñó originalmente para la compilación y Java, para la interpretación del programa escrito. Están siendo desarrolladosLos compiladores de C son bastante fáciles, gracias a su nivel relativamente bajo y una pequeña cantidad de elementos estructurales.

Ventajas y desventajas de los compiladores e intérpretes. Aplicaciones

Tenga en cuenta que las aplicaciones compiladas son más rápidas que las interpretadas, pero al mismo tiempo, el código de máquina obtenido como resultado de la compilación depende de la plataforma de hardware. Entonces, un programa escrito y compilado para Windows no funcionará, por ejemplo, en Linux. Por lo tanto, en el caso de las aplicaciones de Internet, cuando es imposible decir de antemano en qué entorno funcionarán, utilizan interpretación o bytecode (en este caso, el programa fuente se convierte en una forma intermedia que se puede ejecutar en varios hardware). plataformas).

Recomendado: