Download Sílabo del Curso

Document related concepts

Programación funcional wikipedia , lookup

Lisp wikipedia , lookup

Meta Lenguaje wikipedia , lookup

Evaluación de cortocircuito wikipedia , lookup

Clojure wikipedia , lookup

Transcript
UNIVERSIDAD TECNOLÓGICA DE LOS ANDES
FACULTAD DE INGENIERÍA
CARRERA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
SÍLABO
1. DATOS ACADÉMICOS
1.1 Asignatura
1.2 Código
1.3 Pre Requisito
1.4 Créditos
1.5 Horas semanales
1.6 Ciclo Académico
1.7 Área de formación
1.8 Semestre Académico
1.9 Docente
1.10 Correo electrónico
1.11 Teléfono de contacto
: Teoría de Compiladores
: SI074
: Sistemas Digitales (SI052)
: 04
: T: 03, P:02, Total = 05 horas
: VII
: FECI
: 2011-II
: Ing. Ronald Alberto Rentería Ayquipa
: [email protected]
: 969288692
2. CONTENIDOS TRANSVERSALES
 Educación en valores, responsabilidad, creatividad, razonamiento e identidad.
3. FUNDAMENTO
El Curso de Teoría de Compiladores es una asignatura teórico práctica, que proporciona
información sobre el proceso de compilación en general, permite al alumno de ingeniería de
Sistemas e Informática tener una visión de los lenguajes de programación desde el punto de
vista del constructor de compiladores o intérpretes.
Permite ejercitar al estudiante en la preparación de fundamentos teóricos acerca de la
estructura de un compilador, adentrarse en cada una de estas etapas, haciendo hincapié en
las de mayor importancia como son: el análisis léxico, sintáctico y semántico.
4. COMPETENCIA
A. Maneja los conceptos básicos, técnicas y complementos de la teoría de compiladores y
aplica en la solución de problemas basados en lenguajes formales con responsabilidad.
B. Aplica en el diseño y desarrollo de una aplicación a mediana escala valorando la
importancia del proceso de compilación y la teoría de lenguajes formales verificando
siempre responsabilidad en su proceder.
5. SUMILLA
El curso consta de tres Unidades:
UNIDAD I
: TEORÍA DE AUTÓMATAS Y ANÁLISIS LÉXICO
UNIDAD II
: ANÁLISIS SINTÁCTICO Y SEMÁNTICO
UNIDAD III : GENERACIÓN Y OPTIMIZACIÓN DE CÓDIGO
6. PROGRAMACIÓN DE LA ASIGNATURA
Presentación
Presentación del sílabo, define reglas
generales
de
desarrollo
del
curso,
procedimiento de evaluaciones y motivación
para auto superación.
Participa y negocia las condiciones de
desarrollo de la asignatura.
Asume el compromiso del desarrollo
del curso.
2
1 de 4
Primera Unidad: TEORÍA DE AUTÓMATAS Y ANÁLISIS LÉXICO
a. Total Horas Unidad
: 45.
b. Competencia
:A
c. Capacidades y actitudes
: Conceptualiza, analiza y explica las características del
proceso de compilación, lenguajes formales y teoría de
autómatas con responsabilidad y en forma participativa.
CONTENIDOS SIGNIFICATIVOS
INDICADORES DE LOGROS
Horas
Conceptual:
 Conceptos sobre Lenguajes Formales
 Expresiones regulares
 Autómatas Finitos (AFN y AFD)
 Elaboración de expresiones regulares
autómatas.
 Introducción al proceso de Compilación
 Lenguajes de programación
 Estructura de un compilador
 Tipos de compiladores
 Especificación de un compilador.
 Análisis Léxico
 Función principal
 Funciones secundarias
 Manejo de errores
 Funcionamiento e implementación
 Comprende y define las
características preliminares y
los
diferentes
conceptos
formales
y
básicos
y
relacionados a la teoría de la
compilación,
teoría
de
autómatas
y
lenguajes
25
formales.
 Elabora
expresiones
regulares, autómatas finitos.
 Analiza, comprende y define el
comportamiento a seguir para
un
analizador
léxico
a
desarrollar en base a un
lenguaje de programación.
Procedimental:
 Elabora expresiones regulares.
 Diseña autómatas finitos.
 Realiza aplicaciones prácticas de las técnicas para
obtener analizadores léxicos eficientes.
 Modela gramáticas a nivel básico.
 Utiliza las diferentes técnicas
para obtener expresiones
regulares y AFN correctos a
nivel básico.
 Define la sintaxis y semántica
de un lenguaje de
programación propio.
 Implementa
un analizador
léxico.
16
Actitudinal:
 Responsabilidad
 Trabajo en Equipo
1era. Evaluación escrita
1era. Evaluación de laboratorio
 Asiste puntualmente a clases
 Desarrolla, discute y entrega los
trabajos individuales y grupales.
Consolida su aprendizaje
TOTAL
2
2
45
Segunda Unidad: ANÁLISIS SINTÁCTICO Y SEMÁNTICO
a. Total Horas Unidad
b. Competencia
c. Capacidades y actitudes
: 23.
:B
: Conceptualiza, analiza y explica la complejidad del
analizador sintáctico y semántico responsablemente
respectivamente con interés y en forma participativa.
2 de 4
CONTENIDOS SIGNIFICATIVOS
INDICADORES DE LOGROS
Horas
Conceptual:
 Análisis Sintáctico
 Comprende y define las
