Referencias Bibliográficas: [Louden, 2004b]
Temas
- Programas que tienen otros programas como entrada tales como interpretes, compiladores, revisores de tipos y generadores de documentación. 
 
- Arboles de sintaxis abstracta, para contrastar la sintaxis correcta. 
 
- Estructuras de datos que representan código para ejecución, traducción o transmisión. 
 
- Compilación en tiempo just-in time y re-compilación dinámica. 
 
- Otras características comunes de las máquinas virtuales, tales como carga de clases, hilos y seguridad. 
 
Objetivos de Aprendizaje
- Explicar como programas que procesan otros programas tratan a los otros programas como su entrada de datos  [Familiarity]
 
- Describir un árbol de sintaxis abstracto para un lenguaje pequeño  [Familiarity]
 
- Describir los beneficios de tener representaciones de programas que no sean cadenas de código fuente  [Familiarity]
 
- Escribir un programa para procesar alguna representación de código para algún propósito, tales como un interprete, una expresión optimizada, o un generador de documentación  [Familiarity]
 
- Explicar el uso de metadatos en las representaciones de tiempo de ejecución de objetos y registros de activación, tales como los punteros de la clase, las longitudes de arreglos, direcciones de retorno, y punteros de frame  [Familiarity]
 
- Discutir las ventajas, desventajas y dificultades del término (just-in-time) y recompilación automática  [Familiarity]
 
- Identificar los servicios proporcionados por los sistemas de tiempo de ejecución en lenguajes modernos  [Familiarity]
 
Generado por Ernesto Cuadros-Vargas ,               Sociedad Peruana de Computación-Peru,               basado en el modelo de la Computing Curricula de               IEEE-CS/ACM