Compiladores

10
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA INVESTIGACIÓN DE COMPILADORES DE FORTRAN H, PARA C Y PASCAL NOMBRE: ALEXIS VILAÑEZ

Transcript of Compiladores

Page 1: Compiladores

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR

SEDE IBARRA

INVESTIGACIÓN DE COMPILADORES DE FORTRAN H, PARA C Y PASCAL

NOMBRE: ALEXIS VILAÑEZ

Page 2: Compiladores

*FORmula TRANslator, desarrollado en IBM bajo supervisión de John Backus

*El Fortran tiene la ventaja de ser un lenguaje compacto que sirve muy bien para satisfacer las necesidades de los científicos y los estadísticos de los negocios. Al servicio de los científicos e ingenieros hay grandes bibliotecas de programas ingenieriles y científicos escritos en Fortran. El lenguaje también es ampliamente utilizado para aplicaciones de negocios que no requieren el manejo de grandes archivos de datos.

*Cambio drásticamente el uso de los ordenadores hasta entonces

*Ha evolucionado después con nuevos conceptos y características:

*Fortran I, Fortran IV, Fortran 66, Fortran 77, Fortran 90

*Siempre entre los compiladores mas eficientes y generando código rápido

Page 3: Compiladores

Fortran I

Los nombres tenían mas de 6 caracteres su código es muy rápido y su compilación no era separada

Fortran II

Apareció en 1958. La mejora principal era apoyar , al permitir por escrito subrutinas de usuario y las funciones que volvió valores, con parámetros pasados por referencia.

Fortran IV

*Este nos presenta declaraciones lógicas a demás del uso del if.

* Declaraciones de tipo explicitas

Fortran 77

*Sus funciones avanzan y nos permite manejar mas sentencias como el if, then, else

*Además de controlar ciclos de repetición

Fortran 90

Una versión mas avanzadas que ya casi es orientada a objetos y nos permite usar recursividad y apuntadores

Page 4: Compiladores

Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipado. Esto implica que:

El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.

El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

Page 5: Compiladores

COMPILADORES PARA PASCAL

Las primeras versiones del compilador de Pascal, entre ellas la más distribuida

fue UCSD Pascal, traducían el lenguaje en código para una máquina virtual llamada

máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo

hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una

pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas

En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-2.

Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo Pascal para

la IBM PC. Este nuevo compilador se vendió por $49, un precio orientado a la distribución masiva

Con Turbo Pascal versión 5.5, Borlandagregó programación orientada a objetos a

Pascal.

Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su

producto Delphi, diseñado a partir de estándar Object Pascal, propuesto por Apple como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el nombre a

'lenguaje de programación Delphi' en sus últimas versiones

Page 6: Compiladores

COMPILADORES PARA PASCAL

La memoria de la maquina se organiza en la siguientes áreas

*código para los procedimientos constantes

*pila para registro de activación

* Montículos para datos asignados aplicando el operador new

Organizador del compilador pascal

Page 7: Compiladores

COMPILADORES PARA C

Lenguaje de propósito general (Ritchie)

Principal lenguaje de programación en Unix

Unix esta escrito en C

Se van a examinar el diseño por Ritchie (1979)

Para PDP-11 y los transportables PCC de Johnson (1979)

Compiladores de dos pasadas

PDP-11 tiene una tercera opcional para optimizar el lenguaje ensamblador

Page 8: Compiladores

COMPILADORES PARA C

ESTRUCTURA DE LOS COMPILADORES C

Page 9: Compiladores

COMPILADORES PARA FORTRAN H

Permite al usuario no elegir optimización, optimización de registros o completa

Escrito por Lowry y Medlock (1969)

Se realiza cuatro pasadas:

*Las dos primeras realizan el a.léxico y a.sintáctico

produciendo cuádruplos

*La siguiente optimiza el código y registros

*La ultima genera código objeto a partir de suadruplos y asignaciones a registros

Page 10: Compiladores

COMPILADORES PARA FORTRAN H

ESTRUCTURA DE COMPILADORES H