首页 > 其他 > 详细

编译原理学习(7)正规文法与正规式

时间:2019-10-17 21:16:39      阅读:61      评论:0      收藏:0      [点我收藏+]

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

L1={abna|n≥0}。

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

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

 

 2.将以下正规文法转换到正规式

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

 

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

 

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

 

I→l|Il|Id

 

解:

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

L1:

S->aA   A->bna  A->bA|a

可由正规文法定义:

L2:

T->aS|bA  A->bA| ε

可由正规文法定义:

L3:

S->aA  A->bB  B-aA|ε

正规式:

L1:ab*a  L2:aa*bb*  L3:ab(ab)*

 

2.将以下正规文法转换到正规式

(1)Z→0A

         A→0A|0B

         B→1A|ε

A=0A+0B=0A+0(1A+ε)=0A+01A+0=(0+01)A+0=(0|01)*0

Z=0A=0(0|01)*0

 

(2) Z→U0|V1

          U→Z1|1
          V→Z0|0

U=Z1+1

V=Z0+0

Z=U0+V1=(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

 

 (4)I→l|Il|Id

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

编译原理学习(7)正规文法与正规式

原文:https://www.cnblogs.com/xyqzzz/p/11694997.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!