filelanguage and automata 7

Embed Size (px)

Citation preview

  • 8/14/2019 filelanguage and automata 7

    1/4

    A m b i g u o u s G r a m m a r s

    A C F G i s a m b i g u o u s i f o n e o r m o r e t e r m i n a l

    s t r i n g s h a v e m u l t i p l e l e f t m o s t d e r i v a t i o n s f r o m t h e

    s t a r t s y m b o l .

    E q u i v a l e n t l y : m u l t i p l e r i g h t m o s t d e r i v a t i o n s

    o r m u l t i p l e p a r s e t r e e s .

    E x a m p l e

    C o n s i d e r S ! A S j ; A ! A 1 j 0 A 1 j 0 1 .

    T h e s t r i n g 0 0 1 1 1 h a s t h e f o l l o w i n g t w o l e f t m o s t

    d e r i v i a t i o n s f r o m S :

    1 . S

    l m

    A S

    l m

    0 A 1 S

    l m

    0 A 1 1 S

    l m

    0 0 1 1 1 S

    l m

    0 0 1 1 1

    2 . S

    l m

    A S

    l m

    A 1 S

    l m

    0 A 1 1 S

    l m

    0 0 1 1 1 S

    l m

    0 0 1 1 1

    I n t u i t i v e l y w e c a n u s e A ! A 1 r s t o r s e c o n d

    t o g e n e r a t e t h e e x t r a 1 .

    I n h e r e n t l y A m b i g u o u s L a n g u a g e s

    A C F L L i s i n h e r e n t l y a m b i g u o u s i f e v e r y C F G f o r

    L i s a m b i g u o u s .

    S u c h t h i n g s e x i s t ; s e e c o u r s e r e a d e r .

    E x a m p l e

    T h e l a n g u a g e o f o u r e x a m p l e g r a m m a r i s n o t

    i n h e r e n t l y a m b i g u o u s e v e n t h o u g h t h e g r a m m a r

    i s a m b i g u o u s .

    C h a n g e t h e g r a m m a r t o f o r c e t h e e x t r a 1 ' s t o

    b e g e n e r a t e d l a s t .

    S ! A S j

    A ! 0 A 1 j B

    B ! B 1 j 0 1

    W h y C a r e ?

    A m b i g u i t y o f t h e g r a m m a r i m p l i e s t h a t

    a t l e a s t s o m e s t r i n g s i n i t s l a n g u a g e h a v e

    d i e r e n t s t r u c t u r e s p a r s e t r e e s .

    3T h u s s u c h a g r a m m a r i s u n l i k e l y t o

    b e u s e f u l f o r a p r o g r a m m i n g l a n g u a g e

    b e c a u s e t w o s t r u c t u r e s f o r t h e s a m e s t r i n g

    p r o g r a m i m p l i e s t w o d i e r e n t m e a n i n g s

    e x e c u t a b l e e q u i v a l e n t p r o g r a m s f o r t h i s

    p r o g r a m .

    3C o m m o n e x a m p l e : t h e e a s i e s t g r a m m a r s

    f o r a r i t h m e t i c e x p r e s s i o n s a r e a m b i g u o u s

    a n d n e e d t o b e r e p l a c e d b y m o r e c o m p l e x

    1

  • 8/14/2019 filelanguage and automata 7

    2/4

    u n a m b i g u o u s g r a m m a r s s e e c o u r s e

    r e a d e r .

    A n i n h e r e n t l y a m b i g u o u s l a n g u a g e w o u l d

    b e a b s o l u t e l y u n s u i t a b l e a s a p r o g r a m m i n g

    l a n g u a g e b e c a u s e w e w o u l d n o t h a v e a n y

    w a y o f x i n g a u n i q u e s t r u c t u r e f o r a l l i t s

    p r o g r a m s .

    P u s h d o w n A u t o m a t a

    A d d a s t a c k t o a F A .

    T y p i c a l l y n o n d e t e r m i n i s t i c .

    A n a u t o m a t o n e q u i v a l e n t t o C F G ' s .

    E x a m p l e

    N o t a t i o n f o r t r a n s i t i o n d i a g r a m s " : a ; Z = X

    1

    X +

    2 X

    k

    = o n i n p u t a w i t h Z o n t o p o f t h e s t a c k

    c o n s u m e t h e a m a k e t h i s s t a t e t r a n s i t i o n a n d

    r e p l a c e t h e Z o n t o p o f t h e s t a c k b y X

    1

    X

    2

    X

    k

    w i t h X

    1

    a t t h e t o p .

    p q r

    S t a r t

    0 ; Z

    0

    = X Z

    0

    0 ; X = X X

    1 ; X =

    1 ; X =

    1 ; Z

    0

    = Z

    0

    ; Z

    0

    = Z

    0

    p = s t a r t i n g t o s e e a g r o u p o f 0 ' s a n d 1 ' s ; q =

    r e a d i n g 0 ' s a n d p u s h i n g X ' s o n t o t h e s t a c k ; r

    = r e a d i n g 1 ' s a n d p o p p i n g X ' s u n t i l t h e X ' s

    a r e a l l p o p p e d .

    W e c a n s t a r t a n e w g r o u p t r a n s i t i o n f r o m r

    t o p o n l y w h e n a l l X ' s w h i c h c o u n t t h e 0 ' s

    h a v e b e e n m a t c h e d a g a i n s t 1 ' s .

    F o r m a l P D A

    P = Q ; ; , ; ; q

    0

    ; Z

    0

    ; F w h e r e Q q

    0

    a n d F

    h a v e t h e i r m e a n i n g s f r o m F A .

    , = s t a c k a l p h a b e t .

    Z

    0

    i n , = s t a r t s y m b o l = t h e o n e s y m b o l o n

    t h e s t a c k i n i t i a l l y .

    = t r a n s i t i o n f u n c t i o n t a k e s a s t a t e a n i n p u t

    s y m b o l o r a n d a s t a c k s y m b o l a n d g i v e s

    y o u a n i t e n u m b e r o f c h o i c e s o f :

    2

  • 8/14/2019 filelanguage and automata 7

    3/4

    1 . A n e w s t a t e p o s s i b l y t h e s a m e .

    2 . A s t r i n g o f s t a c k s y m b o l s t o r e p l a c e t h e

    t o p s t a c k s y m b o l .

    I n s t a n t a n e o u s D e s c r i p t i o n s I D ' s

    F o r a F A t h e o n l y t h i n g o f i n t e r e s t a b o u t t h e F A

    i s i t s s t a t e . F o r a P D A w e w a n t t o k n o w i t s s t a t e

    a n d t h e e n t i r e c o n t e n t o f i t s s t a c k .

    I t i s a l s o c o n v e n i e n t t o m a i n t a i n a c t i o n t h a t

    t h e r e i s a n i n p u t s t r i n g w a i t i n g t o b e r e a d .

    R e p r e s e n t e d b y a n I D q ; w ; w h e r e q =

    s t a t e w = w a i t i n g i n p u t a n d = s t a c k t o p

    l e f t .

    M o v e s o f t h e P D A

    I f q ; a ; X c o n t a i n s p ; t h e n q ; a w ; X `

    p ; w ; .

    E x t e n d t o `

    *

    t o r e p r e s e n t 0 1 o r m a n y m o v e s .

    S u b s c r i p t b y n a m e o f t h e P D A i f n e c e s s a r y .

    I n p u t s t r i n g w i s a c c e p t e d i f q

    0

    ; w ; Z

    0

    `

    *

    p ; ; f o r a n y a c c e p t i n g s t a t e p a n d a n y

    s t a c k s t r i n g .

    L P = s e t o f s t r i n g s a c c e p t e d b y P .

    E x a m p l e

    p ; 0 1 1 0 0 1 1 ; Z

    0

    ` q ; 1 1 0 0 1 1 ; X Z

    0

    `

    r ; 1 0 0 1 1 ; Z

    0

    ` r ; 0 0 1 1 ; Z

    0

    ` p ; 0 0 1 1 ; Z

    0

    `

    q ; 0 1 1 ; X Z

    0

    ` q ; 1 1 ; X X Z

    0

    ` r ; 1 ; X Z

    0

    `

    r ; ; Z

    0

    ` p ; ; Z

    0

    A c c e p t a n c e b y E m p t y S t a c k

    A n o t h e r o n e o f t h o s e t e c h n i c a l c o n v e n i e n c e s : w h e n

    w e p r o v e t h a t P D A ' s a n d C F G ' s a c c e p t t h e s a m e

    l a n g u a g e s i t h e l p s t o a s s u m e t h a t t h e s t a c k i s

    e m p t y w h e n e v e r a c c e p t a n c e o c c u r s .

    N P = s e t o f s t r i n g s w s u c h t h a t

    q

    0

    ; w ; Z

    0

    `

    *

    p ; ; f o r s o m e s t a t e p .

    3N o t e p n e e d n o t b e i n F .

    3I n f a c t i f w e t a l k a b o u t N P o n l y

    t h e n w e n e e d n o t e v e n s p e c i f y a s e t o f

    a c c e p t i n g s t a t e s .

    E x a m p l e

    F o r o u r p r e v i o u s e x a m p l e t o a c c e p t b y e m p t y

    s t a c k :

    3

  • 8/14/2019 filelanguage and automata 7

    4/4

    1 . A d d a n e w t r a n s i t i o n p ; ; Z

    0

    = f p ; g .

    3T h a t i s w h e n s t a r t i n g t o l o o k f o r a n e w

    0 - 1 b l o c k t h e P D A h a s t h e o p t i o n t o p o p

    t h e l a s t s y m b o l o t h e s t a c k i n s t e a d .

    2 . p i s n o l o n g e r a n a c c e p t i n g s t a t e ; i n f a c t t h e r e

    a r e n o a c c e p t i n g s t a t e s .

    E q u i v a l e n c e o f A c c e p t a n c e b y F i n a l S t a t e

    a n d E m p t y S t a c k

    A l a n g u a g e i s L P

    1

    f o r s o m e P D A P

    1

    i f a n d o n l y

    i f i t i s N P

    2

    f o r s o m e P D A P

    2

    .

    G i v e n P

    1

    = Q ; ; , ; ; q

    0

    ; Z

    0

    ; F c o n s t r u c t P

    2

    :

    1 . I n t r o d u c e n e w s t a r t s t a t e p

    0

    a n d n e w

    b o t t o m - o f - s t a c k m a r k e r X

    0

    .

    2 . F i r s t m o v e o f P

    2

    : r e p l a c e X

    0

    b y Z

    0

    X

    0

    a n d g o t o s t a t e q

    0

    . T h e p r e s e n c e o f X

    0

    p r e v e n t s P

    2

    f r o m a c c i d e n t a l l y " e m p t y i n g

    i t s s t a c k a n d a c c e p t i n g w h e n P

    1

    d i d n o t

    a c c e p t .

    3 . T h e n P

    2

    s i m u l a t e s P

    1

    ; i . e . g i v e P

    2

    a l l t h e

    t r a n s i t i o n s o f P

    1

    .

    4 . I n t r o d u c e a n e w s t a t e r t h a t k e e p s

    p o p p i n g t h e s t a c k o f P

    2

    u n t i l i t i s e m p t y .

    5 . I f t h e s i m u l a t e d P

    1

    i s i n a n a c c e p t i n g

    s t a t e g i v e P

    2

    t h e a d d i t i o n a l c h o i c e o f

    g o i n g t o s t a t e r o n i n p u t a n d t h u s

    e m p t y i n g i t s s t a c k w i t h o u t r e a d i n g a n y

    m o r e i n p u t .

    G i v e n P

    2

    = Q ; ; , ; ; q

    0

    ; Z

    0

    ; F c o n s t r u c t P

    1

    :

    1 . I n t r o d u c e n e w s t a r t s t a t e p

    0

    a n d n e w

    b o t t o m - o f - s t a c k m a r k e r X

    0

    .

    2 . F i r s t m o v e o f P

    1

    : r e p l a c e X

    0

    b y Z

    0

    X

    0

    a n d g o t o s t a t e q

    0

    .

    3 . I n t r o d u c e n e w s t a t e r f o r P

    1

    ; i t i s t h e

    o n l y a c c e p t i n g s t a t e .

    4 . P

    1

    s i m u l a t e s P

    2

    .

    5 . I f t h e s i m u l a t e d P

    1

    e v e r s e e s X

    0

    i t

    k n o w s P

    2

    a c c e p t s s o P

    1

    g o e s t o s t a t e r

    o n i n p u t .

    4