curso-2014-1-781-1

1
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA Escuela de Ciencias y Sistemas FICHA TÉCNICA DEL CURSO: Organización de Lenguajes y Compiladores 2 No. Descripción . Código 781 Créditos 4 1 Escuela Ciencias y Sistemas Área a la que pertenece Computación Vigencia 1er semestre 2014 2 Horas por semana 4 Horario Lunes y Viernes de 7:10 a 8:50 hrs. 3 Pre-requisitos: 772 (Estructuras de Datos) 777 (Organización de Lenguajes y Compiladores 1) 4 Postrequistios: 281 (Sistemas operativos 1) 5 Secciones: A - y A + 6 un promedio de 100 horas por mes, tiempo que lo alumnos deben dedicar a trabajos fuera de clase tales como laboratorio, proyectos, investigaciones, tareas, etc.. 7 I. Descripción General Este curso es la continuación del estudio de las fases de un Compilador, específicamente en la fase de síntesis y se tratan con detalle las definiciones dirigidas por la sintaxis, el manejo de la tabla de símbolos, la generación de código intermedio y optimización de código Se desarrollarán proyectos o prácticas, para aplicar los conceptos generales de compiladores, usando herramientas básicas tales como generadores de analizadores de léxico y de sintaxis. II. Objetivos Objetivo General 1. Desarrollar los conceptos básicos de la fase de un compilador Objetivos Específicos 1. Proveer una base teórica que permita diseñar un compilador para un lenguaje de alto nivel 2. Aplicar los conceptos de compiladores en el desarrollo de proyectos. 3. Utilizar las herramientas de análisis de léxico, sintáctico y semántico, para la construcción de compiladores o interpretes para un lenguaje de alto nivel III. Contenido UNIDAD 1. TRADUCCIÓN DIRIGIDA POR LA SINTAXIS - Definiciones dirigidas por la sintaxis Forma de una definición dirigida por la sintaxis. Atributos sintetizados Atributos heredados Grafos de dependencia - Construcción de árboles sintácticos - Evaluación ascendente de atributos sintetizados - Evaluación ascendente de atributos heredados - Definiciones con atributos por la Izquierda Forma de una definición con atributos por la izquierda Esquema de traducción Eliminación de la recursividad por la izquierda de un esquema de traducción UNIDAD 2. GENERACIÓN DE CÓDIGO INTERMEDIO - Lenguajes intermedios - Árboles de sintaxis - Código de tres direcciones Expresiones aritméticas Mapeo de arreglos Asignaciones Expresiones booleanas Proposiciones condicionales Proposiciones de ciclos Recursividad Funciones y procedimientos UNIDAD 3. COMPROBACIÓN DE TIPOS - Comprobación estática - Comprobación dinámica - Equivalencia de expresiones de tipos - Conversión de tipos - Sobrecarga de funciones y operadores - Tabla de símbolos UNIDAD 4. OPTIMIZACIÓN DE CÓDIGO - Optimización de código intermedio por Mirilla - Optimización de código Generado IV. Metodología: - Clase Magistral para explicación de teoría. - Resolución de tareas, problemas y auto estudio - Práctica, realización de proyectos. - Actividades de laboratorio V. Evaluación: 45 puntos para laboratorio que incluye proyectos y tareas. 55 puntos de la parte teórica, que incluye 3 parciales de 10 puntos cada uno y 25 puntos del examen final. Es requisito para cada parcial, entregar un documento físico con comentarios de la lectura del libro de texto, relacionados con las unidades a evaluar en el parcial. Para aprobar el curso es necesario obtener como mínimo 27.45 puntos de laboratorio. CALENDARIO DE EXÁMENES Primer Examen Parcial 14 de Febrero UNIDAD 1. Traducción dirigida por la sintaxis Segundo Examen Parcial 14 de Marzo UNIDAD 2. Generación de código intermedio Tercer Examen Parcial 25 de Abril UNIDAD 3. Comprobación de tipos UNIDAD 4. Optimización de código Examen Final Según calendario oficial Todas las unidades VI. Observaciones: Direcciones de correo electrónico para consultas: Ing. Bayron López: [email protected], Ing. Edgar Sabán : [email protected] 8 Bibliografía Libro de Texto: Compiladores. Principios, Técnicas y Herramientas Aho, Sethi y Ullmam. PEARSON ADDISON-WESLEY, 2008, segunda edición. Consulta: Enginnering a Compiler, Keith D. Cooper and Linda Torczon, Rice University, Morgan Kaufmann publisher, 2004 9 No. De Secciones 2 (dos) 10 Catedráticos titulares y auxiliares Titulares : a+ Ing. Bayron López, a- Ing, Edgar Sabán Auxiliares : Jaime Delgado, Julio Osorio, Luis Morales, Juan Escalante 12 Director de Escuela Ing. Marlon Pérez Türk

description

curso-2014-1-781-1

