Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 35

Derivation Trees

S AB

A aaA |

B Bb |

S AB
S

S AB

A aaA |

B Bb |

S AB aaAB
S

A
a a

B A

S AB

A aaA |

B Bb |

S AB aaAB aaABb
S

A
a a

B A B
b

S AB

A aaA |

B Bb |

S AB aaAB aaABb aaBb


S

A
a a

B A B
b

S AB

A aaA |

B Bb |

S AB aaAB aaABb aaBb aab


Derivation Tree

A
a a

B A B
b

S AB

A aaA |

B Bb |

S AB aaAB aaABb aaBb aab


Derivation Tree

A
a a

B A B
b

yield

aab aab
7

Ambiguity

E 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
9

E 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

10

E 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

11

The grammar

E E E | E E | (E) | a is ambiguous:
string

a a a has two derivation trees


E E E

E
a

E
E E

E
a

a
12

The grammar

E E E | E E | (E) | a is ambiguous:
string

a a a has two leftmost derivations

E E E a E a EE a a E a a*a E EE E EE a EE a aE a aa

13

Definition:
A context-free grammar if some string

G is ambiguous

w L(G ) has:

two or more derivation trees

14

In other words: A context-free grammar if some string

G is ambiguous

w L(G ) has:

two or more leftmost derivations


(or rightmost)

15

Why do we care about ambiguity?

a aa
E E
a

take

a2
E

E
a

E
a

E
a

E
a

E
a

16

2 22
E E 2

E E

E E 2 E 2

E 2

E 2

E 2

17

2 22 6
6 E

2 22 8
8 E

2 E 2

4 E

4 E 2 E 2 2 E 2

2 E 2

2 E 2

2 E 2

18

Correct result:

2 22 6
6 E

2 E 2

4 E

2 E 2

2 E 2
19

Ambiguity is bad for programming languages

We want to remove ambiguity

20

Example
Let G be the Grammar

S 0B /1A
A 0 / 0S /1AA B 1/1S / 0BB
Find a) Left Most Derivation b) Right Most Derivation c) Derivation Tree
23

24

Thanks for your Patience

30

You might also like