Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

download Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

of 20

Transcript of Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    1/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 1

    Guia 3 Gramaticas libres de contexto yautmatas de pila

    En toda discusin, el primero que se incomoda y grita suele ser el que tiene menos razn.... Por eso un necio puede refutar a un sabio en cualquier momento, pero un sabio no puede convencer a un

    necio nunca.

    Li Po

    Objetivos de aprendizaje

    1. Especificar y Construyir un autmata de Pila2. Simplificar una gramatica3. Conversion a la formna normal de Chomsky4. Conversion a la forma normal de Greibach

    Introduccin

    As como los lenguajes regulares pueden definirse a travs de una expresin regular o un autmatafinito. Una gramtica libre de contexto est asociada a los autmatas de pila, pues puede definirseen funcin de un autmata de pila. Siguiendo los caminos establecidos para los autmatas finitos,nos referimos al conjunto de todas las cadenas aceptadas por un autmata de pila P como ellenguaje aceptado por la mquina, representado por L(P). Debemos resaltar que L(P) no escualquier conjunto de cadenas aceptadas por P, sino el conjunto de todas las cadenas aceptadas porP (Brookshear 1993).

    Leonardo Pisano Fibonacci(1175-1250)

    Al estudiar relaciones de recurrenciainevitablemente tenemos que hacer referencia a larelacin de Fibonacci, dada por Leonardo de Pisa(cerca de 1175-1250) en 1202. Leonardo aborda un problema relacionado con el numero de parejas deconejos que se producen durante un ao si se parte deuna sola pareja que engendra otra pareja al final decada mes. Cada pareja nueva comienza a reproducirseen forma similar un mes despus de su nacimiento; ysuponemos que ninguna pareja muere durante ese ao.Por tanto, al final del primer mes tenemos dos pares deconejos; tres pares despus de dos meses; cinco paresdespus de tres meses, y as sucesivamente.

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    2/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 2

    1 Automata de Pila

    Un autmata de pila es esencialmente un autmata finito al que se le ha aadido una memoria (pila).As como los lenguajes regulares pueden definirse a travs de un autmata finito. Una gramtica librede contexto puede definirse a travs de un autmata de pila. Un lenguaje regular es tambin libre del

    contexto, por tanto, puede definirse tambin por un autmata de pila. No ocurre lo contrario, pues unlenguaje libre del contexto no puede definirse por un autmata finito.

    Consideremos el lenguaje L(G) = {an

    bn

    / n N} generado por la gramtica G P: { 1 S ab,

    2 S aSb,}

    Esta gramtica no es regular, es decir, no existe una expresin regular que la genere y por ello tampocoexiste un autmata finito que reconozca L(G). El autmata finito no tiene forma de recordar cuntasocurrencias del smboloa se detectan en la primera parte de la cadena, por lo que son incapaces dedetectar o verificar si existe el mismo nmero dea que deb ; por consiguiente, ahora el problema puede solucionarse adicionando al modelo del AF algn tipo de memoria, en este caso consideramosuna pila P. Al nuevo modelo lo llamamos autmata de pila AP.

    Sea el lenguaje L(G) = {ancbn / n N}

    Sea la gramtica AUTMATA DE PILA APG5 (V N, VT, S, P) gramtica libre de contexto

    donde V N = {S} , AUTMATA FINITO AFVT= {a, b, c} gramtica regular

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    3/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 3

    P: { 1 S aSa,2 S bSb,3 S c

    }

    L(G) = {wcwR / w {a, b}* }

    No existe M autmata finito tal que L(M) = L(G)

    Los autmatas de pila solo aceptan gramticas libres de contexto.

    Un Autmata de Pila , se define formalmente como :

    ( E, , p, , o , p 0, F )

    E : conjunto finito de estados: conjunto finito de entradas (alfabeto del sistema)

    p : conjunto finito de la pila (alfabeto de la pila) : funcin de transicino E : estado inicial

    P0 p : estado inicial de la pilaF E : conjunto de estados finales

    La funcin de transicin esta definida sobre los conjuntos:

    : E x ( U{ }) x p E x p*

    TEOREMA 1

    Si G es una gramtica libre de contexto entonces existe P autmata de pila, tal queL(G) = L(P ).

    Sea G = (V N, VT, S, P)ConstruimosP = ( E, , p, , 1, R, F)Hacemos:

    1 = VT 2 p= VTU V N U {#}

    # no est en VT ni V N

    3 E = { i, p, q, f } i : estado inicial f : estado final4 Introducir las transiciones

    ( i, , ; p , # )( p, , ; q , S)( q, , N ; q , W) N W , W (V N UVT)*( q, a , a ; q , ) a VT( q, , # ; F , )

    Funcin:

    1

    Primero se marca el fondo de la pila con el smbolo #2 Se inserta el axioma de la gramtica S

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    4/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 4

    3 Se extrae un no terminal de la pila y se remplaza con el lado derecho de una regla de produccin aplicable o se extraer un terminal a la vez que se lee el mismo terminal de laentrada

    4 Se extrae el smbolo # de la pila

    La cadena de smbolos que integra la parte derecha de una regla de produccin (W) se inserta en la pila de derecha a izquierda. El no terminal que est ms a la izquierda ser el primero en surgir en lacima de la pila, por tanto, ser el primero en ser remplazado. De ello podemos deducir que elautmata analiza su entrada y efectua una derivacin por la izquierda. Veremos ms adelante que puede construirse un analizador sintctico basado en un autmata de pila para gramticas norecursivas por la izquierda.

    Ejemplo 1 Consideremos nuevamente el lenguaje L = {ancbn /n 0 }

    Donde G

    G = (V N, VT, S, P) donde V N = {S} , VT={a, b,c}P: { 1 S aSb,

    2 S c}

    G es libre del contexto. Podemos construir el autmata de pila asociado a partir de la gramticaaplicando el teorema anterior:

    = {a, b, c} p= {a, b, c, S }# no est en VT ni V N

    E = { i, p, q, f }i : estado inicial f : estado final

    Introducir las transiciones

    ( i, , ; p , # ) ( p, , ; q , S)( q, , S ; q , aSb) ( q, , S ; q , c)( q, a, a ; q , ) ( q, b, b ; q , )

    ( q, c, c ; q , ) ( q, , # ; F , ) , S ; aSb

    , S ; c

    0 p q f

    , ; # , ; S ,# ;

    a, a ;

    b, b ; c, c ;

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    5/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 5

    Veamos el comportamiento del autmata para la secuenciaacb

    |

    Ejemplo 2

    Consideremos la gramtica G = (V N, VT, S, P) libre del contexto y corresponde al lenguajeL(G) = {cancan bmcbmc / m,n Z+}ConstruimosP = ( E, , p, , 0 , R, F) a partir de G

    G (V N, VT, S, P) donde V N= {S,A, B} , VT={a,b,c}

    P: { 1 S cABc2 A aAa/c3 B bBb/c }

    E = {S,A,B} = {a, b, c} p = {S,A,B,a,b,c,#}Se construye P = (E , , p , , i , f ,F)Donde:E = { i , p , q , f } = {a , b , c } P= {S , A , B} U {a , b , c }U { # }

    orden pila entrada transicin1 acb ( i , , ; p , # )2 # acb ( p , , ; q , S)3 #S acb (

    q, , S ;

    q , aSb)

    4 #bSa acb ( q , a , a ; q , ) 5 #bS cb ( q , , S ; q , c )6 #bc cb ( q , c , c ; q , )7 #b b ( q , b , b ; q , )8 # ( q , ,# ; f , )9

    , ; # , ; S

    , # ;

    , S ; cABc , A ; aAa , A ; c , B ; bBb , B ; c

    a , a ; b , b ; c , c ;

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    6/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 6

    1 ( 0, , ) = ( 1, #) 7 ( 2, , B) = (2, c)2 ( 1, , ) = ( 2, S) 8 ( 2, a, a) = (2, )3 ( 2, , S) = ( 2, cABc) 9 ( 2, b, b) = (2, )4 ( 2, , A) = ( 2, aAa) 10 ( 2, c, c) = (2, )5 ( 2, , A) = ( 2, c) 11 ( 2, , #) = (3, )

    6 ( 2, , B) = ( 2, bBb)

    ( 0, cacabcbc , ) ( 1, cacabcbc , #)( 2, cacabcbc , S#)( 2, cacabcbc , cABc#)( 2, acabcbc , ABc#)( 2, acabcbc , aAaBc#)( 2, cabcbc , AaBc#)( 2, cabcbc , caBc#)(

    2, abcbc , aBc#)

    ( 2, bcbc , Bc#)( 2, bcbc , bBbc#)( 2, cbc , Bbc#)( 2, cbc , cbcc#)( 2, bc, bc#)( 2, c, c#)( 2, , #)( 3, , )

    Ejemplo 3

    G = (V N , VT, P , S)Donde :

    V N = {S , L}VT={if , else , e , while, ; , { , } , p}

    P ={S if e S;S if e S else S;S while e S;S { L } / pL L ; S / S

    }Se construye P = (E , , p , , i , f ,F)Donde :E = { i , p , q , f }

    = {if , else , e , while, ; , { , } , p} P= {S , L} U {if , else , e , while, ; , { , } , p} U { # }

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    7/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 7

    Limitaciones de los autmatas de pila

    Consideremos la siguiente gramtica:

    an bncn n N no es libre del contexto

    En algunos procesadores de palabras, estas se subrayan durante la impresin y se almacenan comouna cadena de smbolos, la cual es seguida por el mismo nmero de retrocesos y luego por elmismo nmero de caracteres de subrayado. As esas palabras subrayadas constituyen cadenas quese ajustan al patrn AnBnCn, donde las A son letras de la palabra, las B son retrocesos y las C sonlos smbolos de subrayado.

    2 Simplificacin de gramticas

    Produccin : Una produccin se llama produccin si tiene la siguiente forma:

    X X V N

    Una gramatica no necesita incluir una produccin, salvo que el lenguaje contenga a lasentencia . Aunque alguna gramatica puede incluir una regla, esta puede eliminarse

    , S ; if e S; , S ; if e S else

    S;

    , S ; while e S; , S ; { L } , S ; p , L ; L ; S

    , ; # , ; S

    , # ;

    i f p q

    if , if ; else , else ; e , e ; while, while ; ; , ; ; { , { ;

    } , } ;

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    8/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 8

    Consideremos La siguiente gramaticaL(G) = {am cq bm+q / m>0 y q0}

    L puede reescribirse{am cq bq bm / m>0 y q0 }Con las producciones:1 S aSb/aAb2 A cb / cAb/

    S aAb abS aSb aaAbb aabbS aSb aaAbb aacb bb

    Puede hallarse otra gramatica similarG que genere el mismo lenguaje que prescinde deregla1 S ab/aSb/aAb2 A cb / cAb

    S abS aSb aabbS aSb aaAbb aacbbbS aSb aaAbb aacAb bb aaccbbbb

    Smbolos accesibles : Un smbolo es accesible si puede derivarse a partir del axioma dela gramtica S.

    X es accesible si y solo si S * X

    Smbolos derivables : Un smbolo es derivable si puede derivar en una frase.

    W es derivable si y solo existe X V N tal que S * WX V N , W (VT U V N )*

    Un smbolo es til si es derivable o accesible, en otro caso se dice que es intil.Un smbolo intil puede eliminarse de la gramtica. Puede restringirse el formato de las producciones de una gramtica sin reducir el lenguaje generado por ellas.

    Ejemplo 4

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    9/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 9

    C es no accesible, aunque si es derivableD es no derivable, aunque no es accesible

    Gramticas reducidas

    Una gramtica G libre del contexto, se dice que es reducida si: no tiene smbolos intiles No existen producciones A B en las que A , B V N Si no esta en L, no deben existir producciones

    Un smbolo es til si es utilizado en la derivacin de alguna cadena, pues en otro caso quieredecir que el smbolo no es necesario, por tanto puede eliminarse.

    TEOREMA 2

    Todo lenguaje LLC es generado por una gramtica G Libre del contexto que no poseesmbolos intiles.

    A partir de G = (V N, VT, S, P) libre del contexto, puede construirse una gramticaG' = (V N', VT',S , P') tal que X V N' X es derivable , X es accesible

    Definamos A : conjunto de smbolos accesibles

    D : conjunto de smbolos derivables

    TEOREMA 3

    G libre del contexto / L(G) G / L(G) = L(G) donde G no posee smbolos no accesibles

    Presentamos el algoritmo para construir el conjuntoA Sea la gramtica G = (V N, VT, S , P)Construimos la gramtica G' = (V N', VT',S , P')

    a

    bb

    b

    A

    B

    D

    C

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    10/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 10

    Accin ACCESIBLE ()Inicio

    A0 ={S}Para k desde 1 hasta m

    Ak= Ak-1 U {X VT U V N }

    / Y 1X 2} Y Ak-1 SiAk= Ak-1 o k = mV N = Ak V N VT = Ak VT P = {X P / X , Ak + }

    Fin paraFin

    TEOREMA 4 G libre del contexto / L(G)

    G / L(G) = L(G) donde G no posee smbolos no derivables Presentamos el algoritmo para construir el conjuntoD

    Sea la gramtica G = (V N, VT, S , P)Construimos la gramtica G' = (V N', VT',S , P')

    Funcion DERIVABLE()Inicio

    D0 ={X / X P / VT + }Para k desde 1 hasta m

    Dk= Dk-1 U {X / X P }/ (VT U Dk-1) +

    SiDk= Dk-1 o k = mV N = DkP = {X P / X, (VT U V N ) + }

    Fin paraFin

    Secuencia nula

    Podemos aadir a G la produccin A llamada regla_ y obtenemos una nuevagramtica G' tal que L(G) = L(G')Si L(G) , e ntonces S * , es posible llegar a la secuencia a partir del axioma. Eneste caso no se pueden eliminar las reglas de PSi L(G) entonces se deben eliminar las reglas. Esto se consigue eliminando todavariable A V N tal que A *

    TEOREMA 5

    Para todo L(G) LLC generado existe L(G) = L(G) -{ } LLC generado por Gque no contenga reglas_ ni smbolos intiles.

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    11/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 11

    Ejemplo 5

    Consideremos la siguiente gramtica G (V N,VT,S,P)Con las producciones:

    S Aa , A b/

    Puede verse que a partir de S se puede llegar a, por tanto L(G) , entonces no puedeeliminarse.

    Ejemplo 6

    Consideremos la siguiente gramtica G(V N,VT,S,P)Con las producciones:

    S Aa

    A Ab / b B b/

    Puede verse que a partir de S no se puede llegar a, por tanto L(G) , entonces debeeliminarse, adems Y es un smbolo intil. Por tanto, se elimina la ltima produccin yqueda:

    G ({S,X},{a,b},S,{S Aa, A Ab/b})equivalente a G.

    3 Forma normal de Chomsky - FNCTEOREMA 6

    Sea L lenguaje libre del contexto donde L G libre del contexto tal que L(G) = L, en donde el lado derecho de cualquier regla

    de produccin consiste de un solo terminal o exactamente dos no terminales.

    La gramtica que cumple estas caractersticas se dice que est en la forma normal deChomsky (FNC), en honor a Noam Chomsky.

    Ejemplo 7

    La siguiente gramtica est en la FNC

    A BC A, B, C V N Forma normalA b b VT de Chomsky

    Conversin a la forma normal de Chomsky

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    12/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 12

    Sea L lenguaje libre del contexto tal que LSupongamos que L no est en la FNCPodemos construir G* en la FNC a partir de GEntrada : G no est en FNCSalida : G* en la FNCMtodo :1 a VT , introducimos un nuevo no terminal A V N , A es nico en G

    Remplazar las ocurrencias de a con A , en todas las dems reglas de GEsto produce la gramtica G* libre del contexto en la que todos los lados derechosconstan de un solo terminal o una cadena de no terminalesAdems L(G) = L(G*)

    2 N N1 N2 ...Nn para n> 2 hacemos:

    N N1 R 1 R 1 N2 R 2

    R n-1 Nn-1 Nn

    En donde Rk V N y es nico en la gramtica. No aparece en ningn otro lugar de G*. Las modificaciones hechas en la gramtica nocambian el lenguaje generado por G.Esto produce la gramtica G** libre del contexto en la que todos los lados derechos constande un solo terminal, dos no terminales o un solo no terminal.Adems L(G) = L(G**)

    3 Eliminamos las reglas de la formaA B A ,B V N

    Si se cumplen las siguientes reglas de produccin N n N n-1

    N n-1 N n-2

    N 2 N 1

    Y se cumple que N1 x

    Podemos introducir por transitividad la regla Nn x

    Si se cumple que N1 AB

    Podemos introducir por transitividad la regla

    Nn AB

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    13/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 13

    Luego de estos cambios eliminamos todas las reglas en donde el lado derecho contiene unsolo no terminal.

    Ejemplo 8 Sea G67 (V N, VT, P,S) GLC G=({S, P, Q}, {a, b,c}, P, S)P ={

    1 S cPc2 P Q3 P bPb4 Q a

    }

    Aplicando el paso 1

    P ={ 1 S CPC2 P Q3 P BPB4 Q A5 A a6 B b7 C c

    }

    Aplicando el paso 2P ={ 1 S CR 1

    2 R 1 PC

    3 P Q4 P BP15 P1 PB 6 Q A7 A a8 B b9 C c

    }

    Aplicando el paso 3

    P ={ 1 S CR 1 2 R 1 PC3 P a4 P BP15 P1 PB 6 Q a7 A a8 B b9 C c

    }

    El no terminal Q no es accesible desde el axioma, por tanto debe eliminarse.

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    14/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 14

    La produccin 6 debe eliminarse porque el lado izquierdo Q ha sido eliminado.

    Ejemplo 9

    Sea G68(V N, VT, P,S) GLC G=({S, A, B}, {a, b}, P, S)P ={ 1 S bA 5 S aB

    2 A a 6 B b3 A aS 7 B bS4 A bAA 8 B aBB

    }

    Reemplazamos las producciones P por las producciones P1S bA se reemplaza por : S C1A

    C1 b

    A aS se reemplaza por : A C2SC2 a

    A bAA se reemplaza por : A C3AAC3 b

    S aB se reemplaza por : S C4BC4 a

    B bS se reemplaza por : B C5SC

    5 b

    B aBB se reemplaza por : B C6BBC6 a

    A C3AA se reemplaza por : A C3D1 D1 AA

    B C6BB se reemplaza por B C6D2 D2 BB

    Luego

    P 1 {S C1A S C4B C1 b C4 aA C2S B C5S C2 a C5 bA C3D1 B C6D2 C3 b C6 aD1 AA D2 BB A a B b

    }

    P 1 est en la FNC

    Ejemplo 10

    G69 = (V N, VT, P,S) P : {1 S BA

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    15/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 15

    2 A 01AB03 A 04 B 1

    }

    Las reglas 1, 3 y 4 estn en FNCLa regla 2 : A O1ABO se reemplaza por

    A A1A2 A1 OA2 1ABO

    A2 1ABO se reemplaza por A2 A3A4 A3 1

    A4 ABO

    A4 ABO se reemplaza por A4 AA5 A5 BO

    A5 BO se reemplaza por A5 BA6 A6 0

    G' = (V N, VT, P 1 , S) V N = {S, A, B, A1, A2, A3, A4, A5, A6}

    P 1 ={ S BA A 0A A1A2 B 1A2 A3A4 A6 0A4 AA5 A3 1A5 BA6 A1 0

    }

    4 Forma normal de Greibach (FNG)

    Se dice que una gramtica independiente del contexto (GIC) est en Forma normal deGreibach (FNG), si todas y cada una de sus reglas de produccin tienen un consecuente queempieza por un carcter del alfabeto, tambin llamado smbolo terminal. Formalmente,

    cualquiera de las reglas tendr la estructura: A a

    TEOREMA 7 L gramtica libre del contexto donde L G con producciones de la forma A a

    A V N a VT

    V N*

    Las producciones que cumplen el teorema se dice que estn en la forma normal deGreibach FNG.

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    16/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 16

    Lema 1:

    Definimos una produccin A : A a

    Sea G = (V N, VT, P, S) G Libre del contextoSea A 1 B 2 Y sea { B 1/ 2 .../ k } Producciones BPodemos construir la gramtica G* = (V N, VT, P, S) haciendo lo siguiente:

    Eliminando las producciones A 1 B 2 Insertando las producciones

    A 1 1 2 / 1 2 2 .../ 1 k 2

    Luego L(G) = L(G*)

    Como A 1 i 2 es usado en una derivacin de G*

    Entonces A 1 B 2 1 i 2 puede usarse en GLuego L(G) L(G*)

    Como A 1 B 2es derivacin de G pero no de G*

    Es una nica produccin en G que no est en G*

    Si A 1 B 2 B puede ser reescrito mediante las producciones

    B i Luego A 1 i 2

    LEMA 2: G = (V N, VT, P, S) GCL

    Sea { A A 1,

    A A 2, conjunto de producciones de A...A A r}

    {A 1 / 2 / s} las dems produccionesconstruimos la nueva gramtica G* = (V N U{Z}, VT, P1, S) G.C.L.

    P1 : { A i 1 i sA i ZZ r 1 i rZ r Z

    Luego L(G) = L(G*)

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    17/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 17

    A A

    A i iB

    A i i BA i i B

    i i

    Ejemplo 11

    Sea G1) Partimos de una gramtica FNC

    Si G = (V N, VT, P, S)

    V N = {A1, A2, A3} VT = {a, b} S = A1

    P: {r 1: A1 A2 A3,r 2: A2 A3 A1/ x,r 3: A3 A1 A2/ y

    }

    Paso 1: Revisemos r 3: A3 A1 A2 sustituimos A1 de r 1 en r 3

    r 3: A3 A2 A3 A2/ xsustituimos A2 de r 2 en r 3

    r 3: A3 A3 A1 A3 A2 / y A3 A2 /xPaso 2: Eliminar los recursividad por la izquierdaRevisemos A3 A3 A1 A3 A2/ y A3 A2/ x

    Introducimos HA3 y A3 A2 H/ x H

    r 3:H A1 A3 A2/A1 A3 A2 H

    Obtenemos finalmenteP: {

    r 1: A1 A2 A3,r 2: A2 A3 A1/ y,

    r 3: A3 y A3 A2H / x H/ y A3 A2/ xr 4: H A1 A3 A2/ A1 A3 A2 H

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    18/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 18

    }

    Todas las partes derechas de A3 comienzan con un terminal

    en r 2: A3 se sustituye por r 3

    r 2: A2 y A3 A2 H A1/ x H A1/ y A3 A2 A1/ x A1/ y

    en r 1 se sustituye A2 se sustituye por r 2

    A1 y A3 A2 H A1 A3/ x H A1 A3/ y A3 A2 A1 A3/ x A1 A3/b A3

    y A3 A2 A1 A3 / b A1 A3 / quedando finalmente

    P: { r 1: A1 y A3 A2 H A1 A3/ x H A1 A3/ y A3 A2 A1 A3/ x A1 A3/b A3

    r 2: A2 y A3 A2 H A1/ x H A1/ y A3 A2 A1/ x A1/ y

    r 3: A3 y A3 A2 H / x H // y A3 A2 / x

    r 4: H A1 A3 A2/ A1 A3 A2 HPaso 3:

    En r 4 se reemplaza las alternativas de A1 por r 1, y queda 10 alternativas para H.

    Total quedan 24 producciones en la FNGA3 y A3 A2 A3 y A3 A2 HA3 xA3 x HA2 y A3 A2 A1 A2 y A3 A2 H A1

    A2 x A1 A2 x H A1 A2 yA1 y A3 A2 A1 A3 A1 y A3 A2 H A1 A3 A1 x A1 A3A1 x H A1 A3A1 y A3 H y A3 A3 A2H y A3 A3 A2 HH y A3 A2 A1 A3 A3 A2

    H y A3 A2 A1 A3 A3 A2 HH x A1 A3 A3 A2

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    19/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 19

    H x A1 A3 A3 A2 HH y A3 A2 H A1 A3 A3 A2H y A3 A2 H A1 A3 A3 A2 HH x H A1 A3 A3 A2H x H A1 A3 A3 A2 H

    Ejercicios propuestos

    1 Sea la gramtica:G = (V N , VT , P , S) donde :

    V N = {S , Q, R}VT={p, q,}

    P = { S pQ / qRR p / pS / qRRQ q / qS / pQQ

    }

    Para la cadena pppqqpqqqp

    a. Encuntrese una derivacin por la izquierda y una derivacin por la derecha. b. Encuntrese un rbol gramatical ascendente y un rbol gramatical descendente.

    2 Proporcione un ejemplo de un diagrama que contenga estados, no accesibles y estadosno derivables. Construya la gramatica reducida equivalente

    3 Convierta la siguiente gramatica a a la forma normal de Greibach

    P: {r 1: A1 A2 A3,r 2: A2 A3 A1/ a,r 3: A3 A4 A2/ br 4: A4 A1 A2/ c

    }

    4 Sea la gramtica:G = (V N , VT, P , S) donde :

    V N = {S , Q}VT={x , y}

    P = {S xQQQ xS / yS / x

    }

    a Constryase un autmata de pila. b Realice el anlisis para dos frases no triviales

  • 7/23/2019 Guia 3 2015-II Gram Libre de Contexto y Automatas de Pila

    20/20

    LENGUAJES Y TRADUCTORES 2015-II

    Augusto Cortez Vasquez Pgina 20

    5 Sea el lenguaje L(G) = {ai / i es potencia positiva de 2}a Construyase la gramatica b Constryase un autmata de pila.c Realice el anlisis para dos frases no triviales

    6 Muestre mediante un ejemplo como se puede convertir una gramatica a la forma Normal de Chomnsky

    7 Muestre mediante un ejemplo como se puede convertir una gramatica a la forma Normal de Greibach

    8 Sea L el lenguaje de expresiones de teora de conjuntos con operadores unin,interseccin y complemento.a) Construya una gramatica b) Construya el rbol sintctico para la fraseC (AUB)B

    9

    a) Construya el autmata de pila para la gramatica del ejercicio (8) b) Analice la fraseC (AUB) B

    R R EE FF EE R R EE NNCC II AASS BBII BBLL II OO GG R R AAFF II CC AASS

    [1] [AHO 2008] Aho A.,Sethi,Ullman Compiladores, principios, tcnicas y herramientas; Addison -Wesley, Wilmington-Delaware EUA.

    [2] [BROOKSHEAR 1993] BROOKSHEAR J. GleanTeora de la computacinAddisson Wesley iberoamericana Wilmington Delaware 1993

    [3] [CORTEZ 2011] Cortez Vsquez, Augusto. Matemticas Discretas, Edit San Marcos Lima Per[4] [CORTEZ 2002] Cortez Vsquez, Augusto. Lenguajes y compiladores, UCSS 2013 Lima Per..[5] [CORTEZ 2009] A.Cortez Vsquez, Procesamiento del lenguaje natural. Revista RISI Vol. 6 N 2

    2009 , Pg 45-54 ISSN 1815-0268 Lima Per www.openjournal.unmsm.edu[6] [ CORTEZ 2013] A. Cortez Vsquez. Gramticas probabilistas, Revista Algorithmic Vol 4 N 1

    2013 , Pg 9-16 ISSN 2220-3982 Lima Per www.openjournal.unmsm.edu[7] [DEITEL 1987] Deitel Harvey M.. Introduccin a los sistemas operativos; Addison -Wesley,

    Iberoamenricana 1987 Wilmigton Deleware E.U.A:[8] [HOPCROFT 2008] Hopcroft Jhon, Ullman Jeffrey "teora de autmatas, lenguajes y

    computacion" Edit. Pearson 2008[9] [JOHNSONBAUGH 1999] Johnsonbaugh Richard MatemticasDiscretas; Prentice Hall 1999[10] [KOLMAN 1997] Kolman-Busby-Ross Matemticas Discretas; Prentice Hall 1997[11] [PEA 1998] PEA MARI, Ricardo Diseo de programas, Formalismo y abstraccin

    Prentice Hall Madrid 1998[12] [MARTI 2002] M Marti. J LListeri "Tratamiento del Lenguajes Natural" Edit Universidad Barcelona

    2002

    [13] [SETHI 1992] SETHI, Ravi LENGUAJES DE PROGRAMACION, Conceptos y Constructores;Addison-Wesley, 1992 .

    [14] [TEUFEL 1990] Teufel-Smithd-Teufel. Compiladores, Conceptos fundamentales; Addison -Wesley,1990 .

    [15] [CONTRERAS 2012] CONTRERAS Hilda, " Teora de la Computacin para Ingeniera deSistemas: un enfoque prctico"http://webdelprofesor.ula.ve/ingenieria/hyelitza/materias/preteoria/apuntes/tema1.pdf

    http://www.openjournal.unmsm.edu/http://www.openjournal.unmsm.edu/http://www.openjournal.unmsm.edu/http://www.openjournal.unmsm.edu/