Context Free Grammars - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Context Free Grammars

Description:

Deriving strings, defining L(G), and defining context-free languages. 12 ... Note G generates strings which contain terminals and nonterminals ... – PowerPoint PPT presentation

Number of Views:183
Avg rating:3.0/5.0
Slides: 19
Provided by: erict9
Learn more at: http://www.cse.msu.edu
Category:

less

Transcript and Presenter's Notes

Title: Context Free Grammars


1
Lecture 26
  • Context Free Grammars
  • Examples of real-life grammars
  • Definition of a grammar G
  • Deriving strings and defining L(G)
  • Context-Free Language definition

2
Grammars
  • Examples of real-life grammars

3
English Grammar
  • The underdog Spartans shock the world.
  • Diagram this sentence
  • The underdog Spartans shock the world.
  • The underdog Spartans shock the world.
  • .
  • Can we generalize these rules?
  • -- ...
  • --
    ...
  • --
    ...
  • -- Spartans man boy woman ...
  • -- shock run catch ...
  • ...

4
Deriving a legal sentence
  • Grammar rules
  • -- ...
  • --
    ...
  • --
    ...
  • -- Spartans man boy woman ...
  • -- shock run catch ...
  • ...
  • ...

5
C Grammar
  • points td6 xp x2p2 fg3 safety 2
  • Diagram this statement
  • points td6 xp x2p2 fg3 safety 2
  • ...
  • Can we generalize these rules?
  • -- statement ...
  • --
  • -- points td xp x2p fg
    safety ...
  • --
    ...
  • ...

6
Deriving a legal statement
  • Grammar Rules
  • -- statement ...
  • --
  • -- points td xp x2p fg
    safety ...
  • --
    ...
  • ...
  • points
  • points
  • ...

7
Context-Free Grammars
  • Definition

8
Definition
  • A context-free grammar G (V, S, S, P)
  • V finite set of variables (nonterminals)
  • S 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

9
English Context-Free Grammar
  • ECFG (V, S, S, P)
  • V , , ,
    ...
  • people sometimes use to delimit variables
  • In this course, we generally will use capital
    letters to denote variables
  • S a, b, c, ..., z, , ,, ., ...
  • S
  • P --
    , -- ,
    ...

10
aibi i0 CFG
  • ABG (V, S, S, P)
  • V S
  • S a, b
  • S S
  • P S -- aSb, S -- ab or S -- aSb ab
  • second format saves some space

11
Context-Free Grammars
  • Deriving strings, defining L(G), and defining
    context-free languages

12
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 subscript G when the intended
    grammar is unambiguous

13
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 subscript G when the intended
    grammar is unambiguous

14
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 subscript G when the intended
    grammar is unambiguous

15
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, S, P) where P S --SS a
  • Deriving string aaa
  • S SS Sa SSa aSa aaa

16
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 S generated by grammar G
  • Note we only consider terminal strings generated
    by G
  • aibi i 0 L(ABG)
  • ai i 0 L(AG)

17
Context-Free Languages
  • Context-Free Languages
  • A language L is a context-free language (CFL) iff
    there exists a CFG G such that L(G) L
  • 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

18
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, S, P)
  • V S
  • S (, )
  • S S
  • P ?
  • Give derivations of ((( ))) and ( )(( )) with
    your grammar
Write a Comment
User Comments (0)
About PowerShow.com