Syllabus

SCD-1016 LENGUAJES Y AUTOMATAS II

MGTI LUZ MARIA HERNANDEZ CRUZ

lmhernandez@itescam.edu.mx

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

Prerrequisitos
COMPETENCIAS PREVIAS: Definir, diseñar, construir y programar las fases del analizador léxico y sintáctico de un traductor o compilador.

Competencias Atributos de Ingeniería

Normatividad
1.- El alumno se presentará al salón de clases con una tolerancia de 10 minutos después de la hora. 2.- El alumno guardará el debido respeto en el momento de entrar al salón de clases. 3.- El alumno deberá participar en todas las actividades escolares que el instructor indique. 4.- El alumno tendrá que justificar sus faltas ante la direccion académica. 5.- Los trabajos se recibirán en el tiempo y la forma señalada por el instructor. 6.- El alumno no debe de entrar con gorra al salón de clases. 7.- El alumno debe cumplir con el 80% de asistencia como mínimo para poder tener derecho al examen parcial. 8.- El alumno deberá tener su celular en modo silencio o apagado.

Materiales
1.- Material de aprendizaje. 2. Lenguajes de Programación (C++, Java, VB .NET, etc.). 3.-Computadoras Personales.

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.2.4
PARCIAL 2 De la actividad 2.3.1 a la actividad 3.1.4

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Análisis semántico
          1.1. Árboles de expresiones
                   1.1.1. Árboles de expresiones
                           EL ARTE DE PROGRAMAR EN JAVA. Herbert Schildt James Holmes. Editorial McGraw Hill. Pág. 12-16.
                           Árboles semáticos (411690 bytes)
                          
          1.2. Acciones semánticas de un analizador sintáctico
                   1.2.1. Acciones semánticas de un analizador sintáctico
                           Análisis semántico (499004 bytes)
                          
          1.3. Comprobaciones de tipos en expresiones
                   1.3.1. Comprobaciones de tipos en expresiones
                           Verificación de tipos (70782 bytes)
                           http://progsistemasf7.blogspot.mx/2010/10/52-verificacion-tipo-de-expresiones.html
                          
          1.4. Pila semática en un analizador sintáctico
                   1.4.1. Pila semática en un analizador sintáctico
                           Pila semántica (552448 bytes)
                          
          1.5. Esquema de traducción
                   1.5.1. Esquema de traducción
                           http://books.google.com.mx/books?id=Mk1E8RTO1qwC&pg=PA109&dq=An%C3%A1lisis+sem%C3%A1ntico&hl=es-419&sa=X&ei=TOgQUqajBurK2gWSxICYCA&ved=0CEUQ6AEwBTgK#v=onepage&q=An%C3%A1lisis%20sem%C3%A1ntico&f=false
                          
          1.6. Generación de la tabla de símbolos y de direcciones
                   1.6.1. Generación de la tabla de símbolos y de direcciones
                           Tabla de símbolos (198345 bytes)
                          
          1.7. Manejo de errores semánticos
                   1.7.1. Manejo de errores semánticos
                           http://itca-programaciondesistemas.blogspot.mx/2010/10/57-manejo-de-errores-semanticos_22.html
                           http://www.angelfire.com/mac/michelo0/Tema6.html
                           http://programacion-de-sistemas.blogspot.mx/2010/04/unidad-v-analisis-semantico.html
                          
