《编译原理》第一次作业参考答案

一、下列正则表达式定义了什么语言(用尽可能简短的自然语言描述)?

1.b*(ab*ab*)*

所有含有偶数个a的由a和b组成的字符串.

2.c*a(a|c)*b(a|b|c)* | c*b(b|c)*a(a|b|c)*

答案一:所有至少含有1个a和1个b的由a,b和c组成的字符串.

答案二:所有含有子序列ab或子序列ba的由a,b和c组成的字符串.

说明:答案一要比答案二更好,因为用自然语言描述是为了便于和非专业的人员交流,而非专业人员很可能不知道什么是“子序列”,所以相比较而言,答案一要更“自然”.

二、设字母表∑={a,b},用正则表达式(只使用a,b, ,|,*,+,?)描述下列语言:

1.不包含子串ab的所有字符串.

b*a*

2.不包含子串abb的所有字符串.

b*(ab?)*

3.不包含子序列abb的所有字符串.

b*a*b?a*

注意:关于子串(substring)和子序列(subsequence)的区别可以参考课本第119页方框中的内容.

~\(≧▽≦)/~ ~\(≧▽≦)/~ ~\(≧▽≦)/~ ~\(≧▽≦)/~ ~\(≧▽≦)/~ ~\(≧▽≦)/~ ~\(≧▽≦)/~ ~\(≧▽≦)/~

《编译原理》第二次作业参考答案

一、考虑以下NFA:

1.这一NFA接受什么语言(用自然语言描述)?

所有只含有字母a和b,并且a出现偶数次或b出现偶数次的字符串.

2.构造接受同一语言的DFA.

答案一(直接构造通常得到这一答案):

2ab对应的c语言表达式是,编译原理 作业标准答案相关推荐

  1. 编译原理last集c语言,编译原理作业集-第七章.doc

    编译原理作业集-第七章 第七章 语义分析和中间代码产生 本章要点 1. 中间语言,各种常见中间语言形式: 2. 说明语句赋值语句布尔表达式控制语句的翻译: 3. 过程调用的处理: 4. 类型检查: 本 ...

  2. 语言的定义——编译原理

    语言的定义--编译原理 给定文法G=(VT,VN,P,S),如果α→β∈P,那么可以将符号串中的γαδ中的α替换为β,记作 γαδ⇒γβδ,此时称γαδ直接推导出γβδ. 推导(derivation) ...

  3. c语言程序设计电大作业,电大C语言程序设计第1234次作业及答案

    <电大C语言程序设计第1234次作业及答案>由会员分享,可在线阅读,更多相关<电大C语言程序设计第1234次作业及答案(27页珍藏版)>请在人人文库网上搜索. 1.M資妄 呦圧 ...

  4. 编译原理课后习题答案清华大学出版社第二版

    想看更多算法题,可以扫描上方二维码关注我微信公众号"数据结构和算法",截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有800多页( ...

  5. PL/0语言编译器扩展 编译原理课程实践(1)

    转眼大学生活就要结束,编译原理课程学的东西很多都忘记了.当时我们编译原理课程实践是PL/0语言编译器扩展,在原有PL/0语言文法进行扩展.我写这次博文一是为了回忆以前学的知识,加深记忆:二是和大家分享 ...

  6. 太原理工 编译原理 c语言,太原理工大学编译原理实验

    <太原理工大学编译原理实验>由会员分享,可在线阅读,更多相关<太原理工大学编译原理实验(19页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: 编译原理 实验项目: ...

  7. 语言的二义性——编译原理

      写这篇文章的初衷是在复习编译原理时,对于文法的二义性和语言的二义性的区别产生了疑问.其中对于语言的二义性的定义不甚理解,且国内网上的文章对于语言的二义性定义描述较为简单.因此,为了更好的理解语言的 ...

  8. c语言实现编译器编译原理,编译原理课程设计--C语言编译器实现.doc

    编译原理课程设计--C语言编译器实现 甘肃政法学院 编译原理课程设计 题 目 C语言编译器实现 计算机科学学院计算机科学与技术专业10 级 计本 班 学 号: 201081010137 姓 名: 杨青 ...

  9. 编译原理实验c语言cfg文法,编译原理

    地址在符号表中引入指针previous,来连接上一个符号的首地址运行时存储空间组织活动记录用于管理函数变量的信息栈式存储过程进入和返回通过变更top和sp指针,实现活动记录的栈式处理静态链实现局部变量 ...

最新文章

  1. Python 程序员最常犯的十个错误
  2. 【es6】es6学习笔记
  3. 改革以来计算机应用发展总结,计算机应用专业课程改革总结.doc
  4. JSP——JSTL语法总结
  5. 【数据结构与算法】之“接雨水”的算法求解
  6. pageSet还没完count就执行了
  7. 《呐喊》金句摘抄(一)
  8. 3.2 读入两个参数
  9. 你该知道的深度强化学习相关知识
  10. 简单的Flash GUI工具(Simple Flash GUI Tool)
  11. 邮箱不可用 550 User has no permission
  12. 你的企业离DevOps转型成功,就差这“七步法”路线图
  13. linux下的微博客户端,Linux下非官方的新浪微博客户端:WeCase(微盒),附安装方法...
  14. 企业网络管理员如何有效封杀QQ
  15. [转贴]RUP与XP的平衡之道
  16. 怎么把网页转成PDF?
  17. c语言贪吃蛇答辩项目,贪吃蛇项目V1答辩.PDF
  18. 如何注册自己的OpenAI/ChatGPT账号?
  19. 大道至简大巧不工——和田玉雕中的哲学
  20. 美颜sdk算法总概——美白

热门文章

  1. Java判断一个整数是否为水仙花数
  2. android 高度百分比,如何在Android中进行百分比高度和宽度?
  3. lvds接口屏线安装图解_五分钟让你学会液晶拼接屏安装方法
  4. c语言中case1 case3 n =1,(n 1)-Step Derivations on n-Groupoids: The Case n = 3
  5. php打png图片水印颜色失真,ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整...
  6. 主流的计算机电源,主流电源评测
  7. 判断三角形是否是直角三角形
  8. 用python画渐变的圆_使用numpy绘制圆形渐变
  9. 【OpenCV 例程200篇】94. 算术平均滤波器
  10. android 4.0系统,全新Android 4.0系统_手机Android频道-中关村在线