Upload
carloshrueda
View
213
Download
0
Embed Size (px)
DESCRIPTION
Curriculo compiladores interamericana
Citation preview
1
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
1. VISIÓN GENERAL
1.1 DATOS GENERALES
Programa: Ingeniería de Sistemas.
Asignatura: Compiladores.
Semestre o nivel
No. de créditos
Horas Tutoría
Horas independientes
Total horas
08 3 30 114 144
1.2 Introducción
El estudio de los compiladores presenta una visión del fundamento de su construcción y su utilización en la teoría de sistemas, aunque siempre este
cobijada por el desarrollo de los lenguajes de programación pues dependen de su aparición y utilización. Un compilador es creado al lado del lenguaje de programación con el objeto primordial de realizar la revisión sobre el código del
programador para determinar si este está siendo bien usado (sin errores de sintaxis) y posteriormente encadenar las líneas de código de alto nivel con
líneas de código de maquina; que permitan un generar un código ejecutable para la computadora.
Se presenta inicialmente un conjunto de conceptos que permiten a los estudiantes adquirir una cultura que facilite la comprensión de sus contenidos
y asociarlos el desarrollo posterior del curso. Principalmente se trata de la definición de un compilador dividido en sus dos fases principales y su
diferenciación con un simple traductor, también se muestra la importancia de entender el funcionamiento del lenguaje de bajo nivel para poder realizar el equivalente de instrucciones de alto y la obtención del lenguaje de maquina
(lenguaje ejecutable).
El curso continua con el estudio de las fases del compilador divididas por etapas, siendo la primera el análisis léxico que se en carca de revisar las líneas del lenguaje por caracteres para obtener los componentes importantes del
lenguaje (tokens) y almacenarlos en una tabla denominada de símbolos que va a ser usada posteriormente por la siguiente etapa de análisis. Es en el análisis
2
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
sintáctico donde se realiza la revisión de la línea solicitando los tokens a la tabla de símbolos y devolviendo un mensaje de línea completa o con errores
de acuerdo a lo que se dé. El análisis semántico verifica la utilización de los tipos de acuerdo a su definición de almacenamiento para el programa y es
capaz de mostrar algunas inconsistencias en el uso de los tipos determinados. Después del análisis viene la Síntesis que permite generar códigos de lenguaje
binario o de ese tipo de representación que pueden generar programas ejecutables desde un código de alto nivel.
1.3 Importancia
La teoría de compiladores es importante pues permite a estudiantes de sistemas relacionar la construcción de lenguajes de programación y su
respectivo compilador, lo cual le permitirá un mejor manejo de la creación de programas además de las soluciones que a partir de ellos podemos obtener. Se crea también conciencia entre la relación de lenguajes de alto nivel y los
registros físicos de la computadora (lenguaje de bajo nivel), lo cual permite tener una idea de cómo se pueden convertir las instrucciones y optimizar los
recursos tanto de almacenamiento como de procesamiento cuando se usa la compilación.
Desde la investigación es importante abordar el tema de los compiladores pues esta área nos da la posibilidad de buscar alternativas nuevas de compilación
para futuros lenguajes de programación o simplemente mejoras sobre compiladores ya creados que permitan optimizar los procesos de generación de
código y hasta los de su revisión.
1.4 Competencias (de egreso)
Entiende el funcionamiento interno del proceso de compilación. Relaciona la tarea del compilador tanto con leguajes de programación,
como con el lenguaje de máquina.
Comprende los lenguajes no formales y su uso bajo las técnicas de compilación.
Investiga sobre compiladores más actuales e intentar mejorarlos. Propone proyectos de investigación que involucran la creación de
compiladores.
3
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
1.5 Objetivos
1.5.1 Objetivo general
Desarrollar destrezas en el manejo de la estructura general de construcción de un compilador involucrando y relacionando todas sus fases, desde el análisis hasta la síntesis, usando ese conocimiento en el
posterior desarrollo de nuevas herramientas de compilación o en el mejoramiento y optimización de las ya construidas.
1.5.2 Objetivos específicos
Comprender el concepto de compilación y su uso dentro de los sistemas diferenciando los lenguajes de alto nivel con el lenguaje natural y con conocimiento de cómo funcionan los diferentes compiladores actuales
(como fue su diseño lógico y físico).
Aplicar la teoría de autómatas para el reconocimiento de patrones de los lenguajes, aplicando el conocimiento teórico en la solución de problemas reales partiendo de las prácticas propuestas en clase
(realizar toda la fase de análisis en la creación de un compilador).
Construir un pequeño reconocedor de las instrucciones de un lenguaje tanto a nivel teórico como práctico, utilizando la teoría de gramáticas de
los lenguajes de programación.
Relacionar la escritura de instrucciones de alto nivel con su equivalente en bajo nivel y las estructuras básicas de programación de alto nivel
con su código correspondiente en bajo nivel.
1.6 Requisitos (de ingreso)
Conocimiento sobre lenguaje ensamblador Conocimientos sobre algunas estructuras de datos (pila) Con buenas habilidades interpretativas y argumentativas.
4
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
Conocimiento sobre la gestión interna de memoria.
1.7 Esquema (diligencie la ficha técnica)
Área Nivel de
Formación
Objetivos
Global Específica
General Específicos
SIS
TEM
AS
Sis
tem
as O
pera
tivos
Perceptual Explorar x. Explorar
Describir X Describir
X Aprehensivo Comparar X Comparar
X Analizar X Analizar
Comprensivo Explicar X Explicar
Predecir Predecir
Proponer Proponer
Integrativo Modificar Modificar
Confirmar Confirmar
Evaluar Evaluar
Indicadores Metodológicos
Propósito de Formación
X Fundamentación Conceptual
Fundamentación Procedimental
X Aplicación en el Saber Específico
Competencias a
Desarrollar
X Interpretativas
Argumentativas
Propositivas
Uso del Conocimiento
X Capacidad para Representar
Capacidad para Reconocer Equivalencias
X Capacidad para Recordar Objetos y sus propiedades
Uso de Procedimientos
X Habilidad y Destreza para Usar Equipos
X Habilidad y Destreza para Usar Procedimientos de
Rutina
X Habilidad y Destreza para Usar Procedimientos
Complejos
5
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
2 Unidades
2.1 Unidad I – Definición de un compilador y conceptos generales
Definición de un compilador y relación con los intérpretes y traductores Definición y explicación del compilador en relación con otros programas de procesamiento final similar
Tema 1 – Fases del compilador
Explica la forma modular de diseño del proceso de compilación para su mejor entendimiento.
Tema 2 – Ejemplo de cómo se compila una línea genérica de un
lenguaje Ejemplo de las fases y etapas aplicadas a una línea de lenguaje en un
compilador
Tema 3: Conceptos adicionales sobre compiladores Tabla de símbolos y detección e información de errores
2.2 Unidad II – ANALISIS LEXICO
Tema 1 –Definición de Primera parte del análisis de un
compilador Fundamentos del analizador léxico, que es, que hace y sus objetivos
finales
Tema 2 – Teoría de Autómatas finitos (Maquinas de estado finito MEF)
Soluciones lógicas al problema de búsqueda de tokens en una línea de un lenguaje.
Tema 3–Expresiones Regulares
6
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
Representación de token importantes a través de una expresión regular. Simbología y operaciones
Tema 4 – Maquinas de pila(MP)
Otras soluciones al problema de seleccionar tokens en las líneas
2.3 Unidad III – ANALISIS SINTACTICO
Tema 1 – Teoría de gramáticas
Representación simbólica de construcción de gramáticas del lenguaje y ejemplos. Inducción sobre aplicación de recursividad para la creación de
gramáticas, LL1, Q y S
Tema 2 – Procesamiento dirigido por la sintaxis
Gramáticas de traducción y gramáticas con atributos
Tema 3 – Teoría de reconocedores del lenguaje (reconocimiento
descendente).
Permite identificar si una línea del lenguaje está bien escrita de acuerdo a las normas de un lenguaje dado (el reconocimiento es desde el final de
la línea hasta la esquina del lado derecho de ella).
Tema 4-Reconocimiento ascendente
Basado en la teoría de los manejadores del lenguaje y con el mismo
objetivo que el reconocedor descendente 2.4 Unidad IV – Fase de síntesis del compilador
Tema 1 – Generación de código intermedio.
Código que se expresa para llevar instrucciones de alto nivel a la maquina
7
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
Tema 2 – Optimización de código
Permite quitar instrucciones de código intermedio innecesarias para mejorar la respuesta del compilador.
Tema 3 – Generación de código de bajo nivel
Es el objetivo final del compilador.
8
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
1 3 Resumen
3.1 Relación con otros temas
Arquitectura de computadores, algoritmos y programación, sistemas operativos.
3.2 Fuentes
3.2.1 Fuentes Bibliográficas
Lemote Karen A. (1996). Fundamentos de Compiladores, CECSA
Aho, A. sethi, ullman J (1990).Compiladores principios, técnicas y herramientas Addison-wesley
Grune Dick y otros (2000) Modern Compiler Desing Wiley
4 Metodología
4.1 PRESENCIAL
La metodología presencial se fundamenta en el estudio de las características fundamentales y de las leyes que rigen los contenidos de la asignatura. Se
desarrolla un trabajo dinámico de exploración en los objetos del modelo, sus conceptos y su operatividad; así como un trabajo de campo.
Los distintos entornos vivenciales en los cuales el estudiante interactúa fuera de clases están impregnados de la globalización y el rompimiento de
paradigmas. La metodología debe ser práctica y ante todo una acción seductiva que combine elementos tecnológicos, vivenciales y conceptuales.
Se aprovecharán las tutorías presenciales para explicar la fundamentación teórica, realizando algunos ejemplos tipo que ayuden a comprender la
utilización del método para resolver las diferentes situaciones problémicas que se planteen, se propondrán ejercicios en los cuales el grado de dificultad
9
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
aumente y se propondrán tareas para realizar en grupos o individualmente con asesorías presenciales o virtuales.
4.2 DISTANCIA
Los medios Por cada tema visto se recomendará hacer lectura de algunas páginas de
capítulos de los libros que se encuentran propuestos en la bibliografía, así mismo, se propondrá la revisión de algunas páginas en internet (las que se
encuentran citadas en el módulo o las que el docente del curso considere pertinentes) estos se puede proponer antes de la explicación de cada tema o
después para complementar la explicación de lo visto en las clases presenciales. También se propondrá la revisión de temas explicados en el módulo.
Se propondrán tareas y ejercicios para resolver en grupos o individualmente,
para discutir sobre la solución de estos, se citará a foros o chats, se planteará la posibilidad discusiones utilizando los diferentes medios virtuales de los cuales se disponga.
Guías de actividades: Cada profesor diseña el plan de la signatura, mediante el
cual se articulan las temáticas y los tiempos, de tal forma que se dé respuesta al proceso de formación con base en créditos académicos.
Tecnológicos: se utilizan los recursos audiovisuales que posea el Centro de Atención Tutorial para ver información en video, audio o virtual.
Salas de computador: de acuerdo a la asignatura.
Las mediaciones
Las mediaciones establecidas en La Corporación Universitaria Remington, para el desarrollo de los proceso de aprendizaje a distancia son las siguientes Tutoría Presencial: Es la mediación más importante en el proceso dadas varias
razones entre ellas lo significativos que esta es para los alumnos y profesores sin pretender conservar la naturaleza de programa presencial ni semi-
10
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
escolarizado, dado que los tiempos de todas maneras se reducen comparativamente.
Tutoría Virtual: Esta mediación articula medios como el computador y la
plataforma, de tal manera que esta herramienta sea funcional y efectiva. Para la aplicación de esta mediación se pone a disposición de los tutores las salas de cómputo para su comunicación en estudiantes, orientando y controlando la
dirección académica y administrativa de la escuela de educación a distancia. Este tipo de tutoría será puntual y pactada entre estudiantes y tutor, dado que
nuestra modalidad es a distancia y no virtual, esto será solo una herramienta de apoyo.
5 EVALUACIÓN
El proceso de evaluación, tiene como propósito principal la aprehensión del
conocimiento, por esto es relevante el concepto previo con que llegan nuestros aprendices, para al finalizar la asignatura poder medir los conocimientos con
los que han logrado culminar y las competencias que desarrolló que le permitirán ser aplicadas en su vida laboral y personal.
Cumpliendo con los parámetros de evaluación de la Corporación Universitaria Remington, debemos tener muy en cuenta la autoevaluación y coevaluación,
es por esto que del 100% de la evaluación esta corresponde al 10%.
MOMENTO EVALUATIVO PORCENTAJE TIPO DE EVALUACIÓN
Primer parcial: 20% Prueba es escrita
Segundo parcial: 20% Prueba escrita
Seguimiento: 30% Talleres extra clase, laboratorios,
previas cortas, consultas relacionadas a los temas vistos, participación en exposiciones.
Co evaluación: 10% Participación del estudiante en su
nota 5% como logros de aprendizaje, cumplimiento en
11
CORPORACIÓN UNIVERSITARIA REMINGTON – CURRÍCULO DE ASIGNATURA
Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Página Web: www.remington.edu.co - Medellín - Colombia
entrega de talleres. Y 5%
apreciación del profesor en aspectos anteriores.
Final: 20% Prueba con acumulación de conceptos generales de todos los
temas vistos.
El promedio aritmético de las calificaciones obtenidas en los procesos
evaluativos señalados, dará el resultado definitivo del desempeño académico de la asignatura.