NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

Documentos relacionados
NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

PROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:

NOMBRE DEL CURSO: Organización de Lenguajes y Compiladores 2 CÓDIGO: 781 CRÉDITOS: 5 ÁREA A LA QUE PERTENECE:

NOMBRE DEL CURSO: Organización de Lenguajes y Compiladores 2 CÓDIGO: 781 CRÉDITOS: 5 ÁREA A LA QUE PERTENECE: POST- REQUISITO:

UNIVERSIDAD DE GUADALAJARA

Nombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación

NOMBRE DEL CURSO: Organización de Lenguajes y Compiladores 2 CÓDIGO: 781 CRÉDITOS: 5 ÁREA A LA QUE PERTENECE: POST-REQUISITO:

Horas teóricas: Horas practicas: Área de conocimiento a la que pertenece

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO. Obligatoria Programa elaborado por:

DATOS DE IDENTIFICACIÓN DEL CURSO


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas ALGORITMIA AVANZADA

UNIVERSIDAD DE GUADALAJARA

Pontificia Universidad Católica del Ecuador

DESCRIPCIÓN DEL CURSO:

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS

Universidad Ricardo Palma Facultad de Ingeniería

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

Nombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Procesadores de lenguajes. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Nombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación

ANX-PR/CL/ GUÍA DE APRENDIZAJE

Laboratorio de Introducción a la Programación y Computación 2 POST REQUISITO:

Benemérita Universidad Autónoma de Puebla Vicerrectoría de Docencia Dirección General de Educación Superior Facultad deciencias de la Computación

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA ESCUELA DE CIENCIAS Y SISTEMAS. CÓDIGO: 771 CRÉDITOS: 5 ESCUELA: Ciencias y Sistemas ÁREA A LA QUE PERTENECE:

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

Pontificia Universidad Católica del Ecuador

Pontificia Universidad Católica del Ecuador

ANX-PR/CL/ GUÍA DE APRENDIZAJE

TITULACIÓN Ingeniero Técnico en Informática de Sistemas ASIGNATURAS DE SEGUNDO CURSO DEL PLAN 1999 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES PROGRAMA:

Campos Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Cátedra de Sintaxis y Semántica de Lenguajes

BENÉMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA VICERRECTORÍA DE DOCENCIA DIRECCIÓN GENERALDE EDUCACIÓN SUPERIOR FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

Compiladores e Intérpretes

PLANIFICACIÓN SEMANAL DE LA ASIGNATURA

Benemérita Universidad Autónoma de Puebla Vicerrectoría de Docencia Dirección General de Educación Superior Facultad de Ciencias de la Computación

Nº 1: INTRODUCCIÓN A LA TEORÍA DE LA COMPUTACIÓN

Benemérita Universidad Autónoma de Puebla Vicerrectoría de Docencia Dirección General de Educación Superior Facultad de Ciencias de la Computación

SÍLABO DEL CURSO DE COMPILADORES Y LENGUAJES DE PROGRAMACIÓN

Programa de la asignatura Curso: 2008 / 2009 AUTÓMATAS Y LENGUAJES FORMALES (1314)

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Traductores de lenguajes de programacion. CURSO ACADÉMICO - SEMESTRE Segundo semestre

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 2.

INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Presentación Asignatura

Presentación Asignatura

DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas)

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD DE GUANAJUATO ÁREA ECONÓMICO-ADMINISTRATIVA

Nº 1: INTRODUCCIÓN A LA TEORÍA DE LA COMPUTACIÓN

Descriptor. Máquinas secuenciales y autómatas finitos. Gramáticas y lenguajes formales. Construcción de intérpretes y compiladores.

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado

Se impartirán clases presenciales para fortalecer el conocimiento de las distintas estructuras de datos

División Académica de Informática y Sistemas

Programa de Estudios por Competencias COMPILADORES

Guía Docente. Tipo: Obligatoria Créditos ECTS: 6. Curso: 4 Código: 3639

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.

INSTITUTO POLITECNICO NACIONAL SECRETARIA ACADEMICA DIRECCION DE ESTUDIOS PROFESIONALES EN INGENIERIA Y CIENCIAS FISICO MATEMATICAS

Programa Regular. Asignatura: Lenguajes Formales y Autómatas. Carrera: Ingeniería en Informática. Ciclo Lectivo: Segundo Cuatrimestre 2017

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO División de Docencia Dirección de Planeación y Desarrollo Educativo

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Licenciatura en Ciencias de la Computación. Facultad de Ciencias. Programa de la asignatura.

AUTÓMATAS, GRAMÁTICAS Y LENGUAJES

