Análisis Sintáctico. Esquema general de un analizador sintáctico. Texto. Árbol de Análisis Sintáctico o FALLO. + Analizador Sintáctico Gramática

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Análisis Sintáctico. Esquema general de un analizador sintáctico. Texto. Árbol de Análisis Sintáctico o FALLO. + Analizador Sintáctico Gramática"

Transcripción

1 Análisis Sintáctico

2 Análisis Sintáctico INPUT Texto + Analizador Sintáctico Gramática OUTPUT Árbol de Análisis Sintáctico o FALLO Esquema general de un analizador sintáctico

3 Métodos de análisis sintáctico Dos grandes clases de análisis sintáctico Descendentes (top-down) Para una secuencia de palabras, construye un árbol de análisis sintáctico desde la raíz a las hojas Ascendentes (bottom-up) Para una secuencia de palabras, construye un árbol de análisis sintáctico desde las hojas a la raíz Existen combinaciones

4 Espacio de estados de parsers Top-down Formas sentenciales que se obtienen realizando todas las derivaciones posibles a partir de S. El objetivo es llegar a la oración de entrada. Bottom-up Formas sentenciales que se obtienen empezando por la oración de entrada y utlizando las reglas el revés. El objetivo es llegar al símbolo inicial S.

5 Ejemplo: top-down paso 1 O paso 2 O O GV GN GV paso 3 O O O O O O O GV GV GV GN GV GN GV GN GV GN GV V V GN V GN GP Det Nom Det Nom Adj NomProp Analizar: tomo un examen

6 Ejemplo: top-down paso 4 O O O O O O GV GV GV GV GV GV V V V GN V GN V GN GP V GN GP tomo vuelo tomo vuelo tomo vuelo Analizar: tomo un examen

7 Ejemplo: top-down paso 4 O O O O O O GV GV GV GV GV GV V V V GN V GN V GN GP V GN GP tomo vuelo tomo vuelo tomo vuelo Analizar: tomo un examen

8 Ejemplo: bottom-up tomo Nom Det Nom un examen V Det Nom tomo un examen tomo un examen GV GN V Det Nom V Det Nom tomo un examen tomo un examen GV GN Analizar: tomo un examen V Det Nom tomo un examen

9 Ejemplo: bottom-up S GV GN V Det Nom tomo un examen Analizar: tomo un examen

10 Comparando ambos parsers simples Top-Down: Sólo genera árboles que comienzan en S. Pierde tiempo con árboles que no son consistentes con la entrada. Bottom-up: Explora árboles que no llegarán a S. Nunca sugieren árboles que no sean al menos localmente consistentes con la entrada.

11 Parsing con programación dinámica Los subárboles de los constituyentes se almacenan en tablas No hay análisis duplicados Ambigüedad: todas las posibilidades son analizadas Tres métodos clásicos: Cocke-Kasami-Younger (CKY, 1965) Earley (1968) Chart Parsing (Key, 1967; Kaplan, 1973)

12 Cocke-Kasami-Younger La gramática debe estar escrita acorde a la Forma Normal de Chomsky (FNC): Todas las producciones son de la forma: X Y 1 Y 2 X w (X, Y 1, Y 2 variables) (X variable, w terminal) Algoritmo para llevar a FNC (G no tiene producciones ε): eliminación de reglas que mezclan terminales y no terminales (se agregan variables y reglas) eliminación de reglas unitarias (se modifican reglas) eliminación de reglas de largo mayor a dos en el lado derecho (se agregan variables y reglas)

13 Gramática ejemplo llevada a FNC O tomo vuelo V GN V Aux1 GN GV GN Det Nom Det Aux2 París Montevideo GN GP GN Aux3 GV tomo vuelo V GN V Aux1 GP Prep GN Aux1 GN GP Aux2 Nom Adj Aux3 GP GP Det Nom un tomo examen vuelo NomProp París Montevideo Prep V Adj a de tomo vuelo directo

14 CKY: idea del algoritmo Técnica bottom-up. A partir de un par de categorías (lado derecho de una regla) generamos el lado izquierdo. Como la gramática está en FNC, las combinaciones posibles son binarias. Se puede utilizar una matriz bidimensional para representar un árbol de análisis sintáctico. Ejemplos: usar CKY para analizar: tomo un examen, tomo un vuelo a París

15 CKY: algoritmo Dados : una tira de largo n, p(i), i=1,,n una gramática G en FNC para j de 1 a n tabla(j-1,j) { A A p(j) está en G } para i de j-2 a 0, descendente para k de i+1 a j-1 tabla(i,j) tabla(i,j) U {A A B C está en G, B está en tabla(i,k) C está en tabla(k,j)}

16 CKY: problemas El algoritmo presentado es un reconocedor. Para obtener los análisis se debe asociar a cada variable punteros a las entradas de las cuales se derivó. Para obtener todos los análisis se debe registrar la misma variable varias veces si se deduce de más de un modo.

17 CKY: problemas Los árboles que retorna no son los planeados orginalmente. Igual capacidad generativa débil pero no hay equivalencia en capacidad generativa fuerte. Es posible re-transformar el análisis.

