Analizadores semánticos: DDS y EDT

Slides:



Advertisements
Presentaciones similares
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico.
Advertisements

Análisis Sintáctico Capítulo 4.
ALGEBRA DE BOOLE Y PUERTAS LÓGICAS
Traductor DDS en CUP Expresiones lógicas.
Animación del Traductor DDS con CUP
A NIMACIONES PL-P RÁCTICA 12 CUP. A NÁLISIS CON CUP Introducción. La expresión que va a ser analizada es la siguiente: Se utilizará la misma nomenclatura.
Animación del segundo ejercicio de la práctica 12 opcional (herramienta ANTLR)
Compiladores e intérpretes Generación de código intermedio II
Procesadores de Lenguaje
Funciones lógicas Tema 4.
CIRCUITOS ELECTRICOS Y ELECTRONICOS
ANALIZADOR SINTACTICO
Compuertas lógicas Puertas lógicas.
Sistemas de Razonamiento Lógico
Traducción dirigida por la Sintaxis
ANALISIS SINTACTICO DESCENDENTE
Teoría de lenguajes y compiladores
Algebra Booleana y Compuertas Lógicas
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
Teoría de la Computación
Tema 3. Optimización de Código
Álgebra de Boole Electrónica Digital
Programación.
ANIMACIÓN Traductor DDT con CUP. En esta animación se puede ver el árbol generado del traductor ascendente mediante transparencias realizadas en PowerPoint.
T RADUCTORES DDS CON CUP Práctica Optativa 12. CASO DE PRUEBA DDS CON CUP A continuación realizaremos una representación del árbol generado para la siguiente.
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Analizador sintáctico Prácticas EDI - © Juan Ramón Pérez1.
Tema 6: Clases Antonio J. Sierra.
Algoritmos para calcular el Conjunto Primero y el Conjunto Siguiente
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Traductores EDT con ANTLR. Introducción Los siguientes pasos facilitarán el seguimiento de la animación:  Primero se mostrará la expresión aritmética.
Subconsultas Avanzadas
1 SEMANA 04_2. 2 OPERADORES ARITMETICOS OPERADOR: + FORMATO: VALOR1 + VALOR2 FUNCION : SUMA VALOR1 Y VALOR2 EJEMPLO : TABLA_MAS_2 DW TABLA + 2 ; (DESPLAZAMIENTO.
ANALISIS SINTACTICO Parte I
Codificador de convolución
OPERACIÓN DE CIRCUITOS ELECTRONICOS DIGITALES
Funciones lógicas Objetivos
Todo traductor esta basado en una gramática para el lenguaje fuente. Todo traductor esta basado en una gramática para el lenguaje fuente. Una gramática.
(false and (74 >= 34)) xor 45 < 78 ; El análisis semántico en CUP se hace de forma ascendente, por ello se parte del árbol completo para su explicación.
(1+5*5)+(3*2); El análisis semántico en ANTLR se hace de forma descendente, por ello se va desarrollando el árbol completo desde el inicio para su explicación.
Unidad aritmético lógica
Un ejemplo de uso de estos operadores: int a, b, c; a = 0xd3; b = 0xf5; c = 0x1e; d =a |b; d =b &c; d =a ^c; d = ~c; d =c 4 Equivale a
Tecnologías de las computadoras
EDT con ANTLR a e; e1t )e ( f Entrada: (1+5)*5; 1 a t1 f OPMULT numerote1 ft1 numero e1t OPSUMA ft1 numero En esta diapositiva se muestra el árbol.
CLASE 2.
Bases de Datos Sql.
Unidad I ÁLGEBRA BINARIA
Traductores DDS con CUP. Introducción Los siguientes pasos facilitarán el seguimiento de la animación:  Primero se mostrará la expresión lógica que se.
Maestría en Ingeniería Electrónica
Teoría de lenguajes y compiladores
Germán Landinez Álvaro Del Toro Ronald Gutiérrez.
ELECTRÓNICA DIGITAL Se denomina señal a la información que representa una determinada magnitud física ( temperatura, presión, velocidad, etc ) y su evolución.
Minitérminos, maxitérminos
Teoría de lenguajes y compiladores
Ing. Tomas Martínez Martínez.
UNIVERSIDAD AUTONOMA SAN FRANCISCO
Circuitos Lógicos 20 septiembre 2010.
Lógica digital.
Práctica Profesional PHP.
Traductores EDT con ANTLR Animación de funcionamiento A  E ; A E  T E1 E1  + T E1 | - T E1| λ T  F T1 T1  * F T1 | / F T1| λ F  ( E ) | num | λ.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
M.C. Meliza Contreras González
Compuertas lógicas INTRODUCCION
Autómatas y Compiladores. Segunda Semana. Ricardo Vargas Del Valle A35469.
Autómatas y Compiladores Semana 13. Ricardo Vargas Del Valle A35469.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Maestría en Ciencias de la Computación Arquitectura de Computadoras
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Circuitos combinacionales II
Variables y operadores lógicos
Transcripción de la presentación:

Analizadores semánticos: DDS y EDT Práctica 11 Analizadores semánticos: DDS y EDT

Analizador semántico con CUP Primero vamos a explicar el analizador semántico cuya gramática es la siguiente: A ::= L ; A| L ; L ::= L and J | L or J| L nand J| L nor| L xor J| L xnor J| J J ::= ( L )| true| false| not ( L )| C C ::= numero == numero | numero != numero | numero < numero | numero > numero | numero <= numero | numero >= numero

Analizador semántico con CUP Para la explicación utilizaremos la siguiente cadena como entrada: Numero > numero xor numero==numero nand true; Y el árbol sintáctico es el que se muestra:

Analizador semántico con CUP

Analizador semántico con CUP En primer lugar el analizador calcula las expresiones numéricas y el resultado lo almacena como un atributos sintetizados de C.

Analizador semántico con CUP Posteriormente estos valores se propagan a J y L en cada caso.

Analizador semántico con CUP Posteriormente estos valores se propagan a J y L en cada caso. A continuación se hace el cálculo xor y se guarda en L.

Analizador semántico con CUP Luego se hace la 2ª operación (nand). Y el valor se guarda en L.

Analizador semántico con CUP Luego se hace la 2ª operación (nand). Y el valor se guarda en L. Por último, A recoge el atributo sintetizado devuelto por L y lo imprime.

EDT con ANTLR En esta segunda parte realizaremos el mismo proceso para entender de qué manera funciona nuestro analizador semántico con ANTLR. La cadena de entrada para la explicación es la siguiente: 8/4+2*5; El árbol sintáctico es el siguiente:

EDT con ANTLR

EDT con ANTLR Al igual que el analizador anterior, primero se guarda los lexemas en f como atributos sintetizados.

EDT con ANTLR Al igual que el analizador anterior, primero se guarda los lexemas en f como atributos sintetizados. A continuación se tiene que comunicar el dato a t1 para poder realizar la operación. Atributo Heredado.

EDT con ANTLR En caso de ser una producción vacía simplemente devuelve el dato sin modificarlo.

EDT con ANTLR Se realiza la operación en cada caso.

EDT con ANTLR Se realiza la operación en cada caso. Una vez calculado el resultado se le tiene que pasar al antecedente (t en este caso).

EDT con ANTLR De esta manera se sigue realizando los pasos para calcular el resultado final. e1 recoge el atributo heredado de t.

EDT con ANTLR Como antes, si la producción es vacía, devuelve el resultado sin modificar como atributo sintetizado.

EDT con ANTLR Se realiza la operación con el atributo heredado y con el sintetizado devuelto por t y e1.

EDT con ANTLR Se realiza la operación con el atributo heredado y con el sintetizado devuelto por t y e1. Por último el recoge el atributo sintetizado de e1*. *Con este e1 nos referimos a la producción de nivel superior.

EDT con ANTLR Antes de realizarse la última reducción el analizador imprimirá el resultado final. La producción a::= λ no se devuelve nada pues no tiene que calcular ningún valor.