Técnicas de Compilación y Optimizaciones para el Lenguaje Occam

Guillermo A. Alvarez

 

Daniel O. Bandinelli

Marcelo O. Fernández

 

Gustavo A. Rosini

Resumen

Occam es un lenguaje de programación basado en un modelo de procesos secuenciales que se ejecutan concurrentemente, comunicándose por medio de pasaje sincrónico de mensajes. Se detallan los aspectos del desarrollo de un compilador Occam-C sobre una máquina uniprocesador. El sistema operativo UNIX es usado como plataforma de implementación, empleando las facilidades que brinda para programación concurrente y comunicación entre procesos. Se incluyen explicaciones detalladas de los chequeos realizados, de los procedimientos de optimización, y de las técnicas de compilación desarrolladas. Los chequeos permiten asegurar la validez del programa de entrada. Los procedimientos de optimización ideados, aplicados tanto durante la generación de código como durante su ejecución, permiten la utilización eficiente de los recursos del sistema por parte del código objeto. Las técnicas de compilación definen la traducción de un lenguaje diseñado para arquitecturas multiprocesador a sistemas monoprocesador time-sharing. Si bien algunos de los algoritmos utilizados para estos fines son estándares en construcción de compiladores, se enfatiza la descripción de las ideas originales desarrolladas para este proyecto. Estas se basan en las propiedades del lenguaje Occam, y de la arquitectura sobre la cual se ejecuta el código generado.


Versión completa (formato PDF)

Hosted by www.Geocities.ws

1