compilador de fortran h, para c y pascal

15
Compilador de Fortran H, para C y Pascal JUNIOR TROYA PONTIFICIA UNIVERSIDAD CATÒLICA DEL ECUADOR SEDE IBARRA

Upload: juniortroya

Post on 04-Aug-2015

141 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: compilador de Fortran H, para C y Pascal

Compilador de Fortran H, para C y Pascal

JUNIOR TROYA

PONTIFICIA UNIVERSIDAD CATÒLICA DEL ECUADOR

SEDE IBARRA

Page 2: compilador de Fortran H, para C y Pascal

FORTRAN Fortran (previamente FORTRAN)1 (contracción

del inglés Formula Translating System) es un lenguaje de programación alto nivel de propósito general, procedimental

e imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica.

Desarrollado originalmente por IBM en 1957 para el equipo IBM 704, y usado para aplicaciones científicas y de ingeniería

En FORTRAN las instrucciones que el usuario transmite al ordenador se encuentran en un fichero de texto (en código ASCII), que es necesario escribir (utilizando un editor de textos cualquiera).

Page 3: compilador de Fortran H, para C y Pascal

FORTRAN Al contrario que el BASIC, que es un lenguaje interpretado, el FORTRAN es un lenguaje compilado. Ésto

significa que, una vez escrito el programa, éste ha de ser traducido en bloque al lenguaje máquina, o sea, el lenguaje que entiende el procesador del ordenador, mediante un proceso llamado compilación; por contra, en un lenguaje interpretado las líneas de programa se van traduciendo según el flujo va pasando por ellas, con lo que el proceso de ejecución se enlentece.

Escritura del programa

Las instrucciones del programa se escriben en el fichero dispuestas en líneas. En FORTRAN 77 las columnas de la 1 a la 5 se reservan para que se puedan incluir etiquetas, en forma de números, que hagan de señalización con vistas a la posibilidad de que el flujo del programa vuelva a esa línea desde otra parte del programa. La columna 6 se reserva para incluir un símbolo que le indique al compilador que esa línea es la continuación de la línea anterior. Por tanto, las instrucciones del programa en sí comienzan a partir de la columna 6 (es decir, de la 7 a la 80). Un ejemplo de programa sencillo es:

PROGRAMA EJEMPLO REAL A, B, C A=1 B=A+1 PRINT *, A,B C=A+B+1 PRINT *,'C es igual a=',C END

Page 4: compilador de Fortran H, para C y Pascal
Page 5: compilador de Fortran H, para C y Pascal
Page 6: compilador de Fortran H, para C y Pascal
Page 7: compilador de Fortran H, para C y Pascal
Page 8: compilador de Fortran H, para C y Pascal
Page 9: compilador de Fortran H, para C y Pascal

C

C es un lenguaje de programación creado

en 1972 por Dennis M. Ritchie en losLaboratorios Bell como

evolución del anterior lenguaje B, a su vez basado en BCPL.

Uno de los objetivos de diseño del lenguaje C es que sólo

sean necesarias unas pocas instrucciones en lenguaje

máquina para traducir cada elemento del lenguaje, sin que

haga falta un soporte intenso en tiempo de ejecución.

C se desarrolló originalmente (conjuntamente con el sistema

operativo Unix, con el que ha estado asociado mucho

tiempo) por programadores para programadores.

Page 10: compilador de Fortran H, para C y Pascal
Page 11: compilador de Fortran H, para C y Pascal
Page 12: compilador de Fortran H, para C y Pascal

Compiladores para C

El compilador PDP-11 El compilador PCC

„ Utiliza descenso recursivo

para todo excepto las

expresiones

Expresiones con precedencia de operadores

„ Código intermedio: Š Expresiones notación

postfija

Š Ensamblador para

estructuras de control

„ LALR(1) generado con

YACC

„ Código intermedio:

Š Expresiones notación

prefija

Š Ensamblador de más

construcciones

Page 13: compilador de Fortran H, para C y Pascal
Page 14: compilador de Fortran H, para C y Pascal

Estructura de los compiladores H

En el léxico:

Devuelve: Los pares operadoroperando son un token operando junto con el token no operando precedente

Š Utiliza precedencia de operadores

para las expresiones

Š Optimizaciones simples, sustituir multiplicaciones por dos por desplazamientos

„ En la optimización:

Š Eliminación de

subexpresiones comunes

Š Traslado de código

Š Propagación de copias

Š Eliminación de variables

de inducción