asignatura: compiladores codigo · 2019-06-21 · “año de lucha contra la corrupción y la...
TRANSCRIPT
“Año de lucha contra la corrupción y la impunidad”
Página 1
SILABO
ASIGNATURA: COMPILADORES CODIGO:
I DATOS GENERALES
1.1 Departamento Académico: Ingeniería Electrónica e Informática
1.2 Escuela Profesional: Ingeniería Informática
1.3 Carrera Profesional: Ingeniería Informática
1.4 Ciclo de Estudios : 05
1.5 Créditos : 03
1.6 Duración : 16 semanas
1.7 Horas Semanales : 05
1.7.1 Horas de Teoría : 03
1.7.2 Horas de práctica : 02
1.8 Plan de Estudios : 2019
1.9 Inicio de Clases : 15 de abril del 2019
1.10 Finalización de clases : 09 de agosto del 2019
1.11 Requisito : Análisis y diseño de algoritmos, Algebra lineal y numerica
1.12 Docente : Mg. Ing. Cevallos Echevarría Alejandro Néstor (responsable de la asignatura)
1.13 Semestre Académico : 2019-I
“Año de lucha contra la corrupción y la impunidad”
Página 2
II SUMILLA
La asignatura de Compiladores tiene carácter de información especializada correspondiente al quinto semestre de la carrera de Ingeniería de
Sistemas. En la asignatura se aplicarán los conocimientos adquiridos en los cursos de algoritmos, estructura de datos y técnicas de Programación
para desarrollar los algoritmos empleados en el análisis y traducción de un compilador. El desarrollo de los analizadores gramaticales, de léxico y
semántico de los lenguajes de programación de alto nivel ha determinado el desarrollo tecnológico de la informática orientada a la programación.
Permitiendo aplicaciones potentes y sencillas a nivel de usuario. En este desarrollo el compilador juega un papel importantísimo, siendo el nexo
entre el entorno e instrucciones de lenguaje de programación y los lenguajes de bajo nivel o de máquina donde sería engorroso y difícil lograr la
calidad de nuestras aplicaciones.
III COMPETENCIA DE LA ASIGNATURA
Conoce los principios de los lenguajes de programación, arquitectura básica del compilador análisis lexicográfico, sintáctico y semántico de un
realiza generación y optimización de código. Competencias que el alumno debe realizar con responsabilidad, respeto construyendo su
conocimiento por medio de operaciones y habilidades cognitivas que se inducen a través de la “Interacción social”, siendo el rol del docente de
ser facilitador y mediador entre el plano social grupal y el individual del alumno (Lev Vygotsky)
“Año de lucha contra la corrupción y la impunidad”
Página 3
IV CAPACIDADES
C1 LENGUAJES DE PROGRAMACIÓN Y TEORÍA DE LENGUAJES
Distingue las ventajas, desventajas entre diferentes paradigmas de programación. Comprende el proceso global de la traducción de
programas desde código fuente hasta código objeto o ejecutable
C2 ARQUITECTURA BÁSICA DE UN COMPILADOR
Compiladores : clases y estructura básica Diseño del compilador: descripción de las fases, análisis lexicográfico (scanner) Análisis Sintáctico
(Parser), Análisis Semántico, Generación de código intermedio, generación de código objeto, tratamiento y recuperación de errores,
administración de la tabla de símbolos Funciones y reconocimiento de tokens. Especificación de los componentes lexicográficos. Gramáticas
regulares. Tratamiento y recuperación de errores lexicográficos. Sintáctico.
C3 EL COMPILADOR ANÁLISIS SINTÁCTICO
Analizadores sintácticos a partir de la técnica de análisis sintáctico descendente.
C4 EXPRESIONES REGULARES Y AUTÓMATAS
Construcción de autómatas finitos. Autómatas deterministas y autómatas no deterministas.
“Año de lucha contra la corrupción y la impunidad”
Página 4
UNIDAD I
LENGUAJES DE PROGRAMACIÓN Y TEORÍA DE LENGUAJES
Distingue las ventajas, desventajas entre diferentes paradigmas de programación.
SEMANA CONTENIDOS
CONCEPTUALES
CONTENIDOS
PROCEDIMENTALES
CONTENIDOS
ACTITUDINALES
CRITERIOS DE
EVALUACION HORAS
Semana
01
15.04.19
Chomsky y la informática: estudio de los lenguajes formales. Bases fundamentales para la construcción
de compiladores
.
Elabora un cuadro comparativo
de los lenguajes de
programación.
Jerarquía de gramáticas según
Chomsky. Lenguajes,
Gramáticas y Autómatas.
Participación activa en
grupo con responsabilidad
en conocer las
características de los
lenguajes.
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
Semana
02
22.04.19
Evolución de los lenguajes
de programación. Assembler
Fortran, Cobol, C++, Jaba, Python
colabora con
responsabilidad en conocer
las características de los
lenguajes
La evaluación es
permanente y formativa
t en las actividades. 05
Semana
03
29.05.19
Paradigmas de programación:
lenguajes procedurales, Lenguajes
orientados a objetos Revisa en forma grupal
información acerca de los
paradigmas de la
programación.
Colabora con
responsabilidad acerca de
los paradigmas de la
programación.
La evaluación es
permanente y formativa
en las actividades. 05
Semana
04
6.05.19
Uso de software de Conversión: fuente-fuente conversión C++ a jaba conversión C++ a cobol Lenguajes embebidos
Colabora con
responsabilidad acerca de
los paradigmas de la
programación.
La evaluación es
permanente y formativa
en las actividades.
05
TRABAJO ACADÉMICO UNIDAD 1:
Elabora una matriz de lenguajes clasifica según los paradigmas estudiados. Realiza conversión de C++ a Jaba
Fuentes de Información: Paradigmas de Programación (2012) Departamento de Informática Universidad de Valladolid
“Año de lucha contra la corrupción y la impunidad”
Página 5
https://www.infor.uva.es/~cvaca/asigs/docpar/intro.pdf
UNIDAD II
ARQUITECTURA BÁSICA DE UN COMPILADOR
Compiladores : clases y estructura básica Diseño del compilador: descripción de las fases, análisis lexicográfico
SEMANA CONTENIDOS
CONCEPTUALES
CONTENIDOS
PROCEDIMENTALES
CONTENIDOS
ACTITUDINALES
CRITERIOS DE
EVALUACION HORAS
Semana
05
13.05.19
Estructura de un compilador
Análisis de léxico
Análisis sintáctico
Estudia y expone diferencias
entre un compilador y un
intérprete.
Realiza un aplicativo
Basado en intérpretes.
Describe los principios y
Técnicas.
De participación activa y
trabajo en equipo, proactivo
Al exponer sobre los conceptos
básicos del compilador
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
Semana
06
20.05.19
Estructura de un compilador Análisis semántico Generación de código intermedio
De participación activa y
trabajo en equipo, proactivo
Al exponer sobre los conceptos
básicos del compilador
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
Semana
07
27.05.19
Estructura de un compilador Optimización de código
Administración de la tabla de
símbolos
Expone las ventajas que hay
para un procesamiento de
lenguajes en el cual el
compilador produce lenguaje
ensamblador en vez de lenguaje
de máquina.
De participación activa:
en la investigación en la
Descripción de las fases del
proceso de compilación
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
Semana
08
3.06.19
Usa el software” Win Flex-bison” para realizar análisis de léxico
De participación activa:
en la investigación en la
Descripción de las fases del
proceso de compilación
La evaluación es
permanente y
formativa.
05
EXAMEN PARCIAL DE LA UNIDAD 01 Y 02
Fuentes de Información: Aho, Lam, Sethy, Ullman (2008) “compiladores principios, técnicas y herramientas”
“Año de lucha contra la corrupción y la impunidad”
Página 6
UNIDAD III
EL COMPILADOR ANÁLISIS SINTÁCTICO
Analizadores sintácticos a partir de la técnica de análisis sintáctico descendente.
SEMANA CONTENIDOS
CONCEPTUALES
CONTENIDOS
PROCEDIMENTALES
CONTENIDOS
ACTITUDINALES
CRITERIOS DE
EVALUACION HORAS
Semana
09
10.06.19
Traductor simple orientado
a la sintaxis
Definición de sintaxis
Definición de gramáticas
Arboles de derivación Elimina la recursividad por la izquierda con ayuda de algoritmos.
Desarrolla ejercicios sobre
Análisis sintáctico utilizando árboles sintácticos.
Formula proyecto sobre Analizador
sintáctico
Muestra entusiasmo por la
utilización del análisis de la
sintaxis y gramática de
lenguajes.
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades...
05
Semana
10
17.06.19
Traductor simple orientado a la
sintaxis
Derivaciones
Arboles de análisis sintáctico
Muestra entusiasmo por la
utilización del análisis de las
derivaciones
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
Semana
11
24.06.19
Traductor simple orientado a la
sintaxis
Ambigüedad
Asociatividad de los
operadores
Analizador predictivo no
recursivo
Esquema General. Algoritmo.
Construcción de Tabla de Análisis
Muestra entusiasmo por la
utilización del análisis de la
sintaxis respecto a la
ambigüedad y Asociatividad
delos operadores
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
Semana
12
1.07.19
Análisis sintáctico
Tipo arriba-abajo
Análisis sintáctico predictivo
Recursividad a la izquierda
Muestra entusiasmo por la
utilización del análisis
sintáctico al realizar
ejercicios de recursividad a
la izquierda.
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades.
05
TRABAJOS UNIDAD 3:
Fuentes de Información: Aho, Lam, Sethy, Ullman (2008) “compiladores principios, técnicas y herramientas”
“Año de lucha contra la corrupción y la impunidad”
Página 7
UNIDAD IV
EXPRESIONES REGULARES Y AUTÓMATAS
Construcción de autómatas finitos. Autómatas deterministas y autómatas no deterministas.
SEMAN
A
CONTENIDOS
CONCEPTUALES
CONTENIDOS
PROCEDIMENTALES
CONTENIDOS
ACTITUDINALES
CRITERIOS DE
EVALUACION HORAS
Semana
13
8.07.19
Análisis Léxico
Comparación entre análisis léxico
y análisis sintáctico
Tokens, patrones y lexemas
.
Estudia e identifica los
elementos del analizador léxico
y sus funciones en la
compilación.
Desarrolla ejercicios sobre
análisis léxico.
Formula proyecto sobre
Análisis Léxico.
Demuestra interés en la
investigación en la web
sobre aplicaciones de los
microcontroladores.
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades...
05
Semana
14
15.07.19
Autómatas finitos.
Autómatas finitos no
deterministas.
Autómatas finitos deterministas.
Demuestra interés en la
investigación en la web
sobre programación de
microcontroladores
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades...
05
Semana
15
28.07.19
Conversión de un AFN a AFD
Simulación de un AFN
Construcción de un AFN a partir
de una expresión regular.
Diseña autómatas finitos a
partir de gramáticas regulares.
Desarrolla ejercicios sobre
autómatas finitos y expresiones
regulares utilizando algoritmos
Demuestra interés en la
investigación en la web
sobre aplicaciones de los
microcontroladores
La evaluación es
permanente y formativa
teniendo en cuenta el
desempeño del
estudiante en las
actividades...
05
Semana
16
04.08.19
EXAMEN FINAL 05
Fuentes de Información: Aho, Lam, Sethy, Ullman (2008) “compiladores principios, técnicas y herramientas”
“Año de lucha contra la corrupción y la impunidad”
Página 8
VI METODOLOGIA
6.1 Estrategias centradas en el aprendizaje
Aprendizaje basado en planteamiento y solución de problemas variados
Trabajo en grupos
Autoevaluación del trabajo y del aprendizaje.
visita guiada a empresas
6.2 Estrategias centradas en la enseñanza
Trabajos en laboratorio
Modelado por el profesor
Videos e instructivos.
VII RECURSOS PARA EL APRENDIZAJE
Medios Audiovisuales: Proyectores, multimedia, Power Point (PPT), internet.
Material Bibliográfico: separatas y guías de laboratorio.
Medios y Materiales Electrónicos: Google académico, Página Web personal.
“Año de lucha contra la corrupción y la impunidad”
Página 9
VIII EVALUACION:
De acuerdo al COMPENDIO DE NORMAS ACADÉMICAS de esta Superior Casa de Estudios, en su artículo 13° señala lo siguiente: “Los
exámenes y otras formas de evaluación se califican en escala vigesimal (de 1 a 20) en números enteros. La nota mínima aprobatoria es once
(11). El medio punto (0.5) es a favor de estudiante”.
Del mismo modo, en referido documento en su artículo 16°, señala: Los exámenes escritos son calificados por los docentes responsables de la
asignatura y entregados a los estudiantes. Las actas se entregarán a la Dirección de la Escuela Profesional, dentro de los plazos fijados.
Asimismo, el artículo 36° menciona: La asistencia de los estudiantes a las clases es obligatoria; el control corresponde a los docentes de la
asignatura. Si un estudiante acumula el 30% de inasistencias injustificadas totales durante el dictado de una asignatura, queda inhabilitado
para rendir el examen final y es desaprobado en la asignatura, sin derecho a rendir examen de aplazado, debiendo el docente, informar
oportunamente al Director de Escuela.
La evaluación de los estudiantes se realizará de acuerdo a los siguientes criterios:
N° CODIGO NOMBRE DE LA EVALUACION PORCENTAJE
01 EP EXAMEN PARCIAL 30 %
02 EF EXAMEN FINAL 30 %
03 TA TRABAJOS ACADÉMICOS 40 %
TOTAL 100%
“Año de lucha contra la corrupción y la impunidad”
Página 10
La Nota Final (NF) de la asignatura se determinará en base a la siguiente manera:
NF = EP*30% + EF*30% + TA*40%
100
Criterios:
EP = De acuerdo a la naturaleza de la asignatura.
EF = De acuerdo a la naturaleza de la asignatura.
TA = Los trabajos académicos serán consignadas conforme al COMPENDIO DE NORMAS ACADÉMICAS de esta Superior Casa
de Estudios, según el detalle siguiente:
a) Prácticas Calificadas.
b) Informes de Laboratorio.
c) Informes de prácticas de campo.
d) Seminarios calificados.
e) Exposiciones.
f) Trabajos monográficos.
g) Investigaciones bibliográficas.
h) Participación en trabajos de investigación dirigidos por profesores de la asignatura.
i) Otros que se crea conveniente de acuerdo a la naturaleza de la asignatura.
“Año de lucha contra la corrupción y la impunidad”
Página 11
IX FUENTES DE INFORMACION (en APA)
9.1 Bibliográficas
Aho, Lam, Sethy, Ullman (2008) “compiladores principios, técnicas y herramientas” Kenneth C. Louden (2004) “Construcción de compiladores”
Alfonseca; Ortega, Pulido (2006) “Compiladores e intérpretes”
Brookshear J.(1989) “Teoría de la computación, lenguajes formales, autómatas y complejidad”.
Adisson-Wesley. 1989. Wilmington Delaware EUA
Augusto Cortez Vasquez.(2005) “Lenguajes y traductores”.
9.2 Electrónicas
Paradigmas de Programación (2012) Departamento de Informática Universidad de Valladolid
https://www.infor.uva.es/~cvaca/asigs/docpar/intro.pdf
Courseware Univ. Málaga: Traductores, compiladores, e intérpretes
https://ocw.uma.es/course/view.php?id=61
Generadores de analizadores léxicos LEX
https://www.infor.uva.es/~mluisa/talf/docs/labo/L3.pdf
Diseño de Compiladores I YACC: Yet Another Compiler-Compiler
http://www.exa.unicen.edu.ar/catedras/compila1/index_archivos/Herramientas/Yacc.pdf
Diseño de compiladores (2015) yacc y lex
https://www.dlsi.ua.es/asignaturas/pl/downloads/1415/HTyacc-lex.pdf
La Teoría Lingüística de Noam Chomsky: (2014) Universidad del Rosario Bogotá, Colombia
http://www.scielo.org.co/pdf/leng/v42n2/v42n2a08.pdf
“Año de lucha contra la corrupción y la impunidad”
Página 12
Lima, 12 de abril del 2019
________________________________________________
__________________________________________
ING. SANCHEZ CASTILLO EDDYE ARTURO
201065
DRA. ROMERO VALENCIA, MONICA PATRICIA
DEPARTAMENTO ACADEMICO DE LA FIEI
99910