Curso Básico de Computación

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

Download "Curso Básico de Computación"

Transcripción

1 Curso Básico de Computación 4 Gramáticas libres de contexto Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN <fsagols@math.cinvestav.mx> 2010 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

2 4 Gramáticas libres de contexto 4.1 Introducción Una gramática libre de contexto es un conjunto finito de variables, cada una de las cuales representa un lenguaje. Los lenguajes representados por las variables se describen recursivamente en términos de otros lenguajes o de símbolos primitivos llamados terminales. Las reglas que describen el lenguaje asociado con cada variable se llaman producciones. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

3 La motivación original para las gramáticas libres de contexto fue la descripción de lenguajes naturales tal como ocurre con las siguientes reglas: oración frase sustantivo frase verbal frase sustantivo adjetivo frase sustantivo frase sustantivo sustantivo sustantivo niño adjetivo pequeño donde las variables se escriben dentro de corchetes angulares y las terminales son, por ejemplo, la palabra niño. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

4 4.2 Gramáticas libres de contexto Una gramática libre de contexto (GLC) se denota por una 4-tupla G = (V,T, P, S), donde V y T son conjuntos finitos de variables y terminales, respectivamente. Asumimos que V y T son disjuntos. P es un conjunto finito de producciones; cada producción es de la forma A α, donde A es una variable yαes una cadena de símbolos en (V T). Finalmente, S es una variable especial llamada el símbolo de inicio. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

5 Ejemplo: Suponga que usamos E en lugar de expresión para la siguiente gramática: E E + E E E E E (E) E id Entonces formalmente está gramática se expresa como ({E},{+,, (, ), id}, P, E). Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

6 Usaremos las siguientes convenciones con respecto a las gramáticas: 1 Las letras mayúsculas A, B, C, D, E y S denotan variables; y S es el símbolo de inicio. 2 La letras minúsculas a, b, c, d, e, dígitos, y cadenas en letras negrillas son terminales. 3 Las letras mayúsculas X, Y y Z denotan símbolos que pueden ser terminales o variables. 4 La letras minúsculas u, v, w, x, y, y z denotan cadenas de terminales. 5 Las letras griegasα,β yγ denotan cadenas de variables y terminales. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

7 Si nos apegamos a estas convenciones, podemos deducir las variables, terminales y el símbolo de inicio de una gramática únicamente examinando sus producciones. Así, se puede representar una gramática por una simple lista de producciones. Si A α 1, A α 2,, A α k son las producciones para las variables A de alguna gramática, entonces se pueden expresar por la notación: A α 1 α 2 α k donde la línea vertical se lee como o. La gramática del ejemplo anterior se escribe como E E + E E E (E) id Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

8 Derivaciones y lenguajes Si A β es una producción en P yαyγ son cadenas en (V T), entoncesαaγ = Gαβγ. Decimos que la producción A β es aplicada a la cadenaαaγ para obtenerαβγ o queαaγ deriva directamente enαβγ en la gramática G. Dos cadenas están relacionadas por = G exactamente cuando la segunda se obtiene de la primera por una aplicación de alguna producción. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

9 Suponga queα 1,α 2,,α m son cadenas en (V T), con m 1, y = = = α 1 Gα 2,α 2 Gα 3,,α m 1 Gα m. = Entonces decimos queα 1 Gα m o queα 1 deriva enα m en la = gramática G. Es decir, G es la cerradura reflexiva y transitiva de = G. Recíprocamente, α = producciones en P. Note queα Gβsiβ sigue deαaplicando cero o más = en lugar de = G y en lugar de en i pasos, escribimosα β. i Gα para cada cadena α. Usaremos = G. Siαderiva enβ exactamente Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

10 El lenguaje generado por G [denotado L(G)] es {w w T y S = G w}. Es decir, una cadena pertenece a L(G) si: 1 La cadena consiste solamente de terminales. 2 La cadena puede ser derivada de S. Llamamos a L un lenguaje libre de contexto (LLC) si es L(G) para alguna GLC G. Una cadena de terminales y variablesαes una forma sentencial si S α. Las gramáticas G 1 y G 2 son equivalentes si L(G 1 ) = L(G 2 ). Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

