Regular Grammars Chapter 7 1 Regular Grammars A

  • Slides: 16
Download presentation
Regular Grammars Chapter 7 1

Regular Grammars Chapter 7 1

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

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

Regular Grammars In a regular grammar, all rules in R must: ● have a

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 followed by a single nonterminal. Legal: S a, S , and T a. S Not legal: S a. Sa and a. Sa T 3

Regular Grammar Example L = {w {a, b}* : |w| is even} Regular expression:

Regular Grammar Example L = {w {a, b}* : |w| is even} Regular expression: ((aa) (ab) (ba) (bb))* FSM: 4

Regular Grammar Example L = {w {a, b}* : |w| is even} Regular expression:

Regular Grammar Example L = {w {a, b}* : |w| is even} Regular expression: ((aa) (ab) (ba) (bb))* FSM: Regular grammar: G = (V, , R, S), where V = {S, T, a, b}, = {a, b}, R = { S S a. T S b. T T a. S T b. S } 5

Regular Languages and Regular Grammars Theorem: The class of languages that can be defined

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

Regular Languages and Regular Grammars Regular grammar FSM: grammartofsm(G = (V, , R, S))

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 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

Example 1 - Even Length Strings S S a. T S b. T T

Example 1 - Even Length Strings S S a. T S b. T T a. S T b. S 8

Example 1 - Even Length Strings S S a. T S b. T T

Example 1 - Even Length Strings S S a. T S b. T T a. S T b. S 9

Strings that End with aaaa L = {w {a, b}* : w ends with

Strings that End with aaaa L = {w {a, b}* : w ends with the pattern aaaa}. S a. S S b. S S a. B B a. C C a. D D a 10

Strings that End with aaaa L = {w {a, b}* : w ends with

Strings that End with aaaa L = {w {a, b}* : w ends with the pattern aaaa}. S a. S S b. S S a. B B a. C C a. D D a 11

Example 2 – One Character Missing S S a. B S a. C S

Example 2 – One Character Missing S S a. B S a. C S b. A S b. C S c. A S c. B A b. A A c. A A B a. B B c. B B C a. C C b. C C 12

Example 2 – One Character Missing S S a. B S a. C S

Example 2 – One Character Missing S S a. B S a. C S b. A S b. C S c. A S c. B A b. A A c. A A B a. B B c. B B C a. C C b. C C 13

Regular Languages and Regular Grammars FSM Regular grammar: Show by construction that, for every

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 a. U. 5. For each accepting state T, make a rule of the form T . 14

Strings that End with aaaa L = {w {a, b}* : w ends with

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

Strings that End with aaaa L = {w {a, b}* : w ends with

Strings that End with aaaa L = {w {a, b}* : w ends with the pattern aaaa}. S a. S S b. S S a. B B a. C C a. D D a 16