funciones principales y
 Función principal
secundarias de las etapas
 Funciones secundarias
sintáctica y semántica
 Manejo de errores
respectivamente.
 Funcionamiento y tipos

Clasifica los tipos de
 Gramáticas libres del contexto
analizadores sintácticos por
 Jerarquía de Chomsky
eficiencia, tipo, gramática y por
 A.S. Ascendente y descendente
lenguaje.
 Implementación A.S. descendente predictivo no

Analiza, comprende y define el
recursivo.
comportamiento a seguir para
 Análisis Semántico
un analizador sintáctico a
 Función principal
desarrollar en base a una
 Funciones secundarias
gramática libre del contexto.
 Manejo de errores
 Funcionamiento e implementación
15
Procedimental:
 Utiliza las diferentes técnicas
 Determina la importancia de un analizador
para obtener gramáticas libres
sintáctico y semántico.
del contexto correctas a nivel
 Determina y resuelve casos prácticos sobre
básico.
gramáticas libres del contexto.
 Implementa
un
analizador
 Realiza aplicaciones prácticas de las técnicas para
sintáctico
descendente
obtener analizadores sintácticos eficientes.
predictivo no recursivo.
8
 Asiste puntualmente a clases
 Desarrolla, discute y entrega los
trabajos en grupo
Actitudinal:
 Responsabilidad
TOTAL
23
Tercera Unidad: GENERACIÓN Y OPTIMIZACIÓN DE CÓDIGO
a. Total Horas Unidad
b. Competencia
c. Capacidades y actitudes
: 15.
:B
: Conceptúa y analiza, las etapas de síntesis del proceso de
compilación, valorando su importancia dentro del proceso de
compilación.
CONTENIDOS SIGNIFICATIVOS
Conceptual:
INDICADORES DE LOGROS
Horas
 Diferencia entre la generación de
Generación de código intermedio: descripción
código
intermedio
y
código
funcional, lenguajes intermedios.
máquina.
 Optimización de código
 Conoce
la
terminología
y
 Generación de código máquina.
representación de la generación y
optimización de código.
Procedimental:
 Determina la importancia de la etapa de  Conoce la complejidad de la etapa
síntesis.
de síntesis
Actitudinal:
 Responsabilidad
 Asiste puntualmente a clases
 Trabajo en Equipo
 Cumple con las tareas asignadas,
en el plazo convenido.
2da. Evaluación escrita
Consolida su aprendizaje

2da. Evaluación de laboratorio
Total
9
2
2
2
15
3 de 4
7. MÉTODOS Y TÉCNICAS DE ENSEÑANZA
MÉTODOS
•
•
•
•
TÉCNICAS
Exposición y didáctica
Análisis y síntesis
Investigatorio: deductivo, inductivo.
Descubrimiento



Estudio, análisis y aplicación de casos (en la
solución de problemas)
Dinámica de grupos.
Análisis de casos
8. MEDIOS Y MATERIALES
MEDIOS
MATERIALES
Auditivos
Visuales
Hardware
Software
Voz humana.
Pizarra, Separatas, Guías de Práctica, Textos.
Computador, proyector multimedia.
Borland C++, PowerPoint, JFLEX, YACC.
9. EVALUACIÓN
Capacidades
Conceptual
(PCC)
Procedimental
(PCP)
Actitudinal
(PCA)
Técnicas de evaluación
A: Prueba escrita
Prueba de desarrollo
B: Demostración de procesos
C: Resolución de Casos
D: Responde a las normas de
convivencia
E: Perseverancia en la tarea.
Responsabilidad
Criterios de evaluación:
𝑃𝐹 =
Tipos de instrumentos N° Eval.
Peso
Examen escrito
2
0.6
Examen de laboratorio
Trabajo encargado
2
2
0.3
Lista de cotejo
1
Lista de cotejo
1
0.1
𝑃𝐶𝐶 ∗ 0.6 + 𝑃𝐶𝑃 ∗ 0.3 + 𝑃𝐶𝐴 ∗ 0.1
1
Donde:
PF: Promedio Final (para aprobar el curso deberá ser mayor o igual a 10.5)
PCC: Promedio Contenido Conceptual (Aritmético)
PCP: Promedio Contenido Procedimental (Aritmético)
PCA: Promedio Contenido Actitudinal (Aritmético)
10. BIBLIOGRAFÍA
10.1 Bibliografía Básica:
 Aho, A.V., R. Sethi, J.D. Ullman, Compiladores. Principios, Técnicas y Herramientas,
Addison-Wesley, 1998.
 Kenneth C Louden: Construcción de Compiladores, Principios y practica, 2da Edición,
Ciencias e Ingenierías.
 Ramon Brena, “Autómatas y Lenguajes. Un enfoque de diseño”. Instituto Tecnológico y
de Estudios Superiores de Monterrey. México. 2003.
10.2 Bibliografía Complementaria
 Hopcroft, J.E., R. Motwani, J. D. Ullman, Introducción a la teoría de autómatas,
lenguajes y computación (2ª Edición), Prentice-Hall, 2000.
 Dean Kelley / 1999 / Teoría de autómatas y lenguajes formales / 3era Edición / Prentice
Hall / España.
 B. Teufel, S. Schmidt, T. Teufel,"Compiladores. Conceptos Fundamentales". AddisonWesley Iberoamericana. 1995.
Abancay, Septiembre del 2011.
4 de 4