Procesadores de Lenguaje

Documentos relacionados
Procesadores de Lenguaje

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

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

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

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

El Autómata con Pila

Expresiones Regulares y Derivadas Formales

Equivalencia Entre PDA y CFL

Autómatas de Pila y Lenguajes Incontextuales

Tema: Autómata de Pila

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

GRAMATICAS LIBRES DEL CONTEXTO

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

LENGUAJES FORMALES Y AUTÓMATAS

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

Unidad 4. Autómatas de Pila

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

Clase 17: Autómatas de pila

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

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales

Expresiones regulares, gramáticas regulares

Teoría de Lenguajes. Gramáticas incontextuales

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Computabilidad y Lenguajes Formales: Autómatas Finitos

ESCUELA: UNIVERSIDAD DEL ISTMO

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

Autómatas Deterministas. Ivan Olmos Pineda

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

13.3. MT para reconocer lenguajes

Computabilidad y Lenguajes Formales: Autómatas de Pila

Cátedra de Sintaxis y Semántica de Lenguajes

El Autómata con Pila: Transiciones

Autómatas Finitos Deterministicos (DFA)

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

Profs. Carlos Pérez y Ricardo Monascal

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

Introducción a los Autómatas Finitos

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal

Lenguajes y Gramáticas

Lenguajes (gramáticas y autómatas)

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Apuntes de Teoría de Autómatas y Lenguajes Formales. Gloria Martínez

Modelos Computacionales

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.

Complejidad computacional (Análisis de Algoritmos)

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

Gramáticas independientes del contexto. Tema 3: Lenguajes independientes del contexto. Derivaciones. Árbol de derivación

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

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

Lenguajes, Gramáticas y Autómatas Conceptos

Tema 5 Lenguajes independientes del contexto. Sintaxis

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

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

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.

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]*

Capítulo 7: Expresiones Regulares

Tema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

1. Computadores y programación

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto

Las Etapas de la Compilación

PROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:

Introducción a Autómatas Finitos

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Repaso. Lenguajes formales

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

Estructuras Algebraicas

Algebra Lineal. Gustavo Rodríguez Gómez. Verano 2011 INAOE. Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano / 21

Sistemas Numéricos Cambios de Base Errores

Construcción de tablas de análisis sintáctico LL(1)

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN

Procesadores de lenguaje Tema Análisis sintáctico (Parte I)

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

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

Gramáticas Independientes del Contexto (GIC)

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

TC - Teoría de la Computación

Espacios Vectoriales

Guía práctica de estudio 06: Lenguaje binario

Transcripción:

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 Del nivel más restrictivo al más general: Tipo 3: Lenguajes regulares (gramáticas regulares, expresiones regulares, autómatas finitos deterministas o indeterministas,... );

La Jerarquía de Chomsky Cuatro niveles de lenguajes formales Del nivel más restrictivo al más general: Tipo 3: Lenguajes regulares (gramáticas regulares, expresiones regulares, autómatas finitos deterministas o indeterministas,... ); Tipo 2: Lenguajes libres de contexto (context-free o incontextuales) (gramáticas incontextuales, autómatas con pila,... );

La Jerarquía de Chomsky Cuatro niveles de lenguajes formales Del nivel más restrictivo al más general: Tipo 3: Lenguajes regulares (gramáticas regulares, expresiones regulares, autómatas finitos deterministas o indeterministas,... ); Tipo 2: Lenguajes libres de contexto (context-free o incontextuales) (gramáticas incontextuales, autómatas con pila,... ); Tipo 1: Lenguajes sensibles al contexto (context-sensitive) (gramáticas sensibles al contexto, autómatas linealmente acotados);

La Jerarquía de Chomsky Cuatro niveles de lenguajes formales Del nivel más restrictivo al más general: Tipo 3: Lenguajes regulares (gramáticas regulares, expresiones regulares, autómatas finitos deterministas o indeterministas,... ); Tipo 2: Lenguajes libres de contexto (context-free o incontextuales) (gramáticas incontextuales, autómatas con pila,... ); Tipo 1: Lenguajes sensibles al contexto (context-sensitive) (gramáticas sensibles al contexto, autómatas linealmente acotados); Tipo 0: Lenguajes recursivamente enumerables (gramáticas arbitrarias, máquinas de Turing... ).

