Este documento describe las diferentes fases del proceso de compilación, incluyendo el análisis léxico, sintáctico, semántico y generación de código. Explica que el análisis sintáctico agrupa los tokens en frases gramaticales para las siguientes etapas y que la gramática define reglas y símbolos para la estructura del programa. También presenta preguntas sobre estas fases y conceptos relacionados con la compilación.
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
Analizador Sintáctico
1. ESCUELA DE INGENIERÍA
SEMESTRE MAYO –
AGOSTO 2020
COMPILADORES
ANALISIS
SINTÁCTICO
NOMBRE: MAURICIO PINTO
FECHA: 17/06/20
Contestar las siguientes preguntas
Mediante un organizador gráfico defina las fases de la compilación.
Qué operación realiza el análisis sintáctico.
Agrupa los tokens del programa fuente en frases gramaticales que el compilador usará
en las siguientes etapas.
A qué se refiere la gramática, la regla de producciones, símbolos terminales
y no terminales.
La estructura jerárquica de un programa es representada por reglas que
Programa Fuente
Tabla
De
Símbolos
Errores
GENERACIÓN DE CÓDIGO OBJETIVO
OPTIMIZACIÓN
GENERACIÓN DE CÓDIGO INTERMEDIO
ANÁLISIS SEMÁNTICO
ANÁLISIS SINTÁCTICO
ANÁLISIS LÉXICO
Salida
2. constituyen una gramática. Las reglas se representan por medio de
producciones. Cada producción define un símbolo no terminal en función de
símbolos terminales o tokens, y otros símbolos no terminales.
Defina un ejemplo de gramática.
Qué es un árbol de pearsing y coloque un ejemplo.
Es aquel que demuestracomolasecuenciade tokensde entradapuedeserderivadaapartirde
las reglas de una gramática.
A qué se entiende por generación de código
3. Se traduce larepresentaciónintermediadelprogramafuente enel códigonativode lamáquina
objetivo. El código generado efectuará el chequeo de las reglas de semántica dinámica del
lenguaje, que no pudieron ser verificadas durante la compilación.
Qué es un árbol sintáctico.
Es unarepresentaciónde árbol de laestructurasintácticasimplificadadelcódigofuenteescrito
en cierto lenguaje de programación
En qué consiste el análisis semántico.
Consiste en chequear las reglas que no pueden ser capturadas por la gramática, pero
que pueden ser verificadas en tiempo de compilación.
Cómo se obtiene el código intermedio.
Se obtiene al pasar por el compilador, este se genera en lugar de código ensamblador.
Dentro de la compilación a que se refiere la optimización.
Se refiere ala transformaciónde códigoenuna nuevaversióncuyasfuncionessonlasmismas
pero el resultado es mas eficiente.
Presente un ejemplo de optimización de código.
4. Dentro del proceso de la compilación, qué es, para qué, y cómo se utiliza
una tabla de símbolos.
Es una estructura de datos que contiene un registro para cada identificador utilizado en el
código fuente, con campos que contienen información relevante para cada símbolo
(atributos).
Cuando el Análisis Léxico detecta un token de tipo identificador, lo ingresa en la Tabla de
Símbolos. Durante la Generación de Código se ingresa información para losatributos de los
símbolos, y se usa esa información de diversas maneras. Durante la Generación de Código
puede ser necesario incorporar nuevas entradas a la Tabla de Símbolos.
Realizar un comentario personal sobre el funcionamiento que tiene el analizador
sintáctico para el proceso de la compilación.
En el proceso de la compilación de un código podemos ver que existe el analizador
sintáctico, este nos permite agrupar de manera eficiente cada una de las frases
gramaticalesdel códigoentokensparaluegoserusadaentodassussiguientesfases,creo
que esto es importante debido a que esto permite mayor organización a la hora de
compilarypermite que estohagalatereamassencillaytrabaje másrápidoel compilador.