0% found this document useful (0 votes)
10 views18 pages

Toc - Unit-Ii

unit II notes

Uploaded by

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

Toc - Unit-Ii

unit II notes

Uploaded by

ashwathy.sk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

Properties of Context-free Languages


Three ways to simplify/clean a CFG
1. Eliminate useless symbols (simplify)
2. Eliminate -productions
3. Eliminate unit productions

Eliminating useless symbols


A symbol X is reachable if there exists:
S *  X 
A symbol X is generating if there exists:
X * w,
for some w  T*
For a symbol X to be “useful”, it has to be both reachable and generating
S *  X  * w’, for some w’  T*

Algorithm to detect useless symbols


1. First, eliminate all symbols that are not generating
Next, eliminate all symbols that are not reachable

Example: Useless symbols


SAB | a
A b
1. A, S are generating
2. B is not generating (and therefore B is useless)
3. ==> Eliminating B… (i.e., remove all productions that involve B)
1. S a
2. A  b
4. Now, A is not reachable and therefore is useless
5. Simplified G:
1. S  a
Eliminating -productions
Caveat: It is not possible to eliminate -productions for languages which include  in their
word set
Theorem: If G=(V,T,P,S) is a CFG for a language L, then L\ {} has a CFG without -
productions
Definition: A is “nullable” if A* 
If A is nullable, then any production of the form
“B CAD” can be simulated by:
B  CD | CAD
Given: G=(V,T,P,S)
Algorithm:
1. Detect all nullable variables in G
2. Then construct G1=(V,T,P1,S) as follows:
i. For each production of the form: AX1X2…Xk, where k≥1, suppose m
out of the k Xi’s are nullable symbols
ii. Then G1 will have 2m versions for this production

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

i. i.e, all combinations where each Xi is either present or absent


iii. Alternatively, if a production is of the form: A, then remove it
Eliminating unit productions
Unit production is one which is of the form A B, where both A & B are variables

E.g.,
iv. E  T | E+T
v. T  F | T*F
vi. F  I | (E)
vii. I  a | b | Ia | Ib | I0 | I1
How to eliminate unit productions?
viii. Replace E T with E  F | T*F
ix. Then, upon recursive application wherever there is a unit production:
i. E F | T*F | E+T (substituting for T)
ii. E I | (E) | T*F| E+T (substituting for F)
iii. E a | b | Ia | Ib | I0 | I1 | (E) | T*F | E+T (substituting
for I)
iv. Now, E has no unit productions
Similarly, eliminate for the remainder of the unit productions

chomsky Normal Form

A context-free grammar G = (V,Σ,R,S) is said to be in Chomsky Normal Form (CNF), if


and only if every rule in R is of one of the following forms:

1.A→a, for some A∈V and some a ∈ Σ


2.A→BC, for some A∈Vand B,C ∈V\{S}
3.S→€
In other words: Every rule either replaces a variable by a single character or by a pair of
variables except the start symbol, and the only rule that can have the empty word as its
right-hand side must have the start symbol as its left-hand side. From the above definition
it follows, that every parse tree for a grammar in CNF must be a binary tree, and the parse
tree for any non-empty word cannot have any leaves labeled with € in it. The use for the
Chomsky Normal Form is to make many of the proofs about context-free languages we
will encounter later much easier by allowing us to assume that every context-free
grammar we want to reason about is in Chomsky Normal Form. We will first see the
usefulness of CNF in the proof for the Context-Free Pumping Lemma.

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

UNIT-II CONTEXT FREE GRAMMARS AND LANGUAGES

PART-A

1. Define CFG.2.Find L(G)where G=({S},{0,1},{S->0S1,S->ε},S).


