Primera parte

  1. Introducción a los Compiladores.

    Introducción a los Lenguajes y Herramientas. Metodología de Desarrollo. Pruebas. Análisis del Rendimiento.

    Fases de un Compilador. Análisis Léxico. Análisis Sintáctico. Esquemas de Traducción. Análisis Sintáctico Descendente Recursivo Predictivo. Eliminación de la Recursión por la Izquierda. Arbol de Análisis Abstracto. Lenguajes Arbol y GramáticasArbol. Análisis Semántico. Optimización Independiente de la Máquina. Patrones Arbol y Transformaciones Arbol. Asignación de Direcciones. Generación de Código. Optimización de Código Peephole.

  2. Expresiones Regulares y Análisis Léxico.

    Expresiones Regulares y Análisis Léxico. Función del analizador léxico. Técnicas para la contrucción del analizador léxico. Generación de analizadores léxicos.

  3. Análisis Sintáctico.

    Análizadores Descendentes y Ascendentes. Uso de Analizadores Ascendentes. Construcción de las Tablas para el Análisis LR. Algoritmo de Análisis LR. Depuración con Analizadores LR. Resolución de la Ambiguedad. Precedencia y Asociatividad. Construcción delArbol Sintáctico. Recuperación de Errores.

  4. Análisis Dependiente del Contexto

    Esquemas de Traducción. Definición Dirigida por la Sintáxis y Gramáticas Atribuídas. Construcción de Arboles Sintácticos. Manejo de Atributos Heredados. Acciones en Medio de una Regla y Atributos Heredados. GramáticasArbol. Transformaciones árbol.

  5. Análisis de Tipos

    Sistemas de tipos: expresiones de tipos. Equivalencia estructural, nominal y funcional. Sobrecarga de operadores. Tablas de símbolos: estructura de la tabla de símbolos. Organización de la tabla de símbolos. Lenguajes con estructura de bloque. Funciones Polimórficas. Inferencia de Tipos.