GRUPO 1Grupo 1
Gramatica de Contexto Libre
Carlos Gómez 16-0502
Brayhan Acosta 16-0622
Objetivos
• Comprender los conceptos básicos de la
gramática de contexto libre y su relación con la
materia.
• Desarrollar habilidades para el manejo y uso de
los contenidos expuestos.
Que es un lenguaje libre de Contexto
Los lenguajes libres de Contexto
hace referencia a los lenguajes de
tipo 2 en la jerarquía de Chomsky.
Es aquel que puede representarse
mediante gramática libre de
contexto y autómatas finitos.
Tienen su aplicación en la teoría
de interpretes y en los
compiladores de lenguajes de
programación, pues estos
lenguajes engloban los
mecanismos de representación
de los lenguajes de
programación desde un punto
de vista sintáctico.
Gramática libre de Contexto
Es una gramática formal en la que
cada regla de producción es de la
forma V → w. Donde V es un
símbolo no terminal y w es una
cadena de terminales y/o no
terminales
El término “Libre de Contexto” se refiere
al hecho de que el no terminal V puede
siempre ser sustituido por W sin tener
en cuenta el contexto en el que ocurra.
Lenguaje Regular
Lenguaje Regular hace referencia a los lenguajes de
tipo 3 en la jerarquía de Chomsky. Es aquel que puede
representarse mediante gramáticas regulares y
autómatas finitos.
Son los lenguajes formales más simples que
existen. Contienen los mecanismos de
representación más estudiados, su aplicación
práctica está en los interpretes y compiladores,
enfocados especialmente en los formatos de
información como los microcomponentes.
Gramática Regular
Estos generan los lenguajes regulares (que son aquellos reconocidos por autómatas
finitos).
Son las gramáticas mas restrictivas.
• El lado derecho de una producción debe contener un símbolo terminal y, como
máximo un símbolo no terminal. Pueden ser de la siguiente manera:
Propiedades del lenguaje
libre de contexto
Propiedades del lenguaje
libre de contexto
Una de las definiciones
equivalentes de lenguaje libre
de contexto emplea autómatas
no deterministas: que dice que
un lenguaje es libre de
contexto si puede ser aceptado
por ese autómata.
Un lenguaje puede ser
modelado como un conjunto
de todas las secuencias de
terminales aceptadas por la
gramática. Este modelo ayuda
a entender las operaciones de
conjuntos sobre lenguajes.
Propiedades del lenguaje
libre de contexto
La unión y concatenación de
los lenguajes libres de
contexto es también libre de
contexto. La intersección no
tiene por que serlo.
El inverso de un lenguaje libre
de contexto es también libre de
contexto, pero el complemento
no tiene que serlo.
Propiedades del lenguaje
libre de contexto
Los lenguajes regulares son
libres de contexto porque
pueden ser descritos mediante
una gramática de libre
contexto.
La intersección de un lenguaje
libre de contexto y un lenguaje
regular es siempre libre de
contexto.
Propiedades del lenguaje
libre de contexto
Existen gramáticas sensibles
al contexto que no son libres
de contexto.
Para demostrar que un
lenguaje es libre de
contexto, se puede
emplear el Lema del
Bombeo (Explicar) para
lenguajes libres de
contexto.
Gramática Libre del Contexto
Estas gramáticas, también conocidas como gramáticas tipo
2 o gramáticas independientes del contexto, son las que
generan los lenguajes libres del contexto.
Ambigüedad de Gramática
En Ciencias de computación, una gramática ambigua es de
tipo libre de contexto, en la cual existe una cadena que
puede tener más de una derivación a la izquierda.
Muchos lenguajes admiten solo gramática ambigua.
Cualquier lenguaje no vacío admite una gramática ambigua
al tomar una gramática no ambigua e introducir una regla
duplicada.
Un lenguaje que solo admite gramáticas ambiguas se
conoce como Lenguaje Inherente Ambiguo.
Ambigüedad de Gramática
Ejemplo 1 – Lenguaje Trivial: A → A | ε
Una producción puede ser ella misma otra vez, o la cadena vacía.
La cadena vacía tiene derivaciones a la izquierda de longitud 1, 2,
3, y de hecho de cualquier longitud, dependiendo de cuántas
veces la regla A → A sea utilizada.
Ejemplo 2 – Adición y Sustracción:
La gramática libre de contexto S → S + S | S − S |S*S |id es ambigua
dado que hay dos derivaciones a la izquierda para la cadena
BNF (Backus-Naur Form)
Es un tipo de notación
frecuentemente utilizada para
escribir gramáticas libres del
contexto.
Es la técnica mas común para
definir sintaxis de los lenguajes
de programación.
BNF (Backus-Naur Form)
En esta notación se deben seguir las siguientes convenciones:
• Los no terminales se escriben entre paréntesis angulares < >.
• Los terminales se representan con cadenas de caracteres sin
paréntesis angulare.
• El lado izquierdo de cada regla debe tener únicamente un no
terminal (Ya que es una gramática libre de contexto).
• El símbolo ::=, que se lee “se define como” o “se reescribe como”,
se utiliza en lugar de → .
Link de Video
• Acceder al siguiente link para visualizar video:
https://www.youtube.com/watch?v=eHo4Qlqoc3k
Sección de Ejercicios
Ejercicio 1 y 2:
• Ejercicio 1: Identificar palabras que pertenecen al conjunto ER.
• Ejercicio 2: Identificar palabras que no pertenecen al conjunto ER.
Bibliografia
• (2016). Gramática libre de contexto. 20/01/2017, de Wikipedia Sitio web:
https://es.wikipedia.org/wiki/Gram%C3%A1tica_libre_de_contexto#Propiedad
es_de_los_lenguajes_libres_de_contexto
• unicen. (2015). GRAMATICAS LIBRES DEL CONTEXTO . 20/01/2017, de unicen
Sitio web: http://www.exa.unicen.edu.ar/catedras/ccomp1/Apunte5.pdf
• c. (2016). Notación de Backus-Naur. 19/01/2017, de Notación de Backus-Naur
Sitio web: https://es.wikipedia.org/wiki/Notaci%C3%B3n_de_Backus-Naur
• unicen. (2016). GRAMATICAS REGULARES - EXPRESIONES REGULARES.
27/01/2017, de Unicen Sitio web:
http://www.exa.unicen.edu.ar/catedras/ccomp1/ApunteGRyER.pdf
Gramática Libre de Contexto