11 Ejemplo: Considere la gramática G = (V,T, P, S), donde V ={S}, T ={a, b} y P ={S asb, S ab}. Aquí, S es sólo una variable; a y b son terminales. Existen dos producciones, S asb y S ab. Si aplicamos la primera producción n 1 veces, seguido por una aplicación de la segunda producción, tenemos: S asb aasbb a 3 Sb 3 a n 1 Sb n 1 a n b n Además, las cadenas en L(G) son sólo de la forma a n b n para n 1. Cada vez que se usa S asb, el número de S s resultantes es el mismo. Después de usar la producción S ab encontramos que el número de S s en la forma sentencial decrece en uno. Así, después de usar S ab, no hay S s restantes en la cadena resultante. Ya que ambas producciones tienen un S en la izquierda, el único orden de aplicación de las producciones es S asb algún número de veces seguido por una aplicación de S ab. Así, L(G) ={a n b n n 1}. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

12 4.3 Árboles de derivación Los árboles de derivación permiten hacer una clasificación jerárquica en las palabras de un lenguaje que es útil en aplicaciones como la compilación de lenguajes de programación. Los vértices de un árbol de derivación son etiquetados con terminales o variables de la gramática o posiblemente con ǫ. Si un vértice interior n es etiquetado con A, y los hijos de n son etiquetados con X 1, X 2,..., X k por la izquierda, entonces A X 1 X 2 X k debe ser una producción. Por ejemplo, para la siguiente gramática: expresión expresión expresión ( expresión ) expresión ( expresión ) id ( expresión + expresión ) id ( expresión + id) id (id + id) id su árbol de derivación es: Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

13 <expresión> <expresión> * <expresión> ( <expresión> ) id <expresión> + <expresión> id id Note que si leé las hojas de izquierda a derecha, se obtiene (id + id) id. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

14 Formalmente, sea G = (V,T, P, S) una GLC. Un árbol es de derivación en G si: 1 Cada vértice tiene una etiqueta y es un símbolo en V T {ǫ}. 2 La etiqueta de la raíz es S. 3 Si un vértice es interior y tiene etiqueta A, entonces A V. 4 Si un vértice n tiene etiqueta A y los vértices n 1, n 2,..., n k son hijos del vértice n, ordenados por la izquierda, con etiquetas X 1, X 2,..., X k, respectivamente, entonces debe ser una producción en P. A X 1 X 2 X k 5 Si el vértice n tiene etiquetaǫ, entonces n es una hoja y es el único hijo de su padre. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

15 Ejemplo: Considere la gramática G = ({S, A},{a, b}, P, S), donde P consiste de: S aas a A SbA SS ba Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

16 Un árbol de derivación en G es: S 1 a 2 A 3 S 4 S 5 b 6 A 7 8 a a 9 b 10 a 11 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

17 Los vértice interiores son 1,3,4,5 y 7. El vértice 1 tiene etiqueta S, y sus hijos, ordenados por la izquierda, tienen etiquetas a, A, y S. Note que S aas es una producción. Del mismo modo, el vértice 3 tiene etiqueta A, y las etiquetas de sus hijos son S, b y A, y A SbA es su producción. Los vértices 4 y 5 tienen etiquetas S, su único hijo tiene etiqueta a y S a es su producción. Finalmente, el vértice 7 tiene etiqueta A y las etiquetas de sus hijos son b, a, y su producción es A ba. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

18 Extendemos el ordenamiento por la izquierda de los hijos para producir el ordenamiento de izquierda a derecha de las hojas. De hecho, para dos vértices, o uno es el antecesor del otro, o uno está a la izquierda del otro. Dados los vértices v 1 y v 2, se sigue el camino de estos vértices hacia la raíz hasta encontrar algún vértice común w. Sean x 1 y x 2 los hijos de w en el camino de v 1 y v 2, respectivamente. Si v 1 no es un antecesor de v 2, o viceversa, entonces x 1 x 2. Suponga que x 1 está a la izquierda de x 2 en el orden de los hijos de w. Entonces v 1 está a la izquierda de v 2. En caso contrario, v 2 está a la izquierda de v 1. Por ejemplo, si v 1 y v 2 son 9 y 11 en la figura anterior, entonces w es 3, x 1 = 5 y x 2 = 7. Como 5 está a la izquierda de 7, se sigue que 9 está a la izquierda de 11. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

