Silabo Del Curso

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

UNIVERSIDAD NACIONAL DE TRUJILLO

SILABO DE COMPILADORES
I. IDENTIFICACIÓN
1.1. Experiencia Curricular: COMPILADORES
1.2. Facultad: FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
1.3. Para estudiantes de la carrera: INFORMATICA
1.3.1. Sede: Trujillo
1.4. Calendario Académico: 2020-I
1.5. Año/Ciclo Académico: 7
1.6. Código de curso: 1010
1.7. Sección: A
1.8. Creditos: 4
1.9. Número de Rotaciones, veces que se desarrolla la experiencia curricular en el año/ciclo académico: 1
1.10. Duración por vez de rotación (Nro. de Semanas/Días): 15
1.11. Extensión horaria:
1.11.1. Total de horas semanales: 6
- Horas Teoría: 2
- Horas Práctica: 4
1.11.2. Total de Horas Año/Semestre: 96
1.12. Organización del tiempo Anual/Semestral:
Tipo Total Unidad Semana/Día
Actividades Hs I II III Aplazado
- Sesiones Teóricas 30 10 10 10 ---
- Sesiones Prácticas 48 16 16 16 ---
- Sesiones de Evaluación 18 4 4 4 6
Total Horas 96 --- --- --- ---
1.13. Prerrequisitos:
- Cursos:
- SISTEMAS OPERATIVOS II
- Creditos: No necesarios
1.14. Docente(s):
1.14.1. Coordinador(es):
Descripción Nombre Profesión Email
Coordinador General Dr. PEREYRA SALVADOR, Ingeniero Informático [email protected]
PATRICIA GISSELA
II. FUNDAMENTACIÓN Y DESCRIPCIÓN
Esta asignatura es de naturaleza teórico-práctica y tiene por objetivo que los alumnos del VII ciclo de la
carrera de Informática conozcan y apliquen los principios y técnicas de escritura de compiladores. En el
curso se tratará el proceso de compilación, describiendo los componentes de un compilador, el entorno en el
cual trabajan y algunas herramientas de software que facilitan la construcción de compiladores. Los
alumnos realizarán un proyecto de aplicación utilizando como lenguaje de programación C/C++ o Java y
los generadores de código FLEX o JFLEX y BISON o JavaCup.
III. APRENDIZAJES ESPERADOS
Al finalizar el curso el alumno será capaz de aplicar los principios y técnicas de escritura de compiladores
en la construcción de los componentes de un compilador, utilizando el lenguaje de programación C/C++ o
Java y los generadores de código FLEX o JFLEX y BISON o JavaCup.
IV. PROGRAMACIÓN
4.1. UNIDAD 1
4.1.1. Denominación: COMPILADORES
4.1.2. Inicio: 2020-07-06 Termino: 2020-08-08 Número de Semanas/Días: 5
4.1.3. Objetivos de Aprendizaje
Comprender los fundamentos teóricos.
Conocer en detalle las fases del proceso de traducción de programas.
Entender el uso de las expresiones regulares autómatas finitos y gramáticas.
4.1.4. Desarrollo de la Enseñanza-Aprendizaje:
Semana/Dí Actividades y Contenidos
a
Semana/Dí Teoría: Socialización del silabo del curso.
a1 Introducción a los Compiladores: Procesadores de lenguaje.
Inicio: Estructura de un compilador (Análisis léxico, análisis sintáctico, análisis semántico, generación de

Pág. 1
UNIVERSIDAD NACIONAL DE TRUJILLO

2020-07-06 código intermedio, optimización de código, generación de código, administración de la tabla de


Termino: símbolos, agrupamiento de las fases en pasadas, herramientas de construcción de compiladores)
2020-07-11 Práctica: Cuestionario sobre Introducción a los compiladores.
Laboratorio: Instalación y configuración de FLEX
Semana/Dí Teoría: Esquema de un compilador, Componentes.
a2 Práctica: Cuestionario sobre esquema de un compilador y un traductor
Inicio: Laboratorio: Conociendo el entorno de FLEX.
2020-07-13
Termino:
2020-07-18
Semana/Dí Teoría: Máquinas reconocedoras y traductoras
a3 Practica: Ejercicios propuestos
Inicio: Laboratorio: Ejercicios de aplicación en FLEX.
2020-07-20
Termino:
2020-07-25
Semana/Dí Teoría: Evaluación proyecto curso.
a4 Practica: Evaluación proyecto curso.
Inicio: Laboratorio:
2020-07-27 Actividades evaluativas de laboratorio.
Termino:
2020-08-01
Semana/Dí Teoría: Examen de unidad
a5 Práctica: Resolución del examen.
Inicio: Laboratorio:
2020-08-03 Actividades evaluativas de laboratorio.
Termino:
2020-08-08

