Analisis Sintactico 6.2


Árbol de derivación


Un árbol de derivación permite mostrar gráficamente cómo se puede derivar cualquier cadena de un lenguaje a partir del símbolo distinguido de una gramática que genera ese lenguaje.

Un árbol es un conjunto de puntos, llamados nodos, unidos por líneas, llamadas arcos. Un arco conecta dos nodos distintos. Para ser un árbol un conjunto de nodos y arcos debe satisfacer ciertas propiedades:

Hay un único nodo distinguido, llamado raíz (se dibuja en la parte superior) que no tiene arcos incidentes.
Todo nodo c excepto el nodo raíz está conectado con un arco a otro nodo k, llamado el padre de c (c es el hijo de k). El padre de un nodo, se dibuja por encima del nodo.
Todos los nodos están conectados al nodo raíz mediante un único camino.
Los nodos que no tienen hijos se denominan hojas, el resto de los nodos se denominan nodos interiores.


Propiedades de un árbol de derivación.

Sea G = (N,T,S,P) una gramática libre de contexto, seauna variable. Diremos que un árbol TA = (N,E) etiquetado es un árbol de derivación asociado a G si verifica las propiedades siguientes:

·         La raíz del árbol es un símbolo no terminal
·         cada hoja corresponde a un símbolo terminal o λ.
·         cada nodo interior corresponde a un símbolo no terminal.

Para cada cadena del lenguaje generado por una gramática es posible construir (al menos) un árbol de derivación, en el cual cada hoja tiene como rótulo uno de los símbolos de la cadena.




Para cada cadena del lenguaje generado por una gramática es posible construir (al menos) un árbol de derivación, en el cual cada hoja tiene como rótulo uno de los símbolos de la cadena.

Si un nodo está etiquetado con una variable X y sus descendientes (leídos de izquierda a derecha) en el árbol son X1,…,Xk , entonces hay una producción X → X1…Xk en G.

Sea G=(N,T,S,P) una GLC. Un árbol es un árbol de derivación para G si:
1. Todo vértice tiene una etiqueta tomada de
 2. La etiqueta de la raíz es el símbolo inicial S
3. Los vértices interiores tienen etiquetas de N
4. Si un nodo n tiene etiqueta A y n1n2...nk respectivamente son hijos del vértice n, ordenados de izquierda a derecha, con etiquetas x1,x2..xk respectivamente, entonces: A→ x1x2...xk debe ser una producción en P
5. Si el vértice n tiene etiqueta λ, entonces n es una hoja y es el único hijo de su padre.


Árbol de derivación. Ejemplo
Sea G=(N,T,S,P) una GLC con P: S→ ab|aSb

La derivación de la cadena aaabbb será:
y el árbol de derivación:




Relación entre derivaciones y árboles

Si leemos las etiquetas de las hojas de izquierda a derecha tenemos una sentencia. Llamamos a esta cadena la producción del árbol de derivación.

Teorema. Sea G=(N,T,S,P) una GLC. Entonces(de S se deriva α) si y sólo si hay un árbol de derivación en la gramática G con la producción α.

Si w es una cadena de L(G) para la gramática libre de contexto G, entonces w tiene al menos un árbol de derivación. Referido a un árbol de derivación particular,w tendrá una única derivación a la izquierda y otra única a la derecha.



Comentarios

Entradas populares