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 (10482 bytes) Introducción a la Materia (75264 bytes) http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema21.htm 1.1.2. Aplicación Programación de Sistemas (76800 bytes) http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema12.htm 1.2. Lenguajes 1.2.1. Naturales Lenguajes Naturales y Formales (29696 bytes) Lenguaje Natural (39424 bytes) 1.2.2. Artificiales Lenguaje Artificial (122528 bytes) http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema11.htm 1.2.3. Comunicación Comunicación (39424 bytes) http://www.cs.famaf.unc.edu.ar/~pln/ 1.3. Traductor 1.3.1. Ensambladores Ensamblador (31232 bytes) http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema221.htm 1.3.2. Compiladores Definición de Compilador (103936 bytes) Diseño de Compiladores. Principios y Técnicas; Addison Wesley. Aho, Sethi, Ullman; Segunda Edición, 2002. Pags 1 y 2 Traductores (89600 bytes) http://www.monografias.com/trabajos11/compil/compil.shtml#intro 1.3.3. Intérpretes Definición de Intérpretes (29696 bytes) Descripción de un Intérprete (208096 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 (34304 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 (33792 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 (208096 bytes) 2.2.2. Diseño Detallado Lenguajes de Programación (208096 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 (118784 bytes) Autómatas Finitos Determinísticos (155136 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 (79360 bytes) Expresiones Regulares - Definiciones (64000 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 (34816 bytes) Análisis Léxico (57856 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 (692609 bytes) Analizador Léxico (32256 bytes) 3.2.2. Tabla de Símbolos Tabla de Símbolos (81408 bytes) http://sistemas.itlp.edu.mx/tutoriales/progsis1/tema34.htm 3.2.3. Administración de Errores Tipos y Análisis (52736 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 (895393 bytes) 3.2.4. Herramientas Jtlex (53942 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 (69120 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 (34816 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 (25600 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 (129675 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 (214097 bytes) 4.2.3. Administración de la Tabla de Símbolos Tabla de Símbolos (78848 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 (401292 bytes) 4.2.5. Generadores de Código Tutorial de Yacc (25961 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 (25088 bytes) Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 288-302 Análisis Semántico (198345 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 (102797 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 (118831 bytes) 5.2.2. Administración de la Tabla de Símbolos Análisis Semántico. Administración (124223 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 (164328 bytes) |
6. Generación de Código Intermedio
6.1. Lenguajes Intermedios 6.1.1. Arbol Semántico Generación de Representaciones Semánticas (104960 bytes) Generador de Código (31744 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 (74752 bytes) Aho, Alfred; Sethi, Ravi; Ullman, Jeffrey. Compiladores, Principios, Técnicas y herramientas. Addison - Wesley.1998. pags 480-487 Representaciones Intermedias (108386 bytes) Código Intermedio (162356 bytes) 6.1.3. Notación postfija, polaca inversa o RPN Notación Polaca Inversa (58880 bytes) 6.2. Notaciones 6.2.1. Infija Notación Infija (27136 bytes) Traducción de una Expresión (210944 bytes) 6.2.2. Postfija Algoritmo de Postfija (24576 bytes) 6.2.3. Prefija Control Implícito y Explícito (33004 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 (348190 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 (104418 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 (276242 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 (90377 bytes) 7.1.2. Bucles Optimización (76288 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 (68888 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 (179389 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 (86806 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 (67363 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 (317026 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 (98304 bytes) http://homepage.mac.com/eravila/asmix86.html 8.2.2. Almacenamiento Conceptos Básicos de Ensamblador (45056 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 (1979904 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 (20232024P) |
Fecha |
Hora |
Grupo |
Aula |
Práctica |
Descripción |
Cronogramas (20232024P) | |||
Grupo | Actividad | Fecha | Carrera |
Temas para Segunda Reevaluación |