1 / 28

GRAMATICA LIBRE DE CONTEXTO

GRAMATICA LIBRE DE CONTEXTO. LENGUAJE LIBRE DE CONTEXTO. Definición informal de Gramática. Es el mecanismo empleado para establecer la estructura de un lenguaje, es decir las sentencias que lo forman.

tannar
Download Presentation

GRAMATICA LIBRE DE CONTEXTO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GRAMATICA LIBRE DE CONTEXTO LENGUAJE LIBRE DE CONTEXTO Marcela Hernandez

  2. Definición informal de Gramática • Es el mecanismo empleado para establecer la estructura de un lenguaje, es decir las sentencias que lo forman. • Consiste de un conjunto de reglas sintácticas que establecen la forma en la que se pueden combinar los símbolos del alfabeto: • ORACION es un SUJETO y un PREDICADO. • SUJETO es una FRASE NOMINAL. • FRASE NOMINAL es un GRUPO NOMINAL y un CALIFICATIVO que puede o no estar. • GRUPO NOMINAL es un ARTICULO que puede no estar y un NOMBRE. • CALIFICATIVO es un ADJETIVO o una CONJUNCIÓN y una ORACION. Marcela Hernandez

  3. Gramáticas Formales • Gramática regulares. • Gramáticas independientes de contexto. • Gramáticas sensibles al contexto. • Gramática sin restricciones o de estructura de frase. Marcela Hernandez

  4. Tipos de Gramáticas • N. Chomsky clasifica las gramáticas en cuatro tipos: • Gramáticas sin restricciones o gramáticas de estructura de frases (Tipo 0). • Gramáticas sensibles al contexto (Tipo 1). • Gramáticas independientes de contexto (Tipo 2). • Gramáticas regulares (Tipo 3). Tipo 0 Tipo 1 Tipo 2 Tipo 3 Marcela Hernandez

  5. Tipos de Lenguajes • Conforme a la clasificación de N. Chomsky, los lenguajes se clasifican en cuatro tipos: • Lenguajes sin restricciones (Tipo 0). • Lenguajes sensibles (o dependientes) al contexto (Tipo 1). • Lenguajes independientes de contexto (Tipo 2). • Lenguajes regulares (Tipo 3). Marcela Hernandez

  6. equivale Gramática Máquina describe genera reconoce genera Lenguajes Teoría de Autómatas - Lenguajes Formales(Máquinas abstractas - Gramáticas Formales) equivale Marcela Hernandez

  7. Gramáticas Lenguajes Máquinas Sin restricciones o de Tipo 0 Sin restricciones o de Tipo 0 Máquina de Turing Sensible al contexto o de Tipo 1 Sensible al contexto o de Tipo 1 Autómata linealmente acotado Libre de contexto o de Tipo 2 Libre de contexto o de Tipo 2 Autómata a pila Regular o de Tipo 3 Regular o de Tipo 3 Autómata Finito Teoría de Autómatas - Lenguajes Formales(Máquinas abstractas - Gramáticas Formales) Marcela Hernandez

  8. GRAMATICA REGULAR • Es aquellacuyasreglas de reescrituratienenlassiguientesrestricciones 1. El ladoizq. debe de consistir en un solo no termnial 2. El ladoderecho de un terminal o un terminal seguidopor un no terminal, o cadenavacia • Ej. Z  yX X  y X λ Marcela Hernandez

  9.  Se interpreta como “puede ser”, “se compone de”, “es sustituida por”. \ Se interpreta como “o”  Se interpreta como “derivar”, “produce” o “genera” Marcela Hernandez

  10. Gramatica independiente del contexto • A diferencia de lasgramaticasregularesestasgramaticas no tienenreestricciones con respecto al ladoderecho de susreglas de reesritura, aunque se quiereque el ladoizq sea un no terminal. S zMNz MaMa Nz NbNb Nz Marcela Hernandez

  11. El termiano independiente del contexto refleja que , como el lado izq de cada regla de reescritura unicamente puede contener un nolo no teminal, la regla puede aplicarse sin importar el contexto donde se encuentre dicho no terminal. Marcela Hernandez

  12. Árbol de derivación • Un árbol de análisis sintáctico o árbol de derivación es un árbol cuyos nodos representan terminales y no terminales de la gramática, donde el nodo raíz es el símbolo de inicio y los hijos de cada nodo no terminal son símbolos que remplazan a ese no terminal en la derivación. • Ningún símbolo terminal puede ser nodo interior del árbol , ni ningún símbolo no terminal puede ser una hoja. Marcela Hernandez

  13. S SMNZ MxZb Nb ZXN Zba Xx Nabx M N Z Z b b X N x b a x a b x Marcela Hernandez

  14. FORMA NORMAL DE CHOMSKY Si L es un lenguaje independiente del contexto que no tiene la cadena vacia, entonces existe una gramatica G independiente del contexto tal que G(L)=L y el lado derecho de cada regla de reesritura en G consiste en un solo terminal o exactamente dos no teminales. S XM MSY Xx Yy Marcela Hernandez

  15. FORMA NORMAL DE GREIBACH • Se dice que una gramática independiente del contexto (GIC) está en Forma normal de Greibach (FNG), si todas y cada una de sus reglas de producción tienen un consecuente que empieza por un carácter del alfabeto, también llamado símbolo terminal. Formalmente, cualquiera de las reglas tendrá la estructura: A − > aw • Donde "A" es el antecedente de la regla, que en el caso de las GIC debe ser necesariamente un solo símbolo auxiliar. Por su parte, "a" es el mencionado comienzo del consecuente y, por tanto, un símbolo terminal. Finalmente, "w" representa una concatenación genérica de elementos gramaticales, esto es, una sucesisión exclusivamente de auxiliares, inclusive, pudiera ser la palabra vacía; en este caso particular, se tendría una regla llamada "terminal": • A − > a Marcela Hernandez

  16. Definición: Una Gramática Libre de Contexto (GLC) está en Forma Normal de Greibach (FNG) si todas las producciones son de la forma: A  aB1B2…..Bk Donde A es un símbolo no Terminal, a es un símbolo Terminal y B1B2…..Bk son símbolos no Terminales. Ejemplo de FNG: S → aSB | aB B → b Marcela Hernandez

  17. ELIMINACION DE FACTORES COMUNES IZQUIERDOS • Se trata de rescribir las producciones de la gramática con igual comienzo para retrasar la decisión hasta haber visto lo suficiente de la entrada como para elegir la opción correcta Procedimiento: A := αβ1 |αβ2 | … | αβn | δi A := αA’ | δi A’ := β1 | β2 | … | βn Marcela Hernandez Marcela Hernandez

  18. ELIMINACION DE RECURSIVIDAD IZQUIERDA Tipos de recursividad • Directa. Una gramática G es recursiva si tiene alguna regla de producción que sea recursiva por la izquierda • Indirecta. Si, a partir de una forma sentencial que empieza por un no terminal se puede derivar una nueva forma no sentencial donde reaparece al principio el no terminal A := Aα Aα =>* Aβα Marcela Hernandez

  19. Eliminación de la recursividad • Directa • Indirecta A := βA’ A’ := αA’ A’ := ε A := Aα | β Ordenar No terminales: A1, A2, … An For i := 1 To n Do For j := 1 To i – 1 Do Sustituir cada Ai := Aj β por Ai := α1 β | α2 β | αk β donde Aj := α1 | α2 | … | αk producciones actuales de Aj Eliminar la recursividad directa de Ai Marcela Hernandez

  20. ELIMINACION DE AMBIGÛEDAD Una gramática ambigua permite más de una derivación para la misma forma sentencial por lo que también habrá más de un árbol de derivación para la misma. Por ello basta con encontrar dos árboles derivación distintos para la misma forma sentencial para demostrar que una gramática es ambigua. Para eliminar este tipo de ambigüedad, es necesario, primero eliminar: - Factores comunes izquierdos inmediatos y No-inmediatos.- Recursividad izquierda inmediata y No-inmediata. Marcela Hernandez

  21. TIPOS DE AMBIGÜEDAD: Dentro del estudio de gramáticas existen dos tipos fundamentales de ambigüedad, los cuales son: • Ambigüedad Inherente: Las gramáticas que presentan este tipo de ambigüedad no pueden utilizarse para lenguajes de programación, ya que por más transformaciones que se realicen sobre ellas, NUNCA se podrá eliminar completamente la ambigüedad que presentan. • Ambigüedad Transitoria: Este tipo de ambigüedad puede llegar a ser eliminada realizando una serie de transformaciones sobre la gramática original. Una vez que se logra lo anterior, la gramática queda lista para ser reconocida por la mayor parte de los analizadores sintácticos. Marcela Hernandez

  22. Autómata de pila • Un autómata con pila o autómata de pila o autómata a pila o autómata apilador es un modelo matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. Marcela Hernandez

  23. Los Autómatas de Pila, que al igual que un Autómata Finito, cuenta con un flujo de entrada y un flujo de control que puede encontrarse en uno de entre un número finito de estados. • Uno de estos estados se designa como el inicial y por lo menos un estado de aceptación • La principal diferencia es que los Autómatas de pila cuentan justamente con una pila en donde se puede almacenar información para recuperarla más tarde Marcela Hernandez

  24. Los símbolos que pueden almacenarse en esta pila se conocen como símbolos de pila de la maquina, constituyen un conjunto finito que puede incluir algunos símbolos definiendo el alfabeto de la maquina y quizá algunos símbolos adicionales que se utilizan como marcas internas. • Si una maquina inserta un símbolo especial en la pila antes de efectuar algún otro cálculo, entonces ese símbolo en la cima de la pila puede usarse como indicador de pila vacía para cálculos posteriores,dicho símbolo es # Marcela Hernandez

  25. Características • La Pila funciona de manera que el último carácter que se almacena en ella es el primero en salir (ordenLIFO). • Un aspecto crucial de la pila es que sólo podemos modificar el “tope” de la pila, que es el extremo por donde entran o salen los caracteres. • Los caracteres a la mitad de la pila no son accesibles sin quitar antes los que están encima de ellos • La pila tendrá un alfabeto propio que puede o no coincidir con el alfabeto de la palabra de entrada. • Esto se justifica porque puede ser necesario introducir en la pila caracteres especiales usados como separadores según las necesidades de diseño del autómata Marcela Hernandez

  26. Marcela Hernandez

  27. Principio de Pre Análisis • Técnica que permite a los autómatas de pila observar uno o varios símbolos más allá de donde se encuentra la cabeza lectora del autómata, pero sin leerlos realmente. • Esta técnica permite superar el no determinismo de algunos autómatas de pila. Marcela Hernandez

  28. LENGUAJES NO REGULARES • Existen lenguajes no regulares, estos no pueden ser representados por medio de una expresion ni por un automata. • El Lema del bombeo es una técnica utililzada para demostrarlo Marcela Hernandez

More Related