Saltar a contenido

Fundamentos de Interpretación y Compilación de Lenguajes de Programación

Universidad del Valle, sede Tuluá · Escuela de Ingeniería de Sistemas y Computación · Agosto – Diciembre de 2026

Este sitio guarda lo que se hizo en clase: notas, intérpretes y ejemplos trabajados. El cronograma, el material de lectura previa, los quices, las entregas y las notas están en el Campus Virtual.

Horario

Grupo Día Hora Salón
50 Martes 8:00 a. m. – 12:00 m. Sede Príncipe, salón 7

Cada sesión son cuatro horas: las dos primeras son de exposición y las dos siguientes se dedican a resolver un ejercicio en Racket, que se entrega antes de salir.

Notas de clase

Se publican después de cada sesión.

Corte 1

Aún no hay clases publicadas.

Corte 2

Aún no hay clases publicadas.

Ejercicios de clase

Cada sesión tiene su repositorio. Se resuelve haciendo un fork, y la entrega es la dirección del fork con el identificador del último commit, que se reporta en el Campus Virtual antes de terminar la clase.

Aún no hay ejercicios publicados.

Clases en video

Las grabaciones de cada sesión se publican en la lista de reproducción del curso, en orden cronológico: la sesión más antigua aparece primero y la más reciente al final. La lista se irá llenando a medida que avanza el semestre.

Ver la lista completa en YouTube

Reglas del código

Todo el código del curso se escribe en #lang eopl. Las representaciones de sintaxis abstracta y de valores se declaran con define-datatype, y el análisis por casos se hace con cases, nunca destructurando a mano con car y cdr. Se resuelve con recursión estructural, sin set! salvo en los capítulos donde la asignación es el tema.

Una regla que se aplica a todos los intérpretes del curso: al evaluar un if-exp se calcula el valor de la prueba, se verifica que sea booleano y solo entonces se escoge la rama. Nunca se delega en el if de Racket sobre el resultado de value-of.

Referencias

  • Friedman y Wand. Essentials of Programming Languages, 3.ª edición. MIT Press, 2008.
  • Sebesta. Concepts of Programming Languages. Pearson.
  • Pierce. Types and Programming Languages. MIT Press, 2002.
  • The Racket Reference y The Racket Guide.