Presentation is loading. Please wait.

Presentation is loading. Please wait.

فصل دوم Context-Free Languages

Similar presentations


Presentation on theme: "فصل دوم Context-Free Languages"— Presentation transcript:

1 فصل دوم Context-Free Languages
نظریه زبان ها و ماشین ها فصل دوم Context-Free Languages دانشگاه صنعتی شریف پاییز 86

2 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Table Of Content Context-Free Grammars Pushdown Automata Non-Context-Free Languages پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

3 Context-Free Grammars
A collection of substitution rules (production) Each rule → A line in the grammar Each line → A variable, an arrow, a string The string → variables and terminals پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

4 Context-Free Grammars (Example)
An Example: (G1) Three rules Variables: A,B Start Variable: A Terminals: 0,1,# پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

5 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Derivation Generating the strings of the language: G1: پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

6 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Parse Tree پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

7 Context-Free Language
All Strings generated in this way L(G1) : G2 (describes a fragment of the English language): پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

8 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
A Derivation Example Derivation of the sentence “a boy sees” in G2 پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

9 Context-Free Language (Formal Definition)
پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

10 Context-Free Language (Formal Definition)
u derives v The language of the grammar: پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

11 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Examples G3: R (Set of Rules): Strings such as: abab, aaabbb, aababb If: a→( and b →), then: L(G3) → language of all strings of properly nested parentheses پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

12 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Examples G4: V: Σ: R (Set of Rules): پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

13 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Examples (G4) پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

14 Designing Context-Free Grammars
Break the CFL into simpler pieces, if possible Construct grammar for each piece Combine the rules and the new rule S→S1|S2|…|Sk, where the Si are the start variables for the individual grammars پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

15 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example Language: : Add the rule: to give the grammar: پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

16 Designing Context-Free Grammars
Any DFA can be converted to an equivalent CFG Make a variable Ri for each state qi Add the rule , if Add the rule , if qi is an accept state پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

17 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Ambiguity When a grammar can generate the same string in different ways Undesirable for applications such as programming languages پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

18 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example This grammar generates the string ambiguously پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

19 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Ambiguity Leftmost derivation: at every step, the leftmost remaining variable is replaced. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

20 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
CHOMSKEY NORMAL FORM Any context-free language is generated by a context-free grammar in chomskey normal form. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

21 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example Step 1: (make a new start variable) Step 2: Remove ε rules B→ε , shown on the left and A→ε , shown on the right پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

22 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example (cont.) Step 3a: Remove unit rules S→S, shown on the left and S0→S, shown on the right Step 3b: Remove unit rules A→B and A→S پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

23 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example (cont.) Step 4: convert the remaining rules into the proper form by adding variables and rules پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

24 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
PUSHDOWN AUTOMATA Like nondeterministic finite automata, with an extra component: stack The stack provides additional memory Pushdown automata are equivalent in power to context-free پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

25 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
PUSHDOWN AUTOMATA پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

26 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
PUSHDOWN AUTOMATA Push: Writing a symbol on the stack Pop: Removing a symbol Recognizes {0n1n|n≥0} As each 0 is read from the input, push it onto the stack. Pop a 0 off the stack for each 1 read. Reading the input is finished exactly when the stack becomes empty→Accept پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

27 PUSHDOWN AUTOMATA (formal definition)
پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

28 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example L={0n1n|n≥0} Q={q1,q2,q3,q4} Σ={0,1} Γ={0,$} F={q1,q4} δ: پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

29 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example (cont.) پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

30 Equivalence with context-free grammars
A language is context free if and only if some pushdown automaton recognizes it. Proof Idea: Let A be a CFL. Show how to convert the A’s CFG, G into an equivalent PDA, P. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

31 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Proof Any terminal symbols appearing before the first variable are matched with input. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

32 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Proof پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

33 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Proof (cont.) (r,u)∈δ(q,a,s)→When q is the state of the automaton, a is the next input symbol, and s is on the top of the stack, push the string u onto the stack and go on to the state r. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

34 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Proof (cont.) Q={qstart,qloop,qaccept} E Step 1: δ(qstart,ε,ε)={(qloop,S$)} Step 2: (a) δ(qloop,ε,A)={(qloop,w)|where A→w is a rule} (b) δ(qloop,a,a)={(qloop,ε)} (c) δ(qloop,ε,$)={(qaccept,ε)} پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

35 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Proof (cont.) پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

36 Relationship of the regular and context-free languages
Every regular language is context-free. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

37 NON-CONTEXT-FREE LANGUAGES
Pumping Lemma for context-free languages: If A is a context-free language, then there is a number p (the pumping length) where, if s is any string in A of length at least p, then s may be divided into five pieces s=uvxyz satisfying the conditions: For each i≥0, uvixyiz∈A |vy|>0 |vxy|≤p پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

38 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example B={anbncn|n≥0} Assume that B is a CFL and p is the pumping length. s=apbpcp: a member of B and of length at least p We show that it can not be pumped پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

39 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
Example (cont.) s=uvxyz Condition1 v and y contain one type pf symbol→ uv2xy2z cannot contain equal number of a’s, b’s and c’s. Either v or y contain more than one type of symbol→ uv2xy2z cannot contain a’s, b’s and c’s in the correct order. پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

40 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف
End of chapter 2  پاییز 86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف


Download ppt "فصل دوم Context-Free Languages"

Similar presentations


Ads by Google