Download silabo - facultad de ingenieria de sistemas

Document related concepts

Lisp wikipedia , lookup

Meta Lenguaje wikipedia , lookup

Joy (lenguaje de programación) wikipedia , lookup

Programación funcional wikipedia , lookup

Transcript
FACULTAD DE INGENIERÍA DE SISTEMAS
SÍLABO
I. DATOS GENERALES:
1.1 CURSO
: COMPILADORES
1.2 CODIGO
: IV1066
1.3 CICLO
: VI
1.4 CREDITOS
:3
1.5 HORAS SEMANALES
: 4 HORAS (Teoría: 02; Laboratorio: 02)
II. FUNDAMENTACION:
La asignatura de Compiladores forma parte del soporte adecuado en Ciencias
de la Computación que el ingeniero de Sistemas necesita para dominar las
teorías, metodologías y técnicas de las disciplinas de Sistemas de Información,
y así proponer soluciones tecnológicas a las necesidades de información de las
organizaciones, habilitándolas para que logren sus objetivos de una forma
efectiva y eficiente.
III. SUMILLA
El curso comprende :Teoría de Lenguajes y la construcción de compiladores
por fases, conceptos, definiciones formales, Analizador Léxico, Analizador
Sintáctico, Tipos, contexto de desarrollo, Análisis Semántico, Tabla de
Símbolos, Generación de Código, tratamiento y recuperación de errores.
IV. COMPETENCIAS DE LA ASIGNATURA
1) REPRESENTA
lenguajes formales utilizando expresiones regulares,
autómatas finitos, o gramáticas, demostrando lógica y creatividad en el
diseño de los mismos.
2) DISEÑA el Analizador Léxico y el Analizador Sintáctico para un lenguaje
de programación sencillo, utilizando expresiones regulares, autómatas finitos
deterministas y gramáticas libres de contexto, demostrando un alto nivel de
abstracción y creatividad en la identificación y definición de tokens, así como
en la formalización de la sintaxis respectivamente.
3) DISEÑA la Tabla de Símbolos y el Analizador Semántico para un lenguaje
de programación sencillo utilizando estructuras de datos y gramáticas con
atributos respectivamente demostrando un alto nivel de reflexión en la
determinación de las comprobaciones semánticas a considerar
V. UNIDADES DE APRENDIZAJE
UNIDAD 1: INTRODUCCION Y ASPECTOS FORMALES
Capacidades a desarrollarse en la Unidad de Aprendizaje:
1.1 RECONOCE las fases de un compilador y los aspectos formales.
1.2 REPRESENTA lenguajes formales sencillos utilizando gramática formal,
demostrando lógica y creatividad en el diseño de los mismos.
Programación de contenidos o saberes
N° de
semana
1
2
Contenidos
Conceptuales
 Objetivos,
introducción.
 Ambiente de
compilación, fases
de un compilador.
 Analizador Léxico,
Analizador
Sintáctico, análisis
semántico,
generación de
código, tratamiento
de errores.


3

Aspectos formales,
definiciones,
alfabeto, símbolos,
cadena de palabras,
frase.
Gramática o Sintaxis,
producciones,
símbolos terminales,
símbolos no
terminales.
Gramática formal,
árboles de
derivación sintáctica
Contenidos
Procedimentales
Teoría:
Participa del seminario
del tema
Lee los apuntes del tema
Practica:
Resuelve los ejercicios
con la orientación del
profesor.
Presenta la solución de
los ejercicios propuestos.
Resuelve una práctica
calificada sobre los
ejercicios propuestos.
Contenidos
Actitudinales
Asiste puntualmente a
todas las clases.
Participa de forma
espontánea en la
solución de ejercicios.
Muestra responsabilidad
en la presentación de la
solución
de
los
ejercicios propuestos.
UNIDAD 2: JERARQUIA DE GRAMATICAS, ANALISIS LEXICO.
Capacidades a desarrollarse en la Unidad de Aprendizaje:
2.1 DISEÑA expresiones regulares para representar patrones léxicos lenguaje formal
representado.
2.2 DISEÑA autómatas finitos para reconocer lenguajes regulares y determina el
lenguaje formal representado.
2.3 DISEÑA gramáticas libres de contexto para representar lenguajes sencillos y
determina el lenguaje generado por una gramática dada.
2.4 DISEÑA el analizador léxico para un lenguaje de programación sencillo.
2.5 RECONOCE los tokens de una porción de código fuente con el analizador
diseñado.
N° de
semana
4
5
Contenidos
Conceptuales
 Derivaciones.
 Definición de un
lenguaje
 Jerarquía de
Gramáticas.
 Técnica de Análisis.
Análisis Léxico
 Expresiones
Regulares.
 Autómatas Finitos
Deterministas.
 Diagramas de
Transición.
 Tabla de Transición
 Gramáticas regulares
y autómatas finitos.
 Autómatas Finitos No