18 Earley No requiere gramáticas en FNC. Enfoque Top-Down. Llena un arreglo (chart) en una sola recorrida sobre las N palabras a reconocer: el largo del arreglo es N+1 las entradas en el arreglo representan: constituyentes completos y sus posiciones constituyentes en reconocimiento constituyentes predecidos.

19 Earley: entradas en el arreglo En cada entrada del arreglo hay una lista de estados. Cada estado contiene información de 3 tipos: un subárbol (regla) el progreso de aplicación de la regla para completar el subárbol (punto ) posición del subárbol en relación a la entrada ([ i, j ])

20 Earley: entradas en el arreglo Los estados se representan por medio de reglas con punto (dotted rules) y un par de posiciones. Tres casos posibles: O GV, [0, 0] GN Det Nom, [1, 2] GV V GN, [0, 3]

21 Earley: entradas en el arreglo O GV, [0, 0] un GV es predecido a partir de la pos. 0 (1ª palabra) GN Det Nom, [1, 2] un GN está siendo reconocido a partir de la pos. 1 (2ª palabra), el Det ya fue reconocido y se predice un Nom a partir de la pos. 2 GV V GN, [0, 3] un GV fue encontrado entre las pos. 0 y 3

22 Earley: idea del algoritmo Recorre el arreglo de izquierda a derecha. En cada celda, procesa cada estado de la lista de estados de la celda. El procesamiento de un estado consiste en la aplicación de uno de los tres operadores disponibles (ver más adelante). El procesamiento de un estado genera la incorporación de estados nuevos (si estos no existen) al final de la lista de estados de la celda actual o de la celda siguiente. El algoritmo siempre avanza agregando estados, nunca se eliminan estados ni se retrocede a una celda anterior.

23 Earley: operadores Operadores disponibles: Predecir (predictor) Crea estados nuevos que representan las expectativas top-down. Buscar (scanner) Matchea las predicciones de palabras (reglas con una palabra luego del punto) con las palabras de la entrada. Completar (completer) Cuando un estado está completo, busca cuáles reglas estaban esperando el constituyente que fue completado.

24 Earley: operador Predecir Operador Predecir Se aplica a todo estado que tenga un no-terminal, que no sea una categoría léxica, inmediatamente a la derecha de su. Se crea un nuevo estado para cada expansión posible de ese no-terminal. Los nuevos estados se agregan al final de la lista de estados de la celda actual. Los nuevos estados comienzan y terminan en la pos. en la que termina el estado que los generó.

25 Earley: operador Predecir Operador Predecir Ejemplo (basado en gramática de la transp. 16) para el estado: se agregan: O GV, [0, 0] GV V, [0, 0] GV V GN, [0, 0] GV V GN GP, [0, 0] en la misma celda del arreglo

26 Earley: operador Buscar Operador Buscar Se aplica a todo estado que tenga una categoría léxica inmediatamente a la derecha de su. Se crea un nuevo estado a partir del estado actual moviendo el sobre la categoría predicha. El nuevo estado se agrega al final de la lista de estados de la celda siguiente. El nuevo estado comienza en donde termina el estado que lo generó y termina una pos. después.

27 Earley: operador Buscar Operador Buscar Ejemplo para el estado: GV V GN, [0, 0] y la entrada: tomo un examen (en la pos. 0 hay un V) se agrega: V tomo, [0, 1] en la celda siguiente del arreglo

28 Earley: operador Completar Operador Completar Se aplica a todo estado que tenga el al final de la regla (estado completo). Se crean estado nuevos en base a todos los estados creados previamente que esperaban la categoría reconocida por el estado actual en la misma pos. de la entrada. Los nuevos estados se crean avanzando los de los estados previos. Los nuevos estados se agregan a la lista de estados de la celda actual. Los nuevos estados comienzan en la misma pos. que los estados previos y terminan en donde termina el estado que los generó.

29 Earley: operador Completar Operador Completar Ejemplo para el estado: GN Det Nom, [1, 3] a partir de los estados (generados previamente): GV V GN, [0, 1] GV V GN GP, [0, 1] se agregan: GV V GN, [0, 3] GV V GN GP, [0, 3] en la misma celda del arreglo

30 Earley: detalles del algoritmo Para iniciar el proceso se agrega a la primera celda del arreglo un estado comodín : γ -> S, [0,0] (S símbolo inicial) Cuando se termina de procesar la lista de estados de la última celda del arreglo, si en esa celda tenemos un estado S -> α, [0,N] entonces la entrada fue reconocida.

31 Ejemplo O GV GN Det Nom GN GP GN GP GP GV V V GN V GN GP GP Prep GN Det Nom Prep V un tomo examen vuelo a de tomo Analizar con Earley: tomo un examen

32 Earley: problemas Reconocedor o parser? Si bien reduce el costo de reconocer a un tiempo polinomial, calcular todos los árboles (agregando información sobre los estados que fueron generando cada nuevo estado) puede llevar un tiempo exponencial. No tiene problemas con la recursión por la izquierda.

33 Chart Parsing Generalización de Earley Representamos la oración como un grafo V (vértices), de 0 a n, espacios entre palabras E (aristas), etiquetadas con reglas con punto Mantenemos una agenda con ítems (estados). Se puede trabajar top down, bottom up o con combinaciones.

