La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES.

Presentaciones similares


Presentación del tema: "UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES."— Transcripción de la presentación:

1 UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES

2 Arboles de expresiones Los árboles binarios se utilizan para almacenar expresiones aritméticas en memoria, esencialmente en compiladores de lenguajes de programación. Una expresión es una secuencia de tokens (componentes de léxicos que siguen unas reglas establecidas). Un token puede ser un operando o bien un operador.

3 Un árbol de expresión sirve para evaluar expresiones como operadores (+,*, /, -, % ) u operandos de tipo: (a+b)*c

4 Al introducir la expresión debemos de tomar en cuenta las siguientes características. La raíz siempre debe ser un operador. Las hojas siempre deben ser un operando Los nodos deben estar etiquetados por operadores

5 Los paréntesis no se almacenan en el árbol pero están implicados en la forma del árbol, como puede apreciarse en la Figura siguiente.

6 Convertir la siguiente expresión a un árbol (a+b)-((c*d)/e)

7 Recorrido de un árbol: Preorden, Inorden, Postorden Preorden: (raíz, izquierdo, derecho). Para recorrer un árbol binario no vacío en preorden, hay que realizar las siguientes operaciones recursivamente en cada nodo, comenzando con el nodo de raíz: 1. Visite la raíz 2. Atraviese el sub-árbol izquierdo 3. Atraviese el sub-árbol derecho

8 Inorden: (izquierdo, raíz, derecho). Para recorrer un árbol binario no vacío en inorden (simétrico), hay que realizar las siguientes operaciones recursivamente en cada nodo: 1. Atraviese el sub-árbol izquierdo 2. Visite la raíz 3. Atraviese el sub-árbol derecho

9 Postorden: (izquierdo, derecho, raíz). Para recorrer un árbol binario no vacío en postorden, hay que realizar las siguientes operaciones recursivamente en cada nodo: 1. Atraviese el sub-árbol izquierdo 2. Atraviese el sub-árbol derecho 3. Visite la raíz

10 En preorden, la raíz se recorre antes que los recorridos de los subárboles izquierdo y derecho. En inorden, la raíz se recorre entre los recorridos de los árboles izquierdo y derecho. En postorden, la raíz se recorre después de los recorridos por el subárbol izquierdo y el derecho. Preorden (antes), inorden (en medio), postorden (después).

11 Ejemplo: Evaluar las siguientes expresiones en preorden y postorden y graficar el árbol de expresión a-((d+c)*e)

12 Ejercicios Evaluar las siguientes expresiones en preorden y postorden y graficar el árbol de expresión para cada una: ((a*(b+c))/((d-e)+f) (A*b)+((c*d)+e) ((a-b)+c))*[(d*((e-f)+(g+i))]

13 1.2 Acciones semánticas de un analizador sintáctico Dependiendo del tipo de sentencias, las acciones semánticas pueden agruparse en: Sentencias de Declaración: Completar la sección de tipos de la Tabla de Símbolos. Sentencias “ejecutables”: Realizar comprobaciones de tipos entre los operandos implicados. Funciones y procedimientos: Comprobar el número, orden y tipo de los parámetros actuales en cada llamada a una función o procedimiento.


Descargar ppt "UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES."

Presentaciones similares


Anuncios Google