Deterministas
6
7
Contenidos
Procedimentales
Teoría:
Participa del seminario
del tema.
Lee los apuntes del tema.
Practica:
Resuelve los ejercicios
con la orientación del
profesor.
Presenta la solución de
los ejercicios propuestos.
Resuelve una práctica
calificada sobre los
ejercicios propuestos.
Contenidos
Actitudinales
Asiste puntualmente a
todas las clases.
Participa de forma
espontánea en la
solución de ejercicios.
Muestra responsabilidad
en la presentación de la
solución
de
los
ejercicios propuestos
UNIDAD X : EVALUACIÓN DEL APRENDIZAJE – EXAMEN
X.1
RECONOCE el nivel de logro alcanzado durante el proceso de
enseñanza –
aprendizaje, en
función
de
las
unidades trabajadas.
N° de
semana
TEMARIO
8
EVALUACION PARCIAL
UNIDAD 3: ANALISIS SINTACTICO
Capacidades a desarrollarse en la Unidad de Aprendizaje:
3.1. REPRESENTA la sintaxis de un lenguaje de programación sencillo
mediante una gramática libre de contexto.
3.2. REALIZA el análisis sintáctico descendente y el análisis sintáctico
ascendente de una porción de código fuente, con la gramática diseñada y
acondicionada.
Programación de contenidos o saberes
N° de
semana
9
10
11
12
Contenidos
Conceptuales
Análisis Sintáctico
introducción
Análisis Sintáctico
Descendente
 análisis sintáctico
Descendente
recursivo.
 Análisis Predictivo no
recursivo (APNR).
 Acciones del APNR.
 Gramáticas LL (1).
 Conjuntos First.
Conjuntos Follow.
Análisis Sintáctico
Ascendente
 Análisis Sintáctico
Ascendente.
 Análisis Ascendente
por desplazamiento y
reducción.
 Análisis Sintáctico LR.
 Tabla LR.
 Análisis Sintáctico por
precedencia de
Operadores.
Contenidos
Procedimentales
Teoría:
Participa en la ponencia
del tema.
Lee los apuntes del tema
Practica:
Resuelve los ejercicios
con la orientación del
profesor.
Presenta la solución de
los ejercicios propuestos.
Resuelve una práctica
calificada sobre los
ejercicios propuestos.
Contenidos
Actitudinales
 Asiste puntualmente a
todas las clases.
Participa de forma
espontánea en la
solución de ejercicios.
Muestra responsabilidad
en la lectura de los
apuntes de tema.
Muestra responsabilidad
en la presentación de la
solución de los
ejercicios
propuestos.
UNIDAD 4: ANALISIS SEMANTICO
Capacidades a desarrollarse en la Unidad de Aprendizaje:
4.1. DISEÑA gramáticas atribuidas para la solución de problemas.
4.2. DISEÑA la Tabla de Símbolos para un lenguaje de programación sencillo.
4.3. MUESTRA el contenido de la Tabla de Símbolos para una porción de
código fuente en una posición señalada.
4.4. DISEÑA el Comprobador de Tipos para un lenguaje de programación
sencillo.
Programación de contenidos o saberes:
N° de
semana
13
Contenidos
Conceptuales
Análisis Semántico
 comprobación de
tipos.
 Tabla de Símbolos.
 Estructura de la T.S.
 Organización.
Contenidos
Procedimentales
Teoría:
Participa del seminario
del tema.
Lee los apuntes del tema.
Practica:
Resuelve los ejercicios
con la orientación del
profesor.
Presenta la solución de
los ejercicios propuestos.
Resuelve una práctica
calificada sobre los
ejercicios propuestos.
Contenidos
Actitudinales
Asiste puntualmente a
todas las clases.
Participa de forma
espontánea en la
solución de ejercicios.
Muestra responsabilidad
en la presentación de la
solución
de
los
ejercicios propuestos
UNIDAD 5: TRADUCCION DIRIGIDA POR LA SINTAXIS
Capacidades a desarrollarse en la Unidad de Aprendizaje:
5.1 RECONOCE la traducción dirigida por la sintaxis, el código intermedio.
Programación de contenidos o saberes:
N° de
semana
14
15
Contenidos
Conceptuales
 Traducción dirigida por
la sintaxis.
 Código Intermedio.
 Clases de códigos
intermedios.
 Notación infija,
postfija, código de 3
direcciones.
 Código de dos
direcciones.
 Código de tres
direcciones.
Contenidos
Procedimentales
Teoría:
Participa del seminario
del tema.
Lee los apuntes del tema.
Practica:
Resuelve los ejercicios
con la orientación del
profesor.
Presenta la solución de
los ejercicios propuestos.
Resuelve una práctica
calificada sobre los
ejercicios propuestos.
Contenidos
Actitudinales
Asiste puntualmente a
todas las clases.
Participa de forma
espontánea en la
solución de ejercicios.
Muestra responsabilidad
en la presentación de la
solución
de
los
ejercicios propuestos
UNIDAD X : EVALUACIÓN DEL APRENDIZAJE – EXAMEN
X.1
RECONOCE el nivel de logro alcanzado durante el proceso de
enseñanza –
aprendizaje, en
función
de
las
unidades trabajadas.
N° de
semana
TEMARIO
16
EVALUACION FINAL
VI. ESTRATEGIAS METODOLÓGICAS
Las experiencias de aprendizaje se desarrollarán orientadas por los siguientes
métodos activos:
a) Conferencia, para generar el conflicto cognitivo, la inducción, para apoyar el
proceso de construcción del aprendizaje o concluir los temas tratados en
clase.
b) Talleres para la solución de ejercicios propuestos y desarrollo de problemas.
c) Estudio de casos de aplicación de los fundamentos teóricos.
VII. MATERIALES EDUCATIVOS Y OTROS RECURSOS DIDÁCTICOS:
Materiales educativos interactivos
 Bibliografía básica, complementaria y virtual.
 Apuntes del curso y Guía de Ejercicios.
 Enunciados de Problemas.
Materiales educativos para la exposición
 Aulas.
 Pizarra, plumones y mota.
 Computador, proyector multimedia.
 Presentaciones multimedia.
VIII. TÉCNICAS, INSTRUMENTOS E INDICADORES DE EVALUACIÓN:
Capac. Indicador
Técnica
Instrumento
1.1
 Describe las fases de un compilador.
 Describe los aspectos formales.
1.2
 Escribe lenguajes formales sencillos
Usando gramática formal.
Intervención oral.
2.1
 Evalúa expresiones regulares.

 Escribe expresiones regulares
para representar patrones léxicos.
 Describe el lenguaje formal que
representa una expresión regular.
Identifica los elementos de un
autómataFinito.
Determina el tipo de Autómata Finito.
Evalúa cadenas con Autómatas
Finitos.
ConstruyeAutómatasFinitos
para reconocer lenguajes regulares.
Describe el lenguaje formal que
reconoceun Autómata Finito dado.
Identifica los elementos de una
Gramática.
Determina el tipo de una Gramática
dada.
Analiza cadenas con Gramáticas
Construye Gramáticas Libres de
contextopara representar
lenguajes sencillos.
Describe el lenguaje formal que
generauna Gramática dada.
Determina los tokens que debe
reconocerel Analizador Léxico
para un lenguaje.
Formaliza lospatronesdelos
tokens mediante expresiones
regulares.
ConstruyeelAutómata
Finito del Analizador Léxico.
Evalúa porciones de código fuente
con el Analizador Léxico construido.

Transforma una Gramática para
realizar análisis sintáctico
descendente.
Construye el Árbol de análisis
sintácticosdescendente.
Construye el árbol de análisis
sintácticoascendente.

 Identifica los tipos de atributos
asociados a los símbolos de una
gramática atribuida.
Determina el tipo de gramática
atribuida.
Diseñagramáticas
atribuidas para solucionar
problemas.
Evalúa cadenas con gramáticas
atribuidas.
Determina la información que
almacenara la Tabla de Símbolos
para un lenguaje.
Evaluación escrita.
2.2
2.3
2.4
2.5
3.1
3.2
4.1
4.2
Registro de
intervención oral.
Solución de
Ejercicios.
Análisis de
Productos.
Practica
Calificada.
Observación
Sistemática.
Prueba objetiva.
Ficha de
observación con
escala de
Calificación.
Trabajo de
Investigación.
4.3
4.4
Muestraelcontenidode la
Tabla de Símbolosparauna
posición de un programa.
Determinar las expresiones de tipos
paraun lenguaje.
DefineelSistema deTipos
para un lenguaje.
Especifica el Comprobador de Tipos
paraun lenguaje.
Evalúa cadenas con un
Comprobador de tipos.
NORMATIVIDAD:
Las calificaciones se aplicarán de acuerdo al sistema vigesimal (0-20) para verificar
el nivel de rendimiento; además, se hará uso de escalas valorativas para certificar el
cambio y desarrollo de actitudes en el alumno así como el dominio de
procedimientos.
La información y el análisis de los resultados de los exámenes se realizarán en
la sesión posterior-inmediata al desarrollo del examen.
Para el promedio final la fracción igual o mayor a 0.5 favorece al estudiante.
El alumno será promocionado si:
 Asiste al 70 % de las clases planificadas, el 30% de inasistencias lo coloca en
condición.
 Cumple con la totalidad de trabajos y tareas asignadas.
 Demuestra el logro de las capacidades planificadas por cada unidad.
 Demuestra las actitudes básicas y actitudes altruistas de respeto,
autovaloración y predisposición para asumir cada tarea individual o grupal.
 Alcanza nota promocional mínima de 11 de acuerdo a los parámetros y
ponderaciones establecidos.
VIII. EVALUACIÓN
 Tipo de Calificación: B
 Promedio Final: (3 PromParciales + 3 PromPracticas + 1 EvalPermanente)/7
VII. BIBLIOGRAFÍA DEL CURSO
- Bibliografía básica.
1. AHO, Alfred V.
: Compiladores. Principios, Técnicas y Herramientas.
Addison Wesley Iberoamericana, 1995.
- Bibliografía complementaria
2. SANCHIS LLORCA, F. J.: Compiladores, Teoría y Construcción, Paraninfo
, 1990.
3. SANCHIS DUEÑAS: Compiladores e Intérpretes, un enfoque pragmático.
Díaz de Santos, 1990.