Referencias Bibliográficas: [Aho et al., 2006,Appel, 2004]
Temas
- Modelos de ejecución para JIT (Just-In-Time), compilador, intérprete
- Uso de código intermedio, por ejemplo, bytecode
- Limitaciones y beneficios de JIT, compilador e intérprete
- Compiladores/transpiladores cruzados (cross compilers/transpilers)
- Representación BNF y BNF extendida de gramática libre de contexto
- árbol de análisis (parse tree) usando una oración simple como expresión aritmética o sentencia if-then-else
- Ejecución como código nativo o dentro de una máquina virtual
- Canalización de traducción de lenguaje: análisis sintáctico, análisis (parsing), verificación de tipos opcional, generación de código/traducción y optimización, enlace (linking), carga (loading), ejecución
- Representación en tiempo de ejecución de construcciones centrales del lenguaje como objetos (tablas de métodos) y funciones que pueden pasarse como parámetros a y devolverse desde funciones (clausuras)
- Desarrollo seguro de compiladores
Aprendizaje esperado (Learning Outcomes)
- Explicar y comprender las diferencias entre implementaciones de lenguaje compilado, JIT e interpretado, incluyendo los beneficios y limitaciones de cada una [Explicar]
- Diferenciar sintaxis y análisis (parsing) de semántica y evaluación [Diferenciar]
- Usar BNF y BNF extendida para especificar la sintaxis de construcciones simples como if-then-else, declaración de tipo y construcciones iterativas para lenguajes conocidos como C++ o Python [Usar]
- Ilustrar el árbol de análisis usando una oración/expresión aritmética simple [Aplicar]
- Ilustrar traducción de diagramas de sintaxis a BNF/BNF extendida para construcciones simples como if-then-else, declaración de tipo, construcciones iterativas, etc [Aplicar]
- Ilustrar ambigüedad en el análisis usando if-then-else anidado/expresión aritmética y mostrar resolución usando orden de precedencia [Aplicar]
- Discutir los beneficios y limitaciones de la recolección de basura, incluyendo la noción de alcanzabilidad [Debatir]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM