正规文法与正规式

一、分别写出描述以下语言的正规文法和正规式:

1、L1={abna|n≥0}

  正规文法:

    S→aA

    A→Ba

    B→Bb|ε

  正规式:

    B=b*

    A=b*a

    S=ab*a

2、L2={ambn|n≥1,m ≥1}

  正规文法:

    S→aA

    A→Bb

    B→aB|Bb|ε

  正规式:

    B=a*b*

    A=a*b*b

    S=aa*b*b

3、L3={(ab)n|n≥1}

  正规文法:

    S→ab|abS

  正规式:

    S=ab+abS=ab(ab)*

二、将以下正规文法转换到正规式

1、

Z→0A
A→0A|0B
B→1A|ε

  B=1A+ε

  A=0A+01A+0=A(0+01)+0=(0+01)*0

  Z=0(0|01)*0

2、 

Z→U0|V1
U→Z1|1
V→Z0|0

  V=Z0+0

  U=Z1+1

  Z=(Z1+1)0+(Z0+0)1=Z10+10+Z01+01=Z(10+01)+(10+01)=(10|01)*(10|01)

3、

S→aA
A→bA|aB|b
B→aA

   B=aA

  A=bA+aB+b=bA+aaA+b=(b+aa)A+b=(b|aa)*b

  S=aA=a(b|aa)*b

I→l|Il|Id

  I=l+lI+Id=l+I(l+d)=l(l|d)*

原文地址:https://www.cnblogs.com/ccla/p/11675336.html