0% encontró este documento útil (0 votos)
33 vistas4 páginas

Programa de Laboratorio OLC1

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas4 páginas

Programa de Laboratorio OLC1

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA

FACULTAD DE INGENIERÍA
ESCUELA DE CIENCIAS Y SISTEMAS
PRIMER SEMESTRE 2024

PROGRAMA DE LABORATORIO

CÓDIGO: 777 CRÉDITOS: 4


Organización de
NOMBRE CURSO: Lenguajes y SECCIÓN: B
Compiladores 1
ÁREA A LA QUE Ciencias de la
ESCUELA: Ciencias y Sistemas
PERTENECE: Computación
771 – Introducción a
la Programación y
Computación 2 781 – Organización de
Lenguajes y
796 – Lenguajes Compiladores 2
PRE-REQUISITO: POST-REQUISITO:
Formales y de
Programación 2036 – Prácticas
Intermedias
962 – Matemática
para Computación 2
CATEGORÍA: Obligatorio SEMESTRE: Primer Semestre 2024
Ing. Manuel Haroldo Fabian Esteban Reyna
CATEDRÁTICO (A): AUXILIAR:
Castillo Reyna Juárez
EDIFICIO: T-3 EDIFICIO: -
SALÓN DE
SALÓN DEL CURSO: 114 Meet
LABORATORIO
HORAS POR SEMANA HORAS POR SEMANA
4 2
DEL CURSO: DEL LABORATORIO:
DIAS QUE SE IMARTE DIAS QUE SE IMPARTE
Martes y jueves Miércoles
EL CURSO: EL LABORATORIO:
HORARIO DEL HORARIO DEL
7:10 a 8:50 10:40 a 12:20
CURSO: LABORATORIO:

DESCRIPCIÓN DEL LABORATORIO:


El laboratorio del curso de Organización de Lenguajes y Compiladores 1, trata sobre la parte práctica del
curso con la aplicación de las primeras fases del compilador, la fase de análisis que incluye lo que es
análisis lexicográfico, análisis sintáctico y la introducción al análisis semántico, también se incluye el
manejo de errores y de la tabla de símbolos.

OBJETIVO GENERAL:
Poner en práctica los elementos que conforman el análisis y la síntesis en el proceso de compilación con
el uso de los diferentes tipos de herramientas de compilación.
OBJETIVOS ESPECIFICOS:
1. Que el estudiante aprenda en detalle las primeras fases del proceso de compilación,
principalmente el análisis lexicográfico y el análisis sintáctico.
2. Aprender a desarrollar aplicaciones que compilen una entrada determinada y ejecutar dicho
código para obtener salidas del programa hacia el usuario.
3. Crear proyectos de innovación descubriendo detrás de los mismos el proceso de compilación de
un programa
4. Fomentar en el estudiante el análisis en la resolución de problemas complejos en la
lectura de entradas determinadas para un compilador.

HABILIDADES:
1. Comprensión de la estructura y funciones de un compilador.
2. Compresión de las estructuras de datos utilizadas en el proceso de compilación y su relación con
las distintas fases del compilador.
3. Comprensión de la importancia y el manejo de errores en la construcción de software.
4. Comprensión de la relación entre hardware y software durante la ejecución de un programa
computacional.

COMPETENCIAS:
1. Dominar los conceptos básicos de compiladores.
2. Elegir con criterio la manera óptima de codificar una solución informática.
3. Aplicar herramientas de análisis léxico y sintáctico para la resolución de problemas.
4. Crear soluciones funcionales aplicando los conceptos de compiladores.

METODOLOGÍA:
1. Clases para la explicación de conceptos, resolución de ejercicios prácticos y resolución de dudas.
2. Elaboración de proyectos.

EVALUACIÓN DEL RENDIMIENTO ACADÉMICO: el laboratorio tiene una ponderación sobre la nota
final del curso, distribuido de la siguiente manera:
Proyecto 1 45%
Proyecto 2 55%
TOTAL 100%