18 Análisis sintáctico III Compiladores - Profr. Edgardo Adrián Franco Martínez. Clasificación de métodos de análisis sintáctico Análisis descendente

INSTITUTO POLITECNICO NACIONAL SECRETARIA ACADEMICA DIRECCION DE ESTUDIOS PROFESIONALES EN INGENIERIA Y CIENCIAS FISICO MATEMATICAS

ESCUELA: UNIVERSIDAD DEL ISTMO

Procesadores de Lenguajes

DATOS DE IDENTIFICACIÓN. Materia: Introducción a la teoría de los lenguajes formales Definición de alfabeto ETAPA PREINSTRUCCIONAL

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Área a la que pertenece

Procesadores de Lenguajes

Procesadores de Lenguajes

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

Presentación de la Asignatura

PRESENTACIÓN Y CONTEXTUALIZACIÓN

NOMBRE DEL CURSO: Introducción a la Programación y computación 1

Carácter Modalidad Horas de estudio semestral (16 semanas)

ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA GRADO DE INGENIERÍA INFORMÁTICA. Curso 2016/17. Asignatura: PROCESADORES DE LENGUAJES

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA POR COMPETENCIAS I. DATOS DE IDENTIFICACIÓN

Descriptor. Objetivos (1) Objetivos (2)

MODALIDAD ACADÉMICA. Sintaxis y Semántica de Lenguajes (SSL) INGENIERÍA EN SISTEMAS DE INFORMACIÓN

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE INGENIERÍA MECÁNICA INDUSTRIAL ÁREA A LA QUE PERTENECE: AUXILIAR:

Toda copia en PAPEL es un "Documento No Controlado" a excepción del original.

PROCESADORES DEL LENGUAJE I

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

Análisis sintáctico Analizadores descendentes

Secretaría de Docencia Dirección de Estudios Profesionales

Procesadores de Lenguajes

CÓDIGO: 773 CRÉDITOS: 4 POST REQUISITO: CATEGORÍA: Obligatorio SEMESTRE: 1er AUXILIAR:

Tema 6: Compiladores e intérpretes. Teoría de autómatas y lenguajes formales I

Ciencias y Sistemas AREA: CATEGORIA: Obligatorio SECCION: B HORAS POR SEMANA DEL CURSO: POSTREQUISITO: Sabado Jueves DIAS DE

Transcripción:

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación CODIGO: 796 CREDITOS: 3 ESCUELA: PRE REQUISITOS: Ciencias y Sistemas 770 Introducción a la programación 1 795 Lógica de sistemas AREA A LA QUE PERTENECE: POST REQUISITO: Ciencias de la computación 777 - Organización de Lenguajes y Compiladores 1 772 Estructuras de 960 Matemática para Datos computación 1 CATEGORIA: Obligatorio SEMESTRE: 2do. 2017 CATEDRATICO (A): Ing. Otto Rodríguez TUTOR ACADEMICO: EDIFICIO: T-3 SECCION: A+ SALON DEL CURSO: 216 HORAS POR SEMANA DEL CURSO: DIAS QUE SE IMPARTE EL CURSO: 2 Martes HORARIOS DEL CURSO: 7:10-8:50 DESCRIPCION DEL CURSO SALON DEL LABORATORIO: HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO: HORARIO DEL LABORATORIO: Robin Navarro T-3 215 2 Martes 9:10-10:50 El laboratorio tiene como propósito introducir al estuante de ciencias de la computación al estudio, análisis, comprensión e implementación de lenguajes de programación bajo una estructura genérica que contribuya al desarrollo de un compilador básico y funcional, abarcando las fases de análisis léxico, análisis sintáctico e introducción al análisis semántico. Comprende también, mostrar métodos que faciliten la creación de analizadores léxicos por medio de algoritmos programados. La parte final del laboratorio se enfocara en la enseñanza de técnicas para la creación de analizadores sintácticos, modelados mediante una gramática formal, y las técnicas para la recuperación de errores durante el análisis.

