Syllabus

SCD-1015 LENGUAJES Y AUTOMATAS I

MI. DANIEL ALBERTO PANTI GONZALEZ

dapanti@itescam.edu.mx

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

Prerrequisitos
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
1.- El alumno tiene una tolerancia de 15 min. para entrar a clases, después de este tiempo se considerará como falta. 2.- Ante faltas colectivas el tema se dará por visto y el tema será calificado en el examen. 3.- El alumno deberá mantener siempre el respeto hacia sus compañeros y maestros. No se permiten palabras altisonantes. 4.- No se permite entrar al salón con alimentos y bebidas. 5.- No se permiten gorras, shorts; se le pedirá que se retire del salón la persona que no cumpla. 6.- Celulares en modo vibrador. 7.- Aretes en el caso de los varones no está permitido. 8.- Trabajos entregados pasadas las fechas límites no serán aceptados.

Materiales
No se requieren materiales adicionales.

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
                           Alfabeto Definición
                          
          1.2. Cadenas
                   1.2.1. Cadenas
                           Cadena Definición
                          
          1.3. Lenguajes
                   1.3.1. Lenguajes
                           Definiciones 1.1.1-1.1.3 (49152 bytes)
                          
          1.4. Tipos de lenguajes
                   1.4.1. Tipos de lenguajes
                           Tipos (pág 6-16) (72162 bytes)
                          
          1.5. Herramientas computacionales ligadas con lenguajes
                   1.5.1. Herramientas computacionales ligadas con lenguajes
                           Herramientas (tarea incluida) (24064 bytes)
                          
          1.6. Estructura de un traductor
                   1.6.1. Estructura de un traductor
                           Estructura de un traductor (pág 3-10) (200895 bytes)
                          
          1.7. Fases de un compilador
                   1.7.1. Fases de un compilador
                           Del tema 1-5
                           Fases de un compilador (pág 10-19) (200895 bytes)
                          
2. Expresiones regulares
          2.1. Definición formal de una ER
                   2.1.1. Definición formal de una ER
                           Definición formal (nota: incluye los contenidos de la unidad 2) (201728 bytes)
                           Teoría de autómatas, lenguajes y computación. Unidad 3 tema 1
                          
          2.2. Operaciones
                   2.2.1. Operaciones
                           Operaciones (inlcuido en el archivo word del tema 2.1.1)
                           Teoría de autómatas, lenguajes y computación John E. Hopcroft, Pearson Addison Wesley. Unidad 3 tema 1 subtema 2
                          
          2.3. Aplicaciones en pruebas reales
                   2.3.1. Aplicaciones en pruebas reales
                           Aplicaciones (602258 bytes)
                          
3. Autómatas finitos
          3.1. Definición formal
                   3.1.1. Definición formal
                           Introduction to Logic and Automata Apartado 5-1
                          
          3.2. Clasificación de AF
                   3.2.1. Clasificación de AF
                           http://es.wikipedia.org/wiki/Teor%C3%ADa_de_aut%C3%B3matas
                          
          3.3. Conversión de un AFND a AFD
                   3.3.1. Conversión de un AFND a AFD
                           http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito#Conversi.C3.B3n_de_un_AFND-.CE.B5_a_un_AFND
                          
          3.4. Representación de ER usando AFND
                   3.4.1. Representación de ER usando AFND
                           Pag 42
                          
          3.5. Minimización de estados en un AF
                   3.5.1. Minimización de estados en un AF
                           Minimización de estados
                          
          3.6. Aplicaciones
                   3.6.1. Aplicaciones
                           http://dac.escet.urjc.es/~lrincon/uned/ta1/ta1-tema1.pdf
                          
4. Máquinas de Turing
          4.1. Definición formal de una MT
                   4.1.1. Definición formal de una MT
                           Máquinas de turing Teoria y ejemplos
                          
          4.2. Construcción modular de una MT
                   4.2.1. Construcción modular de una MT
                           Archivo 4.1.1
                          
          4.3. Lenguajes aceptados por la MT
                   4.3.1. Lenguajes aceptados por la MT
                           Archivo 4.1.1
                          
5. Análisis léxico
          5.1. Funciones del analizador léxico
                   5.1.1. Funciones del analizador léxico
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 23
                          
          5.2. Componentes léxicos, patrones y lexemas
                   5.2.1. Componentes léxicos, patrones y lexemas
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 28
                          
          5.3. Creación de Tabla de tokens
                   5.3.1. Creación de Tabla de tokens
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 28
                          
          5.4. Errores léxicos
                   5.4.1. Errores léxicos
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 36
                          
          5.5. Generadores de analizadores léxicos
                   5.5.1. Creación de Tabla de tokens
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC Tema 2.4-2.5
                          
          5.6. Aplicaciones
                   5.6.1. Aplicaciones
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 31 y 42
                          
6. Análisis sintáctico
          6.1. GLC
                   6.1.1. GLC
                           http://es.wikipedia.org/wiki/Gram%C3%A1tica_libre_de_contexto
                          
          6.2. Árboles de derivación
                   6.2.1. Árboles de derivación
                           http://teodelacomp.blogspot.mx/2011/03/arboles-de-derivacion.html
                          
          6.3. Formas normales de Chomsky
                   6.3.1. Formas normales de Chomsky
                           http://es.wikipedia.org/wiki/Forma_normal_de_Chomsky
                           http://trevinca.ei.uvigo.es/~formella/doc/talf05/talf/node42.html
                          
          6.4. Diagramas de sintaxis
                   6.4.1. Diagramas de sintaxis
                           http://www.lcc.uma.es:8080/repository/fileDownloader?rfname=LCC829.pdf
                          
          6.5. Eliminación de la ambigüedad
                   6.5.1. Eliminación de la ambigüedad
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 110
                          
          6.6. Generación de matriz predictiva (cálculo de first y follow)
                   6.6.1. Generación de matriz predictiva (cálculo de first y follow)
                           Generación de matriz predictiva (cálculo de first y follow) (117827 bytes)
                          
          6.7. Tipos de analizadores sintácticos
                   6.7.1. Tipos de analizadores sintácticos
                           http://es.wikipedia.org/wiki/Analizador_sint%C3%A1ctico
                          
          6.8. Manejo de errores
                   6.8.1. Manejo de errores
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC pág 113
                          
          6.9. Generadores de analizadores sintácticos
                   6.9.1. Generadores de analizadores sintácticos
                           TRADUCTORES Y COMPILADORES CON LEX/YACC, JFLEX/CUP Y JAVACC tema 4.4
                          

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

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación