**

正规集和正规式

**

也就是说程序设计语言的合法单词是 正规集,而正规式可以用来表示正规集

正规集是集合



正规式的等价可以转换为集合的等价来证明

将每一类的单词符号写成一个正规式,通过或运算将这些正规式连接起来就构整个单词表的正规式了,这样就可以讲词法描述出来了

有限自动机



一个DFA允许没有终止状态

状态转换函数,即 f(0,a) = 1,就是现在状态为0时,输入a则转换到1.
DFA也可以用来识别字符串


DFA很容易用二维数组进行表示

非确定有限自动机

DFA 之所以是确定的表现为 初态只有一个,而状态转移函数是单值的映射,但是非确定有限自动机的状态转换函数的映射是到一个集合,且初态任意


NFA弧上的字可以是正规式也可以是字,也可以是字符


接下来是一个证明(算法),证明DFA和NFA是等价的
根据定义可知道,DFA是NFA的一个特例

如果可以消去DFA和NFA在这三方面的差别,就可以将NFA变换成DFA
初态终态

如果原来的NFA有多个初态,那么X会射出多条弧到这些初态,同样,如果有多个终态,那么会射出多条弧到终态Y
弧上标记


NFA确定化





DFA化简

NFA易于人工设计,DFA易于程序实现。由于上面证明了DFA和NFA是等价的。如果DFA的状态越少,那么状态矩阵(二维数组)就越小。下面给出一个化简方法





也就是说I(i)输入字符a后可以达到的状态有一部分在m的一个子集中,另一部分在m的其他子集中。所以说,至少应该把I(i)划分为两个部分



确定有限自动机的化简

最开始划分为非终态和终态
然后针对I(1)开始检查,从I(1)里面状态(0,1,2)输入a到达1或者3状态,而1和3是在不同的子集中,所以I(1)要划分。
又,我们可以看出来 0和2识别a都到达1状态,所以0和2应该划分到一起。所以得到蓝色划分
继续上述
最终可以划分为4个子集

最后可以用3状态代替 4 5 6状态

编译原理_正规集和正规式_有限自动机相关推荐

  1. (编译原理)正规文法转正规式(原代码)

    (编译原理)正规文法转正规式 一.实验要求 输入:正规文法 输出:正规式 例: 输入:S->aB B->b 输出:ab 输入:S->aS S->b 输出:a*b 输入:S-&g ...

  2. 【最新合集】编译原理习题(含答案)_答案全集_MOOC慕课 哈工大陈鄞

    [最新合集]编译原理习题(含答案)_1 绪论_MOOC慕课 哈工大陈鄞 [最新合集]编译原理习题(含答案)_2程序设计语言及其文法_MOOC慕课 哈工大陈鄞 [最新合集]编译原理习题(含答案)_3词法 ...

  3. 【编译原理】FIRST集和FOLLOW集构造法速学

    编译原理速成大法 FIRST集和FOLLOW集构造法速成 FIRST FOLLOW FIRST集和FOLLOW集构造法速成 例:对于文法G(E) 首先像E,T,E',F这样的就是非终结符 +,*, ε ...

  4. 【编译原理】词法分析(正规式与自动机)

    文章目录 一·单词的形式化描述工具 二·有穷自动机(有限自动机) 三· 正规式和有穷自动机的等价性 四· 正规文法和有穷自动机的等价性 一·单词的形式化描述工具 ▶ 正规文法 即3型文法,是一个四元式 ...

  5. 【编译原理】First集和Follow集简易解释(偏人话)

    \ε:非ε元素 First集和Follow集是集合 First集规则(相应字母在->左边,查找->右边第一个东西) ①A->aB,a加进First(A): (->右边第一个是终 ...

  6. 编译原理 | 实验四 | 逆波兰式

    目录 一.问题分析 二.算法思想 1.关于分词器 2.关于逆波兰式分析器: 三.实现代码 1.头文件  &  类视图 2.预处理部分 3.逆波兰分析过程 4.计算,输出部分 四.总结 一.问题 ...

  7. 编译原理实验二-逆波兰式生成程序

    一.实验目的和要求: 1. 掌握语法分析的基本思想,并用高级语言编写逆波兰式生成程序 2. 要求利用逆波兰式生成算法编写程序,将从键盘上输入的算术表达式 (中缀表达式)转化成逆波兰式 二.实验平台: ...

  8. 设计模式 _第五招式_建造者模式

    一.定义 建造者模式(Builder Pattern)叫做生成器模式,将一个复杂对象的构建与它表示分离,使得同样的构造过程可以创建不同的表示,可以按照部件属性有序的创建对象. 二.代码演示 建造者模式 ...

  9. 什么叫做罗列式_什么叫做罗列式_陈列,罗列是什么意思?

    展开全部 陈列是指把商品有规律e69da5e6ba9062616964757a686964616f31333365666166地集中展示给顾客.商品陈列的目标是占据更多的陈列空间.尽可能地增加货架上的 ...

最新文章

  1. java 正则表达式 非贪婪模式_详解正则表达式的贪婪模式与非贪婪模式
  2. 建模的常用手段:组合与聚合
  3. java命令详解 java -D
  4. hdu2457 Trie图+dp
  5. mysql 高性能架构_高性能MySQL之架构与历史(1)
  6. javaweb网上订餐系统源码_【有源码】毕设网上订餐系统
  7. 王校长一分钟能吃多少热狗?| 小游戏
  8. JS 实战2(邮箱选人功能)
  9. 负载均衡获得真实源IP的6种方法 【转】
  10. mysql的配置步骤
  11. 51nod1185威佐夫博弈+大数乘法模拟
  12. ubuntu - sudo in php exec
  13. 20200108每日一句
  14. 项目测试日报模板整理
  15. Android--存储权限
  16. typroa 思维导图_Markdown转思维导图及Typora导出opml(pandoc)
  17. 记录甘肃机顶盒MG101_U2破解之路的辛酸历程
  18. ARM与x86之1--Wintel帝国
  19. matlab residue
  20. 先尝甜头后食苦果 曾经的光伏巨头如今都身在何方?

热门文章

  1. C语言数据输入与输出
  2. p5js怎么导入html,p5.js loadTable()用法及代码示例
  3. MySQL concat、concat_ws、group_concat 用法
  4. 趣味理解网关、路由等概念
  5. 基于GraphX实现社交网络分析
  6. ctfshow愚人节欢乐赛wp(部分)
  7. 3DSlicer中查看形变场
  8. MySQL数据操作与查询笔记 • 【目录】
  9. matlab-二值化抠图
  10. 餐饮类排队市场“戏路狭小”,美味不用等终难成大气候?