Las Gramáticas Formales

Documentos relacionados
Expresiones Regulares

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Gramáticas Regulares

Equivalencia Entre PDA y CFL

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

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes Formales y Monoides

LENGUAJES Y GRAMÁTICAS

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

1. Cadenas EJERCICIO 1

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

Procesadores de Lenguaje

LENGUAJES Y GRAMÁTICAS

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

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

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

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

La Ambigüedad en el Parsing

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

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

Lenguajes Incontextuales

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.

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

Máquinas de estado finito y expresiones regulares

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

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

GRAMATICAS LIBRES DEL CONTEXTO

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

Lenguajes y Gramáticas

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

Máquinas de Turing Definición y descripción

Autómatas de Pila y Lenguajes Incontextuales

Expresiones regulares, gramáticas regulares Unidad 3

Alfabetos, cadenas y lenguajes

Propiedades de lenguajes independientes del contexto

Expresiones regulares, gramáticas regulares

16 Análisis sintáctico I

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

Paréntesis: Una aplicación en lenguajes formales

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

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

CAPITULO 2: LENGUAJES

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

13.3. MT para reconocer lenguajes

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares

06 Análisis léxico II

Escribir la expresión regular de un número entero que no acepte que el primer dígito sea cero salvo el número 0. Solución: 0 [1-9][0-9]*

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

El Autómata con Pila: Transiciones

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

GRAMÁTICAS LIBRES DE CONTEXTO

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales

CONJUNTOS. Por ejemplo, el E del ejemplo 2 se escribe.

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

Lenguajes (gramáticas y autómatas)

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

Agenda. BNF y EBNF Brevemente, lo necesario para especificar el lenguaje sobre el que vamos a trabajar.

Nivel del ejercicio : ( ) básico, ( ) medio, ( ) avanzado.

Tema: Autómata de Pila

TEORÍA DE AUTÓMATAS Y LENGUAJES

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

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

SSL Guia de Ejercicios

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

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

Tema 5. Análisis semántico

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

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

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

Introducción a la lingüística computacional

08 Análisis léxico IV

Lógica Proposicional Lenguaje Proposicional Implicación semántica

Apuntes de Lógica Matemática I

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

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

El Autómata con Pila

TEMA 6 GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO

Teoría de Autómatas y Lenguajes Formales.

Modelos del Lenguaje. Qué es un ML? Modelos basados en N-gramas Modelos basados en Gramáticas Propuesta de T.D

Capítulo 9. Introducción a los lenguajes formales. Continuar

7. Máquinas de Turing.

Máquinas de Turing, recordatorio y problemas

Proyecto Intermedio Algoritmo de Earley

Expresiones regulares y derivadas

Teoría de Modelos Finitos: Motivación

Transcripción:

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 el problema de describirlo. Para resolverlo se pueden tomar dos caminos: Dar una forma de generar todas las palabras del lenguaje. Dar un algoritmo para demostrar que una palabra esta en el lenguaje.

Problema Motivación Definición de Dado un lenguaje L, se nos presenta el problema de describirlo. Para resolverlo se pueden tomar dos caminos: Dar una forma de generar todas las palabras del lenguaje. Dar un algoritmo para demostrar que una palabra esta en el lenguaje.

Definición de Diferencias entre los Métodos A simple vista, los dos métodos no son equivalentes. Podemos pensar por ejemplo en el lenguaje formado por los programas escritos en java que devuelven para cualquier entrada Hola Mundo.

Definición de Diferencias entre los Métodos También tenemos la otra cara de la moneda, saber reconocer no implica saber generar elementos del conjunto. Un ejemplo lo darían el lenguaje definido por los libros en español.

Definición de La Idea detrás de una Gramática Los lenguajes que vamos a tratar no son simples conjuntos de palabras. Las palabras están porque tienen una estructura, han sido generadas por unas reglas.

Definición de Las Definición () Una gramática formal es una cuaterna G = (V, Σ, Q 0, P), donde: V es un conjunto finito llamado alfabeto de símbolos no terminales o, simplemente, alfabeto de variables. Σ es otro conjunto finito, que verifica V Σ = y se suele denominar alfabeto de símbolos terminales. Q 0 V es una variable distinguida que se denomina símbolo inicial. P (V Σ) (V Σ) es un conjunto finito llamado conjunto de producciones (o, simplemente, sistema de reescritura).

