• No se han encontrado resultados

CI 3725 Clase 07 pdf

N/A
N/A
Protected

Academic year: 2020

Share "CI 3725 Clase 07 pdf"

Copied!
55
0
0

Texto completo

(1)TRADUCTORES E INTERPRETADORES Clase 7: Lenguajes y Gramáticas Libres de Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(2) Agenda • Gramáticas Libres de Contexto • Árboles de Derivación • Transformaciones de Gramáticas Libres de Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(3) Gramáticas Libres de Contexto • Hasta ahora hemos visto los Lenguajes Regulares.. Profs. Carlos Pérez y Ricardo Monascal.

(4) Gramáticas Libres de Contexto • Hasta ahora hemos visto los Lenguajes Regulares. – Son útiles en algunos escenarios. – Limitados en su poder de expresión. – ¿Por qué?. Profs. Carlos Pérez y Ricardo Monascal.

(5) Gramáticas Libres de Contexto • Hasta ahora hemos visto los Lenguajes Regulares. – Son útiles en algunos escenarios. – Limitados en su poder de expresión. – ¿Por qué?. • … ¡pero queremos más!. Profs. Carlos Pérez y Ricardo Monascal.

(6) Gramáticas Libres de Contexto • Hasta ahora hemos visto los Lenguajes Regulares. – Son útiles en algunos escenarios. – Limitados en su poder de expresión. – ¿Por qué?. • … ¡pero queremos más! • … ¡queremos más PODER!. Profs. Carlos Pérez y Ricardo Monascal.

