Syllabus

SCD-1015 LENGUAJES Y AUTOMATAS I

MGTI LUZ MARIA HERNANDEZ CRUZ

lmhernandez@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
6 3 2 5 Ciencia Ingeniería

Prerrequisitos
COMPETENCIAS PREVIAS: -Diseñar e interpretar algoritmos computacionales y notaciones matemáticas. -Manejar la programación para la solución de aplicaciones. -Aplicar las estructuras de datos en la solución de problemas. -Manipular las operaciones básicas de los archivos.

Competencias Atributos de Ingeniería

Normatividad
-El alumno solo tendrá máximo 10 minutos de tolerancia, considerando retardo a la sesión. Después de los 10 minutos es considerada inasistencia. -Los celulares deberán de estar en modo silencio y NO ser usados durante la sesión de clase. En caso de no cumplir con esta norma el docente levantará el celular hasta que lo considere necesario. -Las Prácticas de clase NO pueden entregarse posterior a la clase en la que deben ser entregadas. -Todas las prácticas, investigaciones y/o programas iguales entre alumnos serán considerados como NO entregados.

Materiales
-Proyector y Pizarrón -Netbeans IDE

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 2.3.1
PARCIAL 2 De la actividad 3.1.1 a la actividad 4.3.1

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Introducción a la Teoría de Lenguajes Formales
          1.1. Alfabeto
                   1.1.1. Alfabeto
                           http://prezi.com/zgltf1_kxqws/introduccion-a-la-teoria-de-lenguajes-formales/
                          
          1.2. Cadenas
                   1.2.1. Cadenas
                           Practique la Teoría de Autómatas Y Lenguajes Formales, Leonardo Alonso Hernández Rodríguez, Loenardo Alonso Hernández,.Ediciones Elizcom Pág 7 - 23
                           Cadenas1 (173079 bytes)
                           Cadenas (125952 bytes)
                          
          1.3. Lenguajes
                   1.3.1. Lenguajes
                           Lenguajes Formales (110950 bytes)
                           Lenguajes (663858 bytes)
                          
          1.4. Tipos de Lenguajes
                   1.4.1. Tipos de Lenguajes
                           Lenguajes, gramáticas y autómatas: un enfoque práctico. Pedro Isasi Viñuela, Addison Wesley. Pág 1 - 8
                           Tipos de Lenguajes (72162 bytes)
                          
          1.5. Herramientas computacionales ligadas con lenguajes
                   1.5.1. Herramientas computacionales ligadas con lenguajes
                           http://www.jegsworks.com/lessons-sp/lesson9/lesson9-2.htm
                          
          1.6. Estructura de un traductor
                   1.6.1. Estructura de un traductor
                           Etapas del proceso de traducción (170567 bytes)
                           http://ing-radjchv-pmz-estl.blogspot.mx/2009/09/14-traductor-y-su-estructura.html
                          
          1.7. Fases de un compilador
                   1.7.1. Fases de un compilador
                           Aho, Sethi, Ullman, Compiladores Principios, técnicas y herramientas, Ed.Addison Wesley.
                           http://compiladorandrea.blogspot.mx/p/fases-de-un-compilador.html
                           http://pahuena.awardspace.com/Compiladores/fases.pdf
                           http://margaespinoza.com/?p=377
                          
2. Expresiones Regulares
          2.1. Definición formal de una ER
                   2.1.1. Definición formal de una ER
                           Apuntes sobre la teoría de autómatas y lenguajes formales. By Pedro Autor Garcia. Pág 71 Capítulo 4
                           Expresiones Regulares (388023 bytes)
                           Expresiones_Regulares (196392 bytes)
                          
          2.2. Operaciones
                   2.2.1. Operaciones
                           http://iie.fing.edu.uy/~vagonbar/unixbas/expreg.htm
                          
          2.3. Aplicaciones en problemas reales
                   2.3.1. Aplicaciones en problemas reales
                           Aplicaciones de ER (241421 bytes)
                          
3. Autómatas Finitos
          3.1. Definición formal
                   3.1.1. Definición formal
                           Autómatas Finitos (66473 bytes)
                           http://automatas-finitos.blogspot.mx/
                           http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito
                          
          3.2. Clasificación de AF
                   3.2.1. Clasificación de AF
                           Clasificaciòn de AF (484519 bytes)
                           http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito_no_determinista
                           http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito_determinista
                          
          3.3. Conversión de un AFND a AFD
                   3.3.1. Conversión de un AFND a AFD
                           Conversión de un AFND a AFD (147042 bytes)
                           De AFND a AFD (93847 bytes)
                          
          3.4. Representación de ER usando AFND
                   3.4.1. Representación de ER usando AFND
                           https://sites.google.com/site/sebastianarguello/filminas-ci1322/filmina-3
                          
          3.5. Minimización de estados en un AF
                   3.5.1. Minimización de estados en un AF
                           Minimización de estados en un AF (304640 bytes)
                          
          3.6. Aplicaciones (definición de un caso de estudio)
                   3.6.1. Aplicaciones (definición de un caso de estudio)
                           Aplicaciones (43720 bytes)
                           http://comprendamos.org/az/alephzero/archivo/historico/az60/automatas60.html
                           http://www.jflap.org/
                          
