PROGRAMA

Anuncio
Cantidad de horas semanales:8hs.
Anual
1er.Semestre
Cátedra: Sintaxis y Semántica de
los Lenguajes
Departamento: Ingeniería en Sistemas de Información.
Nivel: 2ºaño
Carrera: Ingeniería en Sistemas de Información
Área: Programación
Profesores (Titular-Asociado):León, Oscar A. -Brachetta,
Mariana
Bloque: Tecnologías Básicas
Auxiliares (JTP-Ayudantes): Wilkinson, Pablo. Fariello, Mauricio.
Monetti, Julio, Vargas, Marcela, Palmieri, Romina
Año 2016.
2do.Semestre
Cursado:
Aydte. ad-honorem: Silvia Castell
PROGRAMA
Cátedra: SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES
1) OBJETIVOS
Objetivo General (Según Plan de Estudios vigente)
- Conocer los elementos propios de la sintaxis y semántica de los lenguajes de programación.
- Conocer los lenguajes formales y autómatas.
- Comprender conceptos y procedimientos de las gramáticas libres de contexto y gramáticas
regulares para especificar la sintaxis de los lenguajesde programación.
- Utilizar distintos tipos de autómatas y distintos tipos de notaciones gramaticales.
- Comprender el procesamiento de lenguajes y en particular, el proceso de compilación.
Objetivos buscados por la Cátedra
- presentar los aspectos básicos de la teoría de lenguajes formales, autómatas y gramáticas.
- mostrar la forma de aplicación de los conceptos vinculados con gramáticas y autómatas, para la
especificación e implementación de los lenguajes de programación.
- analizar las características y la forma de implementación, de las diferentes etapas del proceso de
traducción de código fuente a código de máquina.
- desarrollar habilidades para encarar en forma autónoma el estudio de un lenguaje de
programación.
Objetivos de logros para el estudiante
Que el alumno logre:
- especificar gramáticas de los tipos II y III, utilizando diferentes formas de representación.
- diseñar autómatas de estados finitos y de pila.
- resolver problemas de equivalencia y minimización de autómatas, y las diferentes formas de
representación de ellos.
- analizar e identificar los diferentes tipos de errores sintácticos y semánticos, que surgen durante
los procesos de análisis lexicográfico, sintáctico y semántico, y en la etapa de traducción a código
de máquina.
- analizar la forma de ejecución de programas y determinar su comportamiento.
- fortalecer sus capacidades de autoaprendizaje, análisis y juicio crítico.
2) CONTENIDOS MÍNIMOS (Según Plan de Estudios vigente)
- Gramática y lenguajes formales.
- Jerarquía de Chomsky.
- Autómatas finitos. Expresiones regulares y su aplicación al análisis léxico.
- Gramáticas independientes del contexto.
- Autómatas PushDown y su aplicación al análisis sintáctico.
- Otros tipos de analizadores sintácticos.
- Máquinas Turing.
- Introducción a las Semánticas.
3) PROGRAMA ANALÍTICO
UNIDAD
TEMÁTICA
1
SINTAXIS Y
SEMÁNTICA
DE
CONTENIDOS
Referencia
abibliografía
(Nro.)
1. Gramáticas y lenguajes formales.
1, 2, 5
1.1. Conceptos generales sobre lenguajes.
1.1.1. Símbolos y cadenas. Alfabeto, palabra, lenguajes formales. Operaciones.
1.2. Gramáticas formales. Tipos de gramáticas.Jerarquía de Chomsky.
1.2.1. Definiciones formales. Árboles sintácticos. Ambigüedad.
Página 1/3
Cantidad de horas semanales:8hs.
Anual
Cursado:
1er.Semestre
Cátedra: Sintaxis y Semántica de
los Lenguajes
Departamento: Ingeniería en Sistemas de Información.
Nivel: 2ºaño
Carrera: Ingeniería en Sistemas de Información
Área: Programación
Profesores (Titular-Asociado):León, Oscar A. -Brachetta,
Mariana
Bloque: Tecnologías Básicas
Auxiliares (JTP-Ayudantes): Wilkinson, Pablo. Fariello, Mauricio.
Monetti, Julio, Vargas, Marcela, Palmieri, Romina
Año 2016.
2do.Semestre
Aydte. ad-honorem: Silvia Castell
UNIDAD
TEMÁTICA
LENGUAJES
CONTENIDOS
Referencia
abibliografía
(Nro.)
1.3. Gramáticas independientes del contexto.
1.4. Gramáticas regulares. Gramáticas lineales por derecha e izquierda.
Equivalencia. Lema del bombeo.
1.5. Notaciones BNF y EBNF. Diagramas sintácticos.
2. Máquinas secuenciales y autómatas.
2.1. Máquinas abstractas. Máquinas de Moore y Mealy.
2.2. Autómatas. Equivalencia y minimización.
2.2.1. Representación con expresiones regulares.
2.3. Autómatas finitos deterministas y no deterministas.
2.3.1. Equivalencia entre AFD y AFND.
2.3.2. Gramáticas regulares y AEF.
2.4. Autómatas de pila. Determinísticos y no determinísticos.
2.4.1. Caracterísitcas. Descripción instantánea. Reconocimiento por vaciado de
pila y por estado final.
2.4.2. Gramáticas libres de contexto y AP.
2.5. Autómatas linealmente acotados. Fundamentos sobre Máquinas de Turing.
3. Máquinas y lenguajes.
3.1. Analizadores lexicográficos. Conceptos básicos: lexemas, patrones y tokens.
3.2. Analizadores sintácticos. Análisis Top-Down y Bottom-up. Parsers LL y LR.
4. Introducción a las Semánticas.
4.1. Clases de semánticas: operacional, axiomática, denotacional, de acciones,
algebraica, gramáticas de atributos.
1. Compiladores e intérpretes.
3, 4, 6
1.1. Tipos de traductores. Compiladores, intérpretes, seudo-compiladores.
1.2. Proceso de traducción, enlace y carga.
1.3. Tabla de símbolos. Estructura de datos e implementación.
1.4. Arquitectura de computadoras y lenguajes de máquina. Conjunto de
instrucciones. Proceso de compilación.
1.5. Análisis léxico, sintáctico y semántico. Generación de código intermedio y
objeto.
1.6. Identificadores. Tabla de símbolos. Gestión de memoria. Enlaces estáticos y
dinámicos.
1.7. Concepto de módulo. Interface e implementación. Compilación
independiente.
2
2. Traducción de la semántica de los datos.
2.1. Almacenamiento y gestión de estructuras de datos. Estrategias para la
PROCESO DE
asignación de memoria: estática, pila, montículo. Técnicas para la gestión
TRADUCCIÓN
dinámica de memoria.
2.2. Abstracción de datos. Formatos de representación.
2.3. Sistemas de tipos. Clasificación. Atributos. Verificación y conversión. Tipos
primitivos.
2.4. Implementación de arreglos uni/multidimensionales y asociativos.
2.5. Tipos compuestos. Registros fijos y variantes. Conjuntos. Punteros. Listas.
2.6. Archivos. Procesos de I/O. Formatos de representación.
3. Traducción de la semántica de los enunciados.
3.1. Asignaciones. Expresiones. Operadores.
3.2. Control de ejecución: secuencias, bifurcaciones, iteraciones.
4. Subprogramas.
4.1. Parámetros y pasaje argumentos. Modos de pasaje. Devolución de valores.
4.2. Registro de activación: ámbitos de acceso, tiempo de vida y gestión en
memoria.
Página 2/3
Cantidad de horas semanales:8hs.
Anual
1er.Semestre
Cursado:
Cátedra: Sintaxis y Semántica de
los Lenguajes
Departamento: Ingeniería en Sistemas de Información.
Nivel: 2ºaño
Carrera: Ingeniería en Sistemas de Información
Área: Programación
Profesores (Titular-Asociado):León, Oscar A. -Brachetta,
Mariana
Bloque: Tecnologías Básicas
Auxiliares (JTP-Ayudantes): Wilkinson, Pablo. Fariello, Mauricio.
Monetti, Julio, Vargas, Marcela, Palmieri, Romina
Año 2016.
2do.Semestre
Aydte. ad-honorem: Silvia Castell
UNIDAD
TEMÁTICA
Referencia
abibliografía
(Nro.)
CONTENIDOS
4.3. Ámbitos de referencias estáticas y dinámicas.Sobrecarga.
4.4. Contexto de referencia y mecanismos de vinculación.
BIBLIOGRAFÍA: 3, 4, 6
4) BIBLIOGRAFIA/PUBLICACIONES/GUÍAS DIDÁCTICAS/MATERIAL DE ESTUDIO
Nro.
Autor/es
Título
Editorial
Año de
edición
Principal
Complementaria
1
P. Isasi, P.
Martinez, D.
Borrajo
LENGUAJES, GRAMÁTICAS Y
AUTÓMATAS – Un enfoque práctico
Addison Wesley
1997
2
J. Giró, J.
Vázquez, B.
Meloni, L.
Constable
LENGUAJES FORMALES Y TEORÍA
DE AUTÓMATAS
Alfaomega
2015
X
3
C. Louden
LENGUAJES DE PROGRAMACIÓN
Thomson Ed
2004
X
4
T. W. Pratt – M. LENGUAJES DE PROGRAMACIÓNV. Zelkowitz
Diseño e Implementación
Prentice-Hall
1998
X
5
M. L. Scott
2000
M.
KaufmannPublishers
X
PROGRAMMING LANGUAGE
PRAGMATICS
Lugar y fecha: Mendoza, 8/2/2016
X
DIRECTOR DE CÁTEDRA
Apellido y nombre: León, Oscar A.
N° de Legajo: 24211
Firma:
Página 3/3
Descargar