【编译原理】正则表达式
08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活。此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205
《编译原理》第三章习题

3.3.2 试描述下列正则表达式定义的语言
以a开头且以a结尾,中间由零个或多个a或b的实例构成的串
2) ((ε|a)b*)*
零个或多个a或b的实例构成的串
3)(a|b)*a(a|b)(a|b)
三个或多个a或b的实例构成的串,且倒数第三个实例一定为a。
4)a*ba*ba*ba*
零个或多个a的实例,三个b的实例构成的串。
!!5)(aa|bb)*((ab|ba)(aa|bb)*(ab|ba)(aa|bb)*)*
零个或偶数个a的实例,相同个数的b的实例构成的串
3.3.5
(\/\*) (.*^(\/\*)) (“(.*)”|ε) (.*^(\/\*)) (\*\/)
3.4.1 给出识别练习3.3.2中各个正则表达式所描述的语言的状态转换图





3.6.2 为练习3.3.5中的每一个语言设计一个DFA或NFA

3.6.5 给出如下练习中的NFA的转换表



3.7.1 将下列图中的NFA转换为DFA





3.7.3 用算法3.23和3.20将正则表达式转换为DFA
由算法3.23得到NFA:


由算法3.23得到NFA:


由算法3.23得到NFA:


由算法3.23得到NFA:


转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7764967
智能推荐
正则表达式
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 常用元字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 常用限定符 * 重复零次或更多次 + 重复一次或更多次 ...
正则表达式
正则表达式是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配的目的的工具。 应用场景 验证:表单提交时,进行用户名密码验证。 查找:从大量信息中快速提取指定内容。 替换:将指定格式的文本,进行正则匹配查找,找到之后进行特定替换 基本要素 字符类 数字限定符 位置限定符 grep是Linux下按行匹配文本的工具 -E:使用扩展正则匹配 --c...
正则表达式
什么是正则表达式? 用来检测某个字符串是否符合一定规则的语句。是以对象的形式存在的。 声明正则的方法: 原子: 元字符: 原子表: 量词: 边界匹配: /^.../, /...$/ 贪婪与非贪婪 : ...
正则表达式
shell编程之正则表达式部分 正则表达式简介 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找以及替换操作。 正则表达式与通配符 这里归纳一下: 正则表达式: 主要用来匹配文件内容,如greo 包含匹配 通配符: 主要用来匹配文件名,如find 完全匹配 基础正则表达式 字符截取命令 cut [选项] 文件名 选项: -f 列号:提取相应的列号,列号以...
正则表达式
列一下正则表达式中常用字符的用法,表格转自菜鸟教程 基本元字符: 符号.在[]字符集中,其不再代表除换行符之外的任何一个字符,而是纯粹的点符号。 符号^在[]字符集中,代表否定前缀,而不是定位字符开始的位置。 字符集: 捕获组和先行后行断言: 非打印字符和预定类: 下表从最高到最低说明了各种正则表达式运算符的优先级顺序: 捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或...
猜你喜欢
正则表达式
为什么需要正则表达式? 文本的复杂处理 开发环境,文本编辑器。数据库中都可以使用正则。 正则表达式学习工具 — RegexBuddy 大写字母表示取反 贪婪模式:匹配字符越多越好,默认 非贪婪模式:匹配字符越少越好,修饰匹配次数的特殊符号后再加一个”?”号 Java里使用正则表达式...
CV笔记03:自监督GAN(ss-gan)
无需标注数据,利用辅助性旋转损失的自监督GANs,-- 对抗+自监督的无监督方式 《通过辅助旋转损失进行的自监督GAN》CVPR 2019 论文速看 0.摘要 目前自然图像合成主要是条件GAN,但是其缺点是需要标注数据。 我们利用两种流行的无监督学习技术,对抗训练和自我监督,并朝着缩小有条件GAN和无条件GAN之间的差距迈出了一步。 我们允许网络在代表学习的任务上进行协作,同时相对于经典GAN博弈...
Retrofit(三)上传文件
想了想,觉得还是把自定义的东西放到最后再讲,所以讲下用Retrofit上传文件,就拿上传图片来说,因为上传图片我是想写一个专题的,包括以下: 1.上传图片操作 2.展示图片操作 3.选择图片操作 上传图片这篇讲,用Retrofit,之后我还想写一篇是用httpurlconnection的,因为用它会有个拼接的操作,只有经历过拼接才会更深刻的了解使用Http上传文件的过程。展示图片我其实已经写完了,...
Linux安装SQL2019
官方文档 导入公共存储库 GPG **: 为 SQL Server 2019 注册 Microsoft SQL Server Ubuntu 存储库: 使用以下命令进行安装 SQL2019: 包安装完成后,运行 mssql-conf setup,按照提示设置 SA 密码并选择版本,并执行以下命令: 完成配置后,验证服务是否正在运行:...
