zoukankan      html  css  js  c++  java
  • 作业六——正规文法与正规式

    知识点总结:

    1 正规文法产生式的形式为A→aB或则A→a
    2 ‘|’为或等同于算数里的加,‘.’为连接等同于算数里的乘,‘*’为闭包等同于算数里的幂
    3 标识符的正规式为‘l(l|d)*’,常整数的正规为‘dd*’
    4 正规文法和正规式可以互相转换
    5

    三个重要的规则:A→xB B→y 正规式为A=xy

                           A→xA|y 正规式为A=x*y

                           A→x A→y 正规式为A=x|y

     

     

     

     

     

     

     

     

     

     

     

     

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

    L1={abna|n≥0}

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

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

    ∵正规文法的每一个产生式的形式都是A→aB或者是A→a

    ①设文法G(S)={abna|n≥0}

    ∴S->aA

    A->Ba

    B->bn

    B->bB|ε

    正规式

    ab*a

    ②设文法G(S)={ambn|n≥1,m ≥1}

    ∴S->AB

    A->aA|a

    B->bB|b

    正规式

    aa*bb*

    ③设文法G(S)={(ab)n|n≥1}

    ∴S->(A)A|(A)

    A->(ab)

    正规式

    (ab)(ab)*

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

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

     ①答:

    由题可知:

    A=0A+0(1A+ε)

    A=0A+01A+0ε=0A+01A+0=(0+01)A+0

    令x=(0+01),y=0,根据规则A→xA|y转换为正规式为A=x*y

    ∴A=x*y=(0+01)*0

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

     

    (2)Z→U0|V1
    U→Z1|1
    V→Z0|0

     答:

    ∵V→Z0|0

    ∴V=00*

    ∵U→Z1|1

    ∴U=11*

    ∴Z=11*0+00*1=1(1*0+00*)=1(1*0|00*)

    ∴Z=1(1*0|00*)

     

    (3)S→aA
    A→bA|aB|b
    B→aA

     答:

    由题可得:

    A=bA+aaA+b=(b+aa)A+b

    相当于A->xB|y,转换为规则式为A=x*y

    ∴A=(b+aa)*b

    ∵S->aA

    ∴S=a(b+aa)*b=a(b|aa)*b

     

    (4)I→l|Il|Id

    答:

    I=l+Il+Id=I(l+d)+l

    相当于I->Ix|y,转换为规则式为I=yx*

    ∴I=l(l+d)*=l(l|d)*

    ∴I=l(l|d)*

     

  • 相关阅读:
    ie6不支持label
    IE6下li会继承ul属性的bug、产生条件、解决办法
    玉树地震与汶川地震
    IE6给png图片添加透明级别
    使用Float布局容器高度出错的决办法
    CSS冒泡窗口,有机会改成js的
    沁园春《房》
    乱接电话的笑话~
    禁止使用英文及其缩写?
    jQuery
  • 原文地址:https://www.cnblogs.com/cyxxixi/p/11676681.html
Copyright © 2011-2022 走看看