Download presentation
Presentation is loading. Please wait.
Published byRoy Ray Modified over 9 years ago
1
CSCI 2670 Introduction to Theory of Computing September 14, 2005
2
Agenda Yesterday –Pumping lemma Today –Introduce context-free grammars –Formally define CFG’s –Begin designing CFG’s Tomorrow –More on designing CFG’s –Chomsky normal form
3
Announcement Quiz tomorrow –Regular expressions –Pumping lemma
4
Context-free grammars The shortcoming of finite automata is that each state has very limited meaning –You have no memory of where you’ve been – only knowledge of where you are Context-free grammars are a more powerful method of describing languages –Example: {0 n 1 n | n 0} is a CFG
5
Example CFG Context-free grammars use substitution to maintain knowledge S (S) S SS S () All possible legal parenthesis pairings can be expressed by consecutive applications of these rules Is this a regular language?
6
Example S (S) | SS | () (()())(()) S SS (S)(S) (SS)(()) (()())(()) This sequence of substitutions is called a derivation
7
Parse tree S (S) | SS | () S SS SS () S )( S ()
8
Example 2 S Sb | Bb B aBb | aCb C ε Derivation for aaabbbbb S Sb Bbb aaBbbbb aaaεbbbbb aBbbb aaaCbbbbb
9
Example 2 parse tree S ε S b B b B ab B ab ba C
10
Example 2 S Sb | Bb B aBb | aCb C ε Question 1: What language does this grammar accept? Answer: {a n b m | m > n > 0} Question 2: Can this CFG be simplified? Answer: yes. Replace B aCb with B ab and remove C ε
11
Context-free grammar definition A context-free grammar is a 4-tuple (V, ,R,S), where 1.V is a finite set called the variables, 2. is a finite set, disjoint from V, called the terminals, 3.R is a finite set of rules, with each rule being a variable and a string of variables and terminals, and 4.S V is the start variable.
12
More definitions If u, v, and w are strings of variables and terminals, and A w is a rule of the grammar, we say uAv yields uwv –Denoted uAv uwv
13
More definitions If a sequence of rules leads from u to v – i.e., u u 1 u 2 … v, we denote this u * v (I can’t do the actual notation in powerpoint – the * should be over the double bars) The language of the grammar is {w * | s * w}
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.