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相关推荐

  1. 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 ...

  2. BUAA 编译作业 练习3

    伪代码那道题自己写的也不是很确定......暂时先鸽了/(ㄒoㄒ)/~~ 画出下述文法的状态图: <Z> ::= <B>e <B> ::= <A>f & ...

  3. 微处理器 微型计算机系统,作业答案11微处理器微型计算机和微型计算机系统三者之间.DOC...

    作业答案11微处理器微型计算机和微型计算机系统三者之间 第1章 作 业 答案 1.1 微处理器.微型计算机和微型计算机系统三者之间有什么不同? 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯 ...

  4. 【flink】Flink源码编译:Flink1.11+版本编译及部署

    1.概述 转载:Flink源码编译:Flink1.11+版本编译及部署

  5. [原]VS2012编译GLEW 1.11

    1.到http://glew.sourceforge.net/下载源代码 2.使用vs2012打开build下vc6的glew.dsw ,自动生成2012工程(一路点确定)特别注意:不要使用build ...

  6. CentOS 7 源码编译安装 PostgreSQL 11.2

    环境 系统版本 Centos7.6 工具:xshell6 PostgreSql: postgresql-11.2.tar.gz 安装部署 安装前准备 官网下载PostgreSQL 11.2源码地址:h ...

  7. 图解VC++2012编译安装GDAL1.11.0和入门例子

    相关下载 http://pan.baidu.com/s/1o7OEMc6 gdal1.rar - 入门例子 GDAL书籍代码及数据.rar gdal1110.zip - 下载的源码 GDAL.rar ...

  8. 【编译原理笔记11】中间代码生成:类型表达式,声明语句的翻译

    本次笔记内容: 6-1 类型表达式 6-2 声明语句的翻译 本节课幻灯片,见于我的 GitHub 仓库:第11讲 中间代码生成_1.pdf 文章目录 类型表达式 Type Expression 举例 ...

  9. linux mysql5.7.11_Centos7.2 Systemd 方式编译 Mysql5.7.11

    导读 MySQL 5.7 版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 原生支持Systemd 更好的性能:对于多核CPU. ...

最新文章

  1. 1084 Broken Keyboard
  2. Cucumber 相关资源
  3. HttpServletResponse中sendError与setStatus的区别
  4. Glide4 高效加载图片的配置【转】
  5. Python 的解释器
  6. 2.性能测试类型或方法
  7. 史诗级Java入门教程,想成为初级程序员看他就够了
  8. vue 项目 跨域问题
  9. 用循环写出九九乘法表格。
  10. 使用wireshark进行安卓抓包分析
  11. PocketPC中汉字输入法分析与实现(…
  12. 1.DingoApi安装和配置
  13. 基于RPA的自动化测试研究
  14. 高德地图获取用户当前位置
  15. 规范化理论:范式等级
  16. python透视变换原理_python cv2中的透视变换
  17. 日常安全运营工作的一些思考
  18. java.lang.RuntimeException:Canvas: trying to use a recycled bitmap
  19. html鼠标滑过导航条展开导航条,JS+CSS实现鼠标滑过时动态翻滚的导航条效果
  20. 【剧前爆米花--爪哇岛寻宝】初识Java,了解Java代码的运行机制及JDK,JRE,JVM等

热门文章

  1. PostgreSQL create domain
  2. 希沃白板5快捷键_【希沃白板5官方下载】希沃白板5 v5.1.7 电脑版-开心电玩
  3. 一个浑身“江湖气”的女子,“得到”创始人 脱不花
  4. 理解电压,电流和电阻(U=IR)
  5. 计算机专业英语第二单元,计算机专业英语第二单元译文.doc
  6. [NiteCTF 2022] 部分
  7. 组织机构对象模型设计及实现
  8. 白杨SEO:2021到2022年做自媒体在哪个平台上更有前途?公众号、百家号、头条号、抖音、微博、B站、知乎、小红书、视频号
  9. 7-5 井字棋 (15分)
  10. linux无效的文件句柄,Linux文件句柄限制分析