SlideShare une entreprise Scribd logo
1  sur  82
Context-Free Languages


                                             Derivation tree, parsing, & ambiguity




        context free grammar and ambiguity                                       1
n n                                         R
{a b }                                {ww }


    Regular Languages



         context free grammar and ambiguity       2
Context-Free Languages

  n n                                         R
{a b }                                {ww }


    Regular Languages



         context free grammar and ambiguity       3
Context-Free Languages




Context-Free                                         Pushdown
Grammars                                             Automata

                                                                stack

                                                    automaton

               context free grammar and ambiguity                       4
Context-Free Grammars




       context free grammar and ambiguity   5
n n
L(G )   {a b : n 0} is not regular ….


            (((( ))))


we relax the restriction of regular grammar




                context free grammar and ambiguity   6
n n
 L(G )   {a b : n 0} is not regular ….

A context-free grammar G :                             S   aSb
                                                       S

 The grammar G is linear but not regular.



                  context free grammar and ambiguity             7
n n
L(G )   {a b : n 0} is not regular ….




Regular grammar (e.g., a right linear grammar):
A XB or A  X
               where A, B V, and X T*

                                                      Context Free
   A  X where X                   (V T)*             Grammar
                 context free grammar and ambiguity                  8
Def. Context-Free Grammars (CFG)

    Grammar     G           (V , T , S , P )

Variables     Terminal                      Start
              symbols                       variable

Productions of the form:                              A   x
    x is string of variables and terminals
 Note: A regular grammar is a regular grammar.
                 context free grammar and ambiguity           9
Def. Context-Free Languages (CFL)

A language        L is context-free
  if and only if

  there is a context free grammar                         G
  with L L (G )

Note: To show L is a CFL find a CFG for L.
Note: A regular language is also a CFL.
                     context free grammar and ambiguity       10
n n                                   is a Context-Free
 L(G )     {a b : n 0}                             Language

with context-free grammar                               G: S    aSb
                                                           S

 A derivation:
S    aSb     aaSbb                      aaaSbbb                aaabbb


                   context free grammar and ambiguity                   11
Another Example

A context-free grammar                        G:     S   aSa
                                                     S   bSb
A derivation:                                S
S   aSa      abSba                     abaSaba           abaaba

                   R
    L(G ) {ww : w {a, b}*}
          is a Context-Free Language
                context free grammar and ambiguity                12
A non Linear Examples

A context-free grammar                        G:       S        aSb
                                                       S        SS
                                                       S
What is the L(G)?

A derivation:
S    SS     aSbS              abS                    abaSb
    abaaSbb         abaabb                           () (( ))
                context free grammar and ambiguity                    13
S                  aSb
                S                  SS
                S                                    () ((( ))) (( ))
L(G ) {w : na ( w)           nb ( w), and
           na (v)           nb (v) in any prefix v}
   How to prove the given grammar
   indeed generates the language?
                  Homework #4 only shows L(G)              L.

                context free grammar and ambiguity                      14