19 Para ver que un árbol de derivación es una descripción natural de una derivación de una particular forma sentencial en una gramática G. Si leemos las etiquetas de las hojas de izquierda a derecha, se obtiene una forma sentencial. A esta cadena le llamamos el producto del árbol de derivación. Más adelante, veremos que siαes el producto de algún árbol de derivación para la gramática G = (V,T, P, S), = entonces S G α, y viceversa. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

20 Un subárbol de un árbol de derivación es un vértice particular del árbol junto con todos su descendientes, las aristas conectadas a ellas, y sus etiquetas. Se mira igual que un árbol de derivación, excepto que la etiqueta de la raíz podría no ser el símbolo de inicio de la gramática. Si la variable A es la etiqueta de la raíz, entonces llamamos al subárbol un A-árbol. Así S-árbo es un sinónimo para el árbol de derivación si S es el símbolo de inicio. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

21 Ejemplo: Considere la gramática y el árbol de derivación del ejemplo anterior. Reproducimos el árbol de derivación sin el número de vértices. El producto del árbol es aabbaa como se muestra en la Figura = 4.1.(a). Note que S G aabbaa por la derivación: S aas asbas aabas aabbas aabbaa Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

22 En la Figura 4.1.(b) se muestra un subárbol del árbol anterior. El producto del subárbol es abba. La etiqueta de la raíz del subárbol es A, y A abba. Una derivación en este caso es: S A SbA aba abba. a A S A S b A a S b A a b a a b a (a) (b) Figura 4.1 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

23 Relación entre árboles de derivación y derivaciones Teorema (4.1) Sea G = (V,T, P, S) una gramática libre de contexto. Entonces S α si y sólo si existe un árbol de derivación en la gramática G con producto α. Demostración: Se tiene que probar que para cualquier A V, A α si y sólo si existe un A-árbol con α como producto. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

24 ) Suponga queαes el producto de un A-árbol, se utiliza inducción sobre el número de vértices interiores en el árbol para probar que A α. ) Suponga que A α, se debe demostrar que existe un A-árbol con productoα. Si A α en un solo paso, entonces A α es una producción en P, y existe un árbol con productoα, como se muestra en la siguiente figura: A X 1 X 2... X n Para terminar se utiliza inducción sobre el número de pasos. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

25 Ejemplo: Considere la derivación S aabbaa del ejemplo anterior. El primer paso es S aas. Si seguimos la derivación, vemos que A eventualmente es reemplazada por SbA, entonces por aba, y finalmente por abba. La Figura 4.1(b) es el árbol de derivación para está derivación. El único símbolo derivado de S en aas es a. La Figura 4.2(a) es el árbol para la última derivación. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

26 La Figura 4.2(b) es el árbol de derivación para S aas. Si reemplazamos el vértice con etiqueta A en la Figura 4.2.(b) por el árbol de la Figura 4.1(b) y el vértice con etiqueta S en la Figura 4.2(b) con el árbol de la Figura 4.2(a), obtenemos el árbol de la Figura 4.1(a), cuya producción es aabbaa. S S a a A S (a) (b) Figura 4.2 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

27 Derivación más a la izquierda y más a la derecha: ambigüedad Si en cada paso en una derivación se aplica una producción a la variable más a la izquierda, entonces la derivación se dice más a la izquierda. Similarmente una derivación en la cual la variable más a la derecha es reemplazada en cada paso se dice más a la derecha. Si w L(G) para la GLC G, entonces w tiene por lo menos un árbol de derivación, y para un árbol de derivación particular, w tiene una única derivación más a la derecha y una única derivación más a la izquierda. Por supuesto, w puede tener varias derivaciones más a la izquierda y más a la derecha, ya que puede existir más de un árbol de derivación para w. Sin embargo, es fácil demostrar que para cada árbol de derivación, se puede obtener sólo una derivación más a la izquierda y una derivación más a la derecha Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

