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

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS. NOMBRE DEL CURSO: Lenguajes Formales y de Programación

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

PROGRAMA DE LABORATORIO POS-REQUISITO: Primer Semestre 2019 Ing. Mario José Bautista Fuentes AUXILIAR: Nery Galvez

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:

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

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:

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

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

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

DATOS DE IDENTIFICACIÓN DEL CURSO


DESCRIPCIÓN DEL CURSO:

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

UNIVERSIDAD DE GUADALAJARA

Universidad Ricardo Palma Facultad de Ingeniería

Pontificia Universidad Católica del Ecuador

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

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

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

ANX-PR/CL/ GUÍA DE APRENDIZAJE

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

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:

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

Pontificia Universidad Católica del Ecuador

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

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

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

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS

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

Pontificia Universidad Católica del Ecuador

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

Cátedra de Sintaxis y Semántica de Lenguajes

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

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

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:

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

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

Presentación Asignatura

DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas)

Presentación Asignatura

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

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

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

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

NOMBRE DEL CURSO: Organización de Lenguajes y Compiladores 2

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

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

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

Programa de Estudios por Competencias COMPILADORES

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

UNIVERSIDAD DE GUANAJUATO ÁREA ECONÓMICO-ADMINISTRATIVA

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

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

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

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

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

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

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

Procesadores de Lenguajes

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

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

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

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

Presentación de la Asignatura

Procesadores de Lenguajes

Procesadores de Lenguajes

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

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

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

INTELIGENCIA ARTIFICIAL 1

NOMBRE DEL CURSO: Organización de Lenguajes y Compiladores 2

Área a la que pertenece

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

INTELIGENCIA ARTIFICIAL 1

Descriptor. Objetivos (1) Objetivos (2)

ESCUELA: UNIVERSIDAD DEL ISTMO

DESCRIPCIÓN DEL CURSO:

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

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

PRESENTACIÓN Y CONTEXTUALIZACIÓN

ASIGNATURA: COMPILADORS (EUIS-UAB) Aula Teoría Martes 23 Problemas Viernes Aula 23. Profesor Consultas

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

Procesadores de Lenguajes

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

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: Ciencias y Sistemas AREA A LA QUE Ciencias de la PERTENECE: computación 770 Introducción a la programación 1 777 - Organización de Lenguajes y PRE REQUISITOS: 795 Lógica de Compiladores 1 POST REQUISITO: sistemas 772 Estructuras de 960 Matemática para Datos computación 1 CATEGORIA: Obligatorio SEMESTRE: Primero 2017 CATEDRATICO (A): Ing. Damaris Elmer Calel Ramos AUXILIAR: Campos González EDIFICIO: T-3 SECCION: A- SALON DEL CURSO: 215 SALON DEL LABORATORIO: 112 HORAS POR SEMANA HORAS POR SEMANA 2 DEL CURSO: DEL LABORATORIO: 2 DIAS QUE SE IMPARTE DIAS QUE SE IMPARTE Martes EL CURSO: EL LABORATORIO: Sábado HORARIOS DEL CURSO: 7:00-8:50 HORARIO DEL LABORATORIO: 11:00-13:00 DESCRIPCION DEL CURSO El laboratorio tiene como propósito introducir al estuante en el 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. Pretende 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 enfocará 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 realizarán 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 proporcionará al alumno material complementario que le ayude a conocer distintas técnicas en la elaboración de compiladores. RESTRICCIONES Copias 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. Las prácticas y proyectos deben desarrollarse utilizando lenguaje C# Solo se calificarán 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.

EVALUACION La nota final de laboratorio estará ponderada de la siguiente manera: Aspecto Valor Tareas, exámenes cortos y hojas de trabajo... 10 pts. Prácticas: Práctica 1...... 10 pts. Publicación: 13 de febrero Entrega: 27 de febrero Práctica 2...... 10 pts. Publicación: 17 de marzo Entrega: 31 de marzo Proyectos: Proyecto 1...... 30 pts. Publicación: 27 de febrero Entrega: 17 de marzo Proyecto 2...... 30 pts. Publicación: 31 de marzo Entrega: 05 de mayo Examen final...... 10 pts. Total 100 pts. CONTENIDO 1. Lenguajes 1.1. Lenguajes Formales 1.2. Características de lenguajes formales 1.3. Lenguajes de programación 1.4. Características de lenguajes de programación. 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, lexema, reservada

4. Jerarquía de Chomsky 4.1. Niveles de la jerarquía 4.2. Restricciones de las producciones 4.3. Ejemplos 5. Lenguajes regulares y gramáticas regulares 5.1. Definición 5.2. Diseño y construcción de gramáticas regulares 5.3. Arboles de derivación 5.4. Expresiones regulares y relación con gramáticas 5.5. Ejemplos y aplicaciones 6. Autómatas finitos 6.1. Definición 6.2. Tabla de transiciones 6.3. Autómatas Finitos Deterministas (AFD) 6.4. Autómatas Finitos No Deterministas (AFND) 6.5. Implementación de AFD s 7. Método del árbol 7.1. Construcción de arboles 7.2. Calculo de primeros, últimos y siguientes 7.3. Subconjuntos y transiciones 7.4. Implementación del método del árbol 8. Implementación de un analizador léxico 8.1. Tabla de símbolos 8.2. Manejo de errores 9. Lenguajes libres de contexto 9.1. Definición y derivaciones 9.2. Diseño de gramáticas libres de contexto 9.3. Ambigüedad y recursividad 9.4. Implementación de autómatas de pila 9.5. Analizado sintáctico descendente 9.5.1. Analizado sintáctico descendente LL(1) predictivo 9.5.2. Primero y siguientes 9.5.3. Construcción de tabla de análisis sintáctico 9.5.4. Validación de cadenas

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