L(G) L: by induction on the number of steps in deriving a sentential form
Any sentential form obtained from the grammar G: if by one step (rule2 & 3
do not generate any terminal symbols at all, i.e. na(w)=nb(w) = 0, thus is
true; if it is from rule 1: SaSb, then it satisfies the condition of
na(w)=nb(w) and the prefix condition.
Assume any sentential obtained from n steps it is true,
Now assume a sentential form of (n+1) steps: if the last step is by rule 2 or
3, then no new symbols is added, therefore it satisfies the condition since
it satisfies on previous step; it the last step is by rule 1, then as can be
seen that a is added before b is added (from left to right), thus the prefix
condition is also satisfied.

L L(G): by induction on |w|, w L.
By observing the definition of L, w L then |w| is even, let |w|=2n. and if
|w| >= 2, w = a…..b (the first symbol is a and the last symbol is b).
|w|=0: then w= , then w L(G).
Assume |w|=2n, w L(G) is true for n >= 0.
Now |w| = 2n+2, then w=aub with |u|=2n, and u L. by induction
assumption, u L(G), i.e. there exist a derivation s * u, thus S aSb *
aub = w.
                            context free grammar and ambiguity                  15
Show L={anbmcn: n, m 0 } is CF.



Show L={anbncm: n, m 0 } is CF.



             context free grammar and ambiguity   16
True or False

If L is not regular then L is context
 free.

If L is not context free then L is not
 regular

From grammar
 G: S AB, A aA| , B bB| , thus
 L(G) is CF & not regular.
               context free grammar and ambiguity   17
Examples of showing languages are
Context Free

Show { anbm : n = m+3} is CF.

Show { anbm : n       m+3} is CF.


  Try hw # 7 (a) ~ (d) p.133


               context free grammar and ambiguity   18
{anbm: n m+3}
S1 is for n> m+3 & S2 is for n < m+3 & S  S1
| S2
S1: n m+4, i.e., n = m+t for t=4, 5, 6, …, i.e.
anbm= am+tbm: thus, S1  aaaaB | aS1, B bB | .
S2: n m+2, i.e, n+t =m+2, m = n-2 + t for t=0, 1,
2, …, i.e, anbm= anbn-2+t for t=0,1,2, … which
implies anbm= anbn-2 , anbn-1 , anbn , anbn+1 ,
anbn+2 , ....
   (anbn-2 :) D  aa K, K aKb | ; (anbn-1:) E
aK; (anbn , anbn+1 , anbn+2 , .... ) F Fb | K; and
S2  D | E | F
Examples of showing languages are
Context Free

Show { w: na(w) = nb(w)} is CF.

Show { w: na(w) > nb(w)} is CF.

Show { w: na(w) = 2 nb(w)} is CF.

 Try hw # 7 (e) ~ (g) p.133

                context free grammar and ambiguity   20
S aSb | bSa |SS| (for na = nb)
S1 for na(w) >nb(w) S1 aS1 | aS | SS1

{ w {a,b,c}*: |w|=3na(w)}
E  aEbEc | aEcEb | bEaEc | bEaEc | cEaEb
| cEbEa | EE |    (this is for na = nb = nc)
S  aEKEK | KEaEK | KEKEa
K  b | c.
               context free grammar and ambiguity   21
Derivation Order for w = aab in the CFG:
1. S        AB        2. A                        aaA             4. B      Bb
                      3. A                                        5. B
Leftmost derivation:
        1        2                    3                    4          5
    S       AB       aaAB                   aaB                aaBb       aab
Rightmost derivation:
        1        4                5                   2           3
    S       AB       ABb                  Ab               aaAb       aab
                      context free grammar and ambiguity                        22
Derivation Trees
Another way of showing derivation,
independent of the order in which
productions are used.


                context free grammar and ambiguity   23
S       AB           A                aaA |                   B   Bb |

                           S                 AB
                                     S

                 A                                        B


    Every node to its children is corresponding to a
    production rule in the grammar


                     context free grammar and ambiguity                  24
S   AB       A                aaA |                   B   Bb |

         S          AB                     aaAB
                             S

         A                                        B

    a    a              A


             context free grammar and ambiguity                  25
S   AB          A                aaA |                   B   Bb |

        S   AB               aaAB                    aaABb
                                S

            A                                        B

    a       a              A                    B        b


                context free grammar and ambiguity                  26
S   AB        A                aaA |                   B      Bb |

S   AB       aaAB                      aaABb               aaBb
                              S

         A                                         B

    a    a               A                    B        b


              context free grammar and ambiguity                     27
S   AB         A                aaA |                   B      Bb |

S       AB   aaAB                  aaABb                    aaBb     aab
                                   S
A Derivation
Tree
           A                                            B

         a     a              A                    B        b
Every leaf has a
label from T { }
                   context free grammar and ambiguity                     28
S   AB       A                aaA |                    B     Bb |

S       AB   aaAB                aaABb                    aaBb        aab
Derivation Tree                  S

             A                                        B
                                                                 yield

         a   a              A                    B        b      aa     b
                                                                  aab

                 context free grammar and ambiguity                      29
derivation order doesn’t matter
Leftmost:
S    AB      aaAB                 aaB                       aaBb         aab
Rightmost:
S    AB      ABb               Ab                   aaAb             aab
                                                        S
Same derivation tree
                                    A                            B

                     a               a              A        B       b


                   context free grammar and ambiguity                          30
S   AB           A         aaA |                              B   Bb |



                 S                                  Derivation Tree
                                                    shows which rules are
        A                       B                   used in obtaining a w,
                                                    but do not give the order
                                                    of their applications.
a       a    A           B              b
                                         We can find the corresponding
                                         left-most or right-most derivations
                                         from a given derivation tree easily.

                             context free grammar and ambiguity                 31
Partial Derivation Trees Every leaf has a label
                                                      from T   { }     V
S     AB        A               aaA |                          B       Bb |
                          The yield of a partial derivation
S     AB                  tree    a sentential form of a
                          derivation


Partial derivation                                      S
tree with root S

                              A                                    B

                 context free grammar and ambiguity                           32
sentential
            S       AB                     aaAB
                                                          form



Partial derivation
                                                      S
tree with root S
                          A                                  B

                                                                 yield
             a             a                    A
                                                                 aaAB
                 context free grammar and ambiguity                      33
G: A CFG then                                            Thm. 5.1 on p.132

Every w L(G) there exists a derivation tree
with yield = w.           a deriation with the
                                                     sentential form w
            Conversely,
the yield of any derivation tree w, w L(G)
                         partial derivation tree tG (with root S), w
Homework for 5.1 (p.133) : 2~5, 7, 8, 11, 13~24
Hand in: 7bef, 8bdg, 13, 15, 17, 18, 21
Prove by induction on the number of steps in the derivation. Check with the
book on p.132.
                            context free grammar and ambiguity                34
Ambiguity




context free grammar and ambiguity        35
E E E | E E | (E) | a
    a a a
                       leftmost derivation

     E    E   E E                   a E            a E E
                                  a a E            a a*a
E         E

a    E              E

      a               a
              context free grammar and ambiguity           36
E E E | E E | (E) | a
    a a a  leftmost derivation

E   E E    E E E a E E E
          a a E a a a
                                                   E       E

                                           E           E   a

                                           a           a
              context free grammar and ambiguity           37
E       E E | E E | (E) | a
                 a a a
              Two derivation trees
        E                                                  E

E            E                                         E       E

a       E             E                       E            E   a

        a              a                       a           a
                  context free grammar and ambiguity           38
The grammarE               E E | E E | (E) | a
is ambiguous:
    Because a string of L(G)
     has two derivation trees

        E                                                      E
                          a a a
    E         E                                            E       E


    a   E           E                              E           E   a

        a            a                                 a       a
                  context free grammar and ambiguity                   39
Or we can say

A grammar is ambiguous….




        context free grammar and ambiguity   40
The grammarE             E E | E E | (E) | a
is ambiguous:

  There are two different leftmost
  derivations for a a a

   E    E E       a E                                a E E
                a a E                                a a*a
   E    E E      E E E a E E
                a a E a a a
                context free grammar and ambiguity           41
Definition:
  A context-free grammar                            G is ambiguous

  if some string    w L(G ) has

      two or more derivation trees




               context free grammar and ambiguity                    42
In other words:

  A context-free grammar                               G is ambiguous

  if   some string         w L(G ) has:

       two or more leftmost derivations
                    (or rightmost)



                  context free grammar and ambiguity                    43
Why do we care about ambiguity?
                 a a a
               take              a            2
     E                                                  E

E         E                                         E       E

a    E             E                       E            E   a

     a              a                       a           a
               context free grammar and ambiguity           44
2 2 2

    E                                                E

E       E                                        E       E

2   E           E                       E            E   2

    2            2                       2           2
            context free grammar and ambiguity           45
2 2 2 6                                         2 2 2 8
       6                                                8
      E                                                 E
 2         4                                        4        2
E          E                                        E        E
      2             2                    2               2
2     E            E                      E             E    2

      2             2                       2           2
               context free grammar and ambiguity             46
Correct result:   2 2 2 6

                        6
                       E
             2                            4
            E                             E
                       2                                2
             2         E                               E

                        2                              2
                  context free grammar and ambiguity        47
• Ambiguity is bad for programming languages

• We want to remove ambiguity




                context free grammar and ambiguity   48
We fix the ambiguous grammar:
     E    E E | E E | (E) | a

New non-ambiguous grammar:                          E   E T
                                                    E   T
                                                    T   T F
                                                    T   F
                                                    F   (E)
               context free grammar and ambiguity   F   a     49
E   E T   T T        F T                    a T          a T F
    a F F   a a F                      a a a
                                               E             a a a
E    E T
                            E                            T
E   T
T   T F                     T                        T           F
T   F
                            F                        F           a
F   (E)
F    a                       a                       a
                context free grammar and ambiguity                   50
Unique derivation tree

           E                              a a a
    E                          T

     T                T                        F

     F                F                        a

     a                 a
          context free grammar and ambiguity       51
The grammar   G:             E                 E T
                            E                 T
                            T                 T F
                            T                 F
                            F                 (E)
                             F                 a
is non-ambiguous:
     i.e. EVERY stringw L (G ) has
     a unique derivation tree
               context free grammar and ambiguity    52
Inherent Ambiguity

Some context free languages
 have only ambiguous grammars


    Example:             n n m                            n m m
                 L {a b c }                              {a b c }


S      S1 | S2     S1             S1c | A                 S2    aS2 | B
                   A            aAb |                     B    bBc |
                    context free grammar and ambiguity                 53
n n n
The string     a b c
has two derivation trees

          S                                                  S

          S1                                                 S2

     S1         c                                        a        S2


                    context free grammar and ambiguity                 54
Compilers




context free grammar and ambiguity      55
Machine Code
  Program                                               Add v,v,0
v = 5;                                                  cmp v,5
if (v>5)                                                jmplt ELSE
    x = 12 + v;                                         THEN:
while (x !=3) {           Compiler
                                                          add x, 12,v
  x = x - 3;                                            ELSE:
  v = 10;                                               WHILE:
}                                                       cmp x,3
......                                                  ...
                  context free grammar and ambiguity                    56
A parser knows the grammar
                                of the programming language

             Lexical
Compiler                                                  parser
             analyzer



input                                                                 output

                                                                   machine
  program
            Lexical analyzer : analyze the given input             code
            is composed of (identifier, or an expression,                      57

            or a statement, etc)
                     context free grammar and ambiguity
Parser
PROGRAM  STMT_LIST
STMT_LIST STMT; STMT_LIST | STMT;
STMT EXPR | IF_STMT | WHILE_STMT
            | { STMT_LIST }

EXPR  EXPR + EXPR | EXPR - EXPR | ID
IF_STMT     if (EXPR) then STMT
        | if (EXPR) then STMT else STMT
WHILE_STMT while (EXPR) do STMT

             context free grammar and ambiguity   58
The parser finds the derivation
      of a particular input
                                 derivation
               Parser
 input                                                E => E + E
             E -> E + E
                                                        => E + E * E
10 + 2 * 5      |E*E
                                                        => 10 + E*E
                | INT
                                                        => 10 + 2 * E
                                                        => 10 + 2 * 5

                 context free grammar and ambiguity                     59
derivation tree
 derivation
                                                       E

E => E + E                                     E       +       E
  => E + E * E
  => 10 + E*E                                  10
                                                           E   *   E
  => 10 + 2 * E
  => 10 + 2 * 5                                            2       5

                  context free grammar and ambiguity               60
derivation tree

      E                                                machine code

E      +      E                                        mult a, 2, 5
                                                       add b, 10, a
10
          E   *          E

          2              5

                  context free grammar and ambiguity                  61
Parsing




context free grammar and ambiguity             62
Parser
input
           grammar                            derivation
string




         context free grammar and ambiguity                63
Example:

                   Parser
               S                 SS             derivation
input
               S                aSb
aabb                                                ?
               S                bSa
               S
           context free grammar and ambiguity                64
Exhaustive Search
           S        SS | aSb | bSa |

Phase 1:        S           SS                            Find derivation of
                S          aSb                                  aabb
                S          bSa
                S
     All possible derivations of length 1
                     context free grammar and ambiguity                        65
S          SS                            aabb
S         aSb
S         bSa
S


    context free grammar and ambiguity          66
Phase 2                    S                 SS | aSb | bSa |
              S           SS                  SSS
              S           SS                  aSbS                aabb
Phase 1       S           SS                  bSaS
S   SS        S           SS                  S
S   aSb       S           aSb                     aSSb
              S           aSb                     aaSbb
              S           aSb                     abSab
              S           aSb                     ab
                  context free grammar and ambiguity                      67
Phase 2                                S              SS | aSb | bSa |
S      SS     SSS
S      SS     aSbS                                                  aabb
S      SS     S

S      aSb    aSSb
S      aSb    aaSbb
                                                          Phase 3
                        S                aSb                aaSbb      aabb
                     context free grammar and ambiguity                      68
Final result of exhaustive search
                        (top-down parsing)
                    Parser
                       S             SS
  input
                       S            aSb
  aabb
                       S            bSa
                       S
What happen if                                              derivation
there is no such
derivation existed?
I.e. what if w L(G)?       S               aSb                aaSbb      aabb
                       context free grammar and ambiguity                   69
Is this searching method an
         algorithm?

What if w L(G)?




        context free grammar and ambiguity   70
Time complexity of exhaustive search


Suppose there are no productions of the form
                                A                          :   - production


                                A                 B        : unit - production

 Number of phases for string                                   w : 2| w|
    So that after the execution of every phase, either
    (1) the sentential form has additional one or more
    terminal symbols; and/or
    (2) the length of the sentential form is increased by at
    least one.
                      context free grammar and ambiguity                         71
For grammar with         k rules


Time for phase 1:        k


                         k possible derivations




                    context free grammar and ambiguity   72
Time for phase 2:    k    2



                     k    2            possible derivations




                context free grammar and ambiguity            73
Time for phase   2 | w |:               k   2|w|



                           2|w| possible derivations
                         k




                  context free grammar and ambiguity   74
Total time needed for string                          w:

                    2                                  2|w|
          k     k                k

phase 1         phase 2                               phase 2|w|


              Extremely bad!!!
                 context free grammar and ambiguity                75
There exist faster algorithms
for specialized grammars


 Simple grammar:                  A              ax


              ONE symbol                               V*: string
              from                                     of variables

 such that pair   ( A, a ) appears at most once

                  context free grammar and ambiguity                  76
S        aS
S-grammar example:
                                          S        bSS
                                          S        c


Not an S-grammar:                          S       aS
                                           S       bSS | bS
                                           S

              context free grammar and ambiguity              77
Simple grammar:             A               ax

Observe that if G is an S-grammar, then
G has no productions like
                        A                            :   - production

                        A              B             : unit - production

In a derivation process for S-grammar, every
phase will increase one terminal symbol.
                context free grammar and ambiguity                         78
S        aS
S-grammar example:
                                            S        bSS
                                            S        c

Find a (left most)derivation for abcc:
 S    aS     abSS                  abcS              abcc
Find a (left most)derivation for bca:
S     bSS     bcS                 bcaS
 bca L(G) since |bcaS| > | bca |
                context free grammar and ambiguity          79
If G is an S-grammar, then

    in the exhaustive search parsing
    there is only one choice in each phase
    Thus, for any given string w, it
    takes a linear time, O(|w|), to decide
    either w L(G) by providing a
    unique derivation or w L(G).


Not every CF grammar can be converted into an S-grammar.

                    context free grammar and ambiguity     80
S-grammar Example

Let G = (V, T, S, P) be an S-grammar:


  Give an expression for the maximum
  size of P in terms of |V| and |T|.

  Is it possible for an s-grammar to be
  ambiguous?



                context free grammar and ambiguity   81
For GENERAL context-free grammars:
There exists a parsing algorithm
that parses a string w
in time | w |3

 The CYK membership algorithm                      (on 6.3)


 5.2 HW p.144
 1~9,11~15,17~19


              context free grammar and ambiguity              82

Contenu connexe

Tendances

Context free languages
Context free languagesContext free languages
Context free languagesJahurul Islam
 
Deterministic context free grammars &non-deterministic
Deterministic context free grammars &non-deterministicDeterministic context free grammars &non-deterministic
Deterministic context free grammars &non-deterministicLeyo Stephen
 
Context Free Grammar
Context Free GrammarContext Free Grammar
Context Free GrammarAkhil Kaushik
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4shah zeb
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal languageRabia Khalid
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsCS, NcState
 
Chomsky by zeeshan khan and Raheel Khan
Chomsky by zeeshan khan and Raheel KhanChomsky by zeeshan khan and Raheel Khan
Chomsky by zeeshan khan and Raheel KhanM Khan
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of AutomataFarooq Mian
 
Class5
 Class5 Class5
Class5issbp
 
Regular expressions and languages pdf
Regular expressions and languages pdfRegular expressions and languages pdf
Regular expressions and languages pdfDilouar Hossain
 
Chapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryChapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryTsegazeab Asgedom
 
Automata
AutomataAutomata
AutomataGaditek
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computationBipul Roy Bpl
 
Csr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminskiCsr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminskiCSR2011
 

Tendances (20)

Context free languages
Context free languagesContext free languages
Context free languages
 
Context free grammar
Context free grammarContext free grammar
Context free grammar
 
Deterministic context free grammars &non-deterministic
Deterministic context free grammars &non-deterministicDeterministic context free grammars &non-deterministic
Deterministic context free grammars &non-deterministic
 
Context Free Grammar
Context Free GrammarContext Free Grammar
Context Free Grammar
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause Grammars
 
Chomsky by zeeshan khan and Raheel Khan
Chomsky by zeeshan khan and Raheel KhanChomsky by zeeshan khan and Raheel Khan
Chomsky by zeeshan khan and Raheel Khan
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of Automata
 
Class5
 Class5 Class5
Class5
 
Regular expressions and languages pdf
Regular expressions and languages pdfRegular expressions and languages pdf
Regular expressions and languages pdf
 
Lesson 05
Lesson 05Lesson 05
Lesson 05
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Flat unit 3
Flat unit 3Flat unit 3
Flat unit 3
 
Chapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryChapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata Theory
 
Automata
AutomataAutomata
Automata
 
L3 cfg
L3 cfgL3 cfg
L3 cfg
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computation
 
Csr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminskiCsr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminski
 
Lesson 04
Lesson 04Lesson 04
Lesson 04
 

En vedette

Context free grammars
Context free grammarsContext free grammars
Context free grammarsShiraz316
 
Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Animesh Chaturvedi
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Abhimanyu Mishra
 
Context free presentation
Context free presentationContext free presentation
Context free presentationTelma Ventura
 
Introduction to fa and dfa
Introduction to fa  and dfaIntroduction to fa  and dfa
Introduction to fa and dfadeepinderbedi
 
4 compiler lab - Syntax Ana
4 compiler lab - Syntax Ana4 compiler lab - Syntax Ana
4 compiler lab - Syntax AnaMashaelQ
 
Class8
 Class8 Class8
Class8issbp
 
Simplifiaction of grammar
Simplifiaction of grammarSimplifiaction of grammar
Simplifiaction of grammarlavishka_anuj
 
Simplifies and normal forms - Theory of Computation
Simplifies and normal forms - Theory of ComputationSimplifies and normal forms - Theory of Computation
Simplifies and normal forms - Theory of ComputationNikhil Pandit
 
W6 lecture notes
W6 lecture notesW6 lecture notes
W6 lecture notesAn Nguyen
 
Os5 2
Os5 2Os5 2
Os5 2issbp
 
Os4 2
Os4 2Os4 2
Os4 2issbp
 
Class9
 Class9 Class9
Class9issbp
 

En vedette (19)

Context free grammars
Context free grammarsContext free grammars
Context free grammars
 
Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3
 
Push Down Automata (PDA)
Push Down Automata (PDA)Push Down Automata (PDA)
Push Down Automata (PDA)
 
Context free presentation
Context free presentationContext free presentation
Context free presentation
 
Introduction to fa and dfa
Introduction to fa  and dfaIntroduction to fa  and dfa
Introduction to fa and dfa
 
Itk328 ex5 1
Itk328 ex5 1Itk328 ex5 1
Itk328 ex5 1
 
Netautomata1
Netautomata1Netautomata1
Netautomata1
 
Reintroducing Web Technology
Reintroducing Web TechnologyReintroducing Web Technology
Reintroducing Web Technology
 
4 compiler lab - Syntax Ana
4 compiler lab - Syntax Ana4 compiler lab - Syntax Ana
4 compiler lab - Syntax Ana
 
Class8
 Class8 Class8
Class8
 
Simplifiaction of grammar
Simplifiaction of grammarSimplifiaction of grammar
Simplifiaction of grammar
 
Simplifies and normal forms - Theory of Computation
Simplifies and normal forms - Theory of ComputationSimplifies and normal forms - Theory of Computation
Simplifies and normal forms - Theory of Computation
 
W6 lecture notes
W6 lecture notesW6 lecture notes
W6 lecture notes
 
Computational linguistics
Computational linguisticsComputational linguistics
Computational linguistics
 
Os5 2
Os5 2Os5 2
Os5 2
 
Os4 2
Os4 2Os4 2
Os4 2
 
Class9
 Class9 Class9
Class9
 
Os2
Os2Os2
Os2
 

Similaire à Class7

context free grammars automata therory and compiler design
context free grammars automata therory and compiler designcontext free grammars automata therory and compiler design
context free grammars automata therory and compiler designsunitachalageri1
 
contextfreegrammars-120925004035-phpapp02.pdf
contextfreegrammars-120925004035-phpapp02.pdfcontextfreegrammars-120925004035-phpapp02.pdf
contextfreegrammars-120925004035-phpapp02.pdfry54321288
 
Hw2 2017-spring
Hw2 2017-springHw2 2017-spring
Hw2 2017-spring奕安 陳
 
Alphabets , strings, languages and grammars
Alphabets , strings, languages  and grammarsAlphabets , strings, languages  and grammars
Alphabets , strings, languages and grammarshele987
 
Theory of Automata Lesson 01
 Theory of Automata Lesson 01  Theory of Automata Lesson 01
Theory of Automata Lesson 01 hamzamughal39
 
Context Free Languages by S.Mandal-1.ppt
Context Free Languages by S.Mandal-1.pptContext Free Languages by S.Mandal-1.ppt
Context Free Languages by S.Mandal-1.ppt1sonalishipu
 
Lesson-01-29092022-081117pm.ppt
Lesson-01-29092022-081117pm.pptLesson-01-29092022-081117pm.ppt
Lesson-01-29092022-081117pm.pptashja1
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4shah zeb
 
RegularLanguageProperties [Autosaved].pptx
RegularLanguageProperties [Autosaved].pptxRegularLanguageProperties [Autosaved].pptx
RegularLanguageProperties [Autosaved].pptxRaviAr5
 
9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptx9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptxmainakmail2585
 
Normal-forms-for-Context-Free-Grammars.ppt
Normal-forms-for-Context-Free-Grammars.pptNormal-forms-for-Context-Free-Grammars.ppt
Normal-forms-for-Context-Free-Grammars.pptKarthik Rohan
 
Theory of Automata ___ Basis ...........
Theory of Automata ___ Basis ...........Theory of Automata ___ Basis ...........
Theory of Automata ___ Basis ...........NaumanAli215439
 

Similaire à Class7 (20)

context free grammars automata therory and compiler design
context free grammars automata therory and compiler designcontext free grammars automata therory and compiler design
context free grammars automata therory and compiler design
 
contextfreegrammars-120925004035-phpapp02.pdf
contextfreegrammars-120925004035-phpapp02.pdfcontextfreegrammars-120925004035-phpapp02.pdf
contextfreegrammars-120925004035-phpapp02.pdf
 
Ambiguous grammar, dfa and slr grammar.
Ambiguous grammar, dfa and slr  grammar.Ambiguous grammar, dfa and slr  grammar.
Ambiguous grammar, dfa and slr grammar.
 
Hw2 2017-spring
Hw2 2017-springHw2 2017-spring
Hw2 2017-spring
 
L_2_apl.pptx
L_2_apl.pptxL_2_apl.pptx
L_2_apl.pptx
 
Alphabets , strings, languages and grammars
Alphabets , strings, languages  and grammarsAlphabets , strings, languages  and grammars
Alphabets , strings, languages and grammars
 
Pumping lemma for cfl
Pumping lemma for cflPumping lemma for cfl
Pumping lemma for cfl
 
Theory of Automata Lesson 01
 Theory of Automata Lesson 01  Theory of Automata Lesson 01
Theory of Automata Lesson 01
 
Class5
Class5Class5
Class5
 
Lex analysis
Lex analysisLex analysis
Lex analysis
 
Context Free Languages by S.Mandal-1.ppt
Context Free Languages by S.Mandal-1.pptContext Free Languages by S.Mandal-1.ppt
Context Free Languages by S.Mandal-1.ppt
 
Lesson-01-29092022-081117pm.ppt
Lesson-01-29092022-081117pm.pptLesson-01-29092022-081117pm.ppt
Lesson-01-29092022-081117pm.ppt
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Ch03
Ch03Ch03
Ch03
 
RegularLanguageProperties [Autosaved].pptx
RegularLanguageProperties [Autosaved].pptxRegularLanguageProperties [Autosaved].pptx
RegularLanguageProperties [Autosaved].pptx
 
9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptx9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptx
 
Ch02
Ch02Ch02
Ch02
 
Normal-forms-for-Context-Free-Grammars.ppt
Normal-forms-for-Context-Free-Grammars.pptNormal-forms-for-Context-Free-Grammars.ppt
Normal-forms-for-Context-Free-Grammars.ppt
 
Theory of Automata ___ Basis ...........
Theory of Automata ___ Basis ...........Theory of Automata ___ Basis ...........
Theory of Automata ___ Basis ...........
 
Cptp Nv.1
Cptp Nv.1Cptp Nv.1
Cptp Nv.1
 

Plus de issbp

Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systemsissbp
 
Os10 2
Os10 2Os10 2
Os10 2issbp
 
Os10
Os10Os10
Os10issbp
 
Os9 2
Os9 2Os9 2
Os9 2issbp
 
Os8 2
Os8 2Os8 2
Os8 2issbp
 
Os7 2
Os7 2Os7 2
Os7 2issbp
 
Os6 2
Os6 2Os6 2
Os6 2issbp
 
Os3 2
Os3 2Os3 2
Os3 2issbp
 
Os2 2
Os2 2Os2 2
Os2 2issbp
 
Class6
 Class6 Class6
Class6issbp
 
Class4
 Class4 Class4
Class4issbp
 
Class3
 Class3 Class3
Class3issbp
 
Class2
 Class2 Class2
Class2issbp
 

Plus de issbp (20)

Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systems
 
Os10 2
Os10 2Os10 2
Os10 2
 
Os10
Os10Os10
Os10
 
Os9 2
Os9 2Os9 2
Os9 2
 
Os9
Os9Os9
Os9
 
Os8 2
Os8 2Os8 2
Os8 2
 
Os8
Os8Os8
Os8
 
Os7 2
Os7 2Os7 2
Os7 2
 
Os7
Os7Os7
Os7
 
Os6 2
Os6 2Os6 2
Os6 2
 
Os6
Os6Os6
Os6
 
Os5
Os5Os5
Os5
 
Os4
Os4Os4
Os4
 
Os3 2
Os3 2Os3 2
Os3 2
 
Os3
Os3Os3
Os3
 
Os2 2
Os2 2Os2 2
Os2 2
 
Class6
 Class6 Class6
Class6
 
Class4
 Class4 Class4
Class4
 
Class3
 Class3 Class3
Class3
 
Class2
 Class2 Class2
Class2
 

Class7

  • 1. Context-Free Languages Derivation tree, parsing, & ambiguity context free grammar and ambiguity 1
  • 2. n n R {a b } {ww } Regular Languages context free grammar and ambiguity 2
  • 3. Context-Free Languages n n R {a b } {ww } Regular Languages context free grammar and ambiguity 3
  • 4. Context-Free Languages Context-Free Pushdown Grammars Automata stack automaton context free grammar and ambiguity 4
  • 5. Context-Free Grammars context free grammar and ambiguity 5
  • 6. n n L(G ) {a b : n 0} is not regular …. (((( )))) we relax the restriction of regular grammar context free grammar and ambiguity 6
  • 7. n n L(G ) {a b : n 0} is not regular …. A context-free grammar G : S aSb S The grammar G is linear but not regular. context free grammar and ambiguity 7
  • 8. n n L(G ) {a b : n 0} is not regular …. Regular grammar (e.g., a right linear grammar): A XB or A  X where A, B V, and X T* Context Free A  X where X (V T)* Grammar context free grammar and ambiguity 8
  • 9. Def. Context-Free Grammars (CFG) Grammar G (V , T , S , P ) Variables Terminal Start symbols variable Productions of the form: A x x is string of variables and terminals Note: A regular grammar is a regular grammar. context free grammar and ambiguity 9
  • 10. Def. Context-Free Languages (CFL) A language L is context-free if and only if there is a context free grammar G with L L (G ) Note: To show L is a CFL find a CFG for L. Note: A regular language is also a CFL. context free grammar and ambiguity 10
  • 11. n n is a Context-Free L(G ) {a b : n 0} Language with context-free grammar G: S aSb S A derivation: S aSb aaSbb aaaSbbb aaabbb context free grammar and ambiguity 11
  • 12. Another Example A context-free grammar G: S aSa S bSb A derivation: S S aSa abSba abaSaba abaaba R L(G ) {ww : w {a, b}*} is a Context-Free Language context free grammar and ambiguity 12
  • 13. A non Linear Examples A context-free grammar G: S aSb S SS S What is the L(G)? A derivation: S SS aSbS abS abaSb abaaSbb abaabb () (( )) context free grammar and ambiguity 13
  • 14. S aSb S SS S () ((( ))) (( )) L(G ) {w : na ( w) nb ( w), and na (v) nb (v) in any prefix v} How to prove the given grammar indeed generates the language? Homework #4 only shows L(G) L. context free grammar and ambiguity 14
  • 15. L(G) L: by induction on the number of steps in deriving a sentential form Any sentential form obtained from the grammar G: if by one step (rule2 & 3 do not generate any terminal symbols at all, i.e. na(w)=nb(w) = 0, thus is true; if it is from rule 1: SaSb, then it satisfies the condition of na(w)=nb(w) and the prefix condition. Assume any sentential obtained from n steps it is true, Now assume a sentential form of (n+1) steps: if the last step is by rule 2 or 3, then no new symbols is added, therefore it satisfies the condition since it satisfies on previous step; it the last step is by rule 1, then as can be seen that a is added before b is added (from left to right), thus the prefix condition is also satisfied. L L(G): by induction on |w|, w L. By observing the definition of L, w L then |w| is even, let |w|=2n. and if |w| >= 2, w = a…..b (the first symbol is a and the last symbol is b). |w|=0: then w= , then w L(G). Assume |w|=2n, w L(G) is true for n >= 0. Now |w| = 2n+2, then w=aub with |u|=2n, and u L. by induction assumption, u L(G), i.e. there exist a derivation s * u, thus S aSb * aub = w. context free grammar and ambiguity 15
  • 16. Show L={anbmcn: n, m 0 } is CF. Show L={anbncm: n, m 0 } is CF. context free grammar and ambiguity 16
  • 17. True or False If L is not regular then L is context free. If L is not context free then L is not regular From grammar G: S AB, A aA| , B bB| , thus L(G) is CF & not regular. context free grammar and ambiguity 17
  • 18. Examples of showing languages are Context Free Show { anbm : n = m+3} is CF. Show { anbm : n m+3} is CF. Try hw # 7 (a) ~ (d) p.133 context free grammar and ambiguity 18
  • 19. {anbm: n m+3} S1 is for n> m+3 & S2 is for n < m+3 & S  S1 | S2 S1: n m+4, i.e., n = m+t for t=4, 5, 6, …, i.e. anbm= am+tbm: thus, S1  aaaaB | aS1, B bB | . S2: n m+2, i.e, n+t =m+2, m = n-2 + t for t=0, 1, 2, …, i.e, anbm= anbn-2+t for t=0,1,2, … which implies anbm= anbn-2 , anbn-1 , anbn , anbn+1 , anbn+2 , .... (anbn-2 :) D  aa K, K aKb | ; (anbn-1:) E aK; (anbn , anbn+1 , anbn+2 , .... ) F Fb | K; and S2  D | E | F
  • 20. Examples of showing languages are Context Free Show { w: na(w) = nb(w)} is CF. Show { w: na(w) > nb(w)} is CF. Show { w: na(w) = 2 nb(w)} is CF. Try hw # 7 (e) ~ (g) p.133 context free grammar and ambiguity 20
  • 21. S aSb | bSa |SS| (for na = nb) S1 for na(w) >nb(w) S1 aS1 | aS | SS1 { w {a,b,c}*: |w|=3na(w)} E  aEbEc | aEcEb | bEaEc | bEaEc | cEaEb | cEbEa | EE | (this is for na = nb = nc) S  aEKEK | KEaEK | KEKEa K  b | c. context free grammar and ambiguity 21
  • 22. Derivation Order for w = aab in the CFG: 1. S AB 2. A aaA 4. B Bb 3. A 5. B Leftmost derivation: 1 2 3 4 5 S AB aaAB aaB aaBb aab Rightmost derivation: 1 4 5 2 3 S AB ABb Ab aaAb aab context free grammar and ambiguity 22
  • 23. Derivation Trees Another way of showing derivation, independent of the order in which productions are used. context free grammar and ambiguity 23
  • 24. S AB A aaA | B Bb | S AB S A B Every node to its children is corresponding to a production rule in the grammar context free grammar and ambiguity 24
  • 25. S AB A aaA | B Bb | S AB aaAB S A B a a A context free grammar and ambiguity 25
  • 26. S AB A aaA | B Bb | S AB aaAB aaABb S A B a a A B b context free grammar and ambiguity 26
  • 27. S AB A aaA | B Bb | S AB aaAB aaABb aaBb S A B a a A B b context free grammar and ambiguity 27
  • 28. S AB A aaA | B Bb | S AB aaAB aaABb aaBb aab S A Derivation Tree A B a a A B b Every leaf has a label from T { } context free grammar and ambiguity 28
  • 29. S AB A aaA | B Bb | S AB aaAB aaABb aaBb aab Derivation Tree S A B yield a a A B b aa b aab context free grammar and ambiguity 29
  • 30. derivation order doesn’t matter Leftmost: S AB aaAB aaB aaBb aab Rightmost: S AB ABb Ab aaAb aab S Same derivation tree A B a a A B b context free grammar and ambiguity 30
  • 31. S AB A aaA | B Bb | S Derivation Tree shows which rules are A B used in obtaining a w, but do not give the order of their applications. a a A B b We can find the corresponding left-most or right-most derivations from a given derivation tree easily. context free grammar and ambiguity 31
  • 32. Partial Derivation Trees Every leaf has a label from T { } V S AB A aaA | B Bb | The yield of a partial derivation S AB tree a sentential form of a derivation Partial derivation S tree with root S A B context free grammar and ambiguity 32
  • 33. sentential S AB aaAB form Partial derivation S tree with root S A B yield a a A aaAB context free grammar and ambiguity 33
  • 34. G: A CFG then Thm. 5.1 on p.132 Every w L(G) there exists a derivation tree with yield = w. a deriation with the sentential form w Conversely, the yield of any derivation tree w, w L(G) partial derivation tree tG (with root S), w Homework for 5.1 (p.133) : 2~5, 7, 8, 11, 13~24 Hand in: 7bef, 8bdg, 13, 15, 17, 18, 21 Prove by induction on the number of steps in the derivation. Check with the book on p.132. context free grammar and ambiguity 34
  • 35. Ambiguity context free grammar and ambiguity 35
  • 36. E E E | E E | (E) | a a a a leftmost derivation E E E E a E a E E a a E a a*a E E a E E a a context free grammar and ambiguity 36
  • 37. E E E | E E | (E) | a a a a leftmost derivation E E E E E E a E E E a a E a a a E E E E a a a context free grammar and ambiguity 37
  • 38. E E E | E E | (E) | a a a a Two derivation trees E E E E E E a E E E E a a a a a context free grammar and ambiguity 38
  • 39. The grammarE E E | E E | (E) | a is ambiguous: Because a string of L(G) has two derivation trees E E a a a E E E E a E E E E a a a a a context free grammar and ambiguity 39
  • 40. Or we can say A grammar is ambiguous…. context free grammar and ambiguity 40
  • 41. The grammarE E E | E E | (E) | a is ambiguous: There are two different leftmost derivations for a a a E E E a E a E E a a E a a*a E E E E E E a E E a a E a a a context free grammar and ambiguity 41
  • 42. Definition: A context-free grammar G is ambiguous if some string w L(G ) has two or more derivation trees context free grammar and ambiguity 42
  • 43. In other words: A context-free grammar G is ambiguous if some string w L(G ) has: two or more leftmost derivations (or rightmost) context free grammar and ambiguity 43
  • 44. Why do we care about ambiguity? a a a take a 2 E E E E E E a E E E E a a a a a context free grammar and ambiguity 44
  • 45. 2 2 2 E E E E E E 2 E E E E 2 2 2 2 2 context free grammar and ambiguity 45
  • 46. 2 2 2 6 2 2 2 8 6 8 E E 2 4 4 2 E E E E 2 2 2 2 2 E E E E 2 2 2 2 2 context free grammar and ambiguity 46
  • 47. Correct result: 2 2 2 6 6 E 2 4 E E 2 2 2 E E 2 2 context free grammar and ambiguity 47
  • 48. • Ambiguity is bad for programming languages • We want to remove ambiguity context free grammar and ambiguity 48
  • 49. We fix the ambiguous grammar: E E E | E E | (E) | a New non-ambiguous grammar: E E T E T T T F T F F (E) context free grammar and ambiguity F a 49
  • 50. E E T T T F T a T a T F a F F a a F a a a E a a a E E T E T E T T T F T T F T F F F a F (E) F a a a context free grammar and ambiguity 50
  • 51. Unique derivation tree E a a a E T T T F F F a a a context free grammar and ambiguity 51
  • 52. The grammar G: E E T E T T T F T F F (E) F a is non-ambiguous: i.e. EVERY stringw L (G ) has a unique derivation tree context free grammar and ambiguity 52
  • 53. Inherent Ambiguity Some context free languages have only ambiguous grammars Example: n n m n m m L {a b c } {a b c } S S1 | S2 S1 S1c | A S2 aS2 | B A aAb | B bBc | context free grammar and ambiguity 53
  • 54. n n n The string a b c has two derivation trees S S S1 S2 S1 c a S2 context free grammar and ambiguity 54
  • 55. Compilers context free grammar and ambiguity 55
  • 56. Machine Code Program Add v,v,0 v = 5; cmp v,5 if (v>5) jmplt ELSE x = 12 + v; THEN: while (x !=3) { Compiler add x, 12,v x = x - 3; ELSE: v = 10; WHILE: } cmp x,3 ...... ... context free grammar and ambiguity 56
  • 57. A parser knows the grammar of the programming language Lexical Compiler parser analyzer input output machine program Lexical analyzer : analyze the given input code is composed of (identifier, or an expression, 57 or a statement, etc) context free grammar and ambiguity
  • 58. Parser PROGRAM STMT_LIST STMT_LIST STMT; STMT_LIST | STMT; STMT EXPR | IF_STMT | WHILE_STMT | { STMT_LIST } EXPR EXPR + EXPR | EXPR - EXPR | ID IF_STMT if (EXPR) then STMT | if (EXPR) then STMT else STMT WHILE_STMT while (EXPR) do STMT context free grammar and ambiguity 58
  • 59. The parser finds the derivation of a particular input derivation Parser input E => E + E E -> E + E => E + E * E 10 + 2 * 5 |E*E => 10 + E*E | INT => 10 + 2 * E => 10 + 2 * 5 context free grammar and ambiguity 59
  • 60. derivation tree derivation E E => E + E E + E => E + E * E => 10 + E*E 10 E * E => 10 + 2 * E => 10 + 2 * 5 2 5 context free grammar and ambiguity 60
  • 61. derivation tree E machine code E + E mult a, 2, 5 add b, 10, a 10 E * E 2 5 context free grammar and ambiguity 61
  • 62. Parsing context free grammar and ambiguity 62
  • 63. Parser input grammar derivation string context free grammar and ambiguity 63
  • 64. Example: Parser S SS derivation input S aSb aabb ? S bSa S context free grammar and ambiguity 64
  • 65. Exhaustive Search S SS | aSb | bSa | Phase 1: S SS Find derivation of S aSb aabb S bSa S All possible derivations of length 1 context free grammar and ambiguity 65
  • 66. S SS aabb S aSb S bSa S context free grammar and ambiguity 66
  • 67. Phase 2 S SS | aSb | bSa | S SS SSS S SS aSbS aabb Phase 1 S SS bSaS S SS S SS S S aSb S aSb aSSb S aSb aaSbb S aSb abSab S aSb ab context free grammar and ambiguity 67
  • 68. Phase 2 S SS | aSb | bSa | S SS SSS S SS aSbS aabb S SS S S aSb aSSb S aSb aaSbb Phase 3 S aSb aaSbb aabb context free grammar and ambiguity 68
  • 69. Final result of exhaustive search (top-down parsing) Parser S SS input S aSb aabb S bSa S What happen if derivation there is no such derivation existed? I.e. what if w L(G)? S aSb aaSbb aabb context free grammar and ambiguity 69
  • 70. Is this searching method an algorithm? What if w L(G)? context free grammar and ambiguity 70
  • 71. Time complexity of exhaustive search Suppose there are no productions of the form A : - production A B : unit - production Number of phases for string w : 2| w| So that after the execution of every phase, either (1) the sentential form has additional one or more terminal symbols; and/or (2) the length of the sentential form is increased by at least one. context free grammar and ambiguity 71
  • 72. For grammar with k rules Time for phase 1: k k possible derivations context free grammar and ambiguity 72
  • 73. Time for phase 2: k 2 k 2 possible derivations context free grammar and ambiguity 73
  • 74. Time for phase 2 | w |: k 2|w| 2|w| possible derivations k context free grammar and ambiguity 74
  • 75. Total time needed for string w: 2 2|w| k k  k phase 1 phase 2 phase 2|w| Extremely bad!!! context free grammar and ambiguity 75
  • 76. There exist faster algorithms for specialized grammars Simple grammar: A ax ONE symbol V*: string from of variables such that pair ( A, a ) appears at most once context free grammar and ambiguity 76
  • 77. S aS S-grammar example: S bSS S c Not an S-grammar: S aS S bSS | bS S context free grammar and ambiguity 77
  • 78. Simple grammar: A ax Observe that if G is an S-grammar, then G has no productions like A : - production A B : unit - production In a derivation process for S-grammar, every phase will increase one terminal symbol. context free grammar and ambiguity 78
  • 79. S aS S-grammar example: S bSS S c Find a (left most)derivation for abcc: S aS abSS abcS abcc Find a (left most)derivation for bca: S bSS bcS bcaS bca L(G) since |bcaS| > | bca | context free grammar and ambiguity 79
  • 80. If G is an S-grammar, then in the exhaustive search parsing there is only one choice in each phase Thus, for any given string w, it takes a linear time, O(|w|), to decide either w L(G) by providing a unique derivation or w L(G). Not every CF grammar can be converted into an S-grammar. context free grammar and ambiguity 80
  • 81. S-grammar Example Let G = (V, T, S, P) be an S-grammar: Give an expression for the maximum size of P in terms of |V| and |T|. Is it possible for an s-grammar to be ambiguous? context free grammar and ambiguity 81
  • 82. For GENERAL context-free grammars: There exists a parsing algorithm that parses a string w in time | w |3 The CYK membership algorithm (on 6.3) 5.2 HW p.144 1~9,11~15,17~19 context free grammar and ambiguity 82