Syllabus

SCC-0425 Programación de Sistemas

DR. JOSE LUIS LIRA TURRIZA

jlira@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
5 4 2 10

Prerrequisitos
TEORIA DE LA COMPUTACION. 1)Conocimiento de Autómatas basados en Gramáticas Libres de Contexto. 2) Conocimientos del diseño, clasificación y validación de Lenguajes.
PROGRAMACION ORIENTADA A OBJETOS. 1) Creación de Programas en Lenguaje Java con características de Manejo de Cadenas y Archivos

Competencias Atributos de Ingeniería

Normatividad
1. Cumplir con todas las entregas en tiempo y forma
2. Los documentos de entrega deberán ser en formato Digital (PDF)
3. La entrega es personal
4. El programa Final de entrega debe ser 100 funcional y hacer mínimo lo acordado en clase.

Materiales
No se requieren materiales adicionales a los especificados en la programación de clases.

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 3.2.4
PARCIAL 2 De la actividad 4.1.1 a la actividad 5.2.3

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Introducción a la Programación de Sistemas
          1.1. Introducción
                   1.1.1. Definición
                           Introducción a la Materia
                           Lenguajes de Programación ( bytes)
                           Introducción a la Materia ( bytes)
                           http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema21.htm
                          
                   1.1.2. Aplicación
                           Programación de Sistemas ( bytes)
                           http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema12.htm
                          
          1.2. Lenguajes
                   1.2.1. Naturales
                           Lenguajes Naturales y Formales ( bytes)
                           Lenguaje Natural ( bytes)
                          
                   1.2.2. Artificiales
                           Lenguaje Artificial ( bytes)
                           http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema11.htm
                          
                   1.2.3. Comunicación
                           Comunicación ( bytes)
                           http://www.cs.famaf.unc.edu.ar/~pln/
                          
          1.3. Traductor
                   1.3.1. Ensambladores
                           Ensamblador ( bytes)
                           http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema221.htm
                          
                   1.3.2. Compiladores
                           Definición de Compilador ( bytes)
                           Diseño de Compiladores. Principios y Técnicas; Addison Wesley. Aho, Sethi, Ullman; Segunda Edición, 2002. Pags 1 y 2
                           Traductores ( bytes)
                           http://www.monografias.com/trabajos11/compil/compil.shtml#intro
                          
                   1.3.3. Intérpretes
                           Definición de Intérpretes ( bytes)
                           Descripción de un Intérprete ( bytes)
                           http://www.todo-programacion.com.ar/archives/2005/04/interpretes_y_c.html
                           http://www.ii.uam.es/~alfonsec/docs/compila1.htm
                          
2. Diseño de Lenguajes de Programación
          2.1. Introducción
                   2.1.1. Visión del Problema
                           Visión del Problema ( bytes)
                           Diseño de Compiladores. Principios y Técnicas; Addison Wesley. Aho, Sethi, Ullman; Segunda Edición, 2002. Pags 4-15
                          
                   2.1.2. Consideraciones Preliminares
                           Consideraciones Preliminares ( bytes)
                           Diseño de Compiladores. Principios y Técnicas; Addison Wesley. Aho, Sethi, Ullman; Segunda Edición, 2002. Pags 15-23
                          
          2.2. Diseño
                   2.2.1. Objetivos y Filosofías
                           Diseño de Lenguajes de programación ( bytes)
                          
                   2.2.2. Diseño Detallado
                           Lenguajes de Programación ( bytes)
                          
                   2.2.3. Caso de Estudio
                           Diseño de Compiladores. Principios y Técnicas; Addison Wesley. Aho, Sethi, Ullman; Segunda Edición, 2002. Pag 24
                          
3. Análisis Léxico
          3.1. Definiciones Preliminares
                   3.1.1. Autómatas Finitos
                           Conceptos Básicos ( bytes)
                           Autómatas Finitos Determinísticos ( bytes)
                           Kaern A. Lemone;Fundamentos de Compiladores; Continental. 1996. pags 31-
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 115-118
                          
                   3.1.2. Expresiones Regulares
                           Expresiones Regulares ( bytes)
                           Expresiones Regulares - Definiciones ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 96-99,123-128
                           Karen A. Lemone;Fundamentos de Compiladores; Continental. 1996. pags 36-39
                          
                   3.1.3. Analizador Léxico
                           Compiladores. Estructura y Funcionamiento ( bytes)
                           Análisis Léxico ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 85-88
                           http://www.gedlc.ulpgc.es/docencia/seminarios/rit/Analisis_lexico/sld001.htm
                          
          3.2. Diseño
                   3.2.1. Manejo de Memoria Temporal
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 90-93
                           Análisis Léxico ( bytes)
                           Analizador Léxico ( bytes)
                          
                   3.2.2. Tabla de Símbolos
                           Tabla de Símbolos ( bytes)
                           http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema34.htm
                          
                   3.2.3. Administración de Errores
                           Tipos y Análisis ( bytes)
                           Karen A. Lemone;Fundamentos de Compiladores; Continental. 1996. pags 40
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 90
                           Administración de la TS ( bytes)
                          
                   3.2.4. Herramientas
                           Jtlex ( bytes)
                           http://dinosaur.compilertools.net/
                           http://www-lt.ls.fi.upm.es/compiladores/Herramientas.html
                          
