Descargar la presentación
La descarga está en progreso. Por favor, espere
1
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.
2
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>)
3
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
4
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.
5
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 | i0} R1. S R2. S aSb
6
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 | i0} R S aAbc | abc R Cb bC R A aAbC | abC R Cc cc
7
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 | i0} R S aAbc | R Cb bC R A aAbC | R Cc cc b). {u[u] | u {a, b}*} R S aT[a] | bT[b] | [] R Ba aB R T[ aT[A | bT[B | [ R Bb bB R Aa aA R A] a] R Ab bA R B] b]
8
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
9
Bibliografía [ASU, 86] Aho A. V., Sethi R., Ullman J. D., “COMPILERS, Principles, Techniques and Tools,” Addison-Wesley publishers, 1986.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.