34 Chart Parsing El paso fundamental es la combinación de un ítem activo y uno inactivo, dando lugar a un nuevo ítem. Consideremos: { S GN GV, [0,2] GV V GN GP, [2,3] GN Det Nom, [3,5] GP Prep GN, [5,7] } Aplicando esta combinación 3 veces llegamos a completar un análisis.

35 Chart Parsing Regla fundamental (completar) Si el grafo contiene aristas A α B β, [i,j] B γ, [j,k] siendo A y B variables y α, β, γ secuencias (eventualmente vacías) de variables y terminales Agregar la arista A α B β, [i,k] al grafo

36 Chart Parsing La regla fundamental no indica si la arista agregada es activa o inactiva (β=ε) Sólo se agregan arcos al grafo, no se elimina una arista activa luego de usarse ( por qué?) Además de la regla fundamental, necesitamos Inicialización Estrategia de invocación de reglas de la gramática Estrategia de búsqueda

37 Chart Parsing Inicialización Para aplicar la regla fundamental necesitamos aristas. Como mínimo, una arista activa y una inactiva. Inicialización = generación de algunas aristas inactivas. Ejemplo: tomo un examen

38 Chart Parsing Inicialización Ejemplo: tomo un examen N -> tomo V -> tomo Det -> un N -> examen tomo un examen

39 Chart Parsing Invocación de reglas (predicción) Luego de inicializar se van a agregar aristas al grafo. Tenemos variantes Invocación bottom-up Invocación top-down Combinación de estrategias

40 Chart Parsing Invocación de reglas Invocación bottom-up Si se agrega la arista: C γ, [i,j] al grafo, para toda regla en la gramática de la forma A C β, agregar también un arco: A C β, [i,i]

41 Chart Parsing Invocación de reglas Invocación bottom-up 3 2 N -> tomo 4 1 V -> tomo Det -> un N -> examen tomo un examen 1: GV -> V 4: GN -> Det N 2: GV -> V GN 3: GV -> V GN GP

42 Chart Parsing Invocación de reglas Invocación top-down 1. En la inicialización, para cada regla S α, con S símbolo inicial, agregar al grafo: S α, [0,0] 2. Si se agrega la arista C γ B α, [i,j] al grafo, para toda regla en la gramática de la forma B β, agregar también un arco: B β, [j,j]

43 Chart Parsing Invocación de reglas Invocación top-down paso 1 O -> GV N -> tomo V -> tomo Det -> un N -> examen tomo un examen

44 Chart Parsing Invocación de reglas Invocación top-down paso 2 O -> GV N -> tomo V -> tomo Det -> un N -> examen tomo un examen : GV -> V - 2: GV -> V GN - 3: GV -> V GN GP

45 Chart Parsing Invocación de reglas Combinación de estrategias Podríamos tener top-down y hacer bottom-up sólo para algún tipo de regla. - Es fundamental considerar la completitud : todos los análisis deben ser recuperados

46 Chart Parsing Estrategia de búsqueda La interacción entre la invocación de reglas y la regla fundamental es determinada por la tercera componente de chart parsing: la estrategia de búsqueda.

47 Chart Parsing Estrategia de búsqueda - Cada arista activa es una hipótesis a ser explorada. - Si tiene éxito (parcial) generará nuevas hipótesis. - Opciones en cuanto al orden en que exploramos las hipótesis - En profundidad - En extensión - Combinaciones

48 Chart Parsing Estrategia de búsqueda - La estrategia de búsqueda se refleja en una agenda. - Cada nueva hipótesis generada se almacena en una agenda. - Según la política de la agenda - LIFO búsqueda en profundidad - FIFO búsqueda en extensión

49 Chart Parsing Aplicación de la regla fundamental al ejemplo GV -> V O -> GV N -> tomo V -> tomo Det -> un N -> examen tomo un examen : GV -> V - 2: GV -> V GN - 3: GV -> V GN GP

50 Chart Parsing Aplicación de la regla fundamental al ejemplo GV -> V GN GV -> V O -> GV N -> tomo V -> tomo Det -> un N -> examen tomo un examen : GV -> V - 2: GV -> V GN - 3: GV -> V GN GP cómo seguimos?

51 Refinamientos Chart Parsing - Filtrado Parsing top-down con filtrado bottom-up - Invocación de reglas por el núcleo o por un indicador.

52 Chart Parsing Empaquetamiento de ambigüedad Puso el cubo en la caja sobre la mesa para que no se rompiera. La ambigüedad del fragmento azul queda registrada pero no obliga a duplicar el análisis del resto.

53 Chart Parsing Derivación Describimos una derivación como una secuencia de pasos de generación de ítems. Para cada paso anotamos la regla que se usa y los ítems que intervienen en la deducción

54 Chart Parsing Derivación ejemplo 1- O GN GV 2- GN Det Nom 3- GV V 4- Det el 5- Nom niño 6- V llora

55 Chart Parsing Derivación top down ejemplo i1 : Det el, [0,1] -Inic, regla 4 i2 : Nom niño, [1,2] -Inic, regla 5 i3 : V llora, [2,3 ] -Inic, regla 6 i4 : O GN GV, [0,0] -InvTD-inic, regla 1 i5 : GN Det Nom, [0,0] -InvTD, i4 y regla 2 i6 : GN Det Nom, [0,1] -RF, i1, i5 i7 : GN Det Nom, [0,2] -RF, i2, i6 i8 : O GN GV, [0,2] -RF, i7, i4 i9 : GV V, [2,2] -InvTD, i8 y regla 3 i10 : GV V, [2,3] -RF, i9, i3 i11 : O GN GV, [0,3] -RF, i8, i10 RF: regla fundamental, InvTD: invoc. top-down

