Gramáticas, lenguajes y reconocedores

Slides:



Advertisements
Presentaciones similares
Introducción ¿Qué es un Algoritmo?
Advertisements

GRAMATICA LIBRE DE CONTEXTO
Introducción a L-Systems:
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Filminas Segunda semana
Filminas Tercera Semana CI-1322 Autómatas y Compiladores Elaborado por: Sergio Pastrana Espinoza A33888.
Cb00843 Traductores Rogelio Dávila Pérez Profesor Planta
Analizador Sintáctico
Gramáticas Libres de Contexto
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Autómatas de pila (Pushdown automata)
Gramáticas.
Autómatas Finitos.
Diseño de AFN’s.
Análisis Lexicográfico
Lenguajes y Expresiones Regulares
Máquinas de Turing (MT)
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Maestría en Explotación de Datos y Descubrimiento del Conocimiento
Tema 2.- Gramáticas independientes de contexto.
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
Tema 3 Propiedades de los lenguajes independientes de contexto
Análisis sintáctico (Look ahead LR)
¿Cómo hacer para que una máquina comprenda el LN?
Tomado de Sudkamp: Languages and Machines Cap. 7.
Tema 2 Autómatas finitos 1. Autómata finito determinista
Tema 1.- Lenguajes. Gramáticas
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
2º curso Ingeniería Técnica en Informática de Sistemas UNED
El análisis sintáctico
Tema 1.- Lenguajes. Gramáticas
Tema 2 Lenguajes Formales.
Introducción a la Teoría de Lenguajes Preparado por Manuel E. Bermúdez, Ph.D. Profesor Asociado University of Florida Curso de Compiladores.
Programación de sistemas
M.C. Meliza Contreras González
Teoría de lenguajes y compiladores
Lenguajes Independientes del Contexto
Autómatas de Pila Teoría del Autómata.
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Universidad Nacional de Jujuy Facultad de Ingeniería
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
Teoría de lenguajes y compiladores
Tema 2 Autómatas finitos 1. Autómata finito determinista
Lenguajes regulares Teoría del Autómata.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
MÁQUINAS DE TURING Teoría del Autómata.
COMPUTABILIDAD Y COMPLEJIDAD 1. Conceptos básicos (revisión). 2. Gramáticas independientes de contexto. 3. Propiedades de los lenguajes independientes.
Teoría de lenguajes y compiladores
Operaciones con Cadenas
Gramáticas Formales Cadenas y Lenguajes.
Lenguajes Formales y Autómatas
Teoría de Autómatas y Lenguajes Formales Informática Técnica de Gestión ESCUELA SUPERIOR DE INFORMATICA Universidad de Castilla-La Mancha Tema 1. Introducción.
AUTÓMATA LINEALMENTE ACOTADO
Autómatas de Pila (Pushdown Automatón)
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
Unidad 1. Introducción a los Compiladores.
UNIVERSIDAD LATINA (UNILA)
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.
Teoría de lenguajes y compiladores
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Unidad 3 Analizador Sintáctico
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Centro Universitario Valle de México Gramáticas Libres de Contexto Dra. Maricela Quintana López Elaborado por: Autómatas y Lenguajes Formales.
Transcripción de la presentación:

Gramáticas, lenguajes y reconocedores Lenguajes Formales La teoría formal de lenguajes fue introducida por primera vez por Noam Chomsky en los años 50s. Def. Un lenguaje formal consiste en un conjunto finito o infinito de cadenas de longitud finita, generadas a partir de un conjunto finito de símbolos, llamado vocabulario. Def. Una gramática consiste en un conjunto de reglas, llamadas producciones, que aplicadas sobre elementos del vocabulario, generan todas y solamente aquellas cadenas validas del lenguage.

Gramáticas, lenguajes y reconocedores Una gramática G (V, , S, P) consta de los siguientes componentes: - Categorías sintácticas : un conjunto finito V, de símbolos llamados no-terminales, que representan componentes abastractos del lenguaje. Ej. <expresión>, <fórmula>, <número>, etc. - Vocabulario : conjunto finito , de símbolos terminales. Ej. {0, 1}, {a, b, c, ..., z}, {+, -, : =, *, /}, ... - Símbolo de inicio : categoría sintáctica S, que identifica la construcción que representa una oración completa (o fórmula bien formada). Tipicamente llamado <oración> o S. - Producciones : conjunto finito P, de reglas de re-escritura, que especifícan la relación entre ciertas cadenas de símbolos terminales y no-terminales. Ej. <expresión> = <número> + ( <expresión>)

