La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Gramáticas, lenguajes y reconocedores

Presentaciones similares


Presentación del tema: "Gramáticas, lenguajes y reconocedores"— Transcripción de la presentación:

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 | i0} 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 | i0} 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 | i0} 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.


Descargar ppt "Gramáticas, lenguajes y reconocedores"

Presentaciones similares


Anuncios Google