1. PONTIFICIA UNIVERSIDAD CATOLICA SEDE IBARRA
COMPILADORES
FABRICIO GALARRAGA
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.
✓ Aqué se refiere la gramática, la regla de producciones, símbolos terminales y no terminales.
✓ Defina un ejemplo de gramática.
✓ Qué es un árbol de pearsing y coloque un ejemplo.
✓ Aque se entiende por generación de código
✓ Qué es un árbol sintáctico. ✓ En qué consiste el análisis semántico.
✓ Cómo se obtiene el código intermedio.
✓ Dentro de la compilación a que se refiere la optimización.
✓ Presente un ejemplo de optimización de código.
✓ Dentro del proceso de la compilación, qué es, para qué, y cómo se utiliza una tabla de símbolos.
3. 2. Qué operación realiza el análisis sintáctico.
El análisis sintáctico se encarga de revisar el código de entrada en base a una gramática dada. Y en caso de que el programa de entrada seaválido,
suministra el árbol sintáctico que lo reconoce. Prácticamente, aquí se agrupan los tokens del código fuente para que el compilador use partes de
este en etapas futuras.
3. Aquéserefiere lagramática, laregladeproducciones, símbolosterminalesynoterminales.
La gramática comprende un conjunto finito de reglas que describen toda la secuencia de símbolos pertenecientes aunlenguajeespecífico. Eselpunto
departidadevariascodificacionesylenguajes de programación.Laregladeproduccionestieneunaparteizquierdayunapartederecha.Tanto la parte
izquierda como la parte derecha son una cadena de símbolos terminales y no terminales. Los símbolos terminales son los nodos hoja comprendidos en
elárbol sintáctico y los no terminales son los nodos intermedios, ambos forman parte de un lenguaje.
4. Defina un ejemplo de gramática
Una gramática es una cuádrupla G = (VN , VT , S, P), donde VN es el conjunto de símbolos variables o no terminales, VT es el conjunto de símbolos
terminales (todos los terminales deben pertenecer al alfabeto), S es elsímbolos inicial de la gramática (S siempre es un noterminal), y Pes elconjunto
de producciones o reglas de lagramática. La gramática es de importante estudio en teoría de autómatas.
4. 5. Qué es un árbol de parsing y coloque un ejemplo
Los arboles de parseo son una representación alternativa de las derivaciones e inferencias recursivas. Los árboles de parseo se construyen
mediante un punto de partida el cual es una gramática.
6. A que se entiende por generación de codigo
La generación de código es una de las fases mediante elcual un compilador convierte un programa sintácticamentecorrectoenunaseriede
instruccionesaserinterpretadasporunamáquina.
5. 7. Que es un árbol sintáctico
Esunarepresentacióndeárboldelaestructurasintácticaabstracta(simplificada)delcódigo fuente escrito en cierto lenguaje de
programación.
8. En qué consiste el análisis semántico.
Elanálisis semántico analiza elsignificado delcódigo fuente o programa paraverificar las reglas que no han sido capturadas por la gramática, pero
que puedenverificarse durante eltiempo de compilación.
6. 9. Como se obtiene el código intermedio
Elcódigointermediosepuedeobtenermediantelalocalizacióndeespaciodememoria(entiempo decompilación),esteeliminalanecesidaddeunnuevo
compilador completo para cada máquina de la sección de análisis mismo de todos los compiladores. El código intermedio tiende a ser código
independiente de la máquina. Por lo tanto, el generador de código supone que tiene número ilimitado de almacenamiento en memoria
(registro) para generar el código.
10. Dentro de la compilación a que se refiere la optimización
La optimización se refiere a una mejora mucho más avanzada del código que ya se tiene, es decir transforma un código base en otro mucho mas
eficiente, reduciendo uso de recursos y espacio en memoria, aunque tambiénse debeconsiderar que este viene aser unanuevaversión
11. Presente un ejemplo de optimización de código
7. 12. Dentro del proceso de compilación, que es, para que, y como se utiliza la tabla de símbolos.
La tabla de símbolos es un almacén donde se encuentran guardados varios caracteres sean estos especialesono,comoporejemplo“.,-_*¿!”,latabla
desímbolossirveparaverificarentiempo de compilación algunas secciones de código para registrarlos como separadores, operadores o símbolos
especiales.Latabladesímbolosesunaimportanteestructuradedatoscreadaymantenida por los compiladores con el fin de almacenar información
acerca de la ocurrencia de diversas entidades, tales como nombres de variables, nombres de funciones, objetos, clases, interfaces, etc. esta se utiliza
en el análisis y la síntesis de un compilador.