Gramática Libre de Contexto

Post on 11-Apr-2017

53 views 0 download

Transcript of Gramática Libre de Contexto

GRUPO 1Grupo 1

Gramatica de Contexto Libre

Carlos Gómez 16-0502Brayhan 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 RegularLenguaje 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 RegularEstos 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áticaEn 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áticaEjemplo 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 EjerciciosEjercicio 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#Propiedades_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