Definición de Como Operar: Sistema de Transición Para poder definir la dinámica asociada a una gramática, necesitamos asociarle un sistema de transición.

Definición de Como Operar: Sistema de Transición Definición Sea G = (V, Σ, Q 0, P) una gramática, definiremos el sistema de transición asociado (S G, G ) dado por las propiedades siguientes: El espacio de configuraciones será dado por: S G := (V Σ). Dadas dos configuraciones s 1, s 2 S G, decimos que s 1 G s 2 si se verifica la siguiente propiedad: x, y, α, β S G = (V Σ), tales que s 1 := x α y, s 2 := x β y, (α, β) P.

Definición de Lenguaje generado por una Gramática Definición Dada una gramática G = (V, Σ, Q 0, P) y su espacio de configuraciones S G se define el lenguaje generado por una gramática al conjunto de configuraciones s 1 tales que: Q 0 G s 1, además s 1 Σ.

Ejemplos Motivación Definición de Ejemplo Consideremos la gramática: G = (V, Σ, Q 0, P), donde V := {Q 0 }, Σ := {a, b},, P := {(Q 0, aq 0 ), (Q 0, λ)}. El sistema de transición tiene por configuraciones S := {Q 0, a, b} y un ejemplo de una computación sería: aaq 0 bb aaaq 0 bb aaaaq 0 bb aaaaλbb = aaaabb. Nótese que las dos primeras veces hemos usado la regla de reescritura (Q 0, aq 0 ) y la última vez hemos usado (Q 0, λ).

Ejemplos Motivación Definición de Ejemplo Utilizando la misma gramática podemos también estudiar el lenguaje generado por la gramática: L = {a, aa, aaa,...}. Para generar una palabra con n letras a seguidas simplemente hacemos Q 0 aq 0... } a. {{.. a } Q 0 } a. {{.. a }. n veces n veces

Notación Motivación Definición de Por analogía con el sistema de transición, se suelen usar la notación A B en lugar de (A, B) P, para indicar una producción. Y, en el caso de tener más de una producción que comience en el mismo objeto, se suele usar A B C, en lugar de escribir A B, A C.

Definición de Mas Ejemplos Ejemplo Consideremos la gramática: G = (V, Σ, Q 0, P), donde V := {Q 0 }, Σ := {a, b},, P := {Q 0 aab, aa aaab λ}. Un ejemplo de una computación sería: Q 0 aab aaab aab. Curiosamente, el lenguaje especificado también puede ser especificado por esta otra gramática: V := {Q 0 }, Σ := {a, b},, P := {Q 0 b aa, A aa b}.

Definición de Notación BNF Es un modelo de notación que recuerda más los manuales de programación. En él, se introducen los siguientes cambios: Las variables X V se representan mediante X. Los símbolos terminales (del alfabeto Σ) no son modificados. El símbolo asociado a las producciones es reemplazado por =.

Definición de Ejemplo de Notación BNF Ejemplo La gramática que genera el lenguaje L = {λ, a, aa, aaa,...} se puede describir de la siguiente manera V = { Q }, Σ = {a, b}, donde las producciones serían: Q = a Q Q = λ.

Definición de Notación EBNF Es una extensión de la notación anterior. Básicamente, añade funcionalidad a la notación BNF, permitiendo repeticiones o diferentes opciones.

Definición de Notación EBNF Estas son las principales cambios con respecto a la notación BNF, Las variables X V no son modificadas. Los símbolos terminales (del alfabeto Σ) se representan entre comillas simples. El símbolo asociado a las producciones es remplazado por :. Se introducen nuevos símbolos para representar repeticiones (ninguna, una o mas repeticiones) + (una repetición al menos).? indica que la expresión puede ocurrir o no.

Definición de Notación EBNF También tiene una representación gráfica A : a B Figura: Representación A: a B

Definición de Notación EBNF B : C Figura: Representación B:C*

Definición de Notación EBNF D : F E Figura: Representación D:F E