Análisis Sintáctico

PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA
COMPILADORES
NOMBRE: FRANKLIN PAZMIÑO
FECHA: 30/05/2019
TALLER
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.
Un analizador sintáctico o “parser” toma como entrada la salida de un analizador léxico en la forma de streams de tokens.  El parser compara el código fuente (stream de tokens) contra las reglas de producción de la gramática para detectar cualquier error en el código.
Esto implica que para cada gramática regular existe una gramática libre de contexto, pero existen problemas que están mas allá del alcance de una gramática regular.  Las gramáticas libres de contextos constituyen una herramienta útil para describir la sintaxis de los lenguajes de programación.
✓ Aqué se refiere la gramática, la regla de producciones, símbolos
terminales y no terminales.
Es el punto de partida de varias codificaciones y lenguajes de programación. La regla de producciones tiene una parte izquierda y una parte derecha. 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.
✓ 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 el símbolos inicial de la gramática (S siempre es un no terminal)
✓ Qué es un árbol de pearsing 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.

✓ A que se entiende por generación de código
Es una de las fases mediante el cual un compilador convierte un programa sintácticamente correcto en una serie de instrucciones a ser interpretadas por una máquina.
✓ Qué es un árbol sintáctico.
En lenguajes formales y lingüística computacional, un árbol de sintaxis abstracta, o simplemente un árbol de sintaxis, es una representación de árbol de la estructura sintáctica simplificada del código fuente escrito en cierto lenguaje de programación.
✓ En qué consiste el análisis semántico.
Analiza el significado del código fuente o programa para verificar las reglas que no han sido capturadas por la gramática, pero que pueden verificarse durante el tiempo de compilación.
✓ Cómo se obtiene el código intermedio.
Se puede obtener mediante la localización de espacio de memoria (en tiempo de compilación), este elimina la necesidad de un nuevo 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.
✓ Dentro de la compilación a que se refiere la optimización.
 Es un programa transformación técnica, que trata de mejorar el código por lo que consumen menos recursos (es decir CPU, memoria) y ofrecer una alta velocidad.
✓ 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.
En informática, una tabla de símbolos es una estructura de datos que usa el proceso de traducción de un lenguaje de programación, por un compilador o 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.
 La tabla de símbolos es un almacén donde se encuentran guardados varios caracteres sean estos especiales o no, como por ejemplo “. , - _ * ¿ !”,
La tabla de símbolos es una importante estructura de datos  para 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.

Bibliografía:  https://es.wikipedia.org/wiki/Tabla_de_s%C3%ADmbolos_(compilador)

Comentarios

Entradas populares de este blog

Instalar Compilador Cruzado (cross-compiler) en Linux (Debian) PC

Fortran con el compilador Gfortran