---


Lenguaje y compiladores

lapso lectivo 2020-I

Ing. Félix Márquez ,Msc

fmarquez@uneg.edu.ve

fmarquez@e.uneg.edu.ve


  1. TEMARIO:

    1. Introducción a los Compiladores

    2. Estructura General de un Compilador

    3. Lenguajes y Gramáticas Formales

    4. Análisis Léxico

    5. Análisis Sintáctico

    6. Análisis Semántico

    7. Optimización de Código

    8. Generación de Código


  1. CONTENIDO DETALLADO POR TEMA:

  1. Introducción a los Compiladores

    1. Aportes teóricos fundamentales de la Cs de la computación.

    2. Diagramas T.

    3. Metacompiladores.

    4. Decompiladores.

    5. Traductores.


  1. Los lenguajes de programación.

    1. Paradigmas.

    2. Propósito.

    3. Estructuras morfológicas.

    4. Estructuras Sintácticas.


  1. Lenguajes y Gramáticas Formales

    1. Jerarquía de Noam Chomsky.

    2. Alfabetos y palabras.

    3. Lenguajes formales.

    4. Gramáticas formales.

    5. Expresiones Regulares.


  1. Análisis Léxico

    1. Autómatas finitos y expresiones regulares.

    2. Construcción de autómatas finitos a partir de gramáticas regulares.

    3. Gramáticas libres del contexto.

    4. Autómatas de pila

    5. Construcción de analizadores léxicos desde el autómata,

    6. Construcción del analizadores léxicos mediante metacompiladores.


  1. Análisis Sintáctico

    1. Arboles de sintaxis abstracta

    2. Gramáticas LL y Gramáticas LR.

    3. Análisis sintáctico descendente.

    4. Análisis sintáctico ascendente.

    5. Generadores de analizadores sintácticos.

    6. Retrocesos. Detección y reporte de errores.

    7. Implementación de analizador sintáctico.


  1. Análisis Semántico

    1. Tablas de símbolos

    2. Problemas de alcance.

    3. Relación entre la estructura en tiempo de ejecución y la tabla de símbolos.

    4. Etapas en la construcción de la tabla de símbolos.

    5. Implementación de analizador semántico.


  1. Optimización de Código

    1. Introducción

    2. Reducción de expresiones

    3. técnicas de optimización


  1. Generación de Código

    1. Tablas de símbolos

    2. Generación de código intermedio.

    3. Generación de código ejecutable.

    4. Nociones de manejo de errores


III ESTRATEGIAS DIDÁCTICAS:

ESTRATEGIAS DOCENTES

  • Lectura interpretativa para fomentar la discusión.
  • Tutorías de los temas una vez revisado las lecturas.
  • Utilización de recursos multimedia para el estudio y la replicar la técnica.
  • Investigación y documentación de los temas en curso, replicar diferentes ejemplos y luego aplicarlo a planteamientos con niveles de dificulta similares. Esto permite sentar los simientos de los métodos procedimienos o técnicas que se manejará en cada tema, finalmente plantear retos o problemas que tengan solución en la base de lo estudiado.
  • El Estudio Distribuido y colaborativo, teniendo como eje transversal la participación y discusión, permitiendo enfocar fuerzas en la resolución de situaciones con cierto nivel de complejidad.
ESTRATEGIAS DE APRENDIZAJES:
  • Entorno de estudio grupal 4 estudiantes.

  • La investigación de las temáticas, discusión y replica de las técnicas estudiadas a un problema planteado.

  • Estudio colaborativo, el trabajo en grupo permitirá el intercambio de ideas entre sus miembros, lo cual facilitará el aprendizaje y dominio de los conceptos y técnicas.

  • Estudio de problemas. La solución de un problema real, concreto, nos permitirá introducir de forma natural conceptos o temas de la asignatura, con nivel de dificultad incremental.

  • Indagar en cada temática en el amplio espectro de información disponible, ejercicios o problemas resueltos. Estudiarlos a detalle y proponer problemas nuevos o variantes a lo estudiado.


IV PLAN DE EVALUACIÓN:

Se tiene planificado 7 evidencias del dominio de las competencias, cada una tiene un componente a entregar: 1) documento de investigación: se refiere a un informe donde el grupo indagará a profundidad el tema teniendo toda la libertad de revisar las fuentes disponibles, con su respectivo procedimiento de citado y referencia como mecanismo para incrementar la rigurosidad y sistematización de la información investigada o 2) paquete de investigación y trabajo: el cual contiene una serie de informes, código fuentes y ejecutables (documentados por manual de mantenimiento) que dan solución a los planteamientos realizado en la asignación.

La evaluación de esta unidad curricular se realizará de la siguiente manera:

Evaluación exploratoria. (programación)

Asignación I 5% - Exposición 5% 10 Ptos.

Asignación II 5% - defensa 5% 10 “

Asignación III 10% - defensa 10% 20 “

Asignación IV 5% - defensa 5% 10 “

Asignación V 5% - defensa 5% 10 “

Asignación VI 5 % - defensa 10% 15 “

Proyecto final 10% corrida sin errores 15% defensa 25 “

Totales: Entregas 45%, exposición y/o defensas individuales 55%

FUENTE DE INFORMACIÓN.

  • Los temas serán trabajado sobre la base de la investigación e indagación de las diferentes fuentes disponibles, libros, páginas oficiales proyectos de software, papers en revistas indexadas: Latinindex, Redalyc, Researchgate, ACM, IEEE, Revista Venezolana de Computación, CITEC,…


Sinóptico Lenguaje y Compiladores Semestre Lectivo 2020 - I (PDF)



Última modificación: sábado, 23 de mayo de 2020, 14:43