11
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

Compiladores_curriculo

Embed Size (px)

DESCRIPTION

Curriculo compiladores interamericana

Citation preview

Page 1: Compiladores_curriculo

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

Page 2: Compiladores_curriculo

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.

Page 3: Compiladores_curriculo

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.

Page 4: Compiladores_curriculo

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

Page 5: Compiladores_curriculo

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

Page 6: Compiladores_curriculo

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

Page 7: Compiladores_curriculo

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.

Page 8: Compiladores_curriculo

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

Page 9: Compiladores_curriculo

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-

Page 10: Compiladores_curriculo

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

Page 11: Compiladores_curriculo

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.