28 Ejemplo: La derivación más a la izquierda correspondiente al árbol de la Figura 4.1(a) es: S aas asbas aabas aabbas aabbaa La correspondiente derivación más a la derecha es: S aas aaa asbaa asbbaa aabbaa. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

29 Una GLC G tal que alguna palabra tiene dos árboles de derivación se dice ambigua. Un LLC para el cual cada GLC es ambigua se dice un LLC inherentemente ambiguo. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

30 4.4 Simplificación de gramáticas libres de contexto Si L es un lenguaje libre de contexto no vacío entonces puede ser generado por una gramática libre de contexto G con las propiedades siguientes: 1 Cada variable y cada terminal en G aparece en la derivación de alguna palabra en L. 2 No existen producciones de la forma A B donde A y B son variables. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

31 Además, siǫ/ L, se puede hacer que en G no existan producciones de la forma A ǫ. De hecho, siǫ/ L, se puede lograr que cada producción en G sea de las formas A BC y A a, donde A, B y C son variables arbitrarias y a es una terminal arbitraria. Alternativamente, podemos hacer que cada producción de G sea de la forma A aα, dondeαes una cadena de variables (quizás vacía). Estas dos últimas formas especiales son la forma normal Chomsky y la forma normal Greibach, respectivamente. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

32 Símbolos inútiles Sea G = (V,T, P, S) una gramática. Un símbolo X es útil si existe una derivación S αxβ w para algunosα,β, y w, donde w T. En otro caso, X es inútil. Existen dos formas en las que una cadena puede ser útil: primero, algunas cadenas terminales deben ser derivables de X y segundo, X debe ocurrir en alguna cadena derivable de S. Esas dos condiciones no son, sin embargo, suficientes para garantizar que X es útil, ya que X puede ocurrir sólo en formas sentenciales que contienen una variable de la cual ninguna cadena de terminales puede ser derivada. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

33 Lema (4.1) Dada una GLC G = (V,T, P, S), con L(G), podemos encontrar de una manera efectiva una GLC equivalente G = (V, T, P, S) tal que para cada A V existe alguna w T para la cual A w. Demostración: Cada variable A con producción A w en P claramente pertenece a V. Si A X 1 X 2 X X n es una producción, donde cada X i es o una terminal o una variable que pertenece a V, entonces una cadena de terminales se deriva de A por una derivación A X 1 X 2 X n, y así A V. El conjunto V se encuentra utilizando un algoritmo iterativo. P es el conjunto de todas las producciones cuyos símbolos están en V T. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

34 Lema (4.2) Dada una GLC G = (V,T, P, S) podemos encontrar de una manera efectiva una GLC equivalente G = (V, T, P, S) tal que para cada X V T existenα,β (V T ) para las cuales S αxβ. Demostración: El conjunto V T de símbolos que aparecen en las formas sentenciales de G se construye por un algoritmo iterativo. Se coloca S en V. Si A es colocado en V y A α 1 α 2 α n, entonces añadir todas las variables deα 1,α 2,,α n al conjunto V y todas las terminales deα 1,α 2,,α n a T. P es el conjunto de producciones en P que contienen sólo símbolos de V T. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

35 Teorema (4.2) Cada LLC no vacío es generado por una GLC con símbolos no inútiles. Demostración: Sea L = L(G) un LLC no vacío. Sea G 1 el resultado de aplicar la construcción del Lema 4.1 a G y sea G 2 el resultado de aplicar la construcción del Lema 4.2 a G 1. Suponga que G 2 contiene algún = símbolo inútil X. Por el Lema 4.2, existe una derivación S G 2 αxβ. Como todos los símbolos de G 2 son símbolos de G 1, se sigue del = = Lema 4.1 que S G 1 αxβ G 1 w para alguna cadena terminal w. Por lo = tanto, ningún símbolo en la derivación αx β G 1 w es eliminado por el Lema 4.2. Así, X deriva una cadena terminal en G 2, y por lo tanto X no es inútil como se supuso. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

