3
Árboles sintácticos Árbol sintáctico, para una oración compuesta (el niño que me saludó me odia) en la que la oración subordinada es una oración de relativo. Dada una oración o construcción compleja esta puede dividirse en constituyentes sintácticos, cada uno de los cuales a su vez podría ser divisible o analizable en otros constituyentes. El conjunto de constituyentes sintácticos admite con la relación binaria de inclusión (o "ser parte de") es un conjunto parcialmente ordenado. Un árbol sintáctico es una representación de las relaciones jerárquicas entre los constituyentes sintácticos. Más formalmente, un árbol sintáctico es un grafo que representa esta relación de orden parcial. Cuando en una construcción un constituyente X es parte de un constituyente inmediato de otro constituyente más grande Y, el árbol sintáctico correspondiente tendrá una línea entre el nodo que representa a X y en nodo que representa a Y. Actualmente se acepta que toda lengua admite un análisis mediante árboles sintácticos binarios. En los árboles gráficos los núcleos sintácticos se suelen representar con una letra, por ejemplo X, seguida de un subíndice (por ejemplo ), mientras que las estructuras más complejas se

Árboles sintácticos.docx

Embed Size (px)

Citation preview

Page 1: Árboles sintácticos.docx

Árboles sintácticos

Árbol sintáctico, para una oración compuesta (el niño que me saludó me odia) en la que la oración subordinada es una oración de relativo.

Dada una oración o construcción compleja esta puede dividirse en constituyentes sintácticos, cada uno de los cuales a su vez podría ser divisible o analizable en otros constituyentes. El conjunto de constituyentes sintácticos admite con la relación binaria de inclusión (o "ser parte de") es un conjunto parcialmente ordenado. Un árbol sintáctico es una representación de las relaciones jerárquicas entre los constituyentes sintácticos. Más formalmente, un árbol sintáctico es un grafo que representa esta relación de orden parcial.

Cuando en una construcción un constituyente X es parte de un constituyente inmediato de otro constituyente más grande Y, el árbol sintáctico correspondiente tendrá una línea entre el nodo que representa a X y en nodo que representa a Y. Actualmente se acepta que toda lengua admite un análisis mediante árboles sintácticos binarios. En los árboles gráficos los núcleos sintácticos se suelen representar con una letra, por ejemplo X, seguida de un subíndice (por ejemplo ), mientras que las estructuras más complejas se señalan mediante una o dos barras superpuestas o mediante primas (por ejemplo, ) y si se trata de proyecciones máximas de un núcleo mediante la letras S antecediendo a la letra que designa al núcleo (por ejemplo SX).

Page 2: Árboles sintácticos.docx

Árbol de sintaxis abstracta

Árbol de sintaxis abstracta para el siguiente código del algoritmo de Euclides:

while b ≠ 0

if a > b

a := a − b

else

b := b − a

return a

En ciencias de la computación, un árbol de sintaxis abstracta (AST), es una representación de árbol de la estructura sintáctica abstracta (simplificada) del código fuente escrito en cierto lenguaje de programación. Cada nodo del árbol denota una construcción que ocurre en el código fuente. La sintaxis es abstracta en el sentido que no representa cada detalle que aparezca en la sintaxis verdadera. Por ejemplo, el agrupamiento de los paréntesis está

Page 3: Árboles sintácticos.docx

implícito en la estructura arborescente, y una construcción sintáctica tal como IF condición THEN puede ser denotada por un solo nodo con dos ramas.

Esto hace a los árboles de sintaxis abstracta diferentes de los árboles de sintaxis concreta, llamados tradicionalmente árboles de parser, que son a menudo construidos por la parte parser de la traducción del código fuente y el proceso de compilación (a pesar quizás de un nombramiento no intuitivo). Una vez construido, información adicional es agregada al AST por procesamiento subsecuente, ej., análisis semántico.