Guía DocenteCurso
Facultade de Informática
  Inicio | galego | castellano | A A |  
Enxeñeiro en Informática
 Asignaturas
  Compiladores
   Contidos
Temas Subtemas
Tema I. Introducción 1.1 Estructura de un compilador.
1.2 Ejemplo de las fases de un compilador.

Tema II. Lenguajes y Gramáticas 2.1 Notación de Chomsky.
2.2 Clasificación de Chomsky.
2.3 Gramáticas de contexto libre (GCL).
2.4 Diagramas de Conway.
2.5 Reglas BNF.
2.6 Problemas en las GCL.
2.7 Simplificación de gramáticas.
2.8 Gramática limpia.
2.9 Forma normal de Chomsky (FNC).
2.10 Resumen.
2.11 Ejercicios.
Tema III. Análisis Léxico 3.1 Tipos de máquinas reconocedoras o autómatas.
3.2 Autómatas Finitos.
3.3 Conversión de una Gramática Regular en un Autómata finito.
3.4 Expresión regular.
3.5 Algoritmo de Thompson.
3.6 Transformación de un AFND-lambda en un AFD.
3.7 Traductores finitos (TF).
3.8 Implementación de autómatas.
3.8.1 Tabla compacta.
3.8.2 Autómata programado.
3.9 Ejemplo. Scanner para números reales sin signo en Pascal.
3.10 Acciones semánticas.
3.11 Generador LEX.
Tema IV. Análisis sintáctico (Parsing) 4.1 Máquinas teóricas, mecanismos con retroceso
4.1.1 Autómatas con pila (AP).
4.1.2 Esquemas de traducción (EDT).
4.1.3 Traductores con pila (TP).
4.2 Algoritmos sin retroceso.
4.2.1 Análisis sintáctico ascendente por precedencia simple.
4.2.2 Análisis sintáctico ascendente por precedencia de operadores.
4.2.3 Analizadores descendentes LL(K).
4.2.4 Analizadores ascendentes LR(k).
4.2.5 Generador de analizadores sintácticos YACC.
Tema V. Análisis semántico 5.1 Definiciones dirigidas por la sintáxis.
5.2 Esquema de traducción.
5.3 Comprobaciones en tiempo de compilación.
Tema VI. Generación de código 6.1 Lenguajes intermedios.
6.2 Generación de código intermedio.
6.3 Generación de código desde lenguaje intermedio.
Tema VII. Optimización de código 7.1 Algoritmo de Nakata.
7.2 Un ejemplo de optimización manual.
7.3 Lazos en los grafos de flujo.
7.4 Análisis global del flujo de datos.
7.5 Solución iterativa de las ecuaciones de flujo de datos.
Tema VIII. Errores 8.1 Tipos de errores.
8.2 Recuperación de errores léxico-gráficos.
Tema IX. Intérpretes y complementos 9.1 Estructura de un intérprete actual.
9.2 Arquitectura neutral de java.
Universidade da Coruña - Rúa Maestranza 9, 15001 A Coruña - Tel. +34 981 16 70 00  Soporte Guías Docentes