CSCI 340: Computational Models Context-Free Languages

CSCI 340: Computational Models Context-Free Languages

CSCI 340: Computational Models Context-Free Languages Chapter 17 Department of Computer Science • Union L1 + L2 • Concatenation L1L2 ∗ • Kleene closure L1 Closure Properties of Context-Free Languages • Union, Product, Kleene closure, complement, and intersection of regular languages are all regular • What operations of context-free languages are still context-free? 1 / 11 Closure Properties of Context-Free Languages • Union, Product, Kleene closure, complement, and intersection of regular languages are all regular • What operations of context-free languages are still context-free? • Union L1 + L2 • Concatenation L1L2 ∗ • Kleene closure L1 1 / 11 Union Theorem If L1 and L2 are context-free languages, then their union, L1 + L2, is also a context-free language. In other words, the context-free languages are closed under union Proof (by grammars). • The CFG for L1 has start state S – rename it S1 • The CFG for L2 has start state S – rename it S2 • To avoid collisions with non-terminal states, append 1 if it belonged to the first CFG and 2 if it belonged to the second CFG • Introduce a new start state, S and create the production: S ! S1 j S2 • All words with derivations starting with S ! S1 belong to L1 and all words with derivations starting with S ! S2 belong to L2 2 / 11 Union – Example Example Consider the two languages L1 and L2: L1 be PALINDROME with CFG: S ! aSa j bSb j a j b j Λ n n L2 be f a b g with CFG: S ! aSb j Λ Example 1 L1 = EVENPALINDROME 2 L2 = ODDPALINDROME 3 / 11 Union – Alternative Proof Proof (by Machines). • PDA1 has a START state • PDA2 has a START state • “merge” these two START states together • Any input string which reaches ACCEPT either went through a path along PDA1 or PDA2 4 / 11 Concatenation Theorem If L1 and L2 are context-free languages, then so is L1L2. In other words, the context-free languages are closed under product Proof. • Let CFG1 and CFG2 be context-free grammars that generate L1 and L2 respectively • Relabel all nonterminals by appending 1 for every nonterminal in CFG1 and appending 2 for every nonterminal in CFG2 • Create a new production for S: S ! S1S2 • Any word generated by this CFG has a “front” part derived from S1 and a “rear” part derived from S2 • The two sets cannot cross over and interact with each other because the sets of non-terminals are disjoint 5 / 11 But can we prove concatenation with machines? • Should the TAPE be empty aer processing L1? • Should the STACK be empty aer processing L1? Concatenation – Example Example Let L1 be PALINDROME and CFG1 be S ! aSa j bSb j a j b j Λ n n Let L2 be f a b g and CFG2 be S ! aSb j Λ 6 / 11 Concatenation – Example Example Let L1 be PALINDROME and CFG1 be S ! aSa j bSb j a j b j Λ n n Let L2 be f a b g and CFG2 be S ! aSb j Λ But can we prove concatenation with machines? • Should the TAPE be empty aer processing L1? • Should the STACK be empty aer processing L1? 6 / 11 Kleene Closure Theorem If L is a context-free language, then L∗ is one too. In other words, the context-free languages are closed under the Kleene star. Proof (by construction). • Let us start with a CFG for the language L – it has start symbol S • Relabel S as S1 (replacing all occurrences) • Create a new production for non-terminal S: S ! S1S j Λ • We are able to apply the S production exactly once (producing λ), twice (producing exactly what was accepted originally), or n times (producing the closure) Example ! j j j j PALINDROME = S aSa bSb a b Λ 7 / 11 Consider two regular languages – then fanbnamg and fanbmamg Theorem (sort of) The complement of two context-free languages may or may not be context-free 0 0 0 Consider a regular language – then consider ¹L1 + L2 º = L1 \ L2 Intersection and Complement Theorem (sort of) The intersection of two context-free languages may or may not be context-free 8 / 11 0 0 0 Consider a regular language – then consider ¹L1 + L2 º = L1 \ L2 Intersection and Complement Theorem (sort of) The intersection of two context-free languages may or may not be context-free Consider two regular languages – then fanbnamg and fanbmamg Theorem (sort of) The complement of two context-free languages may or may not be context-free 8 / 11 Intersection and Complement Theorem (sort of) The intersection of two context-free languages may or may not be context-free Consider two regular languages – then fanbnamg and fanbmamg Theorem (sort of) The complement of two context-free languages may or may not be context-free 0 0 0 Consider a regular language – then consider ¹L1 + L2 º = L1 \ L2 8 / 11 The union is regular Example ∗ 1 a (regular) ∗ 2 PALINDROME (nonregular context-free and contains a ) The union is nonregular context-free Mixing Context-Free and Regular Languages Claim The union of a context-free language and a regular language must be context-free because the regular language itself is context-free. Example 1 PALINDROME (nonregular context-free) ∗ 2 ¹a + bº (regular and contains PALINDROME) 9 / 11 The union is nonregular context-free Mixing Context-Free and Regular Languages Claim The union of a context-free language and a regular language must be context-free because the regular language itself is context-free. Example 1 PALINDROME (nonregular context-free) ∗ 2 ¹a + bº (regular and contains PALINDROME) The union is regular Example ∗ 1 a (regular) ∗ 2 PALINDROME (nonregular context-free and contains a ) 9 / 11 Mixing Context-Free and Regular Languages Claim The union of a context-free language and a regular language must be context-free because the regular language itself is context-free. Example 1 PALINDROME (nonregular context-free) ∗ 2 ¹a + bº (regular and contains PALINDROME) The union is regular Example ∗ 1 a (regular) ∗ 2 PALINDROME (nonregular context-free and contains a ) The union is nonregular context-free 9 / 11 Intersection of CFLs and RLs Theorem The intersection of a context-free language and a regular language is always context-free 10 / 11 Homework 9b 5 (4pt) Using (1) the theorems on slides 2, 5, and 7; (2) a lile ingenuity; and (3) the recursive definition of regular languages – provide a new proof that all regular languages are context-free 6 (2pt ea) Find CFGs for the following languages: • All words that start with a or are of the form anbn • All words in EVEN-EVEN∗ • All words that start with ODD-PALINDROME and end with EVEN-PALINDROME 7 (4pt) Find a CFG for ax by az where x + z = y 8 (2pt ea) Which of the following are context-free? • EQUAL \ f anbnan g • EVEN-EVEN’ \ PALINDROME • f anbn g0 \ PALINDROME 11 / 11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us