Está en la página 1de 1

ARBOLES DE EXPRESIÓN

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. A medida que vaya leyendo este tutorial,
observará cierta similitud entre los árboles de expresiones y los tipos usados en
las API de Roslyn para compilar analizadores y correcciones de código. (Los
analizadores y las correcciones de código son paquetes de NuGet que realizan un
análisis estático en código y pueden sugerir posibles correcciones para un
desarrollador).

Los conceptos son similares y el resultado final es una estructura de datos que
permite examinar el código fuente de forma significativa. En cambio, los árboles de
expresiones se basan en un conjunto de clases y API totalmente diferente a las
API de Roslyn.

Veamos un ejemplo sencillo. Aquí tiene una línea de código:

Si fuera a analizarlo como un árbol de expresión, el árbol contiene varios nodos. El


nodo más externo es una instrucción de declaración de variable con asignación
(var sum = 1 + 2;). Ese nodo exterior contiene varios nodos secundarios: una
declaración de variable, un operador de asignación y una expresión que
representa el lado derecho del signo igual. Esa expresión se subdivide aún más en
expresiones que representan la operación de suma, y los operandos izquierdo y
derecho de la suma.

Johan Kennet Damian Rodriguez

También podría gustarte