0% found this document useful (0 votes)
73 views46 pages

CFG & PDA Concepts for CSE Students

This document discusses context-free grammars and pushdown automata. It defines CFGs, provides examples of CFGs for different languages, and discusses ambiguity and normal forms of CFGs. It also defines pushdown automata and discusses their properties.

Uploaded by

geetha megharaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views46 pages

CFG & PDA Concepts for CSE Students

This document discusses context-free grammars and pushdown automata. It defines CFGs, provides examples of CFGs for different languages, and discusses ambiguity and normal forms of CFGs. It also defines pushdown automata and discusses their properties.

Uploaded by

geetha megharaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

CONTEXT FREE GRAMMAR

MODULE 3
MODULE – 3
MODULE III:

Context-Free Grammars(CFG): Introduction to Rewrite Systems and Grammars, CFGs and languages, designing
CFGs, simplifying CFGs, proving that a Grammar is correct, Derivation and Parse trees, Ambiguity, Normal
Forms.
Pushdown Automata (PDA):Definition of non-deterministic PDA, Deterministic and Non-deterministic PDAs,
Nondeterminism and Halting, alternative equivalent definitions of a PDA, alternatives that are not
equivalent to PDA.
 Definition: Context-Free Grammar (CFG) has 4-tuple: G = (V, T, P, S)

Where,

V - A finite set of variables or non-terminals


T - A finite set of terminals (V and T do not intersect)
P - A finite set of productions, each of the form A –> α,
Where A is in V and α is in (V U T)*
Note: that α may be ε.
S - A starting non-terminal (S is in V)

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
• Example CFG:

S, SIGMA={0,1}
G = ({S}, {0, 1}, P, S)

P: S –> 0S1 or just simply S –> 0S1 | ε

S –> ε
L={01, 0011, 000111, 00001111, 0000011111,
}

S –> 0S1
0e1
01

S –> 0S1
0 0S1 1
00 e 1 1
0011

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
Example :

2. CFG to generate 0 or more a’s L{e, a, aa, aaaa………}


A –> Aa | a | ε
A => Aa
=> aa ; A->a
derivation

3. CFG to generate strings of a’s and b’s of any length L={e, aba, baba,………}

S –> ε |a|b|Sa|Sb
aba
S->Sa ; S->Sa
->Sb a ; S->Sb
-> aba ; S ->a

4. Grammar for L ={anbn |n>=1}


L ={ab,aabb,aaabbb…………}
P: S –> ab|aSb
V ={S} T={a,b} P:set of productions S:{S}

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
5. Grammar for L ={anbn |n>=0}
L ={ε , ab,aabb,aaabbb…………}
S –> ab|aSb | ε aabbbb
S->aSbb
6. Grammar for L ={anb2n |n>=0} L={e, abb, aabbbb, ……. } ->aabb bb ; S->abb
L ={ε , abb,aabbbb,aaabbbbbb…………}
S –> abb|aSbb | ε

7. Grammar for L ={anbn+1 |n>=0}


L ={b , abb,aabbb,aaabbbb…………}
S –> b|aSb

8 . Grammar for L ={anbn+2 |n>=0}


L ={bb , abbb,aabbbb,aaabbbbb…………}

anbn+2 = anbn b b
S –> Abb
A –> ε |aAb
abbb
S->Abb
->aAb bb ; A->aAb
->a e bbb ; A->e
abbb
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
9. Grammar for L ={ w : |w| mod 3 = 0} over Σ ={a}
L ={ε , aaa, aaaaaa…………} aaaa
S –> ε |Saaa S->Saaa
-> a aaa ;S->a
10. Grammar for L ={ w : |w| mod 3 > 0} over Σ ={a}
L ={a, aa, aaaa, aaaaa…………}
S –> a | aa|Saaa
aabbbbcc
11. Grammar for L ={a b c : m=n+k } over Σ ={a, b, c}
n m k
S->AB
->aAbB
L ={abbc, aabbbbcc, aaaacccccb,…………} ->aab bB A->ab
-> aabb bBc ; B->bBc
anbm ck = an bn+k ck = an bn bk ck -> aabbbbcc ; B->bc
S –> AB
A –> aAb | ab
B –> bBc | bc

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
13. Grammar for L ={WWR } over Σ ={a, b}
S –> aSa | bSb | a | b | ε
S –> aAc
L={abba, abbbba…….} a aAb c
aa aAb bc
14.Grammar to generate arithmetic expression { id } aaa e bbc
aaabbc
E -> E + E
E -> E – E
E -> E * E
abbbba
E -> E / E S ->aSa
E -> id | (E) a bSb a ; S->bSb
Generate: id + id*id : Left Most Derivation ab bSb ba ; S->bSb
E→E+E abb e bba ; S->e
E → id + E abbbba
E → id + E * E
E → id + id * E
E → id + id * id Id+id
Id*id-id/id
A+b-(a-d)

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
For some strings there exist more than one parse tree
Or more than one leftmost derivation or more than
one rightmost derivation
P:
E → E + E | E * E | E – E | E / E
E→ id
G=(V T P S) V={E} T={id,+,_,*,/} S =E

Example: id+id*id

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
Is the grammar ambiguous?
S -> aS | X
X -> aX | a
L={a, aa, aaa, aaaa}

Consider aaa
S -> aS S -> X
-> a X -> aX
-> aa X -> aaX
-> aa a -> aaa

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
Is the grammar ambiguous?
S -> aB | bA
A -> aS | bAA | a
B -> bS | aBB | b

Consider string : aabbab


Obtain string aaabbabbba by applying left most and right most derivations

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
Show that the grammar is ambiguous
S -> aSbS | bSaS | ε
Soln : derive aababb

S -> aSbS
aaSbSbS
aabSaS

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
Der1 --ibtibtibtaea

S->iCtSeS
-> ibtSeS ; C->b
-> ibt iCtS eS ; C->b
->ibtibt SeS ; S->iCtS
-> ibtibt iCtS eS ; C->b
->ibtibtibt SeS ; S->a
->ibtibtibt aeS ; S->a
->ibtibtibtaea

Der2

GEETHA MEGHARAJ, CSE, SKIT 18CS54


MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2
GEETHA MEGHARAJ, CSE, SKIT 18CS54
MODULE 2

You might also like