4.1.5. Evaluación del Aprendizaje:


Semana/Dí Técnica/Instrumento
a
Semana/Dí Rúbrica de evaluación.
a1
Inicio:
2020-07-06
Termino:
2020-07-11
Semana/Dí Rúbrica de evaluación.
a2
Inicio:
2020-07-13
Termino:
2020-07-18
Semana/Dí Rúbrica de evaluación.
a3
Inicio:
2020-07-20
Termino:
2020-07-25
Semana/Dí Rúbrica de evaluación.
a4
Inicio:
2020-07-27
Termino:
2020-08-01
Semana/Dí Rúbrica de evaluación.
a5
Inicio:
2020-08-03
Termino:
2020-08-08
4.2. UNIDAD 2

Pág. 2
UNIVERSIDAD NACIONAL DE TRUJILLO

4.2.1. Denominación: ANÁLISIS LEXICO Y SINTACTICO


4.2.2. Inicio: 2020-08-10 Termino: 2020-09-12 Número de Semanas/Días: 5
4.2.3. Objetivos de Aprendizaje
Implementar analizadores léxicos usando C/C++, FLEX, JFLEX o Java.
Entender las principales técnicas de análisis sintáctico ascendente descendente.
Implementar un analizador sintáctico usando C/C++, BISON, Java o JavaCup.
4.2.4. Desarrollo de la Enseñanza-Aprendizaje:
Semana/Dí Actividades y Contenidos
a
Semana/Dí Teoría: Análisis Léxico.
a6 Practica: Ejercicios de diagrama de transiciones
Inicio: Laboratorio: Ejercicios de aplicación de análisis léxico.
2020-08-10
Termino:
2020-08-15
Semana/Dí Teoría: Análisis Sintáctico.: Funcionamiento del párser Dificultades para la creación de gramáticas.
a7 análisis sintáctico lineal. Diagrama de sintaxis.
Inicio: Practica: Ejercicios propuestos:
2020-08-17 Laboratorio: Instalación y configuración de BISON
Termino:
2020-08-22
Semana/Dí Teoría: Análisis Sintáctico Ascendente: Introducción, Algoritmo de desplazamiento y reducción,
a8 Construcción de tabla de análisis sintáctico SLR,
Inicio: Practica: Ejercicios propuestos
2020-08-24 Laboratorio: Implementación en BISON
Termino:
2020-08-29
Semana/Dí Teoría: Evaluación proyecto curso.
a9 Practica: Evaluación proyecto curso.
Inicio: Laboratorio: Actividades evaluativas de laboratorio.
2020-08-31
Termino:
2020-09-05
Semana/Dí Teoría: Examen de unidad
a 10 Práctica: Resolución del examen.
Inicio: Laboratorio: Actividades evaluativas de laboratorio.
2020-09-07
Termino:
2020-09-12

4.2.5. Evaluación del Aprendizaje:


