Download presentation

Presentation is loading. Please wait.

Published byMonserrat Cashmore Modified over 3 years ago

1
Lecture 11 Context-Free Grammar

2
Definition A context-free grammar (CFG) G is a quadruple (V, Σ, R, S) where V: a set of non-terminal symbols Σ: a set of terminals (V ∩ Σ = Ǿ) R: a set of rules (R: V → (V U Σ)*) S: a start symbol.

3
Example V = {q, f,} Σ = {0, 1} R = {q → 11q, q → 00f, f → 11f, f → ε } S = q (R= {q → 11q | 00f, f → 11f | ε })

4
How do we use rules? If A → B, then xAy xBy and we say that xAy derivates xBy. If s ··· t, then we write s * t. A string x in Σ* is generated by G=(V,Σ,R,S) if S * x. L(G) = { x in Σ* | S * x}.

5
Example G = ({S}, {0,1}. {S → 0S1 | ε }, S) ε in L(G) because S ε. 01 in L(G) because S 0S1 01. 0011 in L(G) because S 0S1 00S11 0011. 0 1 in L(G) because S * 0 1. L(G) = {0 1 | n > 0} nn nn nn

6
Context-Free Language (CFL) A language L is context-free if there exists a CFG G such that L = L(G).

7
Theorem For every regular set, there exists a CFG G such that L=L(G). Proof. Let L=L(M) for a DFA M=(Q, Σ, δ, s, F). Construct a CFG G=(V, Σ, R, S) as follows. V = Q, Σ = Σ, R = { q → ap | δ(q,a) = p } U { f → ε | f in F}, S = s. sq1q1 f=q n x1x1 xnxn S x 1 q 1 x 1 x 2 q 2 ··· x 1 …x n f x 1 …x n

8
x in L(M) There is a path associated with x from initial state to a final state. S * x Therefore, L(M) = L(G).

9
Corollary Every regular language is a CFL. The class of regular languages is a proper subclass of CFLs. CFL Regular Why, proper?

10
Regular Grammar Regular grammar is a CFG (V, Σ, R, S) such that every rule is in form V→ Σ*(V+ε) Example G = ({S, A}, {0, 1}, {S →1A, A → 00}, S) Remark: Every regular language can be generated by a regular grammar.

11
Theorem Every regular grammar generates a regular language. Proof. Consider a regular grammar G=(V, Σ, R, S). Construct a string-labeled digraph with vertex set V U {f} as follows: For each rule A → xB, x in Σ* and B in V, draw an edge A → B. x For each rule A → x, x in Σ*, draw an edge A → f x

12
Example G = ({S,A}, {0,1}, {S→0S | 10A, A→00}, S) S A f 0 10 00 This string-labeled digraph with initial state S and a final state f is a state diagram of an NFA M. S * x in Σ* There is a path associated with x from S to f in M. Therefore, L(G) = L(M).

13
Corollary A language L is regular if and only if L can be generated by a regular grammar.

14
Right-Linear and Left-Linear The regular grammar is also called a right- linear grammar. A grammar G=(V, Σ, R, S) is left-linear if every rule is in form V → (V+ε)Σ*. (e.g., ({S,A}, {0, 1}, {S→A01, A→10}, S) Remark: Every language generated from a left-linear grammar is regular. Why?

15
For left-linear grammar G = (V, Σ, R, S), construct G = (V, Σ, R, S) where R = {A→W | A→W in R}. G is right-linear. Hence, L(G ) is regular. Therefore, L(G) = L(G ) is regular. R RR R R R R R

16
Example 1 G = ({S,A}, {0, 1}, {S→A01, A→10}, S) G =({S,A}, {0, 1}, {S →10A, A →01}, S) NFA accepts L(G ) L(G )={1001} 1001 AS R R R

17
Example 2 L(G) = 0*1 L(G ) = 10* NFA accepts 10* G = ({S,A}, {0,1}, {S →1A, A →0A|ε}, S) G = ({S,A}, {0,1}, {S →A1, A →A0|ε}, S) 0 1 SA R R

Similar presentations

OK

1 A Single Final State for Finite Accepters. 2 Observation Any Finite Accepter (NFA or DFA) can be converted to an equivalent NFA with a single final.

1 A Single Final State for Finite Accepters. 2 Observation Any Finite Accepter (NFA or DFA) can be converted to an equivalent NFA with a single final.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on save our natural resources Full ppt on electron beam machining video Ppt on dairy farming project in india Ppt on online examination system in core java Ppt on number system Ppt on marketing strategy of nokia and samsung Ppt on rural and urban livelihood Earthquakes for kids ppt on batteries Download ppt on pulse code modulation encoder Ppt on maths for class 10 on statistics