56 Chart Parsing Una estrategia de tipo bottom-up: - Recorrer la tira de izquierda a derecha. - Invocar las reglas por el último símbolo del lado derecho (right-corner). - Tiene la ventaja de que las categorías necesarias para satisfacer una regla, si existen, aparecen en el chart al momento de necesitarlas. - Se utilizó para un formalismo desarrollado en el grupo PLN, Reglas Contextuales. - Veremos brevemente una definición de reglas contextuales, su uso, ejemplos y un esquema del intérprete de reglas.

57 Reglas contextuales Poder expresivo : se toma en cuenta el contexto recursividad descripción parcial de regiones de texto Lenguajes sensibles el contexto No estamos interesados en la perspectiva de generación sino que lo usamos como un analizador para extraer alguna información del texto, difícilmente el análisis completo.

58 Reglas contextuales A Cizq \ Cuerpo / CDer Cizq, Cuerpo y CDer son secuencias de: Categorías Zonas de exclusión Zona de exclusión especificamos una región de texto por medio de : Conjunto de categorías que no pueden aparecer Tamaño máximo

59 Reglas contextuales Ejemplo: Tenemos una oración subordinada si aparecen los siguientes elementos en secuencia: conjunción de subordinación una región de texto en la que no aparecen ni verbos ni conjunciones de subordinación una forma verbal conjugada una región de texto en la que no aparecen ni verbos ni conjunciones de subordinación (ni puntuación) y a continuación (afuera de la subordinada) un verbo conj. propsub --> \ ConjSub *(S,40) Verbo *(S,80) / Verbo S={ConjSub,Verbo, Punto}

60 Reglas contextuales El libro propsub que es 3 yo 4 Verbo 7 8 ayer he 6 5 leído 9 interesante 10. El ibro que yo he leído ayer es interesante

61 Chart Parsing para reglas contextuales Se disparan las reglas por el último símbolo del lado derecho. Invocación bottom-up - Right corner : último símbolo del lado derecho. - Una regla es ingresada al grafo ni bien su right corner se deduce (aparece como un arco inactivo). - De este modo sabemos que las categorías excluídas por las zonas, si no están en el momento en que se dispara una regla, ya no van a aparecer (aunque hay una condición adicional).

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Análizador Sintáctico de abajo hacia arriba Es un proceso de Reducción,

Más detalles

Proyecto Intermedio Algoritmo de Earley

Proyecto Intermedio Algoritmo de Earley Fundamentos de Computación Proyecto Intermedio: Algoritmo de Earley Profesor: Dr. José Torres Jiménez Alumnos: Edna Gutiérrez Gasca Aureny Magaly Uc Miam Jorge Rodríguez Núñez Proyecto Intermedio Algoritmo

Más detalles

Analizadores sintácticos LR(0) y SLR

Analizadores sintácticos LR(0) y SLR Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Clase de Hoy Anteriores: Parsing descendente (LL(1), ELL) Recursivos e iterativos Generan árbol de derivación desde

Más detalles

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion UNIDAD IV Analisis Sintactico 4.1 Introduccion Sintaxis significa estructura del orden de las palabras en una frase. La tarea del analisis sintactico es revisar si los símbolos aparecen en el orden correcto

Más detalles

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los

Más detalles

Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013

Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013 Compiladores Análisis Sintáctico Ascendente Adrian Ulises Mercado Martínez Facultad de Ingeniería, UNAM 5 de septiembre de 2013 Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/2013 1 / 34 Índice

Más detalles

Gramáticas libres de contexto (GLC)

Gramáticas libres de contexto (GLC) Gramáticas libres de contexto (GLC) GLC Capturan la noción de constituyente sintáctico y la noción de orden. Herramienta formal que puede ser vista tanto desde un punto de vista generador como estructurador.

Más detalles

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.

Más detalles

18 Análisis sintáctico III Compiladores - Profr. Edgardo Adrián Franco Martínez. Clasificación de métodos de análisis sintáctico Análisis descendente

18 Análisis sintáctico III Compiladores - Profr. Edgardo Adrián Franco Martínez. Clasificación de métodos de análisis sintáctico Análisis descendente 2 Contenido Clasificación de métodos de análisis sintáctico Análisis descendente Análisis descendente recursivo Análisis descendente predictivo Métodos deterministas Problemas del análisis descendente

Más detalles

Gramáticas y parsers LR(K)

Gramáticas y parsers LR(K) Gramáticas y parsers LR(K)» Son (al igual que los LL) una familia de parsers para analizar gramáticas libres de contexto. Se caracterizan por:» Son analizados sintácticos ascendentes.» Leen entrada de

Más detalles

Introducción. Análisis Semántico. José M. Castaño. Teoría de Lenguajes 2011 Departamento de Computación FCEyN, UBA

Introducción. Análisis Semántico. José M. Castaño. Teoría de Lenguajes 2011 Departamento de Computación FCEyN, UBA Análisis Semántico José M. Castaño Teoría de Lenguajes 2011 Departamento de Computación FCEyN, UBA Compiladores Análisis Léxico Análisis Sintáctico Análisis Semántico Generación Código Intermedio Optimización

