Transcript
Page 1: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 1

Linear GrammarsGrammars with at most one variable at the right sideof a production

Examples:

A

aAbA

AbS

S

aSbS

Page 2: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 2

A Non-Linear Grammar

bSaS

aSbS

S

SSS

Grammar :G

)}()(:{)( wnwnwGL ba

Number of in stringa w

Page 3: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 3

Another Linear Grammar

Grammar :

AbB

aBA

AS

|

}0:{)( nbaGL nn

G

Page 4: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 4

Right-Linear GrammarsAll productions have form:

Example:

xBA

xAor

aS

abSS

string of

terminals

Page 5: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 5

Left-Linear GrammarsAll productions have form:

Example:

BxA

aB

BAabA

AabS

|

xAor

string of terminals

Page 6: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 6

Regular Grammars

Page 7: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 7

Regular GrammarsA regular grammar is any right-linear or left-linear grammar

Examples:

aS

abSS

aB

BAabA

AabS

|

1G 2G

Page 8: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 8

ObservationRegular grammars generate regular

languages

Examples:

aS

abSS

aabGL *)()( 1

aB

BAabA

AabS

|

*)()( 2 abaabGL

1G

2G

Page 9: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 9

Regular Grammars Generate

Regular Languages

Page 10: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 10

Theorem

LanguagesGenerated byRegular Grammars

RegularLanguages

Page 11: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 11

Theorem - Part 1

LanguagesGenerated byRegular Grammars

RegularLanguages

Any regular grammar generatesa regular language

Page 12: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 12

Theorem - Part 2

LanguagesGenerated byRegular Grammars

RegularLanguages

Any regular language is generated by a regular grammar

Page 13: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 13

Proof – Part 1

LanguagesGenerated byRegular Grammars

RegularLanguages

The language generated by any regular grammar is regular

)(GLG

Page 14: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 14

The case of Right-Linear Grammars

Let be a right-linear grammar

We will prove: is regular

Proof idea: We will construct NFA with

G

)(GL

M)()( GLML

Page 15: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 15

Grammar is right-linearG

Example:

aBbB

BaaA

BaAS

|

|

Page 16: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 16

Construct NFA such thatevery state is a grammar variable:

M

aBbB

BaaA

BaAS

|

|

S FV

A

B

specialfinal state

Page 17: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 17

Add edges for each production:

S FV

A

B

a

aAS

Page 18: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 18

S FV

A

B

a

BaAS |

Page 19: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 19

S FV

A

B

a

BaaA

BaAS

|

a

a

Page 20: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 20

S FV

A

B

a

bBB

BaaA

BaAS

|

a

a

b

Page 21: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 21

S FV

A

B

a

abBB

BaaA

BaAS

|

|

a

a

b

a

Page 22: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 22

aaabaaaabBaaaBaAS

S FV

A

B

a

a

a

b

a

Page 23: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 23

SFV

A

B

a

a

a

b

aabBB

BaaA

BaAS

|

|

G

M GrammarNFA

abaaaab

GLML

**

)()(

Page 24: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 24

In GeneralA right-linear grammar

has variables:

and productions:

G

,,, 210 VVV

jmi VaaaV 21

mi aaaV 21

or

Page 25: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 25

We construct the NFA such that:

each variable corresponds to a node:

M

iV

0V

FV

1V

2V

3V

4V specialfinal state

Page 26: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 26

For each production:

we add transitions and intermediate nodes

jmi VaaaV 21

iV jV………

1a 2a ma

Page 27: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 27

For each production:

we add transitions and intermediate nodes

mi aaaV 21

iV FV………

1a 2a ma

Page 28: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 28

Resulting NFA looks like this:M

0V

FV

1V

2V

3V

4V

1a

3a

3a

4a

8a

2a 4a

5a

9a5a

9a

)()( MLGL It holds that:

Page 29: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 29

The case of Left-Linear Grammars

Let be a left-linear grammar

We will prove: is regular

Proof idea: We will construct a right-linear grammar with

G

)(GL

G RGLGL )()(

Page 30: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 30

Since is left-linear grammar

the productions look like:

G

kaaBaA 21

kaaaA 21

Page 31: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 31

Construct right-linear grammar G

Leftlinear

G kaaBaA 21

G BaaaA k 12

BvA→

BvA R

Rightlinear

Page 32: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 32

Construct right-linear grammar G

G kaaaA 21

G 12aaaA k

vA

RvA

Leftlinear

Rightlinear

Page 33: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 33

It is easy to see that:

Since is right-linear, we have:

RGLGL )()(

)(GL RGL )(

G

)(GL

RegularLanguage

RegularLanguage

RegularLanguage

Page 34: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 34

Proof - Part 2

LanguagesGenerated byRegular Grammars

RegularLanguages

Any regular language is generated by some regular grammar

LG

Page 35: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 35

Proof idea:

Let be the NFA with . Construct from a regular grammar such that

Any regular language is generated by some regular grammar

LG

M )(MLL

M G)()( GLML

Page 36: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 36

Since is regularthere is an NFA such that

LM )(MLL

Example:a

b

a

b*)*(* abbababL

)(MLL

M

1q 2q

3q

0q

Page 37: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 37

Convert to a right-linear grammarM

a

b

a

b

M0q 1q 2q

3q10 aqq

Page 38: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 38

a

b

a

b

M0q 1q 2q

3q

21

11

10

aqq

bqq

aqq

Page 39: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 39

a

b

a

b

M0q 1q 2q

3q

32

21

11

10

bqq

aqq

bqq

aqq

Page 40: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 40

a

b

a

b

M0q 1q 2q

3q

3

13

32

21

11

10

q

qq

bqq

aqq

bqq

aqq

G

LMLGL )()(

Page 41: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 41

In General

For any transition:aq p

Add production: apq

variable terminal variable

Page 42: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 42

For any final state: fq

Add production: fq

Page 43: Fall 2003Costas Busch - RPI1 Linear Grammars Grammars with at most one variable at the right side of a production Examples:

Fall 2003 Costas Busch - RPI 43

Since is right-linear grammar

is also a regular grammar

with

G

G

LMLGL )()(


Top Related