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. jq append添加的元素click获取不到的解决方法

    移动端手机ios网页,apppend添加html class名用 on()方法没效果 解决方案:在html里面给需要点击的元素加一个onclick="javascript:void(0)&q ...

  2. Tomcat 部署方式

    显示 部署 1.添加context元素方式(server.xml) <Host appBase="webapps" autoDeploy="true" n ...

  3. NDK学习笔记-使用现有so动态库

    前面将的都是如何使用C/C++文件生成so动态库,那么在使用别人的so动态库的时候应该怎么做呢?这篇文章就是使用一个变声功能的动态库,完成对于以有so动态库的说明. 动态库来源 在互联网中,有着许许多 ...

  4. thymeleaf如何遍历数据 each循环的使用

    首先在html开始标签中引入一个属性 xmlns:th="http://www.thymeleaf.org" 遍历数据示例 <tbody> <tr th:each ...

  5. Zookeeper概述、特点、数据模型

    Zookeeper 1.Zookeeper概述 Zookeeper是一个工具,可以实现集群中的分布式协调服务. 所谓的分布式协调服务,就是在集群的节点中进行可靠的消息传递,来协调集群的工作.   Zo ...

  6. eNSP——配置Trunk接口

    原理: 在以太网中,通过划分 VLAN 来隔离广播域和增强网络通信的安全性.以太网通常由多台交换机组成,为了使 VLAN 的数据帧跨越多台交换机传递,交换机之间互连的链路需要设置为干道链路( Trun ...

  7. navicat破解版的下载与激活

    原文链接:http://www.cnblogs.com/djwhome/p/9289295.html 以前一直使用的老版的破解版的navicat,但是最近老是报错 而且连接还特别慢,今天终于不忙了额, ...

  8. mysql 字段定义不要用null的分析

    一 NULL 为什么这么经常用 (1) java的null null是一个让人头疼的问题,比如java中的NullPointerException.为了避免猝不及防的空指针,需要小心翼翼地各种if判断 ...

  9. Linux系列(17)之系统服务

    我们知道,在我们登陆Linux后,系统就为我们提供了很多服务,比如例行工作调度服务crond.打印服务.邮件服务等.那么这些服务是如何被启动的呢? 这个问题先放一下,接下来我们先了解一下Linux的启 ...

  10. jsp获取Session中的值

    摘要:这个问题算是老生常谈了,我也是一段时间没弄过了,所以感觉有些忘了,就记录一下. 一.后端通过shiro在session中存储数据: // username是前台传过来的用户名 if (subje ...