36 Ejemplo: Considere la gramática S AB a A a Aplicando el Lema 4.1, encontramos que no hay cadenas terminales que sean derivables de B. Por lo tanto, eliminamos B y la producción S AB. Aplicando el Lema 4.2 a la gramática S a A a encontramos que sólo S y a aparecen en alguna forma sentencial. Así ({S},{a},{S a}, S) es una gramática equivalente sin símbolos inútiles. Note que si aplicamos primero el lema 4.2 y luego el 4.1 a la gramática de este ejemplo, no se obtiene el resultado esperado. Curso Básico de Computación (Matemáticas) 4 Gramáticas libres de contexto / 36

Curso Básico de Computación Preliminares

Curso Básico de Computación Preliminares Curso Básico de Computación Preliminares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Preliminares 2010 1 / 11 1 Preliminares

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no

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

Curso Básico de Computación 6 Propiedades de los lenguajes libres de contexto

Curso Básico de Computación 6 Propiedades de los lenguajes libres de contexto Curso Básico de Computación 6 Propiedades de los lenguajes libres de contexto Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas)6

Más detalles

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si: 09:50 1 Temas Gramáticas libres de contexto Árbol de derivación Derivación más a la izquierda y más a la derecha Ambigüedad Factorización a izquierda Gramáticas propias Expresiones Regulares Objetivo Que

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

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

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

6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de Bombeo para LLC

6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de Bombeo para LLC 1 Curso ásico de Computación 6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de ombeo para LLC El lema de ombeo para LLC nos dice que siempre existe dos subcadenas cortas muy juntas que se

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

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

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

GRAMÁTICAS LIBRES DE CONTEXTO

GRAMÁTICAS LIBRES DE CONTEXTO GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto

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

Temas. Objetivo 07:00

Temas. Objetivo 07:00 0 Temas Definición de Gramáticas de Estructura de Frase Proceso de derivación Gramáticas equivalentes Lenguajes de Estructura de Frase Jerarquía de Chomsky Relación entre los lenguajes Objetivo Que el

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación Autómatas finitos y expresiones regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Autómatas

Más detalles

Curso Básico de Computación

Curso Básico de Computación CINVESTAV IPN México City 2010 1 Preliminares 1.1 Cadenas, alfabetos y lenguajes Un símbolo es un ente abstracto que no se puede definir formalmente. Letras o dígitos son ejemplos

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

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

Tema 2 Gramáticas y Lenguajes Libres de Contexto

Tema 2 Gramáticas y Lenguajes Libres de Contexto Tema 2 Gramáticas y Lenguajes Libres de Contexto 1. Definiciones Básicas 2. 3. Forma Normal de Chomsky 4. Autómatas de Pila 5. Propiedades de los Lenguajes Libres de Contexto 1. Definiciones básicas 1.

Más detalles

Expresiones regulares, gramáticas regulares Unidad 3

Expresiones regulares, gramáticas regulares Unidad 3 Expresiones regulares, gramáticas regulares Unidad 3 Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes,

Más detalles

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

Más detalles

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es

Más detalles

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,

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

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

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

1. Cadenas EJERCICIO 1

1. Cadenas EJERCICIO 1 LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

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

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del

Más detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como el ingles, español, alemán o francés es extremadamente complicada, dado que es imposible especificar la

Más detalles

8 Indecibilidad. 8.1 Problemas

8 Indecibilidad. 8.1 Problemas Curso Básico de Computación 8 Indecibilidad Ahora se considera la clase de lenguajes recursivos y recursivamente enumerables. El aspecto más interesante de este estudio trata de lenguajes cuyas cadenas

Más detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

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

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003 Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Interrogación 2 IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Esta interrogación

Más detalles

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

14 Lenguajes y gramáticas II

