Professional Documents
Culture Documents
Class 10
Class 10
{a b }
n n
{ww }
Regular Languages
Context-Free Languages
{a b }
n n
{ww }
Regular Languages
Context-Free Languages
Context-Free Grammars
Context-Free Grammars
Example
A context-free grammar
G:
S p aSb S pP
A derivation:
A context-free grammar
G:
S p aSb S pP
Another derivation:
S p aSb S pP
L(G ) ! {a b : n u 0}
n n
Example
A context-free grammar
G:
S p aSa S p bSb S pP
A derivation:
A context-free grammar
G:
S p aSa S p bSb S pP
Another derivation:
S p aSa S p bSb S pP
Example
A context-free grammar
G:
S p aSb S p SS S pP
A derivation:
S SS aSbS abS ab
Courtesy Costas Busch - RPI 12
A context-free grammar
G:
S p aSb S p SS S pP
A derivation:
S p aSb S p SS S pP
L(G ) ! {w : na ( w) ! nb ( w), and na (v) u nb (v)
in any prefix v}
14
G ! (V ,T , S , P)
Terminal symbols Start variables
A pE
E
is string of Courtesy Costas Busch - RPI terminals variables and
15
L is context-free
G with L ! L(G )
17
L(G ) ! {w : S w}
String of terminals
Courtesy Costas Busch - RPI 18
Derivation Order
1. S p AB
2. A p aaA 3. A p P
4. B p Bb 5. B p P
5
Leftmost derivation: 1 2 3 4
Derivation Trees
21
S p AB
A p aaA | P
B p Bb | P
S AB
S A B
22
S p AB
A p aaA | P
B p Bb | P
S AB aaAB
S A
a a
B A
23
S p AB
A p aaA | P
B p Bb | P
S AB aaAB aaABb
S A
a a
B A B
b
24
S p AB
A p aaA | P
B p Bb | P
B A
P
25
S p AB
A p aaA | P
B p Bb | P
S B A
P
B
P
26
S p AB
A p aaA | P
B p Bb | P
S B A
P
yield
B
P
aaPPb ! aab
27
S p AB
A p aaA | P
B p Bb | P
S AB
Partial derivation tree
A
Courtesy Costas Busch - RPI
B
28
S AB aaAB
S B A
29
A
a a
S AB aaAB
sentential form
S B A
yield
A
a a
aaAB
30
31
Ambiguity
32
E p E E | E E | (E) | a
a aa
E E
a
E E E a E a EE a a E a a*a
E
leftmost derivation
E
a
E
a
Courtesy Costas Busch - RPI 33
E p E E | E E | (E) | a
a aa
E EE E EE a EE E a aE a aa
leftmost derivation
E E
a
E
a
E
a
34
E p E E | E E | (E) | a
a aa
Two derivation trees
E E
a
E E
E E
a
E
a
E
a
E
a
E
a
35
The grammar
E p E E | E E | (E) | a is ambiguous:
string
E
E E
a
a
36
The grammar
E p E E | E E | (E) | a is ambiguous:
string
37
Definition:
A context-free grammar if some string
G is ambiguous
w L(G ) has:
38
G is ambiguous
w L(G ) has:
39
a aa
E E
a
take
a!2
E
E
E
E
a
E
a
E
a
E
a
E
a
40
2 22
E E 2
E E
E E 2 E 2
E 2
41
E 2
E 2
2 22 ! 6
6 E 2 E 2
2 22 ! 8
8 E
4 E
4 E 2 E 2 2 E 2
2 E 2
42
2 E 2
2 E 2
Correct result:
2 22 ! 6
6 E
2 E 2
4 E
2 E 2
2 E 2
43
44
E p E E | E E | (E) | a
New non-ambiguous grammar:
E p E T E pT T pT F T pF F p (E) F pa
45
E E T T T F T a T a T F a F F a aF a aa
a aa
T T F
a
46
E p E T E pT T pT F T pF F p (E) F pa
E T F
a
F
a
E E T F
a aa
T T F
a
Courtesy Costas Busch - RPI 47
The grammar
G:
E p E T E pT T pT F T pF F p (E) F pa
Inherent Ambiguity
Some context free languages have only ambiguous grammars Example:
L ! {a b c } {a b c } S1 p S1c | A A p aAb | P
Courtesy Costas Busch - RPI
n n m
n m m
S p S1 | S 2
S 2 p aS2 | B B p bBc | P
49
The string
a b c
n n n
S S1 S1
S S2
S2
50