OBJETIVOS: Objetivo General Que el estudiante adquiera los conocimientos básicos sobre el funcionamiento de un compilador, y los ponga en práctica en la construcción de las primeras fases de este. Objetivos Específicos Aplicar las técnicas y conocimientos adquiridos en clase en la implementación de un analizador léxico. Crear un analizador sintáctico basándose en las técnicas y herramientas aprendidas en clase. Aprender los principios básicos de la creación y utilización eficiente de la tabla de símbolos, relacionándola con las fases de análisis. METODOLOGIA Se impartirán clases presenciales con material audiovisual que se proporcionara al estudiante al terminar la clase. Durante el semestre se elaborarán tareas y exámenes cortos para complementar el contenido del curso, y que el estudiante mejore sus habilidades en el diseño y construcción de compiladores. Se realizaran prácticas y proyectos para poder evaluar los conceptos adquiridos en clase, tomando en cuenta que pueden incluirse temas de cursos pre requisitos. Además de la bibliografía recomendada, se proporcionara al alumno material complementario que le ayude a conocer distintas técnicas en la elaboración de compiladores. RESTRICCIONES Copiar parciales o totales de información de internet, textos y otros, en la elaboración de las tareas serán sancionadas. Copias en las prácticas y proyectos serán sancionadas y reportadas al catedrático y escuela de sistemas. Las tareas enviadas deben poseer el formato establecido y ser enviadas en la fecha y hora establecidas. OBSERVACIONES El laboratorio se debe aprobar con una nota mínima de 61 puntos, además de contar con un 80% de asistencia. Solo se calificaran exámenes, proyectos y demás actividades, a estudiantes asignados. No se guarda notas para semestres posteriores, no se pasan notas de semestres anteriores, y no se aceptan estudiantes con problemas de prerrequisitos.

EVALUACIÓN DEL REDIMIENTO ACADÉMICO: El laboratorio se evalúa sobre una nota de 100 puntos, la nota mínima de promoción es de 61 puntos, y se debe cumplir con las normas establecidas para poder aprobar el curso: La nota final de laboratorio estará ponderada de la siguiente manera: Aspecto Valor: Hojas de trabajo... 5 pts. Practicas: Practica 1. 10 pts. Practica 2. 15 pts. Proyectos: Proyecto 1.. 25 pts. Proyecto 2.. 35 pts. Examen final.. 10 pts. BIBLIOGRAFIA Texto recomendado: Aho, Alfred V., Sethi, Ravi y Ullman. Compiladores, principios, técnicas y herramientas. Segunda Edición. México: Pearson Educación, 2008. Adicional: John E Hopcroft. Introducción a la Teoría de Autómatas, Lenguajes y computación. Louden, Kenneth C. Construcción de compiladores/ Construction of compilers: Principios y práctica. 2004. Eliza Viso G. Teoría de Computación. UNAM 2002

CONTENIDO: 1. Lenguajes formales 1.1. Definición Lenguajes Formales 1.2. Características de lenguajes formales 1.3. Lenguajes de programación 1.4. Características de lenguajes de programación. 1.5. Gramáticas 2. Introducción a compiladores 2.1. Qué es un compilador? 2.2. Qué es un intérprete? 2.3. Diferencias entre compiladores e interpretes 2.4. Fases de un compilador 2.5. Ejemplos de compiladores e interpretes 3. Análisis léxico 3.1. Análisis lexicográfico 3.2. Token, Patrón y Lexema 3.5 Errores léxicos 4. Jerarquía de Chomsky 4.1 Niveles 4.2 Restricciones 4.3 Ejemplos 5. Lenguajes regulares y gramáticas regulares 5.1. Definición. 5.2. Diseño y construcción 5.3. Arboles de derivación 5.4. Ejemplos y aplicaciones 6. Expresiones regulares 6.1. Definición y propiedades 6.2. Diseño y construcción 6.3. Relación gramáticas regulares Expresiones regulares 7. Autómatas finitos 7.1. Definición 7.2. Límites de los Autómatas Finitos Deterministas (AFD) 7.3. Autómatas Finitos Deterministas (AFD) 7.4. Autómatas Finitos No Deterministas (AFND) 7.5. Implementación de AFD s 8. Método de Thompson 8.1. Nomenclatura 8.2. Cerraduras y subconjuntos 8.3. Transiciones

9. Método del árbol 9.1 Construcción de arboles 9.2 Calculo de primeros, últimos y siguientes 9.3 Subconjuntos y transiciones 9.4 Implementación del método del árbol 10. Implementación de un analizador léxico 10.1 Tabla de símbolos 10.2 Programación de autómata finito 10.3 Manejo de errores 11. Lenguajes libres de contexto 11.1 Definición y derivaciones 11.2 Diseño y construcción de gramáticas libres de contexto 11.3 Ambigüedad y recursividad 11.4 Factorización por la izquierda 11.5 Eliminación de recursividad por la izquierda 11.6 Implementación de autómatas de pila 11.7 Analizado sintáctico descendente 11.7.1 Analizador sintáctico descendente LL(1) predictivo 11.7.2 Primero y siguientes 11.7.3 Construcción de tabla de análisis sintáctico 11.7.4 Validación de cadenas 11.7.5 Recuperación de errores sintácticos