El documento describe las diferentes fases de la compilación, incluyendo el análisis léxico, sintáctico, semántico, generación de código intermedio, optimización y generación de código objetivo. También define conceptos clave como gramáticas, producciones, símbolos terminales y no terminales, árboles de parsing y sintácticos, y el uso de tablas de símbolos.
La Sostenibilidad Corporativa. Administración Ambiental
Sintactico
1. Taller de Compiladores
Nombre: Luis Molina.
✓ Mediante un organizador gráfico defina las fases de la compilación.
✓ Qué operación realiza el análisis sintáctico
Es el encargado de agrupar tokens que se encuentran en el programa fuente a frases
gramaticales para las siguientes etapas del compilador
✓ A qué se refiere la gramática, la regla de producciones, símbolos terminales y no terminales.
Gramática: Son la o las reglas que se encargan de representar la estructura de un programa de
manera jerárquica.
Producciones: Son cadenas que contienen símbolos y estos pueden llegar a ser terminales o no
terminales.
Símbolos terminales: Estos ya no tienen ninguna continuación, es decir, no se puede derivar
nada más a partir de ellos.
Símbolos no terminales: Aun pueden continuar con su proceso es decir aún son derivables.
Error
Tabla con
símbolos
Análisis léxico Análisis
Sintáctico
Análisis
Semántico
Generación
de Código
Intermedio
Optimización
Generación
código Objetivo
Program
a Fuente
Salida
2. ✓ Defina un ejemplo de gramática.
[El hombre] GN [llegó [muy [tranquilamente]] GAdv [a [su casa]] GP] GV .
✓
Qué es un árbol de parsing y coloque un ejemplo.
Los árboles de parsing son una forma alternativa y secuencial de las derivaciones e inferencias
recursivas. La gramática es parte fundamental y se puede considerar la raíz o el punto de partida
3. ✓ A qué se entiende por generación de código.
La generación de código es una fase donde el compilador hace una conversión de un programa
ingresado que se sabe es sintácticamente correcto, para que las instrucciones sean interpretadas
por la máquina de manera eficiente.
✓ Qué es un árbol sintáctico.
Es un árbol muy similar al árbol de parsing, pero este cuenta con segmentos de código de algún
lenguaje de programación.
✓ En qué consiste el análisis semántico.
Este análisis de la parte más profunda o el significado mismo del código fuente. Realiza un
análisis de las reglas que no han sido tomadas en cuenta de la gramática, pero pueden verificarse
durante el tiempo de compilación.
✓ Cómo se obtiene el código intermedio.
Analizando el código fuente, para de esta manera poder representarlos en Tercetos, Cuartetos
o Polaca Inversa
✓ Dentro de la compilación a que se refiere la optimización.
La optimización transforma la representación actual del código en una versión mejorada que logra
el mismo resultado pero de manera más eficiente
✓ Presente un ejemplo de optimización de código.
Boolean esVerdadero=true;
Normal Optimizado
If(esVerdadero==true){
Actuar(); If(esVerdadero){
Actuar();
} }
✓ Dentro del proceso de la compilación, qué es, para qué, y cómo se utiliza una tabla de símbolos.
¿Qué es?
En esta tabla se ingresan todos los tokens.
¿Para qué es?
Se usa para encontrar si existe un uso inadecuado léxico o sintáctico de las palabras usadas en el
proceso de compilación
¿Cómo se utiliza?
Se utiliza en la compilación de un analizador léxico, esta tabla se puede ingresar o ya estar ingresada
directamente en el código, compara las palabras ingresadas para verificar si existe concordancia con
las palabras de la tabla y así analizar si el código está estructurado de manera correcta