2. Generación de código intermedio
          2.1. Notaciones
                   2.1.1. Prefija
                           Notaciones (104418 bytes)
                           http://pablobamon.blogspot.mx/2009/07/generadores-de-codigo-intermedio.html
                          
                   2.1.2. Infija
                           Notaciones (104418 bytes)
                          
                   2.1.3. Postfija
                           Notaciones (104418 bytes)
                          
          2.2. Representación de código intermedio
                   2.2.1. Notación Polaca
                           http://diegosiza.blogspot.mx/2009/05/generacion-de-codigo-intermedio.html
                           http://www.buenastareas.com/ensayos/Unidad-Vi-Generacion-De-Codigo-Intermedio/2411749.html
                          
                   2.2.2. Código P
                           http://www.buenastareas.com/ensayos/Unidad-Vi-Generacion-De-Codigo-Intermedio/2411749.html
                           http://raknarrok.blogspot.mx/2011/05/r-epresentacion-de-codigo-intermedio.html
                          
                   2.2.3. Triplos
                           http://www.buenastareas.com/ensayos/Unidad-Vi-Generacion-De-Codigo-Intermedio/2411749.html
                           http://raknarrok.blogspot.mx/2011/05/r-epresentacion-de-codigo-intermedio.html
                          
                   2.2.4. Cuádruplos
                           http://www.buenastareas.com/ensayos/Unidad-Vi-Generacion-De-Codigo-Intermedio/2411749.html
                           http://raknarrok.blogspot.mx/2011/05/r-epresentacion-de-codigo-intermedio.html
                          
          2.3. Esquema de generación
                   2.3.1. Variables y constantes
                           Generación de código intermedio (496664 bytes)
                          
                   2.3.2. Expresiones
                           CONSTRUCCION DE COMPILADORES Principios y práctica; Kenneth C. Louden; Editorial Thomson; Pág 428 - 436
                           Generación de Código Intermedio (expresiones) (215226 bytes)
                          
                   2.3.3. Instrucción de asignación
                          
                   2.3.4. Instrucciones de control
                           Generación de Código Intermedio (Control) (276242 bytes)
                           http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r48682.PDF
                          
                   2.3.5. Funciones
                           CONSTRUCCION DE COMPILADORES Principios y práctica; Kenneth C. Louden; Editorial Thomson; Pág 436-442
                           Generación de Código Intermedio (Funciones) (276242 bytes)
                           http://laurel.datsi.fi.upm.es/~rpons/gjsc/final/node7.html
                           http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r48682.PDF
                          
                   2.3.6. Estructuras
                          
3. Optimización
          3.1. Tipos de optimización
                   3.1.1. Locales
                           Optimización (90377 bytes)
                           Tipos de Optimización (Local) (145044 bytes)
                           Tipos de Optimizacion - Local (86806 bytes)
                          
                   3.1.2. Ciclos
                           Tipos de Optimizacion (Ciclos) (145044 bytes)
                           Tipos de Optimizacion - Ciclos (86806 bytes)
                          
                   3.1.3. Globales
                           Tipos de Optimización (Global) (145044 bytes)
                           Tipos de Optimizacion - Global (86806 bytes)
                          
                   3.1.4. De mirilla
                           Tipos de Optimización (De mirilla) (145044 bytes)
                          
          3.2. Costos
                   3.2.1. Costo de ejecución (memoria, registros, pilas)
                           Costos (86806 bytes)
                          
                   3.2.2. Criterios para mejorar el código
                           CONSTRUCCION DE COMPILADORES Principios y práctica; Kenneth C. Louden; Editorial Thomson; Pág 468- 480
                          
                   3.2.3. Herramientas para el análisis del flujo de datos
                          
4. Generación de código objeto
          4.1. Registros
                   4.1.1. Registros
                           Generación de código Objeto (109431 bytes)
                           http://es.scribd.com/doc/58266678/Unidad-8-Generacion-de-Codigo-Objeto
                          
          4.2. Lenguaje ensamblador
                   4.2.1. Lenguaje ensamblador
                           Generación de código objeto (Lenguaje ensamblador) (82537 bytes)
                           http://es.wikipedia.org/wiki/Lenguaje_ensamblador
                           http://silvamondragon.wordpress.com/2010/11/29/4-2-4-lenguaje-ensamblador/
                          
          4.3. Lenguaje máquina
                   4.3.1. Lenguaje máquina
                           Generación de código objeto (Lenguaje máquina) (82537 bytes)
                          
          4.4. Administración de memoria
                   4.4.1. Administración de memoria
                           Administración de la Memoria (51922 bytes)
                           Generación de código objeto (Administrador de memoria) (82537 bytes)
                          

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

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación