La página de la asignatura está ubicada en el campus virtual. Este curso no utilizamos esta página.

Compiladores

El alumno deberá familiarizarse con los conceptos fundamentales de los compiladores y con su uso de un modo efectivo.

Vamos a utilizar Go como lenguaje de programación y Yacc como herramienta adicional para estudiar y construir diversos compiladores, traductores e intérpretes.

Esta es la página de recursos y normativa.

En esta otra tienes el Foro de la asignatura.


Datos generales

Titulaciones:
Máster de Telecomunicación
Curso:
Primero. Segundo cuatrimestre
Profesorado:


Evaluación

Se realizarán las siguientes actividades evaluadoras:

Horario

Se impartirá teoría los lunes (4 a 6) en el aula 227, Dept I y prácticas los miercoles (4 a 6) en los laboratorios linux (segunda planta, laboratorios III).

Temario

Se utiliza el libro Compiladores: Principios, Técnicas y Herramientas como referencia. Se recomienda mucho su adquisición. La lista de temas que vamos a tratar es como sigue (aunque como se verá los vamos a ver de una forma integrada con lo que el orden exacto no será el que sigue). Aquí tienes las transparencias

Un ejemplo de lexer hecho en clase.

Un ejemplo de parser hecho en clase para expresiones regulares.


Práctica

El enunciado de la práctica.

Tienes que dejarla en el fichero $HOME/COMP1516/lab.tgz en tu home antes del día del examen. Tiene que incluir el fuente completo, tests para los componentes y un directorio con ficheros fuente de gix de prueba. Si entregas dos intérpretes, puedes tener dos paquetes separados uno para cada intérprete (no te preocupes si hay cosas repetidas que no se comparten en ambos).

No obstante, la entrega consistirá en realizar una modificación presencial de la práctica el día oficial de evaluación de la asignatura.


Recursos

Hay diversos recursos que podeis utilizar libremente como apoyo a la asignatura.


Ejercicios

El procedimiento de entrega consistirá en dejar en el directorio $HOME/COMP1516 de la cuenta en los sistemas Linux los ficheros indicados en cada uno de los ejercicios antes de la fecha límite indicada en cada uno de ellos (ambas cosas se indican durante el curso).


Bibliografía

1
Compiladores, Principios, Técnicas y Herramientas. A, Aho, R. Sethi, J. Ullman. Addison-Wesley.

2
Introduction to Compiler Construction with UNIX Prentice-Hall.A. Schreiner

2
El entorno de programación UNIX. Prentice-Hall, 1987. B.W. Kernighan y R. Pike.

5
The Practice of Programming. Brian W Kernighan, Rob Pike. Addison-Wesley. 1999.