1. Nombre:Daniel Rosero
Fecha: 30/05/2019
Resuelva cada una de las interrogantes planteadas y subir el enlace al espacio virtual con
la publicación del enlace de la dirección de su blog.
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 utilizará en las
siguientes etapas.
A qué se refiere la gramática, la regla de producciones, símbolos terminales y no terminales.
Gramática: La gramáticapermite generarcadenasapartir de unsímboloinicial yaplicando
reglas que indican como ciertas combinaciones de símbolos pueden ser reemplazadas
usando otras combinaciones de símbolos.
Regla de producciones: Especifican cómo se pueden combinar los terminales y no
terminales para formar cadenas. Cada producción consta de un No terminal (símbolo
inicial), seguido por una flecha o símbolo de asignación, seguida por una cadena de no
terminales y terminales.
Símbolosterminales:Símbolosbásicosconque se formanlascadenas.Paraunlenguaje de
programación, cada palabra clave/reservada es un terminal.
Símbolos no terminales: los no terminales definen conjuntos de cadenas que ayudan a
definir el lenguaje generadopor la gramática. Imponen una estructura jerárquica sobre el
lenguaje que es útil tanto para el análisis sintáctico como para la traducción.
2. Defina un ejemplo de gramática.
Qué es un árbol de pearsing y coloque un ejemplo.
Árbolesque describenladerivación,Lashojascorrespondenalacadena (generada/reconocida),La
derivación especifica cómo generar la cadena, El árbol especifica la estructura implícita.
A qué se entiende por generación de Código
La generaciónde código esunade lasfasesmediante el cual un compiladorconvierteunprograma
sintácticamente correcto en una serie de instrucciones a ser interpretadas por una máquina. La
entradaen estafase viene representada,típicamente,porun Árbol Sintáctico,unÁrbol de Sintaxis
Abstracta, o una Representación Intermedia; la máquina destino puede ser un microprocesadoro
una máquina abstracta tal como una máquina virtual o un lenguaje intermedio, legible por un
humano.
3. Qué es un árbol sintáctico.
Es una representación que se utiliza para describir el proceso de derivación de dicha sentencia.
Como nodos internos del árbol, se sitúan los elementos no terminalesde las reglas de producción
que vayamosaplicando,ytantoshijoscomosímbolosexistanenlaparte derechade dichas reglas.
En qué consiste el análisis semántico.
Se compone de un conjuntode rutinasindependientes,llamadas porlosanalizadoresmorfológico
y sintáctico. El análisissemánticoutilizacomoentradael árbol sintácticodetectadoporel análisis
sintácticopara comprobarrestriccionesde tipoyotraslimitacionessemánticasyprepararla
generaciónde código.
Cómo se obtiene el código intermedio.
Pueden ser fácilmente generados desde el código fuente y podemos aplicar fácilmente
modificaciones de código para mejorar el rendimiento. Pero para optimización de la máquina
destino, es menos preferido. Mientras que, para el bajo nivel, este es cerca de la máquina de
destino, lo que lo hace adecuado para registro y asignación de memoria, un conjunto de
instrucciones selección, etc. es bueno para optimizaciones dependientes de la máquina.
Dentro de la compilación a que se refiere la optimización.
trata de minimizar ciertos atributos de un programa informático con el fin de aumentar
la eficienciayrendimiento. Las optimizaciones del compilador se aplican generalmente mediante
unasecuenciade transformaciones de optimización, algoritmos que transformanunprogramapara
producir otro con una salida semánticamente equivalente pero optimizado.
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 usa el procesode traducciónde un lenguaje de programación,por
un compiladoro un intérprete, donde cada símbolo en el código fuente de un programa está
asociado con información tal como la ubicación, el tipo de datos y el ámbito de cada variable,
constante o procedimiento.
Una implementación común de una tabla de símbolos puede ser una tabla hash, la cual será
mantenida a lo largo de todas las fases del proceso de compilación de ticses.