You are on page 1of 10

Tema 1:

Variantes de los arboles sintcticos


Cdigo de tres direcciones

Grupo: 1617IS
Rolando Guzmn Medina

Oscar Uriel Prez Gmez

ngel Manuel Zambrano Gmez


Variantes de los arboles sintcticos

En principio podemos considerar la estructura de


rbol de manera intuitiva como una estructura
jerrquica.
Variantes de los arboles sintcticos

En una estructura lineal resulta trivial establecer un criterio de


movimiento por la misma para acceder a los elementos, pero en
un rbol esa tarea no resulta tan simple.No obstante, existen
distintos mtodos tiles en que podemos sistemticamente
recorrer todos los nodos de un rbol.Los tres recorridos ms
importantes se denominan preorden,inorden y postorden
aunque hay otros recorridos como es el recorrido por niveles.
Variantes de los arboles sintcticos
El listado en preorden es:

Si el rbol tiene un nico elemento, dicho


elemento es el listado en preorden.

Si el rbol tiene ms de un elemento,es


decir,una estructura como muestra la figura
2,el listado en preorden es listar el nodo raz
seguido del listado en preorden de cada uno
de los subrboles hijos de izquierda a derecha.
Variantes de los arboles sintcticos

El listado en inorden es:

Si el rbol tiene un nico elemento, dicho


elemento es el listado en inorden.

Si el rbol tiene una estructura como muestra la


figura 2,el listado en inorden es listar el subrbol
A1 en inorden,y listar el nodo raz seguido del
listado en inorden de cada uno de los subrboles
hijos de izquierda a derecha restantes.
Variantes de los arboles sintcticos
El listado en postorden es:

Si el rbol tiene un nico elemento, dicho


elemento es el listado en postorden.
Si el rbol tiene una estructura como
muestra la figura 2,el listado en postorden
es listar en postorden cada uno de los
subrboles hijos de izquierda a derecha
seguidos por el nodo raz.
Variantes de los arboles sintcticos
ANALIZADOR ASCENDENTE

Construye el rbol sintctico desde las hojas hasta llegar a la


raz. Son analizadores del tipo reduccin-desplazamiento.

ANALIZADOR DESCENDENTE

Construyen el rbol sintctico de la sentencia a reconocer


desde el smbolo inicial, hasta llegar a los smbolos
terminales, usando derivaciones ms hacia la izquierda.
Cdigo de tres direcciones

Se llama de esa forma porque solo permite referenciar a 3


direcciones de memoria al mismo tiempo.

Es muy parecido a un lenguaje ensamblador para un


microprocesador que carece de registros y slo es capaz de
trabajar con direcciones de memoria y literales.

Cada instruccin tiene como mximo tres operandos.


Cdigo de tres direcciones

Expresiones como (a+3)*(4-5)/2 no pueden ser operadas como


una sola instruccin.

Por lo tanto se debe descomponer la expresin en expresiones


ms sencillas y debemos auxiliarnos de variables temporales para
almacenar los resultados mientras no los hayamos usado.

Para efectos de notacin, vamos a denotar las variables


temporales con una t_n donde n representa un subndice.
Cdigo de tres direcciones

Para la expresin x=(a+3)*(4-5)/2 vamos a transformarla a cdigo de 3


direcciones:

t_1=a+3;

t_2=4-5;

t_3=t_1*t_2;

t_4=t_3/2

x=t_4;

You might also like