zoukankan      html  css  js  c++  java
  • 第六次作业

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

    L1={abna|n≥0}。

    正规文法:

      S->aA  A->b^na

      A->Ba  B->b^n

      B->bB|ε

    正规式:

      S->ab*a

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

    正规文法:

      S->AB

      A->aA|a

      B->bB|b

    正规式:

      S->aa*bb*

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

    正规文法:

      S-> A   

      A -> aAb|a

    正规式:

      ab(ab)*

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

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

    由题可知:①Z=0A ②A=0A+0B ③B=1A+ε

    将③代入②可得:A=0A+0(1A+ε)=0A+01A+0=(0+01)A+0

    得A=(0|01)*0

    将②代入①可得:Z=0(0+01)*0

    得Z=0(0|01)*0

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

    由题可知:①Z=U0+V1 ②U=Z1+1 ③V=Z0+0

    将②③代入①得:Z=(Z1+1)0+(Z0+0)1 =Z10+10+Z01+01=(10+01)Z+10+01

    得 Z=(10|01)*(10|01) 

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

    由题可知:①S=aA ②A=bA+aB+b③B=aA

    将③代入②可得:A=bA+a(aA)+b=bA+aaA+b=(aa+b)A+b

    得A=(aa|b)*b④

    ④代入①可得:S = a(aa|b)*b

    I→l|Il|Id

    由题可知:I=l+Il+Id=I(l+d)+l=(l+d)*+l

    得I=(l+d)*l

  • 相关阅读:
    vue 启动报错:`TypeError: Cannot read property 'range' of null`
    手动创建自己的npm包
    uni-app 拦截页面传参
    uni-app的vue.config.js
    插入排序
    选择排序
    设计模式--享元模式
    设计模式--代理模式
    原型链图片
    深度优先遍历和广度优先遍历
  • 原文地址:https://www.cnblogs.com/huangzixuan/p/11676735.html
Copyright © 2011-2022 走看看