2035_teor

Anuncio
UNIVERSIDAD DE MENDOZA – FACULTAD DE INGENIERÍA
CARRERA
I.I.
ASIGNATURA
TEORIA DE COMPILADORES
CURSO
AREA
T.B.
3 AÑO
MATERIAS CORRELATIVAS:
Profesor Titular:
CODIGO
2035
ULTIMA REVISIÓN
2009
AÑO LECTIVO 2010
Ing. Alfredo A. Iglesias
Profesor Titular Asociado:
Profesor Adjunto: Ing. Lucas Garcia Alonso
Profesor J.T.P.:
Carga Horaria Semanal:
Carga Horaria Total:
4 hs.
60 hs.
OBJETIVOS GENERALES :
Preparar al estudiante para comprender el funcionamiento y la construcción de programas
compiladores.
OBJETIVOS PARTICULARES:
Que el alumno:
 Adquiera los conceptos básicos de la teoría de lenguajes formales.
 Entienda las máquinas secuenciales y los autómatas.
 Relacione la teoría de autómatas con los lenguajes formales.
 Conozca las técnicas para los análisis léxico, sintáctico y semántico de un leguaje de
programación.
PROGRAMA ANALÍTICO:
CAPITULO I – GRAMATICAS Y LENGUAJES
TEMA A: Introducción 1.A.1- Traducción o compilación. Metalenguajes 1.A.2 – Diagramas
sintácticos. 1.A.3 – Estructura y fases de un compilador. 1.A.4 – Detección e información de
errores. 1.A.5 – Generación y optimización de código intermedio.
TEMA B: Tiras y Lenguajes 1.B.1- Tiras de caracteres. Componentes léxicos, patrones y
lexemas. 1.B.2 – Atributos de los componentes léxicos. 1.B.3 – Errores léxicos y estrategias de
recuperación. 1.B.4 – Especificación de los componentes léxicos. Cadenas y lenguajes. 1.B.5 –
Operaciones aplicables a cadenas. 1.B.6 – Operaciones aplicables a lenguajes. Cierres
transitivo y positivo de una relación.
CAPITULO II – EXPLORADORES – ANALISIS LEXICOGRAFICO
TEMA A: Expresiones regulares: 2.A.1 – Reglas de las expresiones regulares. 2.A.2 –
Propiedades algebraicas de las expresiones regulares. 2.A.3 – Definiciones regulares.
Ejemplos
TEMA B: Autómatas de estados finitos: 2.B.1 – Reconocimiento de componentes léxicos.
2.B.2 – Autómatas finitos deterministas (AFD) y no deterministas (AFN). 2.B.3 –
Representación e implementación de un autómata. 2.B.4 – Tabla compacta y matriz de
transición.
TEMA C: Generación de autómatas: 2.C.1 – Generación de autómatas a partir de
expresiones regulares 2.C.2 – Autómata programado. 2.C.3 – Paso de una expresión regular a
un AFN. Construcción de Thompson. 2.C.4 – Conversión de un AFN en un AFD.
CAPITULO III: ANALISIS SINTACTICO
TEMA A: Análisis Sintáctico: 3.A.1 – El papel del analizador sintáctico. 3.A.2 – Manejo de
errores sintácticos, estrategias para la recuperación de errores. 3.A.3 – Gramáticas regulares e
independientes de contexto. 3.A.4 Lenguaje definido por una gramática. 3.A.5 Árboles
sintácticos y derivaciones.
TEMA B: Gramáticas LL1 : 3.B.1 – Análisis sintáctico por descenso recursivo. 3.B.2 –
Gramáticas recursivas por la izquierda, factorización. 3.B.3 –Análisis sintáctico predictivo,
diagramas de transiciones. 3.B.4 Análisis sintáctico predictivo no recursivo. Símbolos iniciales y
siguientes. 3.B.5 Algoritmos de construcción de tablas de análisis.
TEMA C: Relaciones de precedencia: 3.C.1 – Gramática de operadores, relaciones de
precedencia entre operadores. 3.C.2 – Análisis sintáctico ascendente por precedencia de
operadores. 3.C.3 Funciones de precedencia.
TEMA D: Análisis sintáctico LR: 3.D.1 – Técnicas de análisis sintáctico LR(k). 3.D.2
Algoritmos de análisis sintáctico ascendente LR. 3.D.3 Análisis sintáctico SLR y canónico.
3.D.4 Análisis sintáctico LALR, obtención de tablas de análisis.
CAPITULO IV: ANALISIS SEMANTICO
TEMA A: Semántica 4.A.1 –Traducción dirigida por la sintaxis. 4.A.2 – Definiciones dirigidas
por la sintaxis. 4.A.3 -.
TEMA B: Atributos; 4.B.1 – Funciones semánticas y atributos. 4.B.2 – Atributos Heredados.
4.B.3 – Atributos sintetizados. 4.B.4 - Verificación de tipos.
TEMA C: Construcción de Árboles Sintácticos. 4.C.1 - Funciones de construcción de
árboles sintácticos. 4.C.2 - Uso de definiciones dirigidas por la sintaxis. 4.C.3 – Árboles y
Grafos dirigidos asíclicos. 4.C.4 Esquemas de traducción
CAPITULO V: GENERACION DE CODIGO
TEMA A: Lenguajes Intermedios: 5.A.1 – Árboles sintácticos como primera traducción. 5.A.2 –
Código de tres direcciones. 5.A.3 Tipos de proposiciones de tres direcciones. 5.B.4 Notación
polaca inversa. Rutinas semánticas
TEMA B: Implantación de código de tres direcciones: 5.B.1 – Notación de tercetos 5.B.2 –
Notación de cuartetos. 5.B.3 – Notación de tercetos indirectos. Comparación entre las
notaciones.
CAPITULO VI: TABLA DE SÍMBOLOS
TEMA A: Tabla de símbolos: 5.A.1. Tablas de símbolos con estructura de bloques 5.A.2 Apertura y cierre de bloques. 5. A.3 Métodos de acceso. Tabla lineal y tabla ordenada. 5.A.4 Árboles binarios.
Formación Práctica
Resolución de Problemas Rutinarios:
Laboratorio, Trabajo de Campo:
Resolución de Problemas Abiertos de ingeniería:
Proyecto y Diseño:
Horas
15
PROGRAMA DE TRABAJOS PRÁCTICOS:
Práctico Nº 1: Diseño de un autómata a partir de una expresión regular.
Práctico Nº 2: Construcción de un explorador léxico sencillo en “C”.
Práctico Nº 3: Construcción de un analizados sintáctico sencillo en “C”.
ARTICULACIÓN HORIZONTAL Y VERTICAL DE CONTENIDOS:

