Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La construcción de un compilador
involucra la división del proceso en una
serie de fases que variará con su
complejidad. Generalmente estas fases se
agrupan en dos tareas: el análisis del
programa fuente y la síntesis del programa
objeto.
Historia
En 1946 se desarrolló la primera
computadora digital. En un principio, estas
máquinas ejecutaban instrucciones
consistentes en códigos numéricos que
señalaban a los circuitos de la máquina
los estados correspondientes a cada
operación, lo que se denominó lenguaje
máquina.
Tipos de compiladores
Esta taxonomía de los tipos de
compiladores no es excluyente, por lo que
puede haber compiladores que se
adscriban a varias categorías:
Proceso de compilación
Es el proceso por el cual se traducen las
instrucciones escritas en un determinado
lenguaje de programación a lenguaje
máquina. Además de un traductor, se
pueden necesitar otros programas para
crear un programa objeto ejecutable. Un
programa fuente se puede dividir en
módulos almacenados en archivos
distintos. La tarea de reunir el programa
fuente a menudo se confía a un programa
distinto, llamado preprocesador. El
preprocesador también puede expandir
abreviaturas, llamadas a macros, a
proposiciones del lenguaje fuente.
Fase de análisis …
Análisis léxico …
Análisis semántico …
Fase de síntesis …
Optimización de código …
Árbol sintáctico …
Tabla de símbolos …
Tabla de literales …
Código intermedio …
De acuerdo con la clase de código
intermedio (por ejemplo, código de tres
direcciones o código P) y de las clases de
optimizaciones realizadas, este código
puede conservarse como un arreglo de
cadenas de texto, un archivo de texto
temporal o bien una lista de estructuras
ligadas. En los compiladores que realizan
optimizaciones complejas debe ponerse
particular atención a la selección de
representaciones que permitan una fácil
reorganización.
temp1 := entreal(60)
temp2 := id3 * temp1
===> (2)
temp3 := id2 + temp2
id1 := temp3
Optimización de Código
Archivos temporales …
Véase también
BlueJ
Lenguaje de programación
Proceso de traducción de programas
Lenguaje ensamblador
Ensamblador
Desensamblador
Decompilador
Intérprete
Depurador
Lenguaje de alto nivel
Lenguaje de bajo nivel
Lenguaje de máquina
Historia de la construcción de los
compiladores
Libros Principles of Compiler Design,
Compilers: Principles, Techniques, and
Tools
Referencias
1. Clocksin, William (1997). Clause and
effect. Springer-Verlag. p. 93.
ISBN 978-3-540-62971-9.
2. Laborda, Javier; Josep Galimany, Rosa
María Pena, Antoni Gual (1985).
«Software». Biblioteca práctica de la
computación. Barcelona: Ediciones
Océano-Éxito, S.A.
3. Aho, Alfred V.; Ravi Sethi, Jeffrey D.
Ullman (2008). «Introducción a la
Compilación». Compiladores:
Principios, técnicas y prácticas.
México: Addison Wesley.
Enlaces externos
Wikcionario tiene definiciones y otra
información sobre compilador.
Let's Build a Compiler . Tutorial de Jack
W. Crenshaw sobre cómo hacer un
compilador
Java a tope: Traductores y
Compiladores con Lex/Yacc, JFlex/Cup
y JavaCC. Libro básico sobre
compiladores
Datos: Q47506
Multimedia: Compilers
Obtenido de
«https://es.wikipedia.org/w/index.php?
title=Compilador&oldid=123855521»