14 Lenguajes y gramáticas II 2 Contenido Lenguaje generado por una gramática (Derivaciones) Ejemplo Jerarquía de Chomsky Gramáticas tipo 3 Gramáticas tipo 2 Gramáticas tipo 1 Gramáticas tipo 0 Descripción de las gramáticas Ejercicios

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

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares Curso Básico de Computación 3 Propiedades de los conjuntos regulares 3. Lema de Bombeo para conjuntos regulares El lema de bombeo es una herramienta poderosa para probar que ciertos lenguajes son no regulares.

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

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 Libres del Contexto

Lenguajes Libres del Contexto Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes

Más detalles

Tema 3: Gramáticas Formales. Informática Teórica I

Tema 3: Gramáticas Formales. Informática Teórica I Tema 3: Gramáticas Formales Informática Teórica I Teoría de Gramáticas Formales. Bibliografía M. Alfonseca, J. Sancho y M. Martínez. Teoría de Lenguajes, Gramáticas y Autómatas, R.A.E.C., Madrid, (1998).

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

CAPITULO 5: GRAMÁTICAS

CAPITULO 5: GRAMÁTICAS CAPITULO 5: GRAMÁTICAS 5.1. GRAMÁTICA EN UN LENGUAJE NATURAL: En un lenguaje natural la estructura de las frases, se describen por medio de una gramática que agrupa las palabras en categorías sintácticas

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 3 Propiedades de los conjuntos regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 3 Propiedades

Más detalles

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto TEORÍ DE L COMPUTCIÓN LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

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

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 8 Indecibilidad Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 8 Indecibilidad 2010 1 / 58 8 Indecibilidad

Más detalles

GRAMÁTICAS y LENGUAJES INDEPENDIENTES DEL CONTEXTO

GRAMÁTICAS y LENGUAJES INDEPENDIENTES DEL CONTEXTO Dpto. de Informática (ATC, CCIA y LSI). Universidad de Valladolid. TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES I Ingeniería Técnica en Informática de Sistemas. Curso 2011-12 GRAMÁTICAS y LENGUAJES INDEPENDIENTES

Más detalles

Conversión de Gramáticas Libres de Contexto. EQUIPO 6 Jardón Jara Micheelle Enrique Perfecto Espinosa Valeria

Conversión de Gramáticas Libres de Contexto. EQUIPO 6 Jardón Jara Micheelle Enrique Perfecto Espinosa Valeria Conversión de Gramáticas Libres de Contexto EQUIPO 6 Jardón Jara Micheelle Enrique Perfecto Espinosa Valeria Objetivo Desarrollar el tema de Conversión de Gramáticas Libres de Contexto (GLC): Algoritmos

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

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 7 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/20 Lenguajes Formales

Más detalles

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que: Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente

Más detalles

Generalidades sobre lenguajes.

Generalidades sobre lenguajes. no DSIC - UPV July 3, 2011 (DSIC - UPV) July 3, 2011 1 / 21 Definiciones: no Alfabeto Σ = {a, b, c} o Γ = {0, 1} palabra, cadena o frase Σ: x = aaba, y = 0011. Cadena vacía: λ. Longitud de una palabra:

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación: Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales

Más detalles

Las Gramáticas Formales

Las Gramáticas Formales Definición de Las Como definir un Lenguaje Formal Universidad de Cantabria Esquema Motivación Definición de 1 Motivación 2 Definición de 3 Problema Motivación Definición de Dado un lenguaje L, se nos presenta

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales 1. Objetivos 2. Representación de los datos en Mathematica 3. Eliminación de símbolos inútiles 3.1. Símbolos

Más detalles

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Lenguajes independientes de contexto o incontextuales

Lenguajes independientes de contexto o incontextuales Lenguajes independientes de contexto o incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Elvira Mayordomo (Universidad de Zaragoza)Lenguajes independientes de contexto o incontextuales5

Más detalles

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES 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

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas Solicitado: Ejercicios 09: Gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramática Elementos de una gramática

Más detalles

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña Máquinas Secuenciales, Autómatas y Lenguajes Tema 4: Expresiones Regulares Luis Peña Sumario Tema 4: Expresiones Regulares. 1. Concepto de Expresión Regular 2. Teoremas de Equivalencia Curso 2012-2013

