编译原理与技术练习题汇总

编译原理与技术练习题汇总

ID:18317328

大小:244.00 KB

页数:31页

时间:2018-09-17

编译原理与技术练习题汇总_第1页
编译原理与技术练习题汇总_第2页
编译原理与技术练习题汇总_第3页
编译原理与技术练习题汇总_第4页
编译原理与技术练习题汇总_第5页
资源描述:

《编译原理与技术练习题汇总》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《编译原理与技术》练习题31练习11.1为什么高级程序语言需要编译程序?1.2解释下列术语:源程序,目标程序,翻译程序,编译程序,解释程序1.3简单叙述编译程序的主要工作过程。1.4编译程序的典型体系结构包括哪些构件,主要关系如何,请用辅助图示意。1.5编译程序的开发有哪些途径?了解你熟悉的高级编程语言编译程序的开发方式。1.6运用编译技术的软件开发和维护工具有许多类,简单叙述每一类的主要用途。1.7了解一个真实编译系统的组成和基本功能。1.8简单说明学习编译程序的意义和作用。1.9如果机器H上有两个编译:一个把语言A翻译成语言B,另一个把B翻译成C,那么可以把第一个编

2、译的输出作为第二个编译的输入,结果在同一类机器上得到从A到C的编译。请用T形图示意过程和结果。《编译原理与技术》练习题31练习22.1词法分析器的主要任务是什么?2.2下列各种语言的输入字母表是什么?(1)C(2)Pascal(3)Java(4)C#2.3可以把词法分析器写成一个独立运行的程序,也可以把它写成一个子程序,请比较各自的优劣。2.4用高级语言编写一个对C#或Java程序的预处理程序,它的作用是每次调用时都把下一个完整的句子送到扫描缓冲区,去掉注释和无用的空格、制表符、回车、换行。2.5用高级语言实现图2.5所示的Pascal语言数的状态转换图。2.6用高级语

3、言编程实现图2.6所示的小语言的词法扫描器。2.7用自然语言描述下列正规式所表示的语言:(1)0(0

4、1)*0(2)((e

5、0)1)*)*(3)(a

6、b)*a(a

7、b

8、e)(4)(A

9、B

10、...

11、Z)(a

12、b

13、...

14、z)*(5)(aa

15、b)*(a

16、bb)*(6)(0

17、1

18、...

19、9

20、A

21、B

22、C

23、D

24、E)+(t

25、T)2.8为下列语言写正规式(1)所有以小写字母a开头和结尾的串。(2)所有以小写字母a开头或者结尾(或同时满足这两个条件)的串。(3)所有表示偶数的串。(4)所有不以0开始的数字串。(5)能被5整除的10进制数的集合。(6)没有出现重复数字的全体数字串。2.9

26、试构造下列正规式的NFA,并且确定化,然后最小化。(1)(a

27、b)*a(a

28、b)(2)(a

29、

30、b)*a(a

31、b)*(3)ab((ba

32、ab)*(bb

33、aa))*ab(4)00

34、(0

35、1)*

36、11(5)1(0

37、1)*01(6)1(1010*

38、1(010)*1*02.10请分别使用下面的技术证明(a

39、b)*,(a*

40、b*)*以及((a

41、e)b*)*这三个正规式是等价的:(1)仅用正规式的定义及其代数性质;(2)从正规式构造的最小DFA的同构来证明正规式的等价。《编译原理与技术》练习题312.11构造有限自动机M,使得(1)L(M)={anbn

42、n³1};(2)L(M)={a

43、nbncn

44、n³1};(3)它能识别S={0,1}上0和1的个数都是偶数的串;(4)它能识别字母表{0,1}上的串,但是串不含两个连续的0和两个连续的1;(5)它能接受形如±dd*,±d*E和±dd的实数,其中d={0,1,2,3,4,5,6,7,8,9}。(6)它能识别{a,b}上不含子串aba的所有串。2.12分别将下列NFA确定化,并画出最小化的DFA:(a)a10a,bb(b)a40a,ba123abbba(c)eabFAa,bBCDebbaSEee2.13下面是URL的一个极其简化的扩展正规式的描述:letter→[A-Za-z]digit→[0-9]letg

45、it→letter

46、digitletgit_hyphen→letgit

47、_letgit_hyphen_string→letgit_hyphen

48、letgit_hyphenletgit_hyphen_stringlabel→letter(letgit_hyphen_string?letgit)?URL→(label.)*label(1)请将这个URL的扩展正规改写成只含字母表{A,B,0,1,_,.}上符号的正规式;(2)构造出识别(1)更简化的URL串的有限自动机。2.14用某种高级语言实现(1)将正规式转换成NFA的算法;(2)将NFA确定化的算法;(3)将DFA最小

49、化的算法。2.15描述下列语言词法记号的正规表达式:(1)描述C浮点数的正规表达式。(2)描述Java表达式的正规表达式。2.16Pascal语言的注释允许两种不同的形式:花括弧对{...},以及括弧星号对(*...*)。(1)构造一个识别这两种注释形式的DFA;(2)用Lex的符号构造它的一个正规式。2.17写一个Lex输入源程序,它将产生一个把C语言程序中(注释除外)的保留字全部大写。《编译原理与技术》练习题31练习33.1 对于文法G3.26[E]E→T

50、E+T

51、E-TT→F

52、T*F

53、T/FF→(E)

54、i证明(i+T)*i是它的一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。