编译原理节词法分析DFANFA及其转换

Step4 寻找可合并状态 ε ε 0 1 2 0 5 0 1 6 1 3 4 7 ε ε 0 8 9 1 1 0 10 11 0 0 1 1 1 0 12 13 0 1 I I0 I1 {0,1,2} 1 ε ε 0 1 2 2 5 0 0 8 {5,8} {5,8} 2 1 6 9 1 {6,9} {6,9} ε 1 2 0 5 8 {1,2} {1,2} 5 3 4 7 ε ε 8 {3,4,7} {3,4,7} 0 6 3 4 7 ε ε 9 {3,4,7} ε 1 2 6 1 9 {1,2} {5,8} {6,9} 0 4 7 10 0 12 {10,12} {10,12} 1 4 7 11 13 1 {11,13} {11,13} 0 4 7 ε 12 {4,7} {4,7} ε 1 2 10 1 {1,2} ε 1 2 11 0 {1,2} ε 1 4 7 13 {4,7} {10,12} {11,13} Step5 合并状态 I I0 I1 {0,1,2} {5,8} {5,8} {6,9} {6,9} {1,2} {1,2} {3,4,7} {3,4,7} {3,4,7} {1,2} {5,8} {6,9} {10,12} {10,12} {11,13} {11,13} {4,7} {4,7} {1,2} {1,2} {4,7} {10,12} {11,13} {0,1,2} 0 {3,4,7} I I0 I1 0 0 {5,8} 1 {5,8} {5,8} 1 1 1 1 1 1 {6,9} 2 {6,9} {6,9} 2 2 2 2 2 2 {1,2} 3 {1,2} {1,2} {1,2} {1,2} 3 3 3 3 3 3 3 3 3 3 {3,4,7} 4 {3,4,7} 4 4 4 4 4 4 {10,12} 5 {10,12} {10,12} 5 5 5 5 5 5 {11,13} 6 {11,13} {11,13} 6 6 6 6 6 6 {4,7} 7 {4,7} {4,7} 7 7 7 7 7 7 例:构造DFA,使其能接受所有由偶数个0和偶数个1所组成串。 I I0 I1 0 1 1 1 2 2 2 3 3 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 Step6 构造DFA 1 2 3 2 3 4 1 3 4 4 5 6 5 6 7 3 5 7 3 6 7 0 1 2 0 1 2 0 1 3 4 0 1 0 1 0 1 5 6 0 1 7 0 1 0 1 0 1 例:构造DFA,使其能接受所有由偶数个0和偶数个1所组成串。 Step7 确定初态和终态:原终态为1 0 1 5 6 0 1 0 1 2 0 1 3 4 0 1 0 1 7 0 1 0 1 0 1 {0,1,2} {5,8} {6,9} {1,2} {3,4,7} {10,12} {11,13} {4,7} {0,1,2} 0 {5,8} 1 {6,9} 2 {1,2} 3 {3,4,7} 4 {10,12} 5 {11,13} 6 {4,7} 7 0 3 例:构造DFA,使其能接受所有由偶数个0和偶数个1所组成串。 0 人,狼,羊,白菜 1 人,狼,羊 2 人,狼,白菜 3 人,羊,白菜 4 人,羊 5 狼,白菜 6 狼 7 羊 8 白菜 9 Φ 用G(x)表示人带x从左岸到右岸,R(x)表示从人带x右岸回到左岸; G和R分别代表人自己去到右岸或回到左岸。 0 1 2 3 4 6 7 8 5 9 G(羊) G(狼) G(羊) G G(狼) G(白菜) G(羊) G(白菜) G G(羊) R R(羊) R(羊) R(白菜) R R(狼) R(白菜) R(狼) R(羊) R(羊) 0 人,狼,羊,白菜 1 人,狼,羊 2 人,狼,白菜 3 人,羊,白菜 4 人,羊 5 狼,白菜 6 狼 7 羊 8 白菜 9 Φ 0 1 2 3 4 6 7 8 5 9 G(羊) G(狼) G(羊) G G(狼) G(白菜) G(羊) G(白菜) G G(羊) R R(羊) R(羊) R(白菜) R R(狼) R(白菜) R(狼) R(羊) R(羊) 0?5?2?8?3?7?4?9步骤: G(羊)?5(狼,白菜) R?2(人,狼,白菜) G(狼)?8(白菜) R(羊)?3(人,羊,白菜) (5)G(狼)?7(羊) (6)R?4(人,羊) (7)G(羊)?9() 问题: 任给一个正规式,如(a|b)*(aa|bb)(a|b)*,如何构造其DFA? 0 a b 1 2 3 4 a a b b 5 a b ε ε (a|b)*(aa|bb)(a|b)* 0 a|b 3 a|b 1 2 aa bb ε ε 0 (a|b)*(aa|bb)(

编译原理画出c语言中注释的转化图,编译原理节词法分析DFANFA及其转换.ppt相关推荐

  1. c语言中注释参与程序设计的编译吗,C语言程序设计(第4章函数)6

    4.7 C语言的预处理程序与注释 C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境.本节将介绍如何应用预处理程序和注释简化程序开 ...

  2. c语言中条件编译相关的预编译指令

     一. 内容概述 本文主要介绍c语言中条件编译相关的预编译指令,包括#define.#undef.#ifdef.#ifndef.#if.#elif.#else.#endif.defined. 二. ...

  3. python画人民大会堂_太震撼了,我用python画出全北京的公交线路动图

    原标题:太震撼了,我用python画出全北京的公交线路动图 今天教大家用pyecharts制作北京市公交线路动态图,这应该是全网唯一一篇能正常运行的教程 一.获取百度秘钥 首先,本项目需要引用百度地图 ...

  4. pyhton 画出音频文件的波形图和频谱图

    pyhton 画出音频文件的波形图和频谱图 # -*- coding:utf-8 -*- import wave import struct import numpy as np import mat ...

  5. c语言不同类型指针间的强转,C语言中不同的结构体类型的指针间的强制转换详解...

    C语言中不同类型的结构体的指针间可以强制转换,很自由,也很危险.只要理解了其内部机制,你会发现C是非常灵活的. 一. 结构体声明如何内存的分布, 结构体指针声明结构体的首地址, 结构体成员声明该成员在 ...

  6. 画出c语言流程图 万年历,基于ARM7的电子万年历设计

    基于ARM7的电子万年历设计 成 绩 评 定 表 学生姓名 匡克新 班级学号 专 业 通信工程 课程设计题目 基于ARM7的电子万年历设计 评 语 组长签字: 成绩 日期 2015 年 7 月19 日 ...

  7. 中设置colorbar_【值得收藏】如何画出学术论文中需要的各种精美插图,看这一篇就够了!...

    本文整理自知乎问答,仅用于学术分享,著作权归作者所有.如有侵权,请联系后台作删文处理. 方法一 作者|冯昱尧 https://www.zhihu.com/question/21664179/answe ...

  8. 如何画出FPN论文中的金字塔结构图

    PPT的新大陆    PPT的功能不止于做报告,最近发现其画图功能也是nice.    今天就介绍一下FPN论文中的金字塔结构如何用PPT画.    我们先摆上原论文中的图:    首先对上图进行分析 ...

  9. java编译类代码_Java的源代码中定义几个类,编译结果就生成几个以“.class”后缀的字节码。...

    [填空题]一个类实现某个接口时必须实现接口中声明的所有方法,否则该类必须定义为(__); [单选题]若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( ) [填空 ...

最新文章

  1. shell下 使用心得
  2. html怎样获取画面项目的坐标,如何使用HTML5实现地理位置的获取
  3. 通俗易懂理解PBFT拜占庭容错的回答
  4. 分布式系统的一致性协议之 2PC 和 3PC
  5. 【渝粤教育】 国家开放大学2020年春季 3956★汽车故障诊断技术 参考试题
  6. mongodb 教程一
  7. MySQL参数配置优化
  8. English trip -- VC(情景课)4 A Health
  9. 凯兑换系统服务器角色,能够在所有局中通用的角色,游走于各个线路,单挑很强的凯...
  10. javascript (BOM DOM)
  11. java8种基本类型长度_【Java基础】Java的8种基本数据类型深入介绍
  12. Js、jquery学习笔记
  13. jdk帮助文档的获取
  14. 32 usb电路_【干货】快速创建基于热敏电阻的精确温度检测电路
  15. UitableView 动态高度的优化 提高寻星效率
  16. grub4dos linux 设备,解决方案:在Grub4Dos硬盘上安装Fedora / CentOS Linux操作系统
  17. 二等水准测量记录数据_二等水准测量外业数据整理(往返测).doc
  18. 灵飞经3 印神无双 第十四章 印神古墓 3
  19. 中国巡游帆船行业市场供需与战略研究报告
  20. Houdini使用Mantra渲染景深通过Nuke合成

热门文章

  1. 微信小程序开发笔记—设置页面密码
  2. Linux下对json文件进行查看-jq
  3. flash动画制作的几个小技巧
  4. 解决Android模拟器无法用PC键盘输入与模拟器外部功能添加.
  5. 实现背景动态化android,Android TV 动态设置背景的高斯模糊
  6. 锤子便签APP 产品使用分析报告
  7. java水浒征兵回合制_罗马:全面战争 RS2.1 Rome 0回合征兵制双VH攻略
  8. WPS之excel:对表格进行各种快捷操作
  9. Google浏览器无法访问本地图片问题解决
  10. 【CVE】CVE-2019-9193:PostgreSQL 任意命令执行漏洞