Más detalles

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I 19 de Enero de 2009 SOLUCIONES PREGUNTA 1 (2 puntos): Son siete cuestiones que debes responder y entregar en esta misma hoja. 1.1 Considera el

Más detalles

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes 0 1 Temas Símbolo, alfabeto Hileras y operaciones con hileras Operaciones con lenguajes Objetivo Que el estudiante logre conocer, comprender y manejar conceptos vinculados con la Teoría de Lenguajes Formales

Más detalles

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas

Más detalles

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol

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

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario

Más detalles

1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS.

1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS. UNIDAD 1.- CONCEPTOS REQUERIDOS CONJUNTOS. AXIOMAS DE PERTENENCIA, PARALELISMO, ORDEN Y PARTICIÓN. 1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS. 1.1 Determinaciones de un conjunto. Un conjunto queda determinado

Más detalles

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES 1 DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. SÍMBOLOS

Más detalles

Lección 3: Fundamentos para el análisis sintáctico

Lección 3: Fundamentos para el análisis sintáctico Lección 3: Fundamentos para el análisis sintáctico 1) Introducción 2) Gramáticas. Definiciones y clasificación 3) GLC. Notaciones 4) GLC. Árboles de análisis sintáctico 5) GLC. Derivación a dcha. y a izda.

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

1. Conjuntos y funciones

1. Conjuntos y funciones PRACTICO 1: CONJUNTOS. 1. Conjuntos y funciones Es útil saber de memoria las siguientes propiedades de conjuntos y funciones. Tanto como saber las tablas. Ejercicio 1. Si I es un conjunto y A α es un conjunto

Más detalles

La Ambigüedad en el Parsing

La Ambigüedad en el Parsing La en el Parsing Definición y Ejemplos Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema En nuestra busqueda por encontrar la estructura exploraremos como elegir una derivación

Más detalles

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

Clase 12: Clasificación de gramáticas

Clase 12: Clasificación de gramáticas Solicitado: Ejercicios 10: Clasificación de gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Avram Noam Chomsky

Más detalles

Alfabetos, cadenas y lenguajes

Alfabetos, cadenas y lenguajes Capítulo 1 lfabetos, cadenas y lenguajes 1.1. lfabetos y cadenas Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una cadena

Más detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican

Más detalles

La Representación de las Gramáticas

La Representación de las Gramáticas La Representación de las Gramáticas El Generador del Lenguaje Universidad de Cantabria Esquema 1 Introducción 2 3 4 Introducción Las gramáticas libres de contexto son más generales que las gramáticas regulares.

Más detalles

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Propiedades de Lenguajes Regulares

Propiedades de Lenguajes Regulares de INAOE (INAOE) 1 / 44 Contenido 1 2 3 4 (INAOE) 2 / 44 Existen diferentes herramientas que se pueden utilizar sobre los lenguajes regulares: El lema de : cualquier lenguaje regular satisface el pumping

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Examen de Teoría de Autómatas y Lenguajes Formales

Examen de Teoría de Autómatas y Lenguajes Formales Examen de Teoría de Autómatas y Lenguajes Formales TAL 16 de Septiembre de 2008 (I) CUESTIONES: (Justifique formalmente las respuestas) 1. Pronúnciese acerca de la veracidad o falsedad de los siguientes

Más detalles

Capítulo 2: Inducción y recursión Clase 3: Definiciones recursivas e Inducción estructural

Capítulo 2: Inducción y recursión Clase 3: Definiciones recursivas e Inducción estructural Capítulo 2: Inducción y recursión Clase 3: Definiciones recursivas e Inducción estructural Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 2: Inducción y Recursión

Más detalles

Gramáticas Independientes del Contexto (GIC)

Gramáticas Independientes del Contexto (GIC) Asignatura: Teoría de la Computación Tema 4: Gramáticas independientes del contexto Definiciones y propiedades Gramáticas Independientes del Contexto (GIC) Qué es una gramática? Modelo de estructuras recursivas.

Más detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo: 1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.

Más detalles