下载此文档

编译原理 作业答案.docx


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
《编译原理》第一次作业参考答案下列正则表达式定义了什么语言(用尽可能简短的自然语言描述)?b*(ab*ab*)**a(a|c)*b(a|b|c)*|c*b(b|c)*a(a|b|c)*答案一:所有至少含有1个a和1个b的由a,:所有含有子序列ab或子序列ba的由a,:答案一要比答案二更好,因为用自然语言描述是为了便于和非专业的人员交流,而非专业人员很可能不知道什么是“子序列”,所以相比较而言,答案一要更“自然”.设字母表∑={a,b},用正则表达式(只使用a,b,e,|,*,+,?)描述下列语言:*a**(ab?)**a*b?a*注意:关于子串(substring)和子序列(subsequence)的区别可以参考课本第119页方框中的内容.~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~《编译原理》第二次作业参考答案考虑以下NFA:这一NFA接受什么语言(用自然语言描述)?所有只含有字母a和b,(直接构造通常得到这一答案):答案二(由NFA构造DFA得到这一答案):正则语言补运算画出一个DFA,,:构造语言L的补语言L’的DFA,可以先构造出接受L的DFA,再把这一DFA的接受状态改为非接受状态,非接受状态改为接受状态,就可以得到识别L’:在上述两题中的D状态,无论输入什么符号,都不可能再到达接受状态,这样的状态称为“死状态”.在画DFA时,有时为了简明起见,“死状态”及其相应的弧(上图中的绿色部分):对任一正则表达式R,一定存在另一正则表达式R',使得L(R')是L(R):根据正则表达式与DFA的等价性,一定存在识别语言L(R),则将M的所有接受状态改为非接受状态,所有非接受状态改为接受状态,得到新的DFAM’.易知M’识别语言L(R)’,使得L(R’)是L(R)、o、/(斜杠)3个符号,该语言中的一个注释由/o开始、以o/结束,,它仅与一个完整的注释匹配,,要求仅使用最基本的正则表达式算子(e,|,*,+,?).参考答案一:/o(o*z|/)*o+/思路:基本思路是除了最后一个o/,在注释中不能出现o后面紧跟着/的情况;还有需要考虑的是最后一个o/(梁晓聪、梁劲、梁伟斌等人提供):/o/*(z/*|o)*o/给出识别上述正则表达式所定义语言的确定有限自动机(DFA).你可根据问题直接构造DFA,不必运用机械的算法从上一小题的正则表达式转换得到DFA.~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦

编译原理 作业答案 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人雾里行舟
  • 文件大小58 KB
  • 时间2019-03-13