Es te un alsd de per demi
October 5, 2010
1. Generalidades
El objetivo del proyecto es construir un compilador que incluya una cantidad signicativa delas partes que normalmente componen un compilador real. Las partes del proyecto son: 1. Construir un analizador léxico (lexer). 2. Construir un analizador sintáctico (parser). 3. Hacer el análisissemántico. 4. Generar código. 5. Implementar algunas optimizaciones. 6. Implementar extensiones y optimizaciones opcionales para obtener puntos adicionAnálisis SintacticoAnálisis Sintacticoales. Elcompilador procesará el lenguaje COOL (Classroom Object-Oriented Language [Aiken, A. Cool: a portable project for teaching compiler construction, SIGPLAN Not. 31, 7 (Jul. 1996), 19-24. 1 ). Este lenguaje essucientemente simple como para hacer un trabajo de un semestre, pero al mismo tiempo tiene sucientes funcionalidades como para hacer un compilador signicativo. Soporta clases y herencia simple, esorientado a expresiones y tiene manejo de memoria automático. Sin embargo hay cosas que no tiene (para reducir el tamaño), tales como arreglos y manejo de excepciones. Por ejemplo, el clásico "helloworld" se puede escribir como sigue:
1 DOI=
http://doi.acm.org/10.1145/381841.381847]
Fecha de entrega: Lunes 11 de Octubre 2010 alas 00:00, al email del profesor y del ayudante.
1
( ∗ h el l o −world . c l ∗ ) c l a s s Main i n h e r i t s IO { main ( ) : Object { o u t _ s t r i n g (" Hello , world . \ n ") } ; } ; El manual de COOL lo pueden bajar de aquí: Manual de lenguaje CoolUsaremos jex para generar el lexer y cup el parser. Opcionalmente, usted puede trabajar en C, usando ex y bison. que son las herramientas tradicionales del ambiente unix. Cada etapa del proyectodel curso permitirá avanzar un paso más en el diseño e implementación de un compilador para el lenguaje Cool. Las etapas están divididas en:
10% Análisis Léxico: Lunes 11 de Octubre 2010, 00:00...
Regístrate para leer el documento completo.