zoukankan      html  css  js  c++  java
  • DFA最小化,语法分析初步

    1.将DFA最小化:教材P65 第9题

     DFA最小化为:

    {1,2,3,4,5}

    {6,7}

    {3,4}b->{6,7}

    {1,2}b->{2}

    {5}b->

    {1,2,3,4,5}可区别,划分

     

    {6}b->{6},

    {7}b->{6}

    不可区别的,等价

     

    {1,2}{3,4}{5}

    {6,7}

    {3}c->{3}, {4}c->{3}

    {3}d={5}, {4}d->{5}

    {3,4}不可区别的,等价

     

     

    {1,2}{3,4}{5}

    {6,7}

    {1}a={3,4},

    {2}a={3,4}

    {1,2}不可区别的,等价

     

     

    状态转换图:

    2.构造以下文法相应的最小的DFA

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

     解:由题意得:

      S->0A | 1B

        ->0(1S | 1) | 1(0S | 0)

        ->01S | 01 | 10S | 10

        ->(01 | 10)S | (01 | 10)

        ->(01 | 10)*(01 | 10)

    由上得NFA:

     由NFA可得DFA状态转换矩阵为:

     

     

    0

    1

    A

    {Xad}

    {be}

    {cf}

    B

    {be}

     

    {adY}

    C

    {cf}

    {adY}

     

    D

    {adY}

    {be}

    {cf}

    状态转换图为:
     

      最小化DFA为:

    {A,B,C}

    {D}

    {A}0->{B}

    {B}0->

    {C}0->{D}

    {A,B,C}可区别,划分

    不可区别

    {A}{B}{C}

    {D}

    不可区别

     

    状态转换图为:

    3.给定如下文法 G[S]:

    AB

    → aA | ɛ 

    → b | bB

    给出句子aaab 的一个自顶向下语法分析过程,并说明回溯产生的原因是什么?

     解:语法分析过程:

         S→AB

         →aAB

         →aaAB

         →aaaAB

         →aaaεB

         →aaab

    答:原因:共同左因子的存在导致。

    4.P100 练习4,反复提取公共左因子,对文法进行改写。

    解:提取公共左因子得:

          S->C$

          C->bA | aB

          A->aD | bAA

          B->bD | aBB

          D-> ɛ | C

  • 相关阅读:
    【DL-2-2】卷积神经网络(CNN)--AlexNet、ZFNet、VGGNet、GoogleNet、ResNet
    Python3 错误和异常-(try/except/else/finally/raise/assert)
    生成器 Generators
    Map,Filter 和 Reduce
    装饰器
    目标检测:介绍及传统方法
    【ML-17-2】MCMC--马尔可夫蒙特卡罗方法(MH和Gibbs)
    如何在JDK1.8中愉快地处理日期和时间
    luogu1447 能量采集
    luogu1775 古代人的难题 打表找规律
  • 原文地址:https://www.cnblogs.com/crjia/p/11823513.html
Copyright © 2011-2022 走看看