a+b
(a+b)-(c-d)
(a+b)-((c-d)+e)
Árboles de expresiones
Los árboles de expresiones son estructuras de datos que definen código. Se basan en las mismas estructuras que usa un compilador para analizar el código y generar el resultado compilado.
Los árboles binarios se utilizan para almacenar expresiones aritméticas en memoria, esencialmente en
compiladores de lenguajes de programación. Una expresión es una secuencia de tokens (componentes de
léxicos que siguen unas reglas establecidas). Un token puede ser un operando o bien un operador.
Los paréntesis no se almacenan en el árbol pero están implicados en la forma del árbol, como puede
apreciarse en la Figura
Un árbol de expresión es un árbol binario con las siguientes propiedades:
1. Cada hoja es un operando.
2. Los nodos raíz y los nodos internos son operadores.
3. Los subárboles son subexpresiones cuyo nodo raíz es un operador.
Los árboles binarios se utilizan para representar expresiones en memoria, esencialmente en compiladores
de lenguajes de programación. Se observa que los paréntesis de la expresión no aparecen en el árbol,
pero están implicados en su forma, y esto resulta muy interesante para la evaluación de la expresión.
Si se supone que todos los operadores tienen dos operandos, se puede representar una expresión
mediante un árbol binario cuya raíz contiene un operador y cuyos subárboles izquierdo y derecho son los
operando izquierdo y derecho, respectivamente. Cada operando puede ser una letra (x, y, a, b, etc.) o una
subexpresión representada como un subárbol.
El nodo raíz del subárbol izquierdo contiene el operador (+) de la subexpresión izquierda y el nodo raíz del
subárbol derecho contiene el operador (-) de la subexpresión derecha. Todos los operandos letras se
almacenan en nodos hojas.
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.
Los árboles binarios se utilizan para representar expresiones en memoria, esencialmente en compiladores
de lenguajes de programación. Se observa que los paréntesis de la expresión no aparecen en el árbol,
pero están implicados en su forma, y esto resulta muy interesante para la evaluación de la expresión.
No hay comentarios:
Publicar un comentario