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