4. Máquinas de Turing
          4.1. Definición formal MT
                   4.1.1. Definición formal MT
                           Definición formal MT (2197290 bytes)
                           http://teodelacomp.blogspot.mx/2011/03/41-definicion-formal-de-una-maquina.html
                          
          4.2. Construcción modular de una MT
                   4.2.1. Construcción modular de una MT
                           Máquinas de Turing (125159 bytes)
                          
          4.3. Lenguajes aceptados por la MT
                   4.3.1. Lenguajes aceptados por la MT
                           Lenguajes aceptados por la MT (208909 bytes)
                           http://anayjons-lenguajeaceptadoporlamt.blogspot.mx/
                          
5. Análisis léxico
          5.1. Funciones del analizador léxico
                   5.1.1. Funciones del analizador léxico
                           Análisis léxico (190861 bytes)
                           Analizador Léxico Funciones (88622 bytes)
                           http://es.wikipedia.org/wiki/Analizador_l%C3%A9xico
                           http://bloggcompliladores7mo1.blogspot.mx/2010/11/unidad-2_20.html
                          
          5.2. Componentes léxicos, patrones y lexemas
                   5.2.1. Componentes léxicos, patrones y lexemas
                           Componentes léxicos, patrones y lexemas (171181 bytes)
                           Componentes léxicos (171181 bytes)
                          
          5.3. Creación de Tabla de tokens
                   5.3.1. Creación de Tabla de tokens
                           Tabla de símbolos (54520 bytes)
                           http://es.wikipedia.org/wiki/Tabla_de_s%C3%ADmbolos_(compilador)
                          
          5.4. Errores léxicos
                   5.4.1. Errores léxicos
                           http://manejodeerrores.blogspot.mx/
                          
          5.5. Generadores de analizadores Léxicos
                   5.5.1. Generadores de analizadores Léxicos
                           http://www.escet.urjc.es/~procesal/analizadores.html
                          
          5.6. Aplicaciones (caso de estudio)
                   5.6.1. Aplicaciones (caso de estudio)
                          
6. Análisis Sintáctico
          6.1. GLC
                   6.1.1. GLC
                           Análisis Sintáctico (357732 bytes)
                           GLC (45938 bytes)
                          
          6.2. Árboles de derivación
                   6.2.1. Árboles de derivación
                           http://www.suigeneris.org/UCABTI/Arboles%20de%20Derivacion.html
                           https://sites.google.com/site/carloseduardosiordia/arboles-y-construccion-sintactico
                          
          6.3. Formas normales de Chomsky
                   6.3.1. Formas normales de Chomsky
                           FNC (86213 bytes)
                           http://teodelacomp.blogspot.mx/2011/03/forma-normal-de-chomsky.html
                          
          6.4. Diagramas de sintaxis
                   6.4.1. Diagramas de sintaxis
                           Compiladores: Teoría Y Práctica Con Java, Jlex, Cup Y Ens2001 Jacinto Ruiz Catalán Pag 33-39
                           http://es.wikipedia.org/wiki/Diagrama_sintactico
                           http://sysop.comuv.com/progsist/U_4_2.htm
                          
          6.5. Eliminación de la ambigüedad
                   6.5.1. Eliminación de la ambigüedad
                           http://teodelacomp.blogspot.mx/2011/03/37-eliminacion-de-la-ambiguedad.html
                          
          6.6. Generación de matriz predictiva (cálculo first y follow)
                   6.6.1. Generación de matriz predictiva (cálculo first y follow)
                           Matriz Predictiva (292393 bytes)
                          
          6.7. Tipos de analizadores sintácticos
                   6.7.1. Tipos de analizadores sintácticos
                           Tipos de analizadores sintácticos (951129 bytes)
                           http://www.ecured.cu/index.php/Analizador_sint%C3%A1ctico_ascendente
                           http://www.ecured.cu/index.php/Analizador_sint%C3%A1ctico_descendente
                          
          6.8. Manejo de errores
                   6.8.1. Manejo de errores
                           http://es.scribd.com/doc/35268811/11/Tipos-de-Analizadores-Sintacticos
                          
          6.9. Generadores de analizadores sintácticos
                   6.9.1. Generadores de analizadores sintácticos
                           http://es.wikipedia.org/wiki/Categor%C3%ADa:Generadores_de_analizadores_sint%C3%A1cticos
                           http://dinosaur.compilertools.net/
                           http://www.gnu.org/software/bison/
                           http://www.dabeaz.com/ply/
                           http://www.antlr.org/
                          

Prácticas de Laboratorio (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación