Ch4 - Chapter 4 Normal Forms for CFGs 2 4.5 Chomsky Normal...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Chapter 4 Normal Forms for CFGs 2 4.5 Chomsky Normal Form Defn 4.4.1 A CFG G = ( V , , P , S ) is in chomsky normal form if each rule in G has one of the following forms: i) A BC ii) A a iii) S where A , B , C V and B , C V - { S } and a A simplified normal form which restricts the length & composition of the R.H.S. of a rule in CFG The derivation tree for a string generated by a CFG in chomsky normal form is a binary tree 3 4.5 Chomsky Normal Form Theorem 4.4.2 Let G = ( V , , P , S ) be a CFG. There is an algorithm to construct a grammar G = ( V , , P , S ) in chomsky normal form that is equivalent to G Proof (sketch) : (i) For each rule A w , where | w | > 1, replace each terminal a in w by a distinct variable Y & create new rule Y a (ii) For each modified rule X w , w is either a terminal or a string in V + . Rules in the latter form must be broken into a sequence of rules, each of whose R.H.S. consists of two variables. Example 4.4.1 One of the applications of using CFGs that are in Chomsky Normal Form Constructing binary search trees to accomplish optimal time & space search complexity for parsing an input string 4 4.1 Grammar Transformations Lemma 4.1.1 Let G = ( V , , P , S ) be a CFG. There is a CFG G = ( V , , P , S ) that satisfies i) L( G ) = L( G ) ii) Rules in P are of the form A w where A V and w (( V { S }) )*. Proof . If S is a recursive variable , then construct G by creating a new start symbol S & adding S S to P , i.e., G = ( V { S } , , P { S S } , S ). If S u , then S S u , where u *. Example. 4.1.1 Assume that P in G includes S a S | AB | AC , then P in G should include S S, S a S | AB | AC G * G G * 5 4.2 Elimination of -rules Nullable variables are variables that can derive ....
View Full Document

Page1 / 16

Ch4 - Chapter 4 Normal Forms for CFGs 2 4.5 Chomsky Normal...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online