4. Análisis Sintáctico
          4.1. Definiciones Preliminares
                   4.1.1. Gramáticas Libres de Contexto
                           Gramática Libre de Contexto ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 169-174
                          
                   4.1.2. Diagramas de Sintaxis
                           Diagramas de Sintaxis ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 188
                          
                   4.1.3. Analizador Sintáctico
                           Análisis Sintáctico ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 163-165
                          
          4.2. Diseño
                   4.2.1. Analizador Descendente
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 186-200
                           Análisis Sintáctico Descendente ( bytes)
                          
                   4.2.2. Analizador Ascendente
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 200-250
                           Análisis Ascendente ( bytes)
                          
                   4.2.3. Administración de la Tabla de Símbolos
                           Tabla de Símbolos ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 452-453
                          
                   4.2.4. Administración de Errores
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 165-169
                           Manejo de Errores ( bytes)
                          
                   4.2.5. Generadores de Código
                           Tutorial de Yacc ( bytes)
                           http://dinosaur.compilertools.net/#yacc
                          
5. Análisis Semántico
          5.1. Definiciones Preliminares
                   5.1.1. Analizador Semántico
                           Análisis Semántico ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 288-302
                           Análisis Semántico ( bytes)
                           http://www.ii.uam.es/~alfonsec/docs/compila5.htm
                          
                   5.1.2. Tipos de Datos
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 355-360
                           Tipos de Datos ( bytes)
                          
          5.2. Diseño
                   5.2.1. Conversión de Tipos
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 360-376
                           Atributos Sintetizados ( bytes)
                          
                   5.2.2. Administración de la Tabla de Símbolos
                           Análisis Semántico. Administración ( bytes)
                           http://www.monografias.com/trabajos11/compil/compil.shtml#par
                          
                   5.2.3. Administración de Errores
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 360
                           Analisis Semántico ( bytes)
                          
6. Generación de Código Intermedio
          6.1. Lenguajes Intermedios
                   6.1.1. Arbol Semántico
                           Generación de Representaciones Semánticas ( bytes)
                           Generador de Código ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 478-480
                          
                   6.1.2. Código de Tres Direcciones
                           Representaciones Gráficas ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 480-487
                           Representaciones Intermedias ( bytes)
                           Código Intermedio ( bytes)
                          
                   6.1.3. Notación postfija, polaca inversa o RPN
                           Notación Polaca Inversa ( bytes)
                          
          6.2. Notaciones
                   6.2.1. Infija
                           Notación Infija ( bytes)
                           Traducción de una Expresión ( bytes)
                          
                   6.2.2. Postfija
                           Algoritmo de Postfija ( bytes)
                          
                   6.2.3. Prefija
                           Control Implícito y Explícito ( bytes)
                          
          6.3. Esquemas de Generación
                   6.3.1. Expresiones
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 502-510
                           Esquemas de Generación ( bytes)
                          
                   6.3.2. Declaración de Variables y Constantes
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 487-491
                           Esquemas de Generación en C ( bytes)
                          
                   6.3.3. Estatutos de Asignación, Condicional y Ciclos
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 492,511-523
                           Esquemas de Ciclos, Asignación y Condicional ( bytes)
                          
                   6.3.4. Arreglos y Funciones
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 521-523
                          
7. Optimización
          7.1. Tipos de Optimización
                   7.1.1. Locales
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 610-612
                           Optimización de código ( bytes)
                          
                   7.1.2. Bucles
                           Optimización ( bytes)
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 678
                          
                   7.1.3. Globales
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 626-632
                           Optimización Global ( bytes)
                          
          7.2. Costos
                   7.2.1. Costos de Ejecución
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 401-413
                           Maquinas Virtuales ( bytes)
                          
                   7.2.2. Criterios de Mejoramiento
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 651-660
                           Costos de Optimización ( bytes)
                          
                   7.2.3. Herramientas para el análisis del flujo de Datos
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 698-700
                           Compilador Optimizador ( bytes)
                          
8. Generación de Código Objeto
          8.1. Lenguaje Máquina
                   8.1.1. Características
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 530-535
                           Características del Lenguaje Máquina ( bytes)
                          
                   8.1.2. Direccionamiento
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 538-540
                          
          8.2. Lenguaje Ensamblador
                   8.2.1. Características
                           Ensamblador ( bytes)
                           http://homepage.mac.com/eravila/asmix86.html
                          
                   8.2.2. Almacenamiento
                           Conceptos Básicos de Ensamblador ( bytes)
                          
          8.3. Registros
                   8.3.1. Distribución
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 558
                          
                   8.3.2. Asignación
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 560
                          
          8.4. Memoria
                   8.4.1. Administración
                           Administración de Memoria ( bytes)
                          
                   8.4.2. Optimización
                           Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 570
                          

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

Cronogramas (20212022P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación