Context Free Grammars Definition of a grammar G

 Context Free Grammars  Definition of a grammar G

Context Free Grammars Definition of a grammar G Deriving strings and defining L(G) Context-Free Language definition 1 Context-Free Grammars Definition 2 Definition A context-free grammar G = (V, , S, P)

V: finite set of variables (nonterminals) : finite set of characters (terminals) S: start variable element of V role is similar to that of q0 for an FSA or NFA P: finite set of grammar rules or production rules Syntax of a production variable string of variables and terminals 3 English Context-Free Grammar ECFG = (V, , S, P)

V = {, , , ... } people sometimes use < > to delimit variables In this course, we generally will use capital letters to denote variables = {a, b, c, ..., z, ;, ,, ., ...} S = P = { ,

, ...} 4 {aibi | i>0} CFG ABG = (V, , S, P)

V = {S} = {a, b} S=S P = {S aSb, S ab} or S aSb | ab second format saves some space 5 Context-Free Grammars Deriving strings, defining L(G), and defining context-free languages 6

Defining , ==> notation First: notation This is used to define the productions of a grammar S aSb | ab Second: ==>G notation This is used to denote the application of a production rule from a grammar G S ==>ABG aSb ==>ABG aaSbb ==>ABG aaabbb We say that string S derives string aSb (in one step) We say that string aSb derives string aaSbb (in one step) We say that string aaSbb derives string aaabbb (in one step)

We often omit the grammar subscript when the intended grammar is unambiguous 7 Defining ==> continued Third: ==>kG notation This is used to denote k applications of production rules from a grammar G S ==>2ABG aaSbb We say that string S derives string aaSbb in two steps aSb ==>2ABG aaabbb

We say that string aSb derives string aaabbb in two steps We often omit the grammar subscript when the intended grammar is unambiguous 8 Defining ==> continued Fourth: ==>*G notation This is used to denote 0 or more applications of production rules from a grammar G S ==>*ABG S We say that string S derives string S in 0 or more steps

S ==>*ABG aaSbb We say that string S derives string aaSbb in 0 or more steps aSb ==>*ABG aaSbb We say that string aSb derives string aaSbb in 0 or more steps aSb ==>*ABG aaabbb We say that string aSb derives string aaabbb in 0 or more steps We often omit the grammar subscript when the intended grammar is unambiguous 9

Defining derivations * Derivation of a string x The complete step by step derivation of a string x from the start variable S Key fact: each step in a derivation makes only one application of a production rule from G Example: Derivation of string aaabbb using ABG S ==>ABG aSb ==>ABG aaSbb ==>ABG aaabbb Example 2: AG= (V, , S, P) where P = S SS | a Deriving string aaa S ==> SS ==> Sa ==> SSa ==> aSa ==> aaa

10 Defining L(G) * Generating strings If S ==>G* x, then grammar G generates string x Note G generates strings which contain terminals and nonterminals aSb contains nonterminals and terminals S contains only nonterminals aaabbb contains only terminals L(G)

The set of strings over generated by grammar G Note we only consider terminal strings generated by G {aibi | i > 0} = L(ABG) {ai | i > 0} = L(AG) 11 Context-Free Languages * Context-Free Languages A language L is a context-free language (CFL) iff Results so far

{ai | i > 0} is a CFL One CFG G such that L(G) = this language is AG Note this language is also regular {aibi | i > 0} is a CFL One CFG G such that L(G) = this language is ABG Note this language is NOT regular 12 Example Let BAL = the set of strings over {(,)} in which the parentheses are balanced Prove that BAL is a CFL

To prove this, you need to come up with a CFG BALG such that L(BALG) = BAL BALG = (V, , S, P) V = {S} = {(, )} S=S P=?

Give derivations of ((( ))) and ( )(( )) with your grammar 13 Implications Given that the language of balanced parentheses is a CFL, what implications does this have for compiler design? What programming language structures can be captured by CFG? 14

Recently Viewed Presentations

  • 4-H composting quizz - Grenada Solid Waste Management

    4-H composting quizz - Grenada Solid Waste Management

    Ready to use compost looks like which of the following a Black and hot b Dark brown and crumbly c Sticky and brown d yellowish brown and hot Answer 5. B Dark brown and crumbly True or false 1. Keeping...
  • Ch.3 Fuel System of Diesel Engine

    Ch.3 Fuel System of Diesel Engine

    Cam Shaft . Spark Plug . Carburettor. ... - The engine which requires four stroke of piston or two revolutions of the crank shaft to complete the working cycle is known as four stroke cycle engines. ... primary winding and...
  • Reasons that people give for not tithing. I

    Reasons that people give for not tithing. I

    Types of Giving in the Old Testament. 1. The Lord's Tithe. Leviticus 27:30. And all the tithe of the land, whether of the seed of the land or . of the fruit of the tree, is the . LORD's. It...
  • Slide Material for DHS Reverse Site Visit

    Slide Material for DHS Reverse Site Visit

    GRAND CHALLENGES FOR MACHINE LEARNING Jaime Carbonell School of Computer Science Carnegie Mellon University 3:30 pm 7500 Wean Hall Machine learning has evolved from obscurity in the 1970s into a vibrant and popular discipline in artificial intelligence during the 1980s...
  • TAMU TMB Mezz &amp; Rad Test Update

    TAMU TMB Mezz & Rad Test Update

    PEEK is one of the best polymers in terms of: -radiation tolerance -mechanical properties -outgassing -chemical resistance Next Prototype: No Gluing & PEEK frames Use O-ring to seal outer frames to drift plane Panasonic readout connector Readout PCB GEM foils...
  • STATE ACCOUNTABILITY Update 2015 PowerPoint created by Elvia

    STATE ACCOUNTABILITY Update 2015 PowerPoint created by Elvia

    PowerPoint created by Elvia Noriega, Richardson ISD. Outline. ... # Test Reading + # Test Algebra I ... Once a campus is on the PEG list it there for at least TWO years. What does it mean for me? Performance...
  • The Man Who Planted Trees A story by

    The Man Who Planted Trees A story by

    In this room there must be XXX young people. Just think how exciting it would be if we all planted trees like the shepherd. This is exactly what the Woodland Trust is doing with children, communities and farmers all over...
  • Apparent Weight - nicadd.niu.edu

    Apparent Weight - nicadd.niu.edu

    Apparent Weight Acceleration of Gravity Objects that fall to the Earth all experience an acceleration. The acceleration due to gravity is g = 9.8 m/s2. This acceleration must be due to a force. Force of Gravity The acceleration of a...