Capítulo 1 |
Introducción |
- Conceptos generales. Arquitectura básica de compiladores;
- Procesadores de lenguajes. Diagrama general de un Traductor;
- Traductores, ensambladores, compiladores, intérpretes y simuladores;
- Características, Similitudes y Diferencias de Lenguajes, Compiladores e intérpretes, y
- Ejecución de programas en el computador. Set de Instrucciones.
|
Capítulo 2 |
Análisis léxico |
- Función del Analizador Lexicográfico. Tokens. Reconocimiento. Errores Lexicográficos;
- Cadenas y Lenguajes. Expresiones Regulares;
- Máquinas de Estado Finito Determinísticas y No Determinísticas;
- Autómatas con pila o Máquinas Push-Down. Herramientas de Análisis Léxico, y
- Utilización de Flex/Lex.
|
Capítulo 3 |
Análisis sintáctico y semántico |
- Clasificación de las Gramáticas;
- Producciones y árboles de derivación;
- Procesamiento top-down y bottom-up;
- Traducción dirigida por la sintaxis. Tipos de atributos+;
- Utilización de Bison/Yacc;
- Tipos: datos primitivos y referenciales;
- Equivalencia de Expresiones, y
- Conversiones.
|
Capítulo 4 |
Generación de código |
- El proceso de generación de código;
- La Máquina. Aspectos de diseño;
- Distribución y Asignación de registros, y
- Organización de la memoria en tiempo de ejecución.
|
Capítulo 5 |
Optimización de código |
- El proceso de optimización;
- Métodos de la optimización, y
- Transformaciones para mejorar el código.
|
Capítulo 6 |
Tópicos complementarios |
- Principios de diseño de lenguajes de programación. Ortogonalización, y
- Llamadas externas y librerías del sistema.
|