Gramática Libre de Contexto

  • 1.
    GRUPO 1Grupo 1 Gramaticade Contexto Libre Carlos Gómez 16-0502 Brayhan Acosta 16-0622
  • 2.
    Objetivos • Comprender losconceptos básicos de la gramática de contexto libre y su relación con la materia. • Desarrollar habilidades para el manejo y uso de los contenidos expuestos.
  • 3.
    Que es unlenguaje libre de Contexto Los lenguajes libres de Contexto hace referencia a los lenguajes de tipo 2 en la jerarquía de Chomsky. Es aquel que puede representarse mediante gramática libre de contexto y autómatas finitos. Tienen su aplicación en la teoría de interpretes y en los compiladores de lenguajes de programación, pues estos lenguajes engloban los mecanismos de representación de los lenguajes de programación desde un punto de vista sintáctico.
  • 4.
    Gramática libre deContexto Es una gramática formal en la que cada regla de producción es de la forma V → w. Donde V es un símbolo no terminal y w es una cadena de terminales y/o no terminales El término “Libre de Contexto” se refiere al hecho de que el no terminal V puede siempre ser sustituido por W sin tener en cuenta el contexto en el que ocurra.
  • 5.
    Lenguaje Regular Lenguaje Regularhace referencia a los lenguajes de tipo 3 en la jerarquía de Chomsky. Es aquel que puede representarse mediante gramáticas regulares y autómatas finitos. Son los lenguajes formales más simples que existen. Contienen los mecanismos de representación más estudiados, su aplicación práctica está en los interpretes y compiladores, enfocados especialmente en los formatos de información como los microcomponentes.
  • 6.
    Gramática Regular Estos generanlos lenguajes regulares (que son aquellos reconocidos por autómatas finitos). Son las gramáticas mas restrictivas. • El lado derecho de una producción debe contener un símbolo terminal y, como máximo un símbolo no terminal. Pueden ser de la siguiente manera:
  • 7.
  • 8.
    Propiedades del lenguaje librede contexto Una de las definiciones equivalentes de lenguaje libre de contexto emplea autómatas no deterministas: que dice que un lenguaje es libre de contexto si puede ser aceptado por ese autómata. Un lenguaje puede ser modelado como un conjunto de todas las secuencias de terminales aceptadas por la gramática. Este modelo ayuda a entender las operaciones de conjuntos sobre lenguajes.
  • 9.
    Propiedades del lenguaje librede contexto La unión y concatenación de los lenguajes libres de contexto es también libre de contexto. La intersección no tiene por que serlo. El inverso de un lenguaje libre de contexto es también libre de contexto, pero el complemento no tiene que serlo.
  • 10.
    Propiedades del lenguaje librede contexto Los lenguajes regulares son libres de contexto porque pueden ser descritos mediante una gramática de libre contexto. La intersección de un lenguaje libre de contexto y un lenguaje regular es siempre libre de contexto.
  • 11.
    Propiedades del lenguaje librede contexto Existen gramáticas sensibles al contexto que no son libres de contexto. Para demostrar que un lenguaje es libre de contexto, se puede emplear el Lema del Bombeo (Explicar) para lenguajes libres de contexto.
  • 12.
    Gramática Libre delContexto Estas gramáticas, también conocidas como gramáticas tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres del contexto.
  • 13.
    Ambigüedad de Gramática EnCiencias de computación, una gramática ambigua es de tipo libre de contexto, en la cual existe una cadena que puede tener más de una derivación a la izquierda. Muchos lenguajes admiten solo gramática ambigua. Cualquier lenguaje no vacío admite una gramática ambigua al tomar una gramática no ambigua e introducir una regla duplicada. Un lenguaje que solo admite gramáticas ambiguas se conoce como Lenguaje Inherente Ambiguo.
  • 14.
    Ambigüedad de Gramática Ejemplo1 – Lenguaje Trivial: A → A | ε Una producción puede ser ella misma otra vez, o la cadena vacía. La cadena vacía tiene derivaciones a la izquierda de longitud 1, 2, 3, y de hecho de cualquier longitud, dependiendo de cuántas veces la regla A → A sea utilizada. Ejemplo 2 – Adición y Sustracción: La gramática libre de contexto S → S + S | S − S |S*S |id es ambigua dado que hay dos derivaciones a la izquierda para la cadena
  • 15.
    BNF (Backus-Naur Form) Esun tipo de notación frecuentemente utilizada para escribir gramáticas libres del contexto. Es la técnica mas común para definir sintaxis de los lenguajes de programación.
  • 16.
    BNF (Backus-Naur Form) Enesta notación se deben seguir las siguientes convenciones: • Los no terminales se escriben entre paréntesis angulares < >. • Los terminales se representan con cadenas de caracteres sin paréntesis angulare. • El lado izquierdo de cada regla debe tener únicamente un no terminal (Ya que es una gramática libre de contexto). • El símbolo ::=, que se lee “se define como” o “se reescribe como”, se utiliza en lugar de → .
  • 17.
    Link de Video •Acceder al siguiente link para visualizar video: https://www.youtube.com/watch?v=eHo4Qlqoc3k
  • 18.
    Sección de Ejercicios Ejercicio1 y 2: • Ejercicio 1: Identificar palabras que pertenecen al conjunto ER. • Ejercicio 2: Identificar palabras que no pertenecen al conjunto ER.
  • 19.
    Bibliografia • (2016). Gramáticalibre de contexto. 20/01/2017, de Wikipedia Sitio web: https://es.wikipedia.org/wiki/Gram%C3%A1tica_libre_de_contexto#Propiedad es_de_los_lenguajes_libres_de_contexto • unicen. (2015). GRAMATICAS LIBRES DEL CONTEXTO . 20/01/2017, de unicen Sitio web: http://www.exa.unicen.edu.ar/catedras/ccomp1/Apunte5.pdf • c. (2016). Notación de Backus-Naur. 19/01/2017, de Notación de Backus-Naur Sitio web: https://es.wikipedia.org/wiki/Notaci%C3%B3n_de_Backus-Naur • unicen. (2016). GRAMATICAS REGULARES - EXPRESIONES REGULARES. 27/01/2017, de Unicen Sitio web: http://www.exa.unicen.edu.ar/catedras/ccomp1/ApunteGRyER.pdf