Transcript of curso-2014-1-781-1

  • UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA Escuela de Ciencias y Sistemas FICHA TCNICA DEL CURSO: Organizacin de Lenguajes y Compiladores 2

    No. Descripcin

    . Cdigo 781 Crditos 4

    1 Escuela Ciencias y Sistemas

    rea a la que pertenece Computacin

    Vigencia 1er semestre 2014

    2 Horas por semana 4

    Horario Lunes y Viernes de 7:10 a 8:50 hrs.

    3 Pre-requisitos: 772 (Estructuras de Datos) 777 (Organizacin de Lenguajes y Compiladores 1)

    4 Postrequistios: 281 (Sistemas operativos 1)

    5 Secciones: A - y A +

    6 un promedio de 100 horas por mes, tiempo que lo alumnos deben dedicar a trabajos fuera de clase tales como laboratorio, proyectos, investigaciones, tareas, etc..

    7 I. Descripcin General

    Este curso es la continuacin del estudio de las fases de un Compilador, especficamente en la fase de sntesis y se tratan con detalle las definiciones dirigidas por la sintaxis, el manejo de la tabla de smbolos, la generacin de cdigo intermedio y optimizacin de cdigo Se desarrollarn proyectos o prcticas, para aplicar los conceptos generales de compiladores, usando herramientas bsicas tales como generadores de analizadores de lxico y de sintaxis. II. Objetivos

    Objetivo General 1. Desarrollar los conceptos bsicos de la fase de un compilador

    Objetivos Especficos 1. Proveer una base terica que permita disear un compilador para un

    lenguaje de alto nivel 2. Aplicar los conceptos de compiladores en el desarrollo de proyectos. 3. Utilizar las herramientas de anlisis de lxico, sintctico y semntico,

    para la construccin de compiladores o interpretes para un lenguaje de alto nivel

    III. Contenido UNIDAD 1. TRADUCCIN DIRIGIDA POR LA SINTAXIS - Definiciones dirigidas por la sintaxis

    Forma de una definicin dirigida por la sintaxis.

    Atributos sintetizados

    Atributos heredados

    Grafos de dependencia - Construccin de rboles sintcticos - Evaluacin ascendente de atributos sintetizados - Evaluacin ascendente de atributos heredados - Definiciones con atributos por la Izquierda

    Forma de una definicin con atributos por la izquierda

    Esquema de traduccin

    Eliminacin de la recursividad por la izquierda de un esquema de traduccin

    UNIDAD 2. GENERACIN DE CDIGO INTERMEDIO - Lenguajes intermedios - rboles de sintaxis - Cdigo de tres direcciones

    Expresiones aritmticas

    Mapeo de arreglos

    Asignaciones

    Expresiones booleanas

    Proposiciones condicionales

    Proposiciones de ciclos

    Recursividad

    Funciones y procedimientos

    UNIDAD 3. COMPROBACIN DE TIPOS

    - Comprobacin esttica - Comprobacin dinmica - Equivalencia de expresiones de tipos - Conversin de tipos - Sobrecarga de funciones y operadores - Tabla de smbolos

    UNIDAD 4. OPTIMIZACIN DE CDIGO - Optimizacin de cdigo intermedio por Mirilla - Optimizacin de cdigo Generado IV. Metodologa: - Clase Magistral para explicacin de teora. - Resolucin de tareas, problemas y auto estudio - Prctica, realizacin de proyectos. - Actividades de laboratorio V. Evaluacin: 45 puntos para laboratorio que incluye proyectos y tareas. 55 puntos de la parte terica, que incluye 3 parciales de 10 puntos cada uno y 25 puntos del examen final. Es requisito para cada parcial, entregar un documento fsico con comentarios de la lectura del libro de texto, relacionados con las unidades a evaluar en el parcial.

    Para aprobar el curso es necesario obtener como mnimo 27.45 puntos de laboratorio.

    CALENDARIO DE EXMENES Primer Examen Parcial 14 de Febrero

    UNIDAD 1. Traduccin dirigida por la sintaxis

    Segundo Examen Parcial 14 de Marzo UNIDAD 2. Generacin de cdigo intermedio

    Tercer Examen Parcial 25 de Abril UNIDAD 3. Comprobacin de tipos UNIDAD 4. Optimizacin de cdigo

    Examen Final Segn calendario oficial Todas las unidades

    VI. Observaciones: Direcciones de correo electrnico para consultas: Ing. Bayron Lpez: [email protected], Ing. Edgar Sabn : [email protected]

    8 Bibliografa Libro de Texto: Compiladores. Principios, Tcnicas y Herramientas Aho, Sethi y Ullmam. PEARSON ADDISON-WESLEY, 2008, segunda edicin.

    Consulta: Enginnering a Compiler, Keith D. Cooper and Linda Torczon, Rice University, Morgan Kaufmann publisher, 2004

    9 No. De Secciones 2 (dos)

    10 Catedrticos titulares y auxiliares

    Titulares : a+ Ing. Bayron Lpez, a- Ing, Edgar Sabn Auxiliares : Jaime Delgado, Julio Osorio, Luis Morales, Juan Escalante

    12 Director de Escuela Ing. Marlon Prez Trk