(7) Gramáticas Libres de Contexto • ¿Recuerdan las Gramáticas Regulares?. P  {    V    (* V  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(8) Gramáticas Libres de Contexto • ¿Recuerdan las Gramáticas Regulares? • Esta vez no quitaremos nada… P  {    V    (* V  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(9) Gramáticas Libres de Contexto • ¿Recuerdan las Gramáticas Regulares? • Esta vez no quitaremos nada… • Sino que relajaremos la restricción. P  {    V    (* V  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(10) Gramáticas Libres de Contexto • ¿Recuerdan las Gramáticas Regulares? • Esta vez no quitaremos nada… • Sino que relajaremos la restricción. P  {    V    (* V  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(11) Gramáticas Libres de Contexto • ¿Recuerdan las Gramáticas Regulares? • Esta vez no quitaremos nada… • Sino que relajaremos la restricción. P  {    V    (V  )*}. Profs. Carlos Pérez y Ricardo Monascal.

(12) Gramáticas Libres de Contexto • Las Gramáticas Libres de Contexto, generan lenguajes que las Gramáticas Regulares no pueden. Profs. Carlos Pérez y Ricardo Monascal.

(13) Gramáticas Libres de Contexto • Las Gramáticas Libres de Contexto, generan lenguajes que las Gramáticas Regulares no pueden n n • Ejemplo: {a b n  0}. S.  aSb | . Profs. Carlos Pérez y Ricardo Monascal.

(14) Árboles de Derivación • Las derivaciones sobre Gramáticas Libres de Contexto, ⇒, ahora son diferentes. S  aAbB A  a B  b. Profs. Carlos Pérez y Ricardo Monascal.

(15) Árboles de Derivación • Las derivaciones sobre Gramáticas Libres de Contexto, ⇒, ahora son diferentes. S  aAbB A  a B  b • Sabemos que S ⇒ aAbB. Ahora, en el siguiente paso, se pueden escoger tanto A como B para el siguiente paso de derivación. Profs. Carlos Pérez y Ricardo Monascal.

(16) Árboles de Derivación • Un Árbol de Derivación es una representación Gráfica de los pasos de derivación tomados para alcanzar una cierta frase, desde el símbolo inicial.. Profs. Carlos Pérez y Ricardo Monascal.

(17) Árboles de Derivación • Un Árbol de Derivación es una representación Gráfica de los pasos de derivación tomados para alcanzar una cierta frase, desde el símbolo inicial. • Ejemplo: G  (,{E}, P, E) E  EE | E*E | c Profs. Carlos Pérez y Ricardo Monascal.

(18) Árboles de Derivación • Un Árbol de Derivación es una representación Gráfica de los pasos de derivación tomados para alcanzar una cierta frase, desde el símbolo inicial. E • Ejemplo: G  (,{E}, P, E) E  EE | E*E | c Profs. Carlos Pérez y Ricardo Monascal.

(19) Árboles de Derivación • Un Árbol de Derivación es una representación Gráfica de los pasos de derivación tomados para alcanzar una cierta frase, desde el símbolo inicial. E • Ejemplo: G  (,{E}, P, E) E. E  EE | E*E. E. | c Profs. Carlos Pérez y Ricardo Monascal. +.

(20) Árboles de Derivación • Un Árbol de Derivación es una representación Gráfica de los pasos de derivación tomados para alcanzar una cierta frase, desde el símbolo inicial. E • Ejemplo: G  (,{E}, P, E) E. E  EE | E*E. E. | c Profs. Carlos Pérez y Ricardo Monascal. E +. E *.

(21) Árboles de Derivación • Un Árbol de Derivación es una representación Gráfica de los pasos de derivación tomados para alcanzar una cierta frase, desde el símbolo inicial. E • Ejemplo: G  (,{E}, P, E) E. E  EE | E*E. E. | c. c. Profs. Carlos Pérez y Ricardo Monascal. E +. c. E *. c.

(22) Árboles de Derivación • Si dice que una Gramática Libre de Contexto es Ambigua, si para alguna frase de su Lenguaje generado, existen dos o más Árboles de Derivación.. Profs. Carlos Pérez y Ricardo Monascal.

(23) Árboles de Derivación • Si dice que una Gramática Libre de Contexto es Ambigua, si para alguna frase de su Lenguaje generado, existen dos o más Árboles de Derivación. E. E. E E c. E +. c. *. E E. E. c. c Profs. Carlos Pérez y Ricardo Monascal. E +. c. E *. c.

(24) Transformaciones de Gramáticas Libres de Contexto • Como es el caso de las Gramáticas Regulares, se pueden realizar transformaciones sobre las Gramáticas Regulares.. Profs. Carlos Pérez y Ricardo Monascal.

(25) Transformaciones de Gramáticas Libres de Contexto • Como es el caso de las Gramáticas Regulares, se pueden realizar transformaciones sobre las Gramáticas Regulares. – Una posible transformación es la de Desambiguar la Gramática.. Profs. Carlos Pérez y Ricardo Monascal.

(26) Transformaciones de Gramáticas Libres de Contexto • Como es el caso de las Gramáticas Regulares, se pueden realizar transformaciones sobre las Gramáticas Regulares. – Una posible transformación es la de Desambiguar la Gramática. – La idea es conseguir una Gramática Libre De Contexto que genere el mismo Lenguaje, pero que no sea Ambigua.. Profs. Carlos Pérez y Ricardo Monascal.

(27) Transformaciones de Gramáticas Libres de Contexto • Como es el caso de las Gramáticas Regulares, se pueden realizar transformaciones sobre las Gramáticas Regulares. – Una posible transformación es la de Desambiguar la Gramática. – La idea es conseguir una Gramática Libre De Contexto que genere el mismo Lenguaje, pero que no sea Ambigua. – ¿Siempre es posible hacer esto? Profs. Carlos Pérez y Ricardo Monascal.

(28) Transformaciones de Gramáticas Libres de Contexto • Sea la siguiente Gramática Libre De Contexto (Presentada únicamente como su conjunto de Producciones):. Conjunto Lista Elemento.  {Lista} | {}  Lista, Elemento | Elemento  a | b | c | Conjunto. Profs. Carlos Pérez y Ricardo Monascal.

(29) Transformaciones de Gramáticas Libres de Contexto • Sea la siguiente Gramática Libre De Contexto (Presentada únicamente como su conjunto de Producciones):. Conjunto Lista Elemento.  {Lista} | {}  Lista, Elemento | Elemento  a | b | c | Conjunto. • El Lenguaje generado por la misma es el de los conjuntos (posiblemente anidados) formados por los elementos: a, b y c. Profs. Carlos Pérez y Ricardo Monascal.

(30) Transformaciones de Gramáticas Libres de Contexto • Hagamos ahora un pequeño cambio, reemplacemos el símbolo terminal a por ‘{’, b por ‘}’ y c por ‘,’. Obtenemos así el siguiente conjunto de producciones:. Profs. Carlos Pérez y Ricardo Monascal.

(31) Transformaciones de Gramáticas Libres de Contexto • Hagamos ahora un pequeño cambio, reemplacemos el símbolo terminal a por ‘{’, b por ‘}’ y c por ‘,’. Obtenemos así el siguiente conjunto de producciones:. Conjunto Lista Elemento.  {Lista} | {}  Lista, Elemento | Elemento  { | } | , | Conjunto. Profs. Carlos Pérez y Ricardo Monascal.

(32) Transformaciones de Gramáticas Libres de Contexto • Hagamos ahora un pequeño cambio, reemplacemos el símbolo terminal a por ‘{’, b por ‘}’ y c por ‘,’. Obtenemos así el siguiente conjunto de producciones:. Conjunto Lista Elemento.  {Lista} | {}  Lista, Elemento | Elemento  { | } | , | Conjunto. • ¿Cómo podemos entender la frase {{,}} ?. Profs. Carlos Pérez y Ricardo Monascal.

(33) Transformaciones de Gramáticas Libres de Contexto • Hagamos ahora un pequeño cambio, reemplacemos el símbolo terminal a por ‘{’, b por ‘}’ y c por ‘,’. Obtenemos así el siguiente conjunto de producciones:. Conjunto Lista Elemento.  {Lista} | {}  Lista, Elemento | Elemento  { | } | , | Conjunto. • ¿Cómo podemos entender la frase {{,}} ? • Esta gramática es Inherentemente Ambigua. Profs. Carlos Pérez y Ricardo Monascal.

(34) Transformaciones de Gramáticas Libres de Contexto • Sin embargo, muchas Gramáticas Libres de Contexto si son posibles de desambiguar. Tal proceso se concentra generalmente en dos casos: – Ambigüedad de precedencia. – Ambigüedad de asociación.. Profs. Carlos Pérez y Ricardo Monascal.

(35) Transformaciones de Gramáticas Libres de Contexto • Sin embargo, muchas Gramáticas Libres de Contexto si son posibles de desambiguar. Tal proceso se concentra generalmente en dos casos: – Ambigüedad de precedencia. – Ambigüedad de asociación.. • En cualquier caso, desambiguar una Gramática Libre de Contexto conlleva decisiones funcionales sobre el lenguaje. – ¿Qué se reconoce primero? – ¿Qué se asocia primero? Profs. Carlos Pérez y Ricardo Monascal.

(36) Transformaciones de Gramáticas Libres de Contexto • Consideremos el siguiente ejemplo: E  EE |. E*E. |. (E). |. c. E  T T. E  T *T. | T  T *T. | T  T T. T. | |. T. | |. (E) c Profs. Carlos Pérez y Ricardo Monascal. (E) c.

(37) Transformaciones de Gramáticas Libres de Contexto • Consideremos el siguiente ejemplo: E  EE |. E*E. |. (E). |. c. E  T T. E  T *T. | T  T *T. | T  T T. T. | |. T. | |. (E) c Profs. Carlos Pérez y Ricardo Monascal. (E) c.

(38) Transformaciones de Gramáticas Libres de Contexto • Consideremos el siguiente ejemplo: E  T T E T F.  T E | T. T.  T *F | F  (E) | c. | T  T *T | |. (E) c.  T E | T. E.  E T | T. T.  |  |. T.  |  |. F.  E T | T. T.  T *F | F  (E) | c. F. E. F *T F (E) c. E. F. Profs. Carlos Pérez y Ricardo Monascal. F *T F (E) c.

(39) Transformaciones de Gramáticas Libres de Contexto • Consideremos el siguiente ejemplo: E  T T E T F.  T E | T. T.  T *F | F  (E) | c. | T  T *T | |. (E) c.  T E | T. E.  E T | T. T.  |  |. T.  |  |. F.  E T | T. T.  T *F | F  (E) | c. F. E. F *T F (E) c. E. F. Profs. Carlos Pérez y Ricardo Monascal. F *T F (E) c.

(40) Transformaciones de Gramáticas Libres de Contexto • Consideremos el siguiente ejemplo:. E.  E T | T. T.  T *F | F  (E) | c. F. • Genera el mismo Lenguaje, pero ya no es ambigua. Profs. Carlos Pérez y Ricardo Monascal.

(41) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones:. Profs. Carlos Pérez y Ricardo Monascal.

(42) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.). Profs. Carlos Pérez y Ricardo Monascal.

(43) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.). Profs. Carlos Pérez y Ricardo Monascal.

(44) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.) – Eliminación de Reglas unitarias. (Evitar reglas que solo reemplacen un símbolo no terminal por otro.). Profs. Carlos Pérez y Ricardo Monascal.

(45) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.) – Eliminación de Reglas unitarias. (Evitar reglas que solo reemplacen un símbolo no terminal por otro.). • A los tres anteriores se les conoce como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(46) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.) – Eliminación de Reglas unitarias. (Evitar reglas que solo reemplacen un símbolo no 1 n terminal por otro.). B B   | ... |  |  A . • A los tres anteriores se les conoce como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(47) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.) – Eliminación de Reglas unitarias. (Evitar reglas que solo reemplacen un símbolo no 1 n terminal por otro.). A  B | . B   | ... | . • A los tres anteriores se les conoce como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(48) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.) – Eliminación de Reglas unitarias. ¡Si Areglas no es S,no (Evitar que alcanzable solo reemplacen desde un símbolo terminal por otro.) eliminar todas las reglas que. • A los tres anteriores se lesde conoce partan A! como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(49) Transformaciones de Gramáticas Libres de Contexto • Otras posibles transformaciones: – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. (Evitar reglas inalcanzables o improductivas.) – Eliminación de Reglas unitarias. ¡Si A reglas es capaz generar alguna (Evitar que solode reemplacen un símbolo no terminal otro.) frase,por eliminar todas las reglas. • A los tres anteriores se les conoce que partan de A!como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(50) Transformaciones de Gramáticas Libres de Contexto •. Eliminar TODAS las Otras posibles transformaciones: reglas unitarias. – Eliminación de λ-producciones. (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. 1 n (Evitar reglas inalcanzables o improductivas.). A . B. B   | ... | . – Eliminación de Reglas unitarias. (Evitar reglas que solo reemplacen un símbolo no terminal por otro.). • A los tres anteriores se les conoce como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(51) Transformaciones de Gramáticas Libres de Contexto •. Eliminar TODAS las Otras posibles transformaciones: reglas unitarias. – Eliminación de λ-producciones. 1 n (Solo el símbolo inicial puede producir λ.) – Eliminación de Reglas inútiles. 1 n (Evitar reglas inalcanzables o improductivas.). A   | ...|  B   | ...| . – Eliminación de Reglas unitarias. (Evitar reglas que solo reemplacen un símbolo no terminal por otro.). • A los tres anteriores se les conoce como la limpieza de una Gramática Libre De Contexto. Profs. Carlos Pérez y Ricardo Monascal.

(52) Transformaciones de Gramáticas Libres de Contexto • Si hacemos estas transformaciones en un determinado orden, aseguramos no tener que repetir ninguna de ella.. Profs. Carlos Pérez y Ricardo Monascal.

(53) Transformaciones de Gramáticas Libres de Contexto • Si hacemos estas transformaciones en un determinado orden, aseguramos no tener que repetir ninguna de ella. 1. 2. 3. 4.. Desambiguado. Eliminación de λ-producciones. Eliminación de Reglas unitarias. Eliminación de Reglas inútiles. 1. 2.. Eliminación de símbolos que no generan frases. Eliminación de Símbolos Inalcanzables.. Profs. Carlos Pérez y Ricardo Monascal.

(54) Transformaciones de Gramáticas Libres de Contexto • Las Gramáticas Libres de Contexto también pueden transformarse en Formas Normales que facilitan su manipulación bajo ciertos escenarios. Los más utilizados son: – La Forma Normal de Chomsky. – La Forma Normal de Greibach.. Profs. Carlos Pérez y Ricardo Monascal.

(55) Transformaciones de Gramáticas Libres de Contexto • Las Gramáticas Libres de Contexto también pueden transformarse en Formas Normales que facilitan su manipulación bajo ciertos escenarios. Los más utilizados son: – La Forma Normal de Chomsky. – La Forma Normal de Greibach.. • La primera la estudiaremos en detalle la clase que viene.. Profs. Carlos Pérez y Ricardo Monascal.

(56)

Referencias

Documento similar

[r]

1. Se calcula el número de animales muertos o sacrificados en cada nave. Se calcula el Valor Bruto, como producto entre el número de animales muertos o sacrificados, por el

a. Valor Real: Valor del animal en el momento inmediato anterior al siniestro. Valor Límite máximo de Indemnización: Se determina multiplicando el Valor Unitario asegurado del tipo

H.R: la aplicación de la norma como ya d dije, depende de la administración, depende del funcionario, si el f funcionario no cumple la norma comete un delito, luego el

Dinaciclib provoca inhibición de la proliferación en las células de mieloma En primer lugar, se realizaron ensayos de dosis-respuesta para evaluar la capacidad de inhibición de

[r]

[r]

SECUNDARIA COMPRENDE LOS