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

    DFA最小化,语法分析初步

     

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

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

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

    3.自上而下语法分析,回溯产生的原因是什么?

    4.P100 练习4,反复提取公共左因子。

    答:1、

    因为6,7是DFA的终态,其他是非终态,可将状态集分成两个子集:
    P1={1,2,3,4,5},P2={6,7}。
    由于F(6,b)=F(7,b)=6,而6,7又没有其他输入,所以6,7等价。
    由于F(3,c)=F(4,c)=3,F(3,d)=F(4,d)=5,F(3,b)=6,F(4,b)=7,而6,7等价,所以3,4等价。
    由于F(1,b)=F(2,b)=2,F(1,a)=3,F(2,a)=4,而3,4等价,所以1,2等价。
    由于状态5没有输入字符b,所以与1,2,3,4都不等价。
    综上,上图DFA的状态可最细分解为:P={{1,2},{3,4}},{5},{6,7}}。

    2、 
    将A、B 产生式的右部代入S 中,得: 
    S=01S|01|10S|10=(01|10)S| 01|10 
    所以正规式:S= (01|10)* |01|10

    3、文法的产生式有问题

    4、

    S -> C$

    C -> bA | aB

    A -> aD | bAA

    B -> bE | aBB

    D -> C | ε

    E -> C | ε

  • 相关阅读:
    你本地测试环境再难搭建也要搭建出来调试代码
    00 alv抬头等
    流水号生产后调用
    ALV 顶栏的按钮设定
    Redis学习总结
    Mybatis总结
    面试题收集
    java 收集2
    关于Spring的69个面试问答——终极列表
    java 面试收集
  • 原文地址:https://www.cnblogs.com/dulidemao/p/11822349.html
Copyright © 2011-2022 走看看