Gramáticas incontextuales De qué constan? Una gramática G = (V, Σ, S, P) está dada por: 1. Dos alfabetos

Gramáticas incontextuales De qué constan? Una gramática G = (V, Σ, S, P) está dada por: 1. Dos alfabetos el de símbolos gramaticales V (símbolos no terminales o variables), y el alfabeto de entrada Σ (o de símbolos terminales)

Gramáticas incontextuales De qué constan? Una gramática G = (V, Σ, S, P) está dada por: 1. Dos alfabetos el de símbolos gramaticales V (símbolos no terminales o variables), y el alfabeto de entrada Σ (o de símbolos terminales) 2. un símbolo gramatical S especialmente designado como inicial, 3. y un conjunto de reglas gramaticales (o producciones )

Gramáticas incontextuales De qué constan? Una gramática G = (V, Σ, S, P) está dada por: 1. Dos alfabetos el de símbolos gramaticales V (símbolos no terminales o variables), y el alfabeto de entrada Σ (o de símbolos terminales) 2. un símbolo gramatical S especialmente designado como inicial, 3. y un conjunto de reglas gramaticales (o producciones ) (donde cada regla consta de dos palabras sobre la unión de ambos alfabetos V Σ, y la primera de las dos palabras no es vacía).

Gramáticas incontextuales De qué constan? Una gramática G = (V, Σ, S, P) está dada por: 1. Dos alfabetos el de símbolos gramaticales V (símbolos no terminales o variables), y el alfabeto de entrada Σ (o de símbolos terminales) 2. un símbolo gramatical S especialmente designado como inicial, 3. y un conjunto de reglas gramaticales (o producciones ) (donde cada regla consta de dos palabras sobre la unión de ambos alfabetos V Σ, y la primera de las dos palabras no es vacía). En las gramáticas incontextuales, que serán las únicas que emplearemos en esta asignatura, la primera secuencia de cada regla consta de exactamente un símbolo gramatical.

Ejemplos de gramáticas incontextuales Y dos notaciones Lenguaje: los números en binario Gramática G = (V, Σ, N, P) con V = {N, D} y Σ = {0, 1}.