Semana/Dí Técnica/Instrumento
a
Semana/Dí Rúbrica de evaluación.
a6
Inicio:
2020-08-10
Termino:
2020-08-15
Semana/Dí Rúbrica de evaluación.
a7
Inicio:
2020-08-17
Termino:
2020-08-22
Semana/Dí Rúbrica de evaluación.
a8
Inicio:
2020-08-24
Termino:
2020-08-29
Semana/Dí Rúbrica de evaluación.

Pág. 3
UNIVERSIDAD NACIONAL DE TRUJILLO

a9
Inicio:
2020-08-31
Termino:
2020-09-05
Semana/Dí Rúbrica de evaluación.
a 10
Inicio:
2020-09-07
Termino:
2020-09-12
4.3. UNIDAD 3
4.3.1. Denominación: ANÁLISIS SEMÁNTICO
4.3.2. Inicio: 2020-09-14 Termino: 2020-10-23 Número de Semanas/Días: 5
4.3.3. Objetivos de Aprendizaje
Conocer la función del análisis semántico.
Conocer las técnicas involucradas en la generación de código intermedio u código objeto
eficiente.
4.3.4. Desarrollo de la Enseñanza-Aprendizaje:
Semana/Dí Actividades y Contenidos
a
Semana/Dí Teoría: Análisis Sintáctico Descendente: Introducción, Analizadores sintácticos predictivos,
a 11 conjuntos de predicción y gramáticas LL(1), conversión a gramáticas LL(1), analizadores sintácticos
Inicio: descendentes recursivos (ASDR),
2020-09-14 Practica: Ejercicios propuestos
Termino: Laboratorio: Implementación en BISON
2020-09-18
Semana/Dí Teoría: Tabla de Símbolos: Introducción, tabla de tipos y símbolos
a 12 Práctica: Ejercicios propuestos
Inicio: Laboratorio: Implementación de ejercicios
2020-09-21
Termino:
2020-09-25
Semana/Dí Teoría: Análisis Semántico: Introducción. Atributos y acciones semánticas. Tipos de atributos.
a 13 Notaciones para la especificación de un traductor. Comprobaciones semánticas
Inicio: y Generación de Código Intermedio: Introducción. Tipos de código intermedio. Código intermedio
2020-09-28 para expresiones. Código intermedio para asignaciones. Sentencias de entrada y salida. Sentencia
Termino: condicional. Iteración tipo while
2020-10-02 Practica: Ejercicios Propuestos
Laboratorio: Implementación de ejercicios
Semana/Dí Teoría: Entorno de Ejecución: Organización del almacenamiento. Asignación de espacio en la pila,
a 14 Acceso a los datos no locales en la pila. Administración del montículo, Introducción a la recolección
Inicio: de basura, Recolección basada en el rastreo y basura de pausa corta.
2020-10-05 Practica: Ejercicios Propuestos.
Termino: Laboratorio: Implementación de ejercicios
2020-10-09
Semana/Dí Teoría: Examen de unidad.
a 15 Práctica: Evaluación final de proyecto Laboratorio: Actividades evaluativas de laboratorio
Inicio:
2020-10-12
Termino:
2020-10-16

4.3.5. Evaluación del Aprendizaje:


Semana/Dí Técnica/Instrumento
a
Semana/Dí Rúbrica de evaluación.
a 11
Inicio:
2020-09-14
Termino:

Pág. 4
UNIVERSIDAD NACIONAL DE TRUJILLO

2020-09-18
Semana/Dí Rúbrica de evaluación.
a 12
Inicio:
2020-09-21
Termino:
2020-09-25
Semana/Dí Rúbrica de evaluación.
a 13
Inicio:
2020-09-28
Termino:
2020-10-02
Semana/Dí Rúbrica de evaluación.
a 14
Inicio:
2020-10-05
Termino:
2020-10-09
Semana/Dí Rúbrica de evaluación.
a 15
Inicio:
2020-10-12
Termino:
2020-10-16
4.4. APLAZADO
Semana/Día Técnica/Instrumento
Semana/Día 16 Examen de Aplazado, evaluaciones pertimentes
del curso.
V. NORMAS DE EVALUACIÓN
El alumno aprueba el curso si NP>=10.5
La evaluación se realizará por unidades, conforme a la programación establecida.
NU = (2*EP + TI + 1.5*PF + 1.5*PL) /6 NU = Nota de Unidad.
EP = Nota de Examen Parcial.
TI = Nota de Trabajo de Investigación.
PF = Nota de Proyecto Final (se promediará con cada unidad).
PL = Promedio de Nota de Laboratorio y Participación en Clase.

