Diseñador Grafico

Páginas: 30 (7302 palabras) Publicado: 20 de junio de 2013
INTRODUCCIÓN A LOS COMPILADORES


ÍNDICE:


- INTRODUCCIÓN 2

- HISTORIA DEL DISEÑO DE COMPILADORES 2

- NECESIDAD DE UN COMPILADOR 5

- PROCESO DE COMPILACIÓN-EJECUCIÓN 5

- DEFINICIONES 6

- FASES DE UN COMPILADOR 8

- IMPLEMENTACIÓN FASES-PASADAS 10

- DESCRIPCIÓN DE LAS FASES: 13
* Análisis Léxico 13
* Análisis Sintáctico 14
* Generación del Código Intermedio 15
*Optimización del Código Intermedio 16
* Generación del Código Objeto 17
* Manejo de tablas de símbolos 18
* Manejo de errores 18

- "BOOTSTRAPPING" DE UN COMPILADOR 19

- INTÉRPRETES 25

- EJEMPLO PRÁCTICO DE UN COMPILADOR PEQUEÑO 30

- REFERENCIAS 51
INTRODUCCIÓN

Se define compilador como un programa traductor que traduce desde alto nivel a bajo nivel.

La función delcompilador radica en que se mantenga la semántica del programa fuente en el programa objeto, es decir, que ambos realicen lo mismo, sólo existe un cambio de codificación.

El diseño de compiladores es complejo porque los lenguajes de alto nivel y bajo nivel son muy diferentes, puesto que el lenguaje de bajo nivel está orientado a la máquina y el de alto nivel a las personas y su facilidad deprogramación; sin embargo existe interacción entre ambos.

En un compilador nos interesan dos aspectos: la velocidad de compilación y la eficiencia del código objeto. Así en el diseño de compiladores se trata de mejorar ambos factores; pero una alta velocidad supone una baja eficiencia, por ello se llega a una solución de compromiso donde existe un equilibrio entre ambos.


HISTORIA DEL DISEÑO DECOMPILADORES:

Las primeras investigaciones relacionadas con los Traductores e Intérpretes, fueron el estudio del problema de lectura de fórmulas algebraicas complicadas y su interpretación. Así la notación polaca inversa (Reverse Polish Notation), o notación libre de paréntesis fue introducida por J. Lukasiewicz a finales de los años 20. Las fórmulas con paréntesis, en su caso más generalfueron estudiadas por Kleene en 1934, y por Church en 1941. Continuando los estudios anteriores, K. Zuse especificó, en 1945, un algoritmo que determinaba cuando una expresión con paréntesis estaba bien formada. En 1951, H. Rutishauser describió el nivel de paréntesis de una fórmula algebraica, como un perfil entre distintos niveles, que parte del nivel cero, y que va ascendiendo nivel a nivel, paradescender por último, otra vez, otra vez, a nivel cero. Todos estos estudios estaban situados dentro del campo de la Lógica.

En un principio se llamó compilador a un programa que "reunía" subrutinas (compilaba). Así, cuando en 1954 empezó a utilizarse el término "compilador algebraico", su significado es el actual, empleándose en lugar de traductor.

Los lenguajes de alto nivel empezaron adesarrollarse en los años 50, y algunos de ellos todavía juegan un papel importante hoy en día, aunque han sido remodelados en revisiones periódicas. Este es el caso del FORTRAN, LISP y COBOL que fueron diseñados originalmente en esa época. El primer "compilador algebraico" se desarrolló para el lenguaje FORTRAN (1954).
En un principio, se facilitó el proceso de compilación restringiendo lanotación. Primeramente se suprimió la precedencia de los operadores, y por tanto se necesitaban muchos paréntesis. Otra forma era requiriendo el completo uso de paréntesis, pues se conocía una manera mecánica y simple de insertar los paréntesis, obteniéndose expresiones con el "máximo número de paréntesis", desarrollados por los estudios ligados al dominio de la Lógica. En 1952 C. Böhm centró suinterés en este último método, y lo aplicó a las fórmulas secuencialmente. Böhm estuvo al frente del equipo que realizó el primer compilador de FORTRAN para IBM, en 1954.

Por otra parte, en 1957 Kantorovic mostró como se puede representar una fórmula con estructura de árbol, lo cual supuso el primer paso para la conexión con el análisis sintáctico de los lingüistas. La jerarquía de los lenguajes...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Diseño grafico
  • diseñador grafico
  • Diseñador Gráfico
  • Diseño Grafico
  • diseñador grafico
  • Diseñador Grafico
  • Diseño Grafico
  • diseño grafico

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS