Compiladores, Intérpretes y Ensambladores: Conceptos Clave y Fases de la Compilación
Clasificado en Informática
Escrito el en español con un tamaño de 3,25 KB
Conceptos Clave en la Traducción de Lenguajes de Programación
Compilador
Un compilador es un programa que traduce otro programa escrito en un lenguaje de programación (código fuente) a otro lenguaje de programación (código objeto), generando un código equivalente.
Intérprete
Un intérprete es un programa capaz de analizar y ejecutar otros programas escritos en un lenguaje de alto nivel.
Ensamblador
Un ensamblador traduce un fichero fuente escrito en un lenguaje ensamblador a un fichero objeto que contiene código máquina.
Traductor
Un traductor es un programa que lee una secuencia perteneciente a un lenguaje fuente y la traduce a una secuencia en un lenguaje objeto.
Enlazador
Un enlazador toma los ficheros de código objeto generados en los primeros pasos del proceso de compilación.
Ventajas de los Compiladores e Intérpretes
Ventajas del Compilador
- Se compila una vez y se ejecuta n veces.
- Tiene visión global del programa.
Ventajas del Intérprete
- Necesita menos memoria.
- Permite una mayor interactividad con el código en tiempo de desarrollo.
Tipos de Compiladores
Compilador Cruzado
Un compilador cruzado es capaz de crear código ejecutable en una plataforma diferente a la que él se ejecuta.
Compilador Optimizador
Un compilador optimizador realiza cambios en el código para mejorar su eficiencia, pero mantiene la función del programa original.
Compilador de una Pasada
Un compilador de una pasada genera código máquina a partir de una única lectura del código fuente.
Compilador de Varias Pasadas
Un compilador de varias pasadas necesita leer el código fuente varias veces antes de poder producir un código máquina.
Metacompilador
Metacompilador es sinónimo de compilador de compiladores.
Fases del Proceso de Compilación
Analizador Lexicográfico (Scanner)
El analizador lexicográfico toma el programa escrito en código fuente y lo divide en símbolos (tokens).
Analizador Sintáctico (Parser)
El analizador sintáctico toma la tabla de símbolos y, mediante el uso de una gramática, recupera la estructura sintáctica de la oración.
Analizador Semántico
El analizador semántico revisa el programa fuente para detectar posibles errores semánticos y verifica la compatibilidad de tipos.
Generación de Código Intermedio
Es el inicio del proceso de síntesis de la expresión y genera una representación intermedia explícita del programa.
Optimización de Código
El código generado en la etapa anterior se optimiza para su ejecución de manera más eficiente.
Generación de Código
La versión final del código es generada a partir del código optimizado.
Tabla de Símbolos
Es una estructura de datos que contiene un registro para cada identificador utilizado en el código fuente.
Manejo de Errores
Cada una de las etapas del compilador puede detectar errores que son informados al programador.