Issuu on Google+


HISTORIA DEFINICION TIPOS DE COMPILADORES PROCESO DE COMPILACION ESTRUCTURA DE LOS COMPILADORES CARACTERISTICAS DE LOS COMPILADORES


En

1950 John Backus dirigió una

investigación en IBM sobre un lenguaje algebraico.

En 1954 se empezó a desarrollar un lenguaje que permitía escribir fórmulas matemáticas de manera traducible por un ordenador; le llamaron FORTRAN (FORmulae TRANslator).

Fue el primer lenguaje de alto nivel y se introdujo en 1957 para el uso de la computadora IBM modelo 704.


•Compiladores cruzados: generan código para un sistema distinto del que están funcionando. •Compiladores optimizadores: realizan cambios en el

código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original. •Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código

fuente. •Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina.

•Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.


Toma una oración y ubica a cada palabra como artículo, sustantivo, adjetivo, verbo o adverbio

Revisa que cada unidad de léxico se emplee de manera correcta de acuerdo a la gramática del lenguaje. Revisa que las operaciones sean realizables al determinar que las entidades están definidas de los tipos correctos y que los operadores son capaces de manipularlos Obtiene un código para una máquina virtual. Este código representa operaciones básicas para esta máquina virtual. Elimina operaciones redundantes o innecesarias

Cada orden en código intermedio encuentra una equivalencia para un procesador específico, quien será quien ejecute el programa que se dio originalmente por el programador. 4


LA ESTRUCTURA DE UN COMPILADOR,

ESTA DIVIDIDA EN CUATRO GRANDES MÓDULOS, CADA UNO INDEPENDIENTE DEL OTRO, SE PODRÍA DECIR QUE UN

COMPILADOR ESTA FORMADO POR CUATROS MÓDULOS MAS A SU VEZ. 5


Generalmente un compilador se divide en dos partes: * Front End: parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Parte que suele ser independiente de la plataforma o sistema operativo para el que funcionará.

* Back End: parte en donde se genera el código máquina exclusivo para una plataforma a partir de lo analizado en el front end. Por lo general el resultado del back end no puede ser ejecutado directamente, se necesita pasar por un proceso desenlazado (linker).

6


COMPILADORES 7



COMPILADORES