compiladores fortran h pascal y c
Post on 30-Jul-2015
207 Views
Preview:
TRANSCRIPT
COMPILADOR DE FORTRAN H PARA C Y
PASCALJORGE SANTIAGO BEJARANO
ESCUELA DE INGENIERÍA
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IABRRA
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:
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.
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
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.
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
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.
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.
top related