Presentation is loading. Please wait.

Presentation is loading. Please wait.

1.Draw a parse tree for the following derivation: S  C A C  C A b b  b b A b b  b b B b b  b b a A a a b b  b b a b a a b b 2. Show on your parse.

Similar presentations


Presentation on theme: "1.Draw a parse tree for the following derivation: S  C A C  C A b b  b b A b b  b b B b b  b b a A a a b b  b b a b a a b b 2. Show on your parse."— Presentation transcript:

1 1.Draw a parse tree for the following derivation: S  C A C  C A b b  b b A b b  b b B b b  b b a A a a b b  b b a b a a b b 2. Show on your parse tree u, v, x, y, z as per the pumping theorem. 3. Prove that the language for this question is an infinite language.

2 Prove the following languages are context- free by designing context-free grammars which generate them: L 1 = {a n b n c p : n, p ≥ 0} L 2 = {a n b p c n : n, p ≥ 0} L 3 = {a n b m : n ≠ m, n, m ≥ 0} Hint: L 3 = {a n b m : n m} L 4 = { c u c v c : |u|=|v|, u, v  {a, b}* } What is L 1  L 2 ?

3 3 Assignment #3: Due Fri. Oct. 21. For Oct. 18/19: Some practice questions for Tutorial #5 have been posted. Old midterms are available on the CSC 320 web page. I’m away at a conference Oct. 19-21: No office hours. Ask assignment questions early. Our midterm is Wed. Oct. 26 in class. Midterm tutorial: Mon. Oct. 24, ECS 116.

4 Pushdown Automata Picture from: Torsten Schaßan

5 Pushdown Automata: A pushdown automaton is like a NDFA which has a stack. Every context-free language has a pushdown automaton that accepts it. This lecture starts with some examples, gives the formal definition, then investigates PDA’s further.

6 Stacks

7 Stack Data Structure: permits push and pop at the top of the stack.

8 L= { w c w R : w  {a, b}* } StateInputPopNext state Push saεsA sbεsB scεtε taAtε tbBtε Start state: s, Final State: {t}

9 To accept, there must exist a computation which: 1.Starts in the start state with an empty stack. 2. Applies transitions of the PDA which are applicable at each step. 3. Consumes all the input. 4. Terminates in a final state with an empty stack.

10 B B A w = a b b c b b a BBA (s, abbcbba, ε) ├* (s, cbba, BBA)├ (t, bba, BBA) ├* (t, ε, ε) Stack is knocked over like this:

11 A pushdown automaton is a sextuple M= (K, Σ, Γ, Δ, s, F) where K is a finite set of states, Σ is an alphabet (the input symbols) Γ is an alphabet (the stack symbols) Δ, the transition relation, is a finite subset of ( K x (Σ ⋃ { ε}) x Γ*) x (K x Γ*) state input pop next state push

12 A configuration of a PDA is a member of K x Σ* x Γ* current state input remaining stack A configuration (q, σ w, α x) ├ (r, w, βx) if ((q, σ, α ), (r, β))  Δ. For M= (K, Σ, Γ, Δ, s, F), L(M) (the language accepted by M) = { w  Σ* : (s, w, ε) ├ * (f, ε, ε) for some final state f in F}.

13 To accept, there must exist a computation which: 1.Starts in the start state with an empty stack. 2. Applies transitions of the PDA which are applicable at each step. 3. Consumes all the input. 4. Terminates in a final state with an empty stack. L(M)= { w  Σ* : (s, w, ε) ├ * (f, ε, ε) for some final state f in F}.

14 L= { w w R : w  {a, b}* } StateInputPopNext state Push saεsA sbεsB sεεtε taAtε tbBtε Start state: s, Final State: {t} PDA’s are non-deterministic: Guessing wrong time to switch from s to t gives non-accepting computations.

15 StateInputPop Next state Push saεsB saAsε sbεsA sbBsε L= {w in {a, b}* : w has the same number of a’s and b’s} Start state: s Final states: {s}

16 StateInputPopNext state Push sεεtX taXtBX taAtε taBtBB tbXtAX tbAtAA tbBtε tεXfε L= {w in {a, b}* : w has the same number of a’s and b’s} State state: s, Final states: {f} A more deterministic solution: Stack will never contain both A’s and B’s. X- bottom of stack marker.


Download ppt "1.Draw a parse tree for the following derivation: S  C A C  C A b b  b b A b b  b b B b b  b b a A a a b b  b b a b a a b b 2. Show on your parse."

Similar presentations


Ads by Google