•La nota promocional (NP) corresponde al promedio simple de los promedios por cada unidad
deaprendizaje.

•No se aceptará presentación de trabajos (incluye laboratorios) fuera de la fecha establecida.

•Los estudiantes que tengan nota promocional desaprobada, rendirán un examen de aplazados.

•La asistencia virtual, tanto a clase teórica como de laboratorio, es obligatoria. Más del 30% de inasistencia
a clases de teoría, práctica y laboratorio inhabilita al alumno a tener promedio final.

•Es deber del alumno, asistir virtualmente a todas las evaluaciones; en caso contrario su calificativo será de
cero (0) en la respectiva evaluación, salvo justificaciones solicitadas por escrito (por correo) ante las
autoridades pertinentes.

•El alumno solamente tendrá derecho a rezagar una evaluación previa justificación ante las autoridades
correspondientes. La justificación deberá realizarse con documentos originales y durante las 48 horas luego
de haberse efectuado la evaluación.

•La evaluación de rezagados será tomada antes de evaluar la tercera unidad, habiendo solamente una fecha
única para tal evaluación.
VI. CONSEJERÍA/ORIENTACIÓN
Propósitos: Brindar orientación académica a los estudiantes del curso.
Día: Martes
Lugar: Se brindará un enlace google meet para la conexión estudiantes-docente. Este enlace será publicado

Pág. 5
UNIVERSIDAD NACIONAL DE TRUJILLO

en el aula virtual el día anterior a la reunión de consejería.


Horario: 9:00 - 11:00 am.
VII. BIBLIOGRAFÍA
1. Gálvez, S y Mora, M. (2005). JAVA A TOPE: Compiladores Traductores y Compiladores con
LEX/YACC. JFLEX/CUP y JAVACC. Universidad de Málaga. ISBN: 84-689-1037-6
http://www.lcc.uma.es/~galvez/ftp/libros/Compiladores.pdf

2. Ruiz, J. (2010). COMPILADORES: Teoría e implementación. Universidad Politécnica de Madrid. ISBN:


978-84-937008-9-8
http://www.rclibros.es/pdf/Cap.1_Compiladores.pdf

3. Aho A, Lam M, Sethi J y Ullman J. (2008). Compiladores principios, técnicas, y herramientas. 2da ed.
México: PERSON Addison Wesley. ISBN: 978-970-26-1133-2
https://www.academia.edu/36447127/Compiladores

4. Tonche, R. (2010). Diseño y desarrollo de un compilador visual para la enseñanza de la robótica.


Instituto Politécnico Nacional. México, D.F..
https://www.repositoriodigital.ipn.mx/bitstream/123456789/6039/1/Tesis%2012321.pdf

5. Pérez, A. (2014). Desarrollo de un compilador para el lenguaje de especificación de eventos en series


temporales TESL. Universidad Politécnica de Madrid.
http://oa.upm.es/32288/1/PFC_JOSE_BARBERA_TORRALVO.pdf

El presente Silabo de la Experiencia Curricular "COMPILADORES", ha sido Visado por el Director de la


ESCUELA ACADEMICO PROFESIONAL DE INFORMATICA, quien da conformidad al silabo registrado
por el docente PEREYRA SALVADOR, PATRICIA GISSELA que fue designado por el jefe del
DEPARTAMENTO ACADEMICO DE INFORMATICA.

Pág. 6

También podría gustarte