Gramáticas, lenguajes y reconocedores Jerarquía de lenguajes de Chomsky Chomsky definió 4 clases distintas de gramáticas: El tipo de la gramática depende del grado de complejidad de sus producciones. Tipo 3: Gramáticas regulares Tipo 2: Gramáticas libres de contexto Tipo 1: Gramáticas sensitivas de contexto Tipo 0: Gramáticas sin restricciones. . Tipo 3 Tipo 2 Tipo 1 Tipo 0

Gramáticas, lenguajes y reconocedores Gramáticas regulares Una gramática regular (regular grammar) es aquella en la cual cada producción tiene la forma: X  a Y o X  a en donde X y Y son categorías sintácticas y a es un símbolo terminal. Las gramáticas regulares, generan lenguajes regulares, ejemplo: - El lenguaje de todas las cadenas de 1’s y 0’s que terminan con dos unos {11, 011, 111, 0011, 0111, 1011, 1111, ...}*: R1. X  0 X R2. X  1 X R3. X  1 1 - El lenguaje de todas las cadenas con un numero par de 0’s. - El lenguaje de todas las cadenas que contengan la secuencia 100. * Mostrar como se generan algunas cadenas.

Gramáticas, lenguajes y reconocedores Gramaticas libres de contexto Una gramática libre de contexto (context free grammar) es aquella en la cual las producciones son de la forma: A   en donde A es una categoría sintáctica y  una cadena de símbolos terminales o categorías sintácticas. Las gramáticas libres de contexto generan lenguajes libres de contexto. Ejemplos de lenguajes libres de contexto: a). Los palindromes que son palabras que se leen igual si se leen en cualquier dirección. Para un vocabulario de 0’s y 1’s: {, 0, 1, 00, 11, 010, 000, 101, 111, ...} ( es la cadena vacía) R1. S   R4. S  0S0 R2. S  0 R5. S  1S1 R3. S  1 b). {ai bi | i0} R1. S   R2. S  aSb

Gramáticas, lenguajes y reconocedores Gramáticas sensitivas de contexto En estas gramáticas las producciones tienen la forma: u X v  u Y v en donde u y v son cadenas arbitrarias, posiblemente vacías, de elementos de V, y X y Y son categorías sintácticas. Una gramática sensitiva de contexto genera un lenguaje sensitivo de contexto. Ejemplo: a). { ai bi ci | i0} R1. S  aAbc | abc R3. Cb  bC R2. A  aAbC | abC R4. Cc  cc

Gramáticas, lenguajes y reconocedores Gramáticas sin restricciones Las gramáticas sin restricciones son la clase más grande de gramáticas de estructura de frase. Una producción del tipo:    en donde  y  son cadenas arbitrarias de símbolos tomados de (V )* que indica que la subcadena  puede ser reemplazada por la subcadena  en cualquier cadena en que aparezca. Una gramática sin restricciones genera un lenguaje sin restricciones. Ejemplos: a). { ai bi ci | i0} R1. S  aAbc |  R3. Cb  bC R2. A  aAbC |  R4. Cc  cc b). {u[u] | u  {a, b}*} R1. S  aT[a] | bT[b] | [] R5. Ba  aB R2. T[ aT[A | bT[B | [ R6. Bb  bB R3. Aa  aA R7. A]  a] R4. Ab  bA R8. B]  b]

Gramáticas, lenguajes y reconocedores Gramáticas Regulares Gramáticas Libres de Contexto Gramáticas Dependientes de Contexto Gramáticas sin Restricciones Lenguajes Regulares Lenguajes Libres de Contexto Lenguajes Dependientes de Contexto Lenguajes sin Restricciones Automata Finito Push-down Automata Linear-Bounded Automata Máquina de Turing

Bibliografía [ASU, 86] Aho A. V., Sethi R., Ullman J. D., “COMPILERS, Principles, Techniques and Tools,” Addison-Wesley publishers, 1986.