2. Define derivation tree for a CFG(or)Define parse tree.
n n
3. Construct the CFG for generating the language L={a b /n>=1}.
4. Let G be the grammar S->aB/bA,A->a/aS/bAA,B->b/bS/aBB.for the string
aaabbabbba find the left most derivation.
5. Let G be the grammar S->aB/bA,A->a/aS/bAA,B->b/bS/aBB.obtain parse tree for the
string aaabbabbba.
6. For the grammar S->aCa,C->aCa/b.Find L(G).
7. Show that id+id*id can be generated by two distinct leftmost derivation in the
grammar E->E+E | E*E | (E) | id .
8. For the grammar S->A1B,A->0A | ε, B-> 0B | 1B| ε,give leftmost and rightmost
derivations for the string 00101.
9. Find the language generated by the CFG G=({S},{0,1},{S->0/1/ ε,
S->0S0/1S1},S).
10. obtain the derivation tree for the grammar G=({S,A},{a,b},P,S) where P
consist of S->aAS / a, A->SbA / SS / ba.
11. Consider the alphabet ∑={a,b,(,),+,*, ., ε} .Construct the context free grammar
that generates all strings in ∑* that are regular expression over the alphabet
{a,b}.
m n p
12. Write the CFG to generate the set {a b c | m + n=p and p>=1}.
13. Construct a derivation tree for the string 0011000 using the grammar
S->A0S |0 | SS , A-> S1A | 10.
14. Give an example for a context free grammar.
15. Let the production of the grammar be S-> 0B | 1A, A-> 0 | 0S | 1AA,
B-> 1|1S | 0BB.for the string 0110 find the right most derivation.
16. What is the disadvantages of unambiguous parse tree. Give an example.

PART-B

1. a) Let G be a CFG and let a=>w in G. Then show that there is a leftmost

derivation of w.

b) Let G=(V,T,P,S) be a Context free Grammar then prove that if S=> αthen there is a

derivation tree in G with yield α.

2. Let G be a grammar s->OB/1A, A->O/OS/1AA, B->1/1S/OBB. For the string


00110101 find its leftmost derivation and derivation tree.
3) a) If G is the grammar S->Sbs/a, Show that G is ambiguous.

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

b) Give a detailed description of ambiguity in Context free grammar

4. a) Show that E->E+E/E*E/(E)/id is ambiguous. (6) b)Construct a Context free grammar


G which accepts N(M), where M=({q0, q1},{a,b},{z0,z},δ,q0,z0,Φ) and where δis
given by

δ(q0,b,z0)={(q0,zz0)}

δ(q0, ε,z0)={(q0, ε)}

δ(q0,b,z)={(q0,zz)}

δ(q0,a,z)={(q1,z)}

δ(q1,b,z)={(q1, ε)}

δ(q1,a,z0)={(q0,z0)}

5. a)If L is Context free language then prove that there exists PDA M such that L=N(M).

b)Explain different types of acceptance of a PDA.Are they equivalent in sense of


language acceptance? Justify your answer.
n m n
6. Construct a PDA accepting {a b a /m,n>=1} by empty stack. Also construct the
corresponding context-free grammar accepting the same set.
7. a) Prove that L is L(M2 ) for some PDA M2 if and only if L is N(M1) for some PDA
M1.

b)Define deterministic Push Down Automata DPDA. Is it true that DPDA and PDA are
equivalent in the sense of language acceptance is concern? Justify Your answer.

8.a) Construct a equivalent grammar G in CNF for the grammar G1 where G1


=({S,A,B},{a,b},{S->bA/aB,A->bAA/aS/a, B->aBB/bS/b},S)

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II
Sri vidya college of engineering and technology Lecture notes

b)Find the left most and right most derivation corresponding to the tree.

9. a) Find the language generated by a grammar

G=({S},{a,b},{S->aSb, S->ab},S) (4)

b) Given G=({S,A},{a,b},P,S) where P={S->AaS|S|SS,A->SbA|ba}


S-Start symbol. Find the left most and right most derivation of the string
w=aabbaaa. Also construct the derivation tree for the string w.
c) Define a PDA. Give an Example for a language accepted byPDA by empty stack.

10. G denotes the context-free grammar defined by the


following rules. ` S->ASB/ab/SS A->aA/A ,B->bB/A
(i)Give a left most derivation of aaabb in G. Draw the associated parse tree.
(ii)Give a right most derivation of aaabb in G. Draw the associated
parse tree.
(iii) Show that G is ambiguous. Explain with steps.
(iv) Construct an unambiguous grammar equivalent to G. Explain.

CS6503 Theory of computation STUDENTSFOCUS.COM


Unit II

You might also like