Compiladores Fortran H, Pascal P y C
-
Upload
santiago-bejarano -
Category
Documents
-
view
237 -
download
1
description
Transcript of Compiladores Fortran H, Pascal P y C
![Page 1: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/1.jpg)
COMPILADOR DE FORTRAN H PARA C Y
PASCALJORGE SANTIAGO BEJARANO
ESCUELA DE INGENIERÍA
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IABRRA
![Page 2: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/2.jpg)
COMPILADOR PARA FORTRAN H
![Page 3: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/3.jpg)
Las dos primeras realizan el a.léxico y
a.sintácticoproduciendo cuádruplos
La siguiente optimiza el código y los
recursos
La ultima genera código objeto a partir
de cuádruplos y asignaciones a
registros
COMPILADORES PARA FORTRAN H
Permite al usuario elegir no optimización,
optimización de registros o completa.
Escrito por Lowry y Medlock (1969)
Se realiza 4 pasadas:
![Page 4: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/4.jpg)
ESTRUCTURA DE LOS COMPILADORES H
En el léxico:
• Devuelve: Los pares operador-operando son un token operando junto con el token no operando.
• 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.
![Page 5: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/5.jpg)
PROCESO DE LOS COMPILADORES H
![Page 6: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/6.jpg)
COMPILADOR PARA C
![Page 7: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/7.jpg)
COMPILADOR 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ñado por Ritchie
(1979) para PDP-11 y los transportables PCC de
Johnson
Compiladores de 2 pasadas
El PDP-11 tiene una tercera opcional para
optimizar los lenguajes ensamblador
![Page 8: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/8.jpg)
ESTRUCTURA DE LOS COMPILADORES PARA C
![Page 9: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/9.jpg)
COMPILADORES PARA C
COMPILADOR PDP-11
• Utiliza el descenso recursivo para todo excepto las expresiones.
• Expresiones con precedencia de operadores.
• Código intermedio:
• Expresión notación postfija.
• Ensamblador para estructuras de control.
En la optimización
• LALR(1) generado con YACC.
• Código intermedio:
• Expresión de notación prefija.
• Ensamblador demás construcciones.
![Page 10: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/10.jpg)
COMPILADOR PARA PASCAL
![Page 11: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/11.jpg)
COMPILADORES PARA PASCAL
El lenguaje fue desarrollado por Wirth
Experimentos sobre la portabilidad llevaron a Ammann al compilador
Pascal P
Generaban código P, para una máquina de
pila abstracta
Características:
Compilador de una pasada.
Organizado alrededor de A.Sintáctico.
Analizador descendente recursivo
El desarrollo del lenguaje y del primer compilador para este
fueron independientes
![Page 12: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/12.jpg)
ORGANIZACIÓN DEL COMPILADOR PASCAL
La memoria de la máquina se organiza en las siguientes
áreas:
• Código para los procedimientos.
• Constantes
• Pilas de registro de activación.
• Montículo para datos asignados aplicando el operador new.
![Page 13: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/13.jpg)
VENTAJAS E INCONVENIENTES
VENTAJAS
• Fue fácil de implementar.
• Generaba poca actividad de entrada/salida.
• El código de un procedimiento se compila en memoria y se escribe como una unidad a la memoria secundaria.
INCONVENIENTES
• Limitaciones en la calidad del código generado.
• Mucha necesidad de memoria.
![Page 14: Compiladores Fortran H, Pascal P y C](https://reader031.fdocuments.ec/reader031/viewer/2022020102/568c3bb41a28ab0235ab213b/html5/thumbnails/14.jpg)