Más detalles

Compiladores: Sesión 16. Análisis semántico, traducción dirigida por sintaxis

Compiladores: Sesión 16. Análisis semántico, traducción dirigida por sintaxis Compiladores: Sesión 16. Análisis semántico, traducción dirigida por sintaxis Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali

Más detalles

Análisis basado en constituyentes El problema de la ambigüedad Análisis basado en dependencias. Pasos deductivos Ítems finales Ejemplo.

Análisis basado en constituyentes El problema de la ambigüedad Análisis basado en dependencias. Pasos deductivos Ítems finales Ejemplo. Análisis sintáctico Miguel A. Alonso Carlos Gómez Jesús Vilares Departamento de Computación, Facultad de Informática, Universidade da Coruña Miguel A. Alonso, Carlos Gómez, Jesús Vilares (Departamento

Más detalles

Análisis sintáctico Analizadores descendentes

Análisis sintáctico Analizadores descendentes Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores descendentes Javier Vélez Reyes jvelez@lsi.uned.es

Más detalles

Analizador Sintáctico Ascendente

Analizador Sintáctico Ascendente Analizador Sintáctico Ascente Un Analizador Sintáctico (A. St.) Ascente construye el árbol desde las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere decir que, siempre que puede,

Más detalles

Introducción al Procesamiento de Lenguaje Natural Diciembre de 2015

Introducción al Procesamiento de Lenguaje Natural Diciembre de 2015 Introducción al Procesamiento de Lenguaje Natural Diciembre de 2015 Consideraciones generales i)la prueba es sin material escrito. ii)escriba nombre y C.I. en todas las hojas. iii)numere todas las hojas.

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 4 Gramáticas libres de contexto Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres

Más detalles

Procesadores de Lenguajes. Análisis sintáctico. Analizadores descendentes

Procesadores de Lenguajes. Análisis sintáctico. Analizadores descendentes Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores descendentes Javier Vélez Reyes jvelez@lsi.uned.es

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores LALR Cris%na Tirnauca Domingo Gómez Pérez DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: CreaIve Commons BY NC SA 3.0 El Analizador

Más detalles

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado

Más detalles

ANÁLISIS SINTÁCTICO I ANALIZADORES SINTÁCTICOS

ANÁLISIS SINTÁCTICO I ANALIZADORES SINTÁCTICOS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje

Más detalles

Lenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1

Lenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1 Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte I 1 Introducción El analizador sintáctico recibe una secuencia de tokens y decide si la secuencia está correcta o no.

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

Tema 6: Compiladores e intérpretes. Teoría de autómatas y lenguajes formales I

Tema 6: Compiladores e intérpretes. Teoría de autómatas y lenguajes formales I Tema 6: Compiladores e intérpretes Teoría de autómatas y lenguajes formales I Bibliografía Sudkamp, T. A. Languages and machines: an introduction to the theory of computer science. Addison Wesley. 1997.

Más detalles

Gramáticas de Adjunción de Árboles

Gramáticas de Adjunción de Árboles Gramáticas de Adjunción de Árboles (TAG) Miguel A. Alonso Pardo Departamento de Computación, Universidade da Coruña Miguel A. Alonso: Gramticas de Adjuncin de rboles p. 1 Análisis sintáctico de TAG Conceptos

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

Conceptos básicos sobre gramáticas

Conceptos básicos sobre gramáticas Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos

Más detalles

22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez

