Compiladores

Páginas: 39 (9626 palabras) Publicado: 12 de noviembre de 2013
Capítulo I
Visión Histórica del Desarrollo de los Compiladores


En 1946, se desarrolla el primer ordenador digital ejecutaban instrucciones en códigos numéricos (lenguaje de máquina) interpretado por un secuenciador cableado.
Posteriormente, surgen los ensambladores (claves más fáciles de recordar) en donde la propia máquina realizaba el proceso mecánico de traducción.
A pesar de todo ellenguaje ensamblador seguía siendo de una máquina.

Las líneas de investigación para crear leguajes más fáciles e independientes de la máquina desde 1950 con John Backus hasta 1957 el FORTRAN (Formule Translator) primer lenguaje de alto nivel. Por primera vez surge el concepto traductor.

Traductor. Programa que traduce de un lenguaje a otro.

Compilador. Traduce un lenguaje de alto nivela uno de bajo nivel.

El primer compilador de FORTRAN tardó 18 años en realizarse y era muy sencillo.

El FORTRAN aún estaba muy influenciado por la máquina en la que iba ser implementado. Las líneas de investigación continúan hasta 1958 un grupo de investigadores junto con J. Backus crean ALGOL 58 (Algorithmic Language). Después ALGOL 60, LAGOL 68 lenguaje modular estructurado en bloques.En ALGOL aparecen por primera vez conceptos de los nuevos lenguajes algorítmicos.

a) Definición de la sintaxis en notación BNF (Backus Naur Form): Gramática independiente del contexto. Ejemplo:

prop if(expr) prop else prop

b) Formato libre:
c) Declaración explícita de tipo para todos los identificadores
d) Estructuras iterativas
e) Recursividad
f) Paso de parámetros por valor ypor referencia
g) Estructura de bloques

Paralelamente, se avanzaba en la técnica de compilación. En 1958 Strong y otros proponen una solución al problema de que un compilador fuera utilizable por varia máquinas objeto. Para ello dividen el compilador en dos fases:

1) front end
2) back end
front end: se encarga de analizar el programa fuente.
back end: se encarga de generar el código parala máquina objeto

El puente de unión entre las 2 fases era un lenguaje intermedio que se designó como UNCOL (Universal Computer Oriented Language).

Para que el compilador fuera utilizable por varia máquinas bastaba modificar su back_end. Aunque no tuvo éxito la definición de UNCOL la división del compilador fue un adelanto importante. En eso años se van proponiendo las bases par ladivisión de tarea en un compilador. Así en 1959 Rabin y Scott proponen el empleo de autómatas deterministas y no deterministas para el reconocimiento lexicográfico de los lenguajes.
En 1975, con la aparición de LEX, surge el concepto de analizadores léxicos a partir de expresiones regulares.

Avance Sintáctico

A partir de los trabajos de Chomsky se produce una sistematización de la sintaxis de loslenguajes de programación, y con ello un desarrollo de diversos métodos de análisis sintáctico.
Con la notación BNF desarrollada en 1960 por Backus, modificada en 1963 por Naur y formalizada por Knuth en 1964 se tiene una guía para el desarrollo del análisis sintáctico. Los diversos métodos sintácticos ascendentes y descendentes se desarrollaron durante los 60’s.

En 1959, Sheridan describeun método de parsing de FORTRAN que introducía paréntesis adicionales alrededor de los operandos para ser capaz de analizar las expresiones. Más adelante, Floyd introduce la técnica de precedencia de operador. A mitad de los 60’s, Knuth define las gramáticas LR (ascendente).
En 1968, se estudia y definen las gramáticas LL (ascendentes).

Debido a la sencillez y capacidad de análisis para unagran variedad de lenguajes, la técnica de parsing LR es la elegida par los generadores automáticos de parsers. A mediados de los 70’s Johnson crea el generador de analizadores sintácticos YACC.

Avance Semántico

Junto al análisis sintáctico, también se fue desarrollando el análisis semántico. En los primeros lenguajes (FORTRAN y ALGOL 60) los tipos posibles de datos eran muy simples y la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS