16
Regular Grammars Chapter 7 1

Regular Grammars

  • Upload
    lars

  • View
    51

  • Download
    1

Embed Size (px)

DESCRIPTION

Regular Grammars. Chapter 7. Regular Grammars. A regular grammar G is a quadruple ( V ,  , R , S), where: ● V is the rule alphabet, which contains nonterminals and terminals, ●  (the set of terminals) is a subset of V , - PowerPoint PPT Presentation

Citation preview

Page 1: Regular Grammars

Regular Grammars

Chapter 71

Page 2: Regular Grammars

Regular Grammars

A regular grammar G is a quadruple (V, , R, S), where:

● V is the rule alphabet, which contains nonterminals and terminals,

● (the set of terminals) is a subset of V,

● R (the set of rules) is a finite set of rules of the form:

X Y,

● S (the start symbol) is a nonterminal.

2

Page 3: Regular Grammars

Regular Grammars

In a regular grammar, all rules in R must:

● have a left hand side that is a single nonterminal

● have a right hand side that is: ● , or

● a single terminal, or ● a single terminal followed by a single nonterminal.

Legal: S a, S , and T aS

Not legal: S aSa and aSa T

3

Page 4: Regular Grammars

L = {w {a, b}* : |w| is even}

Regular expression: ((aa) (ab) (ba) (bb))*

FSM:

Regular Grammar Example

4

Page 5: Regular Grammars

L = {w {a, b}* : |w| is even}

Regular expression: ((aa) (ab) (ba) (bb))*

FSM:

Regular grammar: G = (V, , R, S), whereV = {S, T, a, b}, = {a, b}, R = { S

S aT S bTT aST bS

}

Regular Grammar Example

5

Page 6: Regular Grammars

Regular Languages and Regular Grammars

Theorem: The class of languages that can be defined with regular grammars is exactly the regular languages.

Proof: By two constructions.

6

Page 7: Regular Grammars

Regular Languages and Regular Grammars

Regular grammar FSM: grammartofsm(G = (V, , R, S)) = 1. Create in M a separate state for each nonterminal in V. 2. Start state is the state corresponding to S . 3. If there are any rules in R of the form X w, for some w , create a new state labeled #. 4. For each rule of the form X w Y, add a transition from X to Y labeled w. 5. For each rule of the form X w, add a transition from X to # labeled w. 6. For each rule of the form X , mark state X as accepting. 7. Mark state # as accepting.

FSM Regular grammar: Similarly. 7

Page 8: Regular Grammars

Example 1 - Even Length Strings

8

Page 9: Regular Grammars

Example 1 - Even Length Strings

9

Page 10: Regular Grammars

Strings that End with aaaaL = {w {a, b}* : w ends with the pattern aaaa}.

S aSS bS S aBB aCC aDD a

10

Page 11: Regular Grammars

Strings that End with aaaaL = {w {a, b}* : w ends with the pattern aaaa}.

S aSS bS S aBB aCC aDD a

11

Page 12: Regular Grammars

Example 2 – One Character Missing

S A bA C aCS aB A cA C bCS aC A C S bA B aBS bC B cBS cA B S cB

12

Page 13: Regular Grammars

Example 2 – One Character Missing

S A bA C aCS aB A cA C bCS aC A C S bA B aBS bC B cBS cA B S cB

13

Page 14: Regular Grammars

Regular Languages and Regular Grammars

FSM Regular grammar: Show by construction that, for every FSM M there exists a

regular grammar G such that L(G) = L(M). 1. Make M deterministic M’ = (K, , , s, A).

Construct G = (V, , R, S) from M’. 2. Create a nonterminal for each state in the M’.

V = K .3. The start state becomes the starting nonterminal.

S = s. 4. For each transition (T, a) = U, make a rule of the form

T aU.5. For each accepting state T, make a rule of the form

T .14

Page 15: Regular Grammars

Strings that End with aaaaL = {w {a, b}* : w ends with the pattern aaaa}.

15

Page 16: Regular Grammars

Strings that End with aaaaL = {w {a, b}* : w ends with the pattern aaaa}.

S aSS bS S aBB aCC aDD a

16