Análisis Sintáctico Descendente

Slides:



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

ANALIZADOR SINTACTICO
Traducción por Sintaxis
Análisis Sintáctico Ascendente
Infijo a postfijo Expr -> Expr + Término Expr -> Expr - Término
Análisis Sintáctico Capítulo 4.
Análisis Sintáctico Predictivo No Recursivo
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Filminas Segunda semana
Filminas Octava Semana CI-1322 Autómatas y Compiladores Elaborado por: Sergio Pastrana Espinoza A33888.
Diseño y análisis de algoritmos
Compiladores e intérpretes Análisis Sintáctico II
Compiladores e intérpretes Generación de código intermedio II
Compiladores e intérpretes
Compiladores e intérpretes Análisis Sintáctico III
Analizador Sintáctico
Gramáticas Libres de Contexto
Estructuras de Decisión I IF - THEN - ELSE
Notación BNF Backus-Naur Form.
Análisis sintáctico (Look ahead LR)
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Organización de Lenguajes y Compiladores 1
ANALIZADOR SINTACTICO
Analizadores Sintácticos Descendentes Predictivos
Seminario de Actualización - Excel Avanzado y Macros
Unidad 3. Análisis Sintáctico
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Analizador Léxico. 4 scanners:
Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007
ANALISIS SINTACTICO DESCENDENTE
Tema 4. Gramáticas y Análisis Sintáctico PARSER
Compiladores Análisis Léxico Oscar Bonilla Universidad Galileo.
Teoría de lenguajes y compiladores
Analizador Sintáctico Descendente
Tema 2 Lenguajes Formales.
Algoritmos para calcular el Conjunto Primero y el Conjunto Siguiente
Programación de sistemas
M.C. Meliza Contreras González
Análisis sintáctico LR: SLR (LR simple)
Instituto Tecnologico de Durango Programacion de Sistemas II
Procesadores del Lenguaje
Lenguajes Libres de Contexto
M.C. Juan Carlos Olivares Rojas
Autómatas de Pila Teoría del Autómata.
ANALISIS SINTACTICO Parte I
Sintaxis.
Clasificación de Gramáticas y Manejo de Errores
Teoría de lenguajes y compiladores
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.
Introducción al Análisis Sintáctico
Autómatas Finitos Es un diagrama de transiciones que permite identificar cadenas que pertenecen a un lenguaje. Puede ser determinista o no determinista.
Compiladores e intérpretes Análisis Sintáctico III
Programación de Sistemas
Compiladores e intérpretes
Análisis Léxico Área Software de Base.
Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un.
UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I
Compiladores Análisis Léxico Oscar Bonilla Universidad Galileo.
Analizadores LR(1) y LALR()
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
Autómatas y Compiladores Novena Semana. Ricardo Vargas Del Valle A35469.
R.A.2.1 TEMA: DIAGRAMA DE FLUJO OBJETIVO: Describir los símbolos empleados en la elaboración de diagramas de flujo.
UNA BNF A GRAFO SINTACTICO
Teoría de lenguajes y compiladores
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Programación de Sistemas
Autómatas y Compiladores Semana 13. Ricardo Vargas Del Valle A35469.
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Transcripción de la presentación:

Análisis Sintáctico Descendente Sección 4.4

Análisis sintáctico por descenso recursivo Consíderese la gramática S => cAd A => ab | a Entrada w = cad Revisar las dos posibilidades de A

Análisis sintáctico por descenso recursivo Pero si fuera S => cAd A => aAb | a Entrada w = cad

Análisis sintáctico predictivo Conocer el no terminal a expandir Dado el símbolo actual “a” (token) A => α1 | α2 | ... | αn Elegir αi anticipadamente

Análisis sintáctico predictivo Ejemplo: Prop => if Expr then Prop Else Prop | while Expr do Prop | begin lista_props end ¿Cómo elegir cuál usar?

Transformación ¿Se puede usar predictivo en cualquier gramática? Puede ser necesario hacer correcciones Eliminar recursión izquierda Factorizar por la izquierda Agrupar todos los prefijos comunes Prop => if Expr then Prop Else Prop | if Expr then Prop

Diagrama de transiciones Con la gramática lista Para cada no terminal: Crear estado inicial y final Para cada producción A => X1X2...Xn Crear camino desde inicial hasta final Aristas X1, X2, ..., Xn

Ejemplo Copie la siguiente gramática: E => E + T | T T => T * F | F F => (E) | id ¿Tiene recursión izquierda? ¿Necesita factorización izquierda?

Gramática sin recursión E => TE’ E’ => +TE’ | nil T => FT’ T’ => *FT’ | nil F => (E) | id

Diagrama de transiciones 1 2 E: + T E’ 3 4 5 6 E’: nil