TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
Taller Análisis Sintáctico
1. Taller de Compiladores
Nombre: Belén Vásquez
Fecha: 30 de mayo del 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 lacompilación.
✓ Qué operación realiza el análisis sintáctico.
El análisis sintáctico realiza la tarea de agrupación de los tokens del programa en frases
gramaticales para después usarlos en las demás etapas.
✓ A qué se refiere la gramática, la regla de producciones,
símbolos terminales y no terminales.
Gramática: Es el lenguaje que contiene un conjunto de reglas las cuales
servirán para definir la estructura jerárquica de un programa
Reglas de Producción: Estas reglas son un formalismo el cual busca
transmitir conocimiento para la resolución de problemas expertos.
Símbolos Terminales: Son los símbolos que han llegado a un punto tal
que no pueden seguir siendo derivados en otros.
Símbolos no Terminales: Estos símbolos aún pueden derivarse.
Errores
Tablas con
símbolos
Progra
ma
Fuente
Análisis
Sintácti
co
Análisi
s
Léxico
Análisis
Semántic
o
Generar
código
intermedio
Optimizaci
ón
Genera
r
código
Salid
a
2. ✓ Defina un ejemplo de gramática.
Ejemplo: Tomemos el problema del lenguaje de palíndromos, el cual no puede ser
descrito por una expresión regular. Esto es: L = { w | w = wR } no es un lenguaje regular,
pero puede ser descrito por una gramática libre de contexto como lo ilustramos a
continuación:
G = ( V, ?, P, S )
1
G = ( V, ?, P, S )
Donde:
V = { Q, Z, N }
? = { 0, 1 }
P = { Q -> Z | Q -> N | Q -> ? | Z -> 0Q0 | N -> 1Q1 }
S = { Q }
1
2
3
4
V = { Q, Z, N }
? = { 0, 1 }
P = { Q -> Z | Q -> N | Q -> ? | Z -> 0Q0 | N -> 1Q1 }
S = { Q }
✓ Qué es un árbol de pearsing y coloque un ejemplo.
Es un árbol que nos muestra las derivaciones posibles a partir de una secuencia de
tokens de entrada
3. ✓ A qué se entiende por generación decódigo
La generación de código es un proceso en el cual un compilador convierte un programa
el cual es sintácticamente correcto, en instrucciones que pueden ser comprendidas por el
compilador.
✓ Qué es un árbol sintáctico.
Es en esencia un árbol de parseo pero cuenta con instrucciones representadas por código.
✓ En qué consiste el análisis semántico.
Consiste en analizar el programa fuente para buscar posibles errores semánticos y reúne
información útil para fases posteriores.
✓ Cómo se obtiene el código intermedio.
Tras realizar el análisis semántico y sintáctico se puede obtener un código intermedio
del programa fuente. Puede ser representado como un programa para una maquia
abstracta.
✓ Dentro de la compilación a que se refiere la optimización.
La optimización es una representación de un código terminado pero que aparte de
realizar las mismas operaciones el mismo es mas eficiente.
✓ Presente un ejemplo de optimización de código.
Cuando creamos una condición usando booleanos
boolean estado=true,
if(estado==true){
//codigo
}
Optimizado
if(estado){
//codigo
}
4. ✓ Dentro del proceso de la compilación, qué es, para qué, y cómo se utiliza
una tabla de símbolos.
¿Qué es? Es una estructura de datos que sirve para la traducción en un proceso
de compilación.
¿Para qué? Se usan para seguir un parámetro y evitar fallas de tipo semántico o
sintáctico en el proceso de compilación.
¿Cómo se utiliza una tabla de símbolos? Se utiliza en el proceso de compilación
de un analizador léxico, esta tabla se puede ingresar o ya venir predefinida
directamente en el código, compara las palabras ingresadas para verificar si existe
un sentido con respecto a las palabras de la tabla predefinida y así analizar si el
código está estructurado de manera correcta