lunes, 20 de febrero de 2023

Acciones semanticas del analizador sintactico

Acciones semánticas de un analizador sintáctico
Definición de un analizador sintáctico: es la fase del analizador que se encarga de chequear el texto de entrada en base a una gramática dada. Y en caso de que el programa de entrada sea válido, suministra el árbol sintáctico que lo reconoce.

1.1 Arboles de expresiones Los árboles de expresiones representan el código de nivel del lenguaje en forma de datos. Los datos se almacenan en una estructura con forma de árbol. Cada nodo del árbol de expresión representa una expresión, por ejemplo, una llamada al método o una operación binaria, como x < y.

Construcción de un árbol de expresión Algoritmo
 Mientras carácter diferente de nulo 
 Leer carácter de la lista 
 Si es paréntesis pasar al siguiente carácter 
 Crear un nodo nuevo que contenga ese carácter

Operando 
 Si el árbol está vacío hacer raíz a nuevo, si no recorrer el árbol por la derecha hasta llegar a un nodo con hojas, si la hoja izquierda, no está etiquetada colocar operando, si no colocarlo en la hoja derecha. Operador 
 Si la raíz es un operando, insertar nuevo en ese nodo, y convertir el operando en el hijo izquierdo, si no si hay un paréntesis abierto insertar nuevo en la última hoja derecha y colocar operando como hijo izquierdo. 
 Si el carácter anterior es paréntesis izquierdo si el siguiente carácter es paréntesis derecho si solo hay un operador en el árbol nuevo se convierte en raíz, si no se inserta en el último nodo derecho, y el nodo se convierte en hijo izquierdo. 
 Si no se cumple ninguna de las condiciones anteriores si la raíz es de igual prioridad o menor prioridad convertir la raíz en el hijo izq. de nuevo si no la prioridad del nodo raíz es mayor al de nuevo insertar nuevo como hijo derecho y colocar el nodo reemplazado como hijo izquierdo.

informacion 


No hay comentarios.:

Publicar un comentario

Emulador

 link de enmulador https://app.box.com/s/xo6qhgmzgmcpf24tvaytx88u34bth83i link de Informacion https://app.box.com/s/r0sbpslk0dmydm1tl8dd37y4...