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

I

{1, 2, 3, 4, 5}

{6, 7}

{1, 2}b->{1, 2, 3, 4, 5}

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

{5}b->

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

II

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

{6, 7}

{6}b->{6}

{7}b->{6}

{6, 7}不可区别,等价

III

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

{6, 7}

{3}c->{3}

{4}c->{4}

{3}b->{6, 7}

{4}b->{6, 7}

{3}d->{5}

{4}d->{5}

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

IV

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

{6, 7}

{1}a->{3, 4}

{2}a->{3, 4}

{1}b->{2}

{2}b->{2}

{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状态转换矩阵如下:

  

  DFA状态转换图如下:

  

  最小化DFA如下:

  

  状态转换图如下:

   

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

  文法中,对于某个非终结符的规则其右部有多个选择项,当根据所面临的输入符号不能准确的确定所要的选择项时,就可能出现回溯。

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

S -> C$

C -> bA | aB

A -> a | aC | bBB

B -> b | bC | aBB

答:S -> C$

  C -> bA | aB

  A -> aD | bAA

  B -> bD | aBB

  D -> ɛ | C

作业九——DFA最小化的更多相关文章

  1. 作业九——DFA最小化,语法分析初步

  2. 第九次作业——DFA最小化,语法分析初步

    老师:MissDu 提交作业 1.将DFA最小化:教材P65 第9题 答: 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 3.自上而下语法分析,回溯产生的原因是 ...

  3. 第九次作业 DFA最小化,语法分析初步

    1.将DFA最小化:教材P65 第9题 Ⅰ {1,2,3,4,5} {6,7} {1,2}b={1,2,3,4,5} 3,4}b={5} {6,7} Ⅱ {1,2}{3,4}{5} {6,7} 2.构 ...

  4. DFA 最小化

    NDFA.εNDFA 确定化的细节这里就不总结了,这里说一说DFA最小化的算法. 关于DFA最小化,

  5. dfa最小化,修正了上个版本的一些错误。

    上个版本测试的时候,只用了两个非常简单的测试用例,所以好多情况有问题却没有测试出来 bug1:在生成diff_matrix的时候,循环变量少循环了一次,导致最后一个节点在如果无法与其他点合并的情况下, ...

  6. 编译原理中DFA最小化

    关于编译原理最小化的操作,专业术语请移步至:http://www.360doc.com/content/18/0601/21/11962419_758841916.shtml 这里只是记录一下个人的理 ...

  7. DFA最小化,语法分析初步

    1.将DFA最小化:教材P65 第9题 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 语言:(01 | 10)*(01 | 10) 自动机图: DFA状态转换矩阵 ...

  8. 编译原理之DFA最小化,语法分析初步

    1.将DFA最小化: 状态转换图: 识别语言:b*ac*(da)*bb* 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 (1)正规式: S -> 0(1S+ ...

  9. 编译原理:DFA最小化,语法分析初步

    1.将DFA最小化:教材P65 第9题   解析: 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 解析: S→ 0A|1B →S → 0(1S|1)|1(0S|0 ...

随机推荐

  1. 【VS开发】malloc申请内存错误分析

    每个进程会有4G的虚拟地址空间, malloc得到的的地址都是虚拟地址, 并且当malloc的时候, 操作系统并不会将实际的内存分配给进程的, 所以malloc只会占用进程自身的虚拟地址空间.我以前也 ...

  2. thinkPHP5 命名空间别名

    命名空间别名 对比 use app\index\model\User; 和 use model\User; 关键:\think\Loader::addNamespaceAlias('model','a ...

  3. 通过JS动态追加标签,以父评论子评论为例

    以下代码前后端交互以Django模板语法为例 先来以伪代码来示意用法: HTML部分: JS动态插入部分代码: 运行之后我们来浏览器看检查打印的内容: 看插入前后打印结果我们可以得知 $title[0 ...

  4. nginx处理请求的11个阶段

    Nginx 处理请求的过程一共划分为 11 个阶段,按照执行顺序依次是 post-read.server-rewrite.find-config.rewrite.post-rewrite.preacc ...

  5. [转帖]centos7上设置中文字符集

    centos7上设置中文字符集 https://www.cnblogs.com/kaishirenshi/p/10528034.html author: headsen  chen date: 201 ...

  6. MySQL中的InnoDB中产生的死锁深究

    查考地址:https://blog.csdn.net/loophome/article/details/79867174 待研究中.....

  7. 【AtCoder】AGC010

    AGC010 A - Addition 如果所有数加起来是偶数那么一定可以,否则不行 #include <bits/stdc++.h> #define fi first #define s ...

  8. (二十五)JDBC多表查询

    java易错点 一对多 VS 多对一 VS 多对多 级联 多表增删改 多对多表设计语句(学生老师) java易错点 数组初始化的时候,可以用 {} 赋值,初始化以后,只能用 new Object[] ...

  9. 剑指offer39:平衡二叉树

    1 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 2 思路和方法 平衡二叉树,又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1 ...

  10. adb shell dumpsys [options]的使用

    adb shell dumpsys [options]该命令用于打印出当前系统信息,默认打印出设备中所有service的信息.由于service比较多,这里选几个用的比较多的service来进行讲解: ...