Ejemplos de gramáticas incontextuales Y dos notaciones Lenguaje: los números en binario Gramática G = (V, Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notación BNF (Backus Naur Form): Los caracteres del alfabeto de entrada entre comillas simples. Los símbolos gramaticales muchas veces con una sola letra mayúscula; el primero en aparecer es el símbolo inicial.

Ejemplos de gramáticas incontextuales Y dos notaciones Lenguaje: los números en binario Gramática G = (V, Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notación BNF (Backus Naur Form): Los caracteres del alfabeto de entrada entre comillas simples. Los símbolos gramaticales muchas veces con una sola letra mayúscula; el primero en aparecer es el símbolo inicial. Las reglas en notación BNF N : D N : N D D : 0 D : 1

Ejemplos de gramáticas incontextuales Y dos notaciones Lenguaje: los números en binario Gramática G = (V, Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notación TALF: Los caracteres del alfabeto de entrada sin comillas. Los símbolos gramaticales muchas veces con una sola letra mayúscula; el primero en aparecer es el símbolo inicial. Las reglas en notación BNF N : D N : N D D : 0 D : 1 Las reglas en notación TALF N D N N D D 0 D 1

Ejemplos de gramáticas incontextuales Y dos notaciones Lenguaje: los números en binario Gramática G = (V, Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notación TALF: Los caracteres del alfabeto de entrada sin comillas. Los símbolos gramaticales muchas veces con una sola letra mayúscula; el primero en aparecer es el símbolo inicial. Las reglas en notación BNF N : D N : N D D : 0 D : 1 Las reglas en notación TALF N D N N D D 0 D 1 N : D N D D : 0 1 N D N D D 0 1

Árboles de análisis sintáctico Y derivaciones izquierda y derecha Un árbol y tres derivaciones: N N D N 1 N D 1 D D 1 1 D 1 1 0 1 (izquierda) (derecha)

Árboles de análisis sintáctico Y derivaciones izquierda y derecha Un árbol y tres derivaciones: N N D N 1 N D 1 D D 1 1 D 1 1 0 1 N N D N D D D D D 1 D D 1 0 D 1 0 1 (izquierda) (derecha)

Árboles de análisis sintáctico Y derivaciones izquierda y derecha Un árbol y tres derivaciones: N N D N 1 N D 1 D D 1 1 D 1 1 0 1 N N D N D D D D D 1 D D 1 0 D 1 0 1 (izquierda) N N D N 1 N D 1 N 0 1 D 0 1 1 0 1 (derecha)

Gramática para expresiones Versión simplificada Algunas operaciones entre enteros sin signo E : N E OP E N : D N D D : 0 1 2 3 4 5 6 7 8 9 OP : + Observamos la propiedad de recursividad izquierda. Ambigüedad: Las expresiones con más de un operador admiten varios árboles de análisis sintáctico: 12+34*56

Ambigüedad E indeterminismo Una gramática libre de contexto es ambigua si existe una palabra que tiene al menos dos árboles de derivación. NOTA: algunos lenguajes de programación tienen grámaticas ambiguas (solución: utilizar tabla de símbolos). NOTA: en general, no se puede decidir si una gramática libre de contexto es o no ambigua.

Ambigüedad E indeterminismo Una gramática libre de contexto es ambigua si existe una palabra que tiene al menos dos árboles de derivación. NOTA: algunos lenguajes de programación tienen grámaticas ambiguas (solución: utilizar tabla de símbolos). NOTA: en general, no se puede decidir si una gramática libre de contexto es o no ambigua. Un lenguaje libre de contexto es inherentemente ambiguo si todas las gramáticas libres de contexto que generan el lenguaje son ambiguas. Ejemplo de lenguaje inherentemente ambiguo: {a n b m c m d n n, m > 0} {a n b n c m d m n, m > 0}.

Ambigüedad E indeterminismo Una gramática libre de contexto es ambigua si existe una palabra que tiene al menos dos árboles de derivación. NOTA: algunos lenguajes de programación tienen grámaticas ambiguas (solución: utilizar tabla de símbolos). NOTA: en general, no se puede decidir si una gramática libre de contexto es o no ambigua. Un lenguaje libre de contexto es inherentemente ambiguo si todas las gramáticas libres de contexto que generan el lenguaje son ambiguas. Ejemplo de lenguaje inherentemente ambiguo: {a n b m c m d n n, m > 0} {a n b n c m d m n, m > 0}. El conjunto de los lenguajes libres de contexto deterministas es un subconjunto propio del conjunto de los lenguajes libres de contexto que no son inherentemente ambiguo. Ejemplo de lenguaje indeterminista: el lenguaje generado por la gramática S 0S0 1S1 λ.

Expresiones regulares Y los lenguajes correspondientes Σ: alfabeto finito. es una expresión regular λ es una expresión regular a es una expresión regular, a Σ si α y β son expresiones regulares, también lo son: α + β α β α

Expresiones regulares Y los lenguajes correspondientes Σ: alfabeto finito. es una expresión regular λ es una expresión regular L( ) = L(λ) = {λ} a es una expresión regular, a Σ L(a) = {a} si α y β son expresiones regulares, también lo son: α + β L(α + β) = L(α) L(β) α β L(α β) = L(α) L(β) α L(α ) = L(α)

Autómatas finitos Y los lenguajes aceptados Un autómata finito A = (Q, Σ, δ, q 0, F ) Caso general (sin λ-transiciones): δ : Q Σ 2 Q

Autómatas finitos Y los lenguajes aceptados Un autómata finito A = (Q, Σ, δ, q 0, F ) Caso general (sin λ-transiciones): δ : Q Σ 2 Q Deterministas: δ : Q Σ Q

Autómatas finitos Y los lenguajes aceptados Un autómata finito A = (Q, Σ, δ, q 0, F ) Caso general (sin λ-transiciones): δ : Q Σ 2 Q Deterministas: δ : Q Σ Q L(A) = {w δ(q 0, w) F }

Autómatas con pila Aceptar por pila vacía o estado final Un autómata con pila P = (Q, Σ, Γ, δ, q 0, Z 0, F ). Caso general: δ : Q Σ {λ} Γ 2 Q Γ Deterministas: 1. δ(q, a, X )) 1 q Q, a Σ {λ}, X Γ 2. si δ(q, a, X )) = 1 para a Σ entonces δ(q, λ, X )) = 0 Estado final: L(P) = {w (q 0, w, Z 0 ) (q, λ, γ), q F } Cinta y pila vacía: N(P) = {w (q 0, w, Z 0 ) (q, λ, λ)}