Вы находитесь на странице: 1из 14

Arboles de derivacin

Equipo:
_Rosas Miralrio Adrin
_Namitle Chimalhua Jorge
_Lpez Serna Juan Armando
_Guzmn Espinoza Miguel ngel
_Garca Noriega Francisco Daniel
Arboles de derivacin
Existe una representacin de rbol para las derivaciones que ha
demostrado ser extremadamente til. Este rbol muestra claramente
cmo se agrupan los smbolos de una cadena terminal en subcadenas,
que pertenecen al lenguaje de una de las variables de la gramtica.
Pero lo ms importante es que el rbol, conocido como rbol de
derivacin, cuando se emplea en un compilador, es la estructura de
datos que representa el programa fuente.
En un compilador, la estructura del rbol del programa fuente facilita
la traduccin del programa fuente a cdigo ejecutable permitiendo
que el proceso de traduccin sea realizado por funciones naturales
recursivas.
Un rbol de derivacin para una derivacin dada se
construye creando un nodo raz que se etiquet con el
smbolo inicial. El nodo raz tiene unos nodos hijos para
cada smbolo que aparezca en el lado derecho de la
produccin usada para reemplazar el smbolo inicial. Todo
nodo etiquetado con un no terminal tambin tiene unos
nodos hijos etiquetados con los smbolos del lado derecho
de la produccin usada para sustituir ese no terminal. Los
nodos que no tienen hijos deben ser etiquetados con
smbolos terminales.
Terminologa de los arboles
Los rboles son colecciones de nodos, que mantienen una relacin padre-
hijo. Un nodo tiene como mximo un padre, que se dibuja por encima del
mismo, y cero o ms hijos, que se dibujan por debajo. Las lneas
conectan los padres con sus hijos.
Existe un nodo, el nodo raz, que no tiene padre; este nodo aparece en la
parte superior del rbol. Los nodos sin hijos se denominan hojas. Los
nodos que no tienen hojas son nodos interiores.
El hijo de un hijo ... de un nodo es un descendiente de dicho nodo. Un
padre de un padre de un ... es un ancestro. Evidentemente, cualquier
nodo es ancestro y descendiente de s mismo.
Los hijos de un nodo se ordenan de izquierda a derecha y se dibujan
as. Si el nodo N est a la izquierda del nodo M, entonces todos los
descendientes de N son los que estn a la izquierda de todos los
descendientes de M.
Resultado de un rbol de derivacin

Si nos fijamos en las hojas de cualquier rbol de derivacin y las
concatenamos empezando por la izquierda, obtenemos una cadena
denominada resultado del rbol, que siempre es una cadena que se
deriva de la variable raz.

E
E + E
I
Consideremos la gramtica independiente del
contexto

S A B
A a A | a
B b B | b
La cadena aabbb puede ser derivada mediante
S => A B => AbB=> AbbB => Abbb=> aAbbb => aabbb
Derecha - izquierda
A
S
b
B
B A b a
a
B
b
S => A B => AbB=> AbbB => Abbb=> aAbbb => aabbb

Grafo derivacional de acuerdo a
gramticas
A toda derivacin de una gramtica de tipo 1, 2 3 le corresponde un rbol de
derivacin. Este rbol se construye as:
La raz del rbol corresponde al axioma de la gramtica
Una derivacin directa se representa por un conjunto de ramas que salen de
un nodo determinado. Al aplicar una regla, uno de los smbolos de la parte
izquierda de la produccin queda sustituido por la palabra de la parte
derecha. Por cada uno de los smbolos de x se dibuja una rama, que parte del
nodo correspondiente al smbolo sustituido.
En cada rama, el nodo de partida se denomina padre. El final se denomina
hijo del primero. Dos nodos hijos del mismo padre se denominan hermanos.
Un nodo es ascendiente de otro si es su padre o ascendiente de su padre. Un
nodo es descendiente de otro si es su hijo o es descendiente de su hijo.

A lo largo del proceso de construccin del rbol, los nodos finales de cada
paso, ledos de izquierda a derecha, forman la forma sentencial obtenida por
la derivacin representada por el rbol.
Ser rama terminal aquella dirigida hacia un smbolo terminal. Este nodo se
llama hoja. El conjunto de hojas, ledo de izquierda a derecha, forma la
sentencia generada por la derivacin.

Subrbol
Dado un rbol correspondiente a una derivacin, se denomina subrbol al rbol cuya
raz es un nodo cualquiera y cuyos nodos son los descendientes de ste.
Teorema: Los nodos terminales de un subrbol, ledos de izquierda a derecha,
forman una frase respecto de la raz del subrbol.
Demostracin:
Sea U la raz del subrbol, y sea u la palabra formada por los nodos terminales del
subrbol. As, se verifica que U ->+ u
Sea x la palabra formada, leyendo de izquierda a derecha, los nodos terminales
del rbol situados a la izquierda de los del subrbol. Sea y la palabra formada,
leyendo de izquierda a derecha, los nodos terminales situados a la derecha de los
del subrbol. De esta forma se verifica que x u y es la sentencia definida por el
rbol completo.
Como S ->*xUy y adems U ->+u, se sigue que u es una frase respecto de U y de la
forma sentencial x u y.
Si todos los nodos terminales del subrbol son hijos de la raz, entonces u es una
frase simple.

Teorema
Esto es, cada arco del diagrama indica que demostramos un teorema
que establece que si w cumple la condicin en la cola del arco,
entonces tambin la cumple en el origen del mismo.
Ejercicio
1. Der-Izq







2. S => ScS => SbScS => abScS => abacS => abaca (izq-der)
Resultados
1. S=> SbS=> SbScS => SbSca => Sbaca => abaca



2. S => ScS => SbScS => abScS => abacS => abaca
Gracias ...

Вам также может понравиться