22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Análisis Sintáctico Ascendente Métodos Ascendentes Método Ascendente SLR Pasos para el método SLR Ejemplo SLR Resumen Ejercicios Compiladores (Análisis Sintáctico VI - Análisis Ascendente -

Más detalles

Se pueden agrupar las reglas que tienen la misma parte izquierda:

Se pueden agrupar las reglas que tienen la misma parte izquierda: GRAMÁTICA DE CONTEXTO LIBRE Gramática de contexto libre G = (V N, V T, P, S) que genera oraciones copulativas: V N = { , , , , V T = {el, la, hombre, niña,

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores sintác0cos descendentes: LL(1) Cris%na Tirnauca DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: Crea0ve Commons BY NC SA 3.0 Analizadores

Más detalles

Más sobre gramáticas independientes de contexto o incontextuales

Más sobre gramáticas independientes de contexto o incontextuales Más sobre gramáticas independientes de contexto o incontextuales Elvira Mayordomo, Gregorio de Miguel Universidad de Zaragoza 19 de noviembre de 2012 Contenido de este tema Árboles de derivación Gramáticas

Más detalles

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ Título: Un Arbol Natural Autor: Luis R. Morera onzález Resumen En este artículo se crea un modelo para representar los números naturales mediante un grafo, el cual consiste de de un árbol binario completo

Más detalles

Introducción a las Gramáticas de Cláusulas Definidas (DCGs) Procesamiento del. Lenguaje Natural. Índice. Gramáticas de cláusulas definidas

Introducción a las Gramáticas de Cláusulas Definidas (DCGs) Procesamiento del. Lenguaje Natural. Índice. Gramáticas de cláusulas definidas Introducción a las Gramáticas de Cláusulas Definidas (DCGs) Procesamiento del Lenguaje Natural José María Gómez Hidalgo http://www.esp.uem.es/jmgomez/ Índice Representación del conocimiento sintáctico

Más detalles

Tema 09: TAD Árbol binario

Tema 09: TAD Árbol binario Tema 09: TAD Árbol binario M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Introducción El árbol binario

Más detalles

Tipos de análisis deterministas. Análisis descendente. Tipos de análisis deterministas. Análisis ascendente. Análisis descendente

Tipos de análisis deterministas. Análisis descendente. Tipos de análisis deterministas. Análisis ascendente. Análisis descendente César Ignacio García Osorio Área de Lenguajes y Siste mas Informáticos Universidad de Burgos Tipos de análisis deterministas. nálisis descendente. La idea es generar una forma sentencial a partir del axioma,

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

El proceso del Análisis Léxico

El proceso del Análisis Léxico El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente

Más detalles

Análisis sintáctico 1

Análisis sintáctico 1 Análisis sintáctico 1 Análisis sintáctico 1. Introducción 2. Análisis descendente (top-down) 2.1 Análisis con backtracking 2.2 Análisis predictivo 2.2.1 Método recursivo 2.2.2 Método iterativo 3. Análisis

Más detalles

Gramáticas Formales para el Lenguaje Natural. Análisis sintáctico probabilístico

Gramáticas Formales para el Lenguaje Natural. Análisis sintáctico probabilístico Gramáticas Formales para el Lenguaje Natural Análisis sintáctico probabilístico Análisis sintáctico probabilístico Insuficiencias de GIC GIC probabilistas (GICP) Definición Probabilidad de un árbol y de

Más detalles

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad

Más detalles

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 08: TAD Árbol M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Árbol Especificación

Más detalles

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011 6, 7 y 13 de abril de 2011 Analizadores sintácticos (repaso) Los analizadores descendentes: Corresponden a un autómata de pila determinista. Construyen un árbol sintáctico de la raíz hacia las hojas (del

Más detalles

Lenguajes y Compiladores Análisis Sintáctico Parte II

Lenguajes y Compiladores Análisis Sintáctico Parte II Universidad Nacional San Luis Gonzaga Facultad de Ing. De Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte II 1 Análisis Ascendente El análisis ascendente es conocido como análisis por desplazamiento

Más detalles

Compiladores e Intérpretes Análisis Sintáctico

Compiladores e Intérpretes Análisis Sintáctico 1 Compiladores e Intérpretes Análisis Sintáctico Sebastian Gottifredi 2017 Organizacion Contexto Motivación Reglas de Sintaxis Construyendo Analizadores Sintácticos Ambigüedad Analizadores Sintácticos

Más detalles

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes.

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. UNIVERIDAD NACIONAL DE EDUCACIÓN A DITANCIA Escuela Técnica uperior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte II Análisis intáctico Descendente Javier Vélez Reyes jvelez@lsi.uned.es

Más detalles

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje El Procesamiento de Lenguajes Naturales Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias - Ing. Informática - Primavera de 2010 19 de mayo de 2010 Componentes

Más detalles

Construcción de tablas de análisis sintáctico LL(1)

Construcción de tablas de análisis sintáctico LL(1) Construcción de tablas de análisis sintáctico LL(1) Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática Diego Centeno Gerardo Cortés Juan Diego Alfaro Resumen. A la medida en

Más detalles

Gramáticas de dependencias

Gramáticas de dependencias Gramáticas de dependencias GFLN InCo 2015 GFLN, InCo Gramáticas de dependencias 1/19 Sintaxis hasta el momento GFLN, InCo Gramáticas de dependencias 2/19 Sintaxis hasta el momento 1. Clases de palabras

Más detalles

Gramáticas Libres de Contexto

Gramáticas Libres de Contexto Gramáticas Libres de Contexto Pedro J. Álvarez Pérez-Aradros Rubén Béjar Hernández Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza GramáticasLibresContrxto.ppt 29/03/2004

Más detalles

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I Tema 5: Autómatas a pila Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Parsing LR: Ejemplo: E E + T E T T T * id T id S n : shift al estado

Más detalles

Eliminación de Símbolos Inútiles

Eliminación de Símbolos Inútiles Eliminación de Símbolos Inútiles Veremos cómo eliminar los símbolos inútiles de una gramática. Lo haremos con dos algoritmos, que son definidos en la demostración de los siguientes lemas. Lema 1 Dada una

Más detalles

Procesadores de Lenguajes. Análisis sintáctico. Gramáticas libres de contexto

Procesadores de Lenguajes. Análisis sintáctico. Gramáticas libres de contexto Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Gramáticas libres de contexto Javier Vélez Reyes jvelez@lsi.uned.es

Más detalles

17 Análisis sintáctico II Compiladores - Profr. Edgardo Adrián Franco Martínez. Gramáticas limpias y bien formadas

17 Análisis sintáctico II Compiladores - Profr. Edgardo Adrián Franco Martínez. Gramáticas limpias y bien formadas 2 Contenido Gramáticas limpias y bien formadas Algoritmo para detectar símbolos muertos Algoritmo para detectar símbolos inaccesibles Gramáticas ambiguas Clasificación de métodos de análisis sintáctico

Más detalles

Lenguajes Incontextuales

Lenguajes Incontextuales Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía

Más detalles

Tema 5. Análisis sintáctico ascendente

Tema 5. Análisis sintáctico ascendente Tema 5 Análisis sintáctico Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Introducción 5.2 Análisis sintáctico por desplazamiento y reducción 5.3 El autómata reconocedor de prefijos viables

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

LR(1) - LALR. Alejandro Grinberg. 30 de Octubre de (agradecimiento a Juan Manuel Pérez) Alejandro Grinberg () LR(1) - LALR 1 / 16

LR(1) - LALR. Alejandro Grinberg. 30 de Octubre de (agradecimiento a Juan Manuel Pérez) Alejandro Grinberg () LR(1) - LALR 1 / 16 LR(1) - LALR Alejandro Grinberg 30 de Octubre de 2014 (agradecimiento a Juan Manuel Pérez) Alejandro Grinberg () LR(1) - LALR 1 / 16 Repaso Parsing bottom-up Parsing shift-reduce Prefijos viables Autómata

Más detalles

Lenguajes y Compiladores Análisis Léxico

Lenguajes y Compiladores Análisis Léxico Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Léxico 1 Análisis léxico La tarea del análisis léxico es reconocer símbolos dentro de la cadena de caracteres que es el programa fuente.

Más detalles

ANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO

ANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO 1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO Elaborado el Martes 12 de Octubre de 2004 I.- INTRODUCCIÓN Es posible realizar

Más detalles

Parsing Top Down (Descendente)

Parsing Top Down (Descendente) Top Down (Descendente) José M. Castaño Teoría de Lenguajes 2012 Departamento de Computación FCEyN, UBA Outline 1 2 3 4 5 Introducción Reconocer/Generar un lenguaje independiente de contexto (CFL). Poder

Más detalles

Teoría de la Computación y Lenguajes Formales

Teoría de la Computación y Lenguajes Formales Teoría de la Computación y Lenguajes Formales Propiedades de los Lenguajes Libres de Contexto (LLC) Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com

Más detalles

Unidad I: Análisis semántico

Unidad I: Análisis semántico Unidad I: Análisis semántico 1.1 Arboles de expresiones Los árboles de expresiones representan el código de nivel del lenguaje en forma de datos. Los datos se almacenan en una estructura con forma de árbol.

Más detalles

Cátedra Sintaxis y Semántica del Lenguaje

Cátedra Sintaxis y Semántica del Lenguaje Cátedra Sintaxis y Semántica del Lenguaje 1 º CICLO DE CAPACITACION DOCENTE 1 Simplificación de Gramáticas Tipo 2 Forma Normal de Chomsky (FNC) Forma Normal de Greibach (FNG) 2 1 Jerarquía de Chomsky Gramáticas

Más detalles

Teoría de Lenguajes. Gramáticas incontextuales

Teoría de Lenguajes. Gramáticas incontextuales Teoría de Lenguajes Gramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Gramáticas incontextuales 1. Definiciones básicas.

Más detalles

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3. UNIVRSIDAD NACIONAL D DUCACIÓN A DISTANCIA scuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte I Análisis Sintáctico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos

Más detalles

Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile

Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile Manhattan Bike Curier (Acíclico) Ref. Curso IA U. of Toronto Algoritmo Genérico de Búsqueda

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

Segunda Práctica. Teoría de Autómatas y Lenguajes Formales I. Escuela Politécnica Superior Universidad Autónoma de Madrid.

Segunda Práctica. Teoría de Autómatas y Lenguajes Formales I. Escuela Politécnica Superior Universidad Autónoma de Madrid. Segunda Práctica Teoría de Autómatas y Lenguajes Formales I Escuela Politécnica Superior Universidad Autónoma de Madrid Curso 2009-2010 Fechas de Entrega Electrónica (por grupos): grupo 2a : miércoles

Más detalles

La Forma Normal de Chomsky

La Forma Normal de Chomsky La s Polinomiales para el Problema de la Palabra en CFL Universidad de Cantabria Esquema 1 2 3 Hemos visto hasta aquí como demostrar si una palabra esta dentro de un lenguaje libre de contexto (CFL). El

Más detalles

1. Introducción. 2. Componentes de la sintaxis. computacional. El análisis sintáctico es el esqueleto de. Dos problemas fundamentales:

1. Introducción. 2. Componentes de la sintaxis. computacional. El análisis sintáctico es el esqueleto de. Dos problemas fundamentales: Departamento de Lenguajes y Sistemas Informáticos Índice Tema 3 Análisis Sintáctico Ingeniería del Lenguaje Natural Curso 2007-2008 http://www.dlsi.ua.es/assignatures/iln/ 1. Introducción. 2. Componentes

Más detalles

Hacia las Gramáticas Propias

Hacia las Gramáticas Propias Hacia las Gramáticas sin Ciclos Universidad de Cantabria Esquema 1 Introducción 2 3 Introducción Las gramáticas libres de contexto pueden presentar diferentes problemas. Ya hemos visto como eliminar los

Más detalles

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico

Más detalles

PROGRAMA DE LABORATORIO POS-REQUISITO: Primer Semestre 2019 Ing. Mario José Bautista Fuentes AUXILIAR: Nery Galvez

PROGRAMA DE LABORATORIO POS-REQUISITO: Primer Semestre 2019 Ing. Mario José Bautista Fuentes AUXILIAR: Nery Galvez UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 Organización de NOMBRE CURSO: Lenguajes y SECCIÓN: A Compiladores 1 ESCUELA:

Más detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas

Más detalles

Gramáticas libres de contexto

Gramáticas libres de contexto Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas

Más detalles

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)

Más detalles

TEMA 5 El tipo grafo. Tipo grafo

TEMA 5 El tipo grafo. Tipo grafo TEMA 5 El tipo grafo PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo grafo 1. Concepto de grafo y terminología 2. Especificación algebraica. Representación de grafos.1. Recorrido en profundidad o DFS.2. Recorrido

Más detalles

Las Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria

Las Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria Las (k) Las Gramáticas con Parsing Eficiente Universidad de Cantabria Outline Las (k) 1 Las (k) 2 3 Las (k) Formalizalización del Concepto LL Definición Una gramática libre de contexto G = (V, Σ, Q 0,

Más detalles

ANÁLISIS SEMÁNTICO ETDS VS DDS

ANÁLISIS SEMÁNTICO ETDS VS DDS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Grafos: algunas definiciones

Grafos: algunas definiciones Grafos: algunas definiciones Un grafo dirigido G es un par (V, E), donde V es un conjunto finito de nodos (o vértices) y E es una relación binaria sobre V. Un grafo no dirigido G es un par (V, E), donde

Más detalles

UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG

UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG UNIDAD 3 3 Creación de Árbol Octal vía la definición CSG 3.1 Creación del Árbol Octal de un objeto sólido vía la definición CSG Un árbol CSG hace uso de un conjunto de primitivas sólidas, estas primitivas

Más detalles

ANÁLISIS SINTÁCTICO I ANÁLISIS SINTÁCTICO DESCENDENTE LL(1)

ANÁLISIS SINTÁCTICO I ANÁLISIS SINTÁCTICO DESCENDENTE LL(1) Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

1. Acciones en Yacc. %{ #include <stdio.h> yyerror (char *s) { fprintf (stderr, %s\n, s) ; } %} %% : S \n {printf ( Correcto\n );} ; : ( S ) S

1. Acciones en Yacc. %{ #include <stdio.h> yyerror (char *s) { fprintf (stderr, %s\n, s) ; } %} %% : S \n {printf ( Correcto\n );} ; : ( S ) S El generador de analizadores sintácticos Yacc III Teoría de autómatas y lenguajes formales Alma María Pisabarro Marrón (alma@infor.uva.es) Universidad de Valladolid 1. Acciones en Yacc Las acciones en

Más detalles

Estructuras de datos Listas y árboles

Estructuras de datos Listas y árboles Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como

Más detalles

Teoría de lenguajes Oscar BRUNO

Teoría de lenguajes Oscar BRUNO Octubre 2014 Guía de Estudio Objetivo: facilitar el abordaje de la temática, y guiar en el proceso de comprensión. Bibliografía: Apunte Volumen 2 de Jorge Daniel Muchnk Presentación: Qué pasa cuando nos

Más detalles

Algoritmos para determinar Caminos Mínimos en Grafos

Algoritmos para determinar Caminos Mínimos en Grafos Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)

Más detalles

Árboles de Expansión Mínima. Matemática Discreta. Agustín G. Bonifacio UNSL

Árboles de Expansión Mínima. Matemática Discreta. Agustín G. Bonifacio UNSL UNSL Árboles Definiciones y Ejemplos Caracterización Un árbol T es un grafo simple que satisface lo siguiente: si v y w son vértices en T, entonces existe una trayectoria simple única de v a w. Un árbol

Más detalles

Departamento de Tecnologías de la Información. Tema 3. Autómatas finitos y autómatas de pila. Ciencias de la Computación e Inteligencia Artificial

Departamento de Tecnologías de la Información. Tema 3. Autómatas finitos y autómatas de pila. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 3 Autómatas finitos Ciencias de la Computación e Inteligencia Artificial Índice 3.1 Funciones sobre conjuntos infinitos numerables 3.2 Autómatas finitos

Más detalles

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile Árboles binarios Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Árbol: definición v Árbol (del latín arbor oris): Planta perenne,

Más detalles

TRADUCTORES E INTERPRETADORES

TRADUCTORES E INTERPRETADORES TRADUCTORS INTRPRTADORS Clase 8: Forma Normal de (Noam) Chomsky y Gramáticas de Atributos Agenda Forma Normal de Chomsky Gramáticas de Atributos Forma Normal de Chomsky n la clase pasada, se introdujeron

Más detalles

Definición de la sintaxis (1) Definición de la sintaxis (2) Definición de la sintaxis (3)

Definición de la sintaxis (1) Definición de la sintaxis (2) Definición de la sintaxis (3) Definición de la sintaxis (1) Gramática independiente del contexto: tiene cuatro componentes: Un conjunto de componentes léxicos, denominados símbolos terminales. Un conjunto de no terminales. Un conjunto

Más detalles

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente. Gramáticas Libres de Contexto 1. Gramáticas. Como vimos en el capítulo anterior una gramática es un conjunto finito de reglas que describen todas las secuencias de símbolos que pertenecen a un lenguaje.

Más detalles