1.1 Árboles de Expresiones
Los árboles de expresiones representan el código de nivel del lenguaje en forma de datos.
¿Qué son?
- Cada hoja es un operando
- Los nodos raíz y los nodos internos son operadores
- Los subárboles son subexpresiones cuyo nodo raíz es un operador.
Función
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.
Árboles de expresiones en detalle
Visualmente, toda la instrucción es un árbol: puede empezar en el nodo raíz y desplazarse a cada uno de los nodos del árbol para ver el código que compone la instrucción:
- Instrucción de declaración de variable con asignación (var sum = 1 + 2;)
- Declaración de tipo de variable implícita (var sum)
- Palabra clave var implícita (var)
- Declaración de nombre de variable (
sum
) - Operador de asignación (
=
) - Expresión binaria de suma (1 + 2)
- Operando izquierdo (
1
) - Operador de suma (
+
) - Operando derecho (
2
)
Creación de Árbol de Sintaxis Abstracta (AST) |
Recorrido y evaluación del AST |
Elaborado por: Joseph Aldahir López Hernández
Referencias
Computacionales, I. e.
(s.f.). Árboles. Recuperado el 12 de Febrero de 2022, de www.it.uc3m.es:
https://www.it.uc3m.es/java/gitt/units/arboles/guides/2/guide_es.html#idm4835080
Docs, M. (08 de Febrero
de 2022). Árboles de expresiones en detalle. Recuperado el 12 de Febrero
de 2022, de Microsoft:
https://docs.microsoft.com/es-es/dotnet/csharp/expression-trees-explained
Elkan, M. (10 de
Septiembre de 2019). Arboles de expresiones. Recuperado el 12 de Febrero
de 2022, de Lenguajes Automatas II:
https://miguelangelperezautomatas.blogspot.com/2019/09/arboles-de-expresiones.html
Mendez, I. (s.f.). Árboles
de Expresion. Recuperado el 12 de Febrero de 2022, de ISC.
MENDEZ-PORTAFOLIO:
https://sites.google.com/site/iscmendezportafolio/arboles-de-expresion