BUAA 编译作业 练习11
1. 令A、B和C是任意正则表达式,证明以下关系成立。
A|A = A
(A*)* = A*
A* = ε |AA*
(AB)*A = A(BA)*
(A|B)* = (A*B*)* = (A*|B*)*
证:设A产生语言L, B产生语言L':
A|A = {x | x∈L 或x∈L} = {x | x∈L} = A
(A*)* = {xx|x∈L*,L*=ULi(i>=0)} = {y|y∈L*,L*=ULj( j =2i >=0)} = A*
A* = {x|x∈L*,L*=ULi(i>=0)} = {x|x∈L0}|{yx|y∈L1, x∈L*,L*=ULi(i>=0)} = ε |AA*
(AB)*A = {(xy)mx|m>=0} = {x(yx)m|m>=0} = A(BA)*
(A|B)* = {x|x∈{L, L'}*} = {x|x∈{L*, L'*}*} = (A*B*)* = {x|x∈{{x|x∈{L*}|{x|x∈{L'*}}*} = (A*|B*)*
2. 构造下列正则表达式相应的DFA, 并进行化简。
1(0|1)*|0:
1(1010* |1(010)* 1)*0:
1(0|1)*101:
4. 把图11.20的(a)和(b)分别确定化、最小化。
5. 构造一DFA,它接受{0, 1}上所有满足如下条件的字符串:每个1都有0直接跟在右边。
选做: 结合实验用文法,分析常用语法分析生成工具(Lex、Flex、Antlr等)如何实现自动词法分析模块
词法分析的过程类似于状态机,由初始态开始,通过识别当前的字符转移至下一个状态,当状态转移到终止态时,即可认为成功识别了一个单词。
BUAA 编译作业 练习11相关推荐
- BUAA 编译作业 练习2-1 2-2 2-3
练习2-1 给出下述句子的推导,并画出语法树: (1) John ate the big peanut (2) John ate the big brown peanut (3) John ate t ...
- BUAA 编译作业 练习3
伪代码那道题自己写的也不是很确定......暂时先鸽了/(ㄒoㄒ)/~~ 画出下述文法的状态图: <Z> ::= <B>e <B> ::= <A>f & ...
- 微处理器 微型计算机系统,作业答案11微处理器微型计算机和微型计算机系统三者之间.DOC...
作业答案11微处理器微型计算机和微型计算机系统三者之间 第1章 作 业 答案 1.1 微处理器.微型计算机和微型计算机系统三者之间有什么不同? 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯 ...
- 【flink】Flink源码编译:Flink1.11+版本编译及部署
1.概述 转载:Flink源码编译:Flink1.11+版本编译及部署
- [原]VS2012编译GLEW 1.11
1.到http://glew.sourceforge.net/下载源代码 2.使用vs2012打开build下vc6的glew.dsw ,自动生成2012工程(一路点确定)特别注意:不要使用build ...
- CentOS 7 源码编译安装 PostgreSQL 11.2
环境 系统版本 Centos7.6 工具:xshell6 PostgreSql: postgresql-11.2.tar.gz 安装部署 安装前准备 官网下载PostgreSQL 11.2源码地址:h ...
- 图解VC++2012编译安装GDAL1.11.0和入门例子
相关下载 http://pan.baidu.com/s/1o7OEMc6 gdal1.rar - 入门例子 GDAL书籍代码及数据.rar gdal1110.zip - 下载的源码 GDAL.rar ...
- 【编译原理笔记11】中间代码生成:类型表达式,声明语句的翻译
本次笔记内容: 6-1 类型表达式 6-2 声明语句的翻译 本节课幻灯片,见于我的 GitHub 仓库:第11讲 中间代码生成_1.pdf 文章目录 类型表达式 Type Expression 举例 ...
- linux mysql5.7.11_Centos7.2 Systemd 方式编译 Mysql5.7.11
导读 MySQL 5.7 版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 原生支持Systemd 更好的性能:对于多核CPU. ...
最新文章
- 1084 Broken Keyboard
- Cucumber 相关资源
- HttpServletResponse中sendError与setStatus的区别
- Glide4 高效加载图片的配置【转】
- Python 的解释器
- 2.性能测试类型或方法
- 史诗级Java入门教程,想成为初级程序员看他就够了
- vue 项目 跨域问题
- 用循环写出九九乘法表格。
- 使用wireshark进行安卓抓包分析
- PocketPC中汉字输入法分析与实现(…
- 1.DingoApi安装和配置
- 基于RPA的自动化测试研究
- 高德地图获取用户当前位置
- 规范化理论:范式等级
- python透视变换原理_python cv2中的透视变换
- 日常安全运营工作的一些思考
- java.lang.RuntimeException:Canvas: trying to use a recycled bitmap
- html鼠标滑过导航条展开导航条,JS+CSS实现鼠标滑过时动态翻滚的导航条效果
- 【剧前爆米花--爪哇岛寻宝】初识Java,了解Java代码的运行机制及JDK,JRE,JVM等
热门文章
- PostgreSQL create domain
- 希沃白板5快捷键_【希沃白板5官方下载】希沃白板5 v5.1.7 电脑版-开心电玩
- 一个浑身“江湖气”的女子,“得到”创始人 脱不花
- 理解电压,电流和电阻(U=IR)
- 计算机专业英语第二单元,计算机专业英语第二单元译文.doc
- [NiteCTF 2022] 部分
- 组织机构对象模型设计及实现
- 白杨SEO:2021到2022年做自媒体在哪个平台上更有前途?公众号、百家号、头条号、抖音、微博、B站、知乎、小红书、视频号
- 7-5 井字棋 (15分)
- linux无效的文件句柄,Linux文件句柄限制分析