Los contenidos abordados en esta materia se basan en conceptos de las siguientes cátedras:
Asignatura

Curso
Comparte e integra elementos horizontalmente con las siguientes cátedras:
Asignatura
Curso
Arquitectura de computadoras (2034)

Los contenidos abordados en esta materia aportan conceptos a las siguientes cátedras:
Asignatura
Curso
Computación II (2038)
3° Año
CONDICIONES PARA REGULARIZAR LA MATERIA y RÉGIMEN DE EVALUACIÓN:




El alumno deberá: aprobar el 100% de los prácticos.
Cumplir con el 80% de asistencia
Rendir un examen final.
Presentar carpeta de Trabajos Prácticos
BIBLIOGRAFÍA:
BIBLIOGRAFÍA PRINCIPAL:
Autor
Título
A. aho, R.sethi, j
Dean Kelley.
Cases MuñozVillodre.
Compiladores principios, técnicas y
herramientas
Teoría de autómatas y lenguajes
formales
Lenguajes, gramáticas y autómatas –
Curso básico
apuntes de Cátedra: tablas de símbolos.
ESTRATEGIAS DIDÁCTICAS UTILIZADAS :



Clases exponenciales.
Trabajos en grupos
Proyectos.
RECURSOS DIDÁCTICOS UTILIZADOS :


Multimedia.
Medios informáticos.
Editorial
Año Ed.
Pearson
Prentice Hall
Prentice Hall
1º edición
Alfaomega
2002
2006

Laboratorios
Descargar