OBSERVACIONES:
1. La calificación de proyectos de laboratorio es personal acoplándose al día y horario que se indique
previamente.
2. Copias parciales o totales de prácticas o proyectos tendrán una nota de 0 puntos y los
responsables serán reportados a la Escuela de Ciencias y Sistemas.
3. El tiempo de calificación de cada proyecto será definido previamente en cada hoja de calificación.
4. Para aprobar el laboratorio se debe tener una nota final igual o mayor a 61 puntos.
5. Para calificar los proyectos, el estudiante deberá cumplir con los requerimientos mínimos, de lo
contrario, NO SE CALIFICARÁ.
CONTENIDO:
1. INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
1.1. Conceptos generales sobre el lenguaje de programación Java.
1.2. Conceptos generales sobre el lenguaje de programación JavaScript.
1.3. Definición de variables, sentencias, métodos

2. INTRODUCCIÓN A LA COMPILACIÓN
2.1. Conceptos generales de compiladores
2.1.1. Definición de compilador
2.1.2. Definición de intérprete
2.1.3. Diferencias entre compilador e intérprete
2.2. Tipos de Compiladores
2.3. Fases de Análisis
2.4. Fases de Síntesis

3. ANÁLISIS LÉXICO Y SINTÁCTICO


3.1. ANÁLISIS LÉXICO
3.1.1. Definición
3.1.2. Componentes: Token, Lexema, Patrón (Expresiones Regulares)
3.1.3. Autómatas (Método del Árbol, método de Thompson)
3.1.4. Manejo de errores léxicos
3.2. ANÁLISIS SINTÁCTICO
3.2.1. Definición
3.2.2. Gramáticas independientes del contexto (Libres del contexto)
3.2.3. Derivación
3.2.4. Árbol de Análisis Sintáctico

4. GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO


4.1. Definición
4.2. Funciones Primero y Siguiente
4.3. GRAMÁTICAS DESCENDENTES
4.3.1. Definición
4.3.2. Algoritmos de familia LL(k)
4.3.3. Ejemplos
4.4. Reescrituras gramaticales
4.4.1. Supresión de ambigüedad
4.4.2. Factorización
4.4.3. Eliminación de recursividad por la izquierda
4.5 GRAMÁTICAS ASCENDENTES
4.5.1. Definición
4.5.2. Algoritmos de familia LR(k)
4.5.3. Ejemplos

5. TABLA DE SÍMBOLOS Y MANEJO DE ERRORES


5.1. Definición
5.2. Estructura
5.3. Operaciones con la tabla de símbolos
5.4. Manejo y recuperación de errores

6. MÓDULO HERRAMIENTA JFLEX & CUP


6.1. Descarga, Instalación, Compilación de escritura de expresiones regulares y gramáticas
6.2. Comunicación con el entorno de programación
6.3. Acciones gramaticales
6.4. Manejo de Errores

7. MÓDULO HERRAMIENTA JISON


7.1. Descarga, Instalación, Compilación de escritura de expresiones regulares y gramáticas.
7.2. Comunicación con el entorno de programación
7.3. Acciones gramaticales
7.4. Manejo de Errores
CALENDARIZACIÓN DE ACTIVIDADES:
1. Primer proyecto
1.1. Publicación: 7 de febrero
1.2. Entrega: 10 de marzo
1.3. Tiempo de Calificación: 30 minutos

2. Segundo proyecto
2.1. Publicación: 18 de marzo
2.2. Entrega: 21 de abril
2.3. Tiempo de Calificación: 30 minutos

3. Conferencia
3.1. La fecha se dará en el transcurso del laboratorio

BIBLIOGRAFÍA:
4. Principios, Técnicas y Herramientas Aho, Sethi y Ullman. PEARSON ADDISON-WESLEY, 2008,
2da Edición

También podría gustarte