DO-WHILE循环语句的翻译程序设计

DO-WHILE循环语句的翻译程序设计

ID:40533997

大小:313.00 KB

页数:28页

时间:2019-08-04

DO-WHILE循环语句的翻译程序设计_第1页
DO-WHILE循环语句的翻译程序设计_第2页
DO-WHILE循环语句的翻译程序设计_第3页
DO-WHILE循环语句的翻译程序设计_第4页
DO-WHILE循环语句的翻译程序设计_第5页
资源描述:

《DO-WHILE循环语句的翻译程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、武汉理工大学《编译原理》课程设计说明书课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目:DO-WHILE循环语句的翻译程序设计(LL(1)法、输出三地址表示)初始条件:理论:学完编译课程,掌握一种计算机高级语言的使用。实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)写出符合给定的语法分析方法的文法及属性文法。(2)完成题目要求的中间代码三地址表示的描述。(3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。(4)编制好分析程序后

2、,设计若干用例,上机测试并通过所设计的分析程序。(5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:1系统描述(问题域描述);2文法及属性文法的描述;3语法分析方法描述及语法分析表设计;4按给定的题目给出中间代码形式的描述及中间代码序列的结构设计;5编译系统的概要设计;6详细的算法描述(流程图或伪代码);7软件的测试方法和测试结果;8研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);9参考文献(按公开发表的规范书写)。时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试及测试。周5:撰写课程设计报告。设计验收安排:设计周的星期五第

3、1节课开始到实验室进行上机验收。设计报告书收取时间:设计周的次周星期一上午10点。指导教师签名:2011年月日系主任(或责任教师)签名:2011年月日28武汉理工大学《编译原理》课程设计说明书DO-WHILE循环语句的翻译程序设计(LL(1)法、输出三地址表示)1.系统描述1.1设计目的通过设计、编制、调试一个DO-WHILE循环语句的语法及语义分析程序,加深对法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。1.2设计内容及步骤对循环语句:DO〈赋值语句〉WHILE〈表达式〉(1)按给定的题目写出符合自身语法分析方法要求的文法和属性文法描述。(2)按给定的题目给

4、出语法分析方法的思想及分析表设计。(3)按给定的题目给出中间代码序列的结构设计。(4)完成相应的词法分析、语法分析和语义分析程序设计。(5)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。2.文法及属性文法的描述2.1文法描述28武汉理工大学《编译原理》课程设计说明书K->doLwhileSL->SPP->;SP

5、εS->iQEE->TGG->+TG

6、-TG

7、εT->FRR->*FR

8、/FR

9、εF->(E)

10、iQ->=

11、<

12、>28武汉理工大学《编译原理》课程设计说明书2.2属性文法的描述产生式属性文法K->doLwhileSK.begin:=newlabel;K.ne

13、xt:=newlabel;S.true:=newlabel;S.false:=K.next;L.next:=K.begin;K.code:=gen(K.begin,‘:’)

14、

15、S.code

16、

17、gen(K.true,‘:’)28武汉理工大学《编译原理》课程设计说明书

18、

19、L.code

20、

21、gen(‘goto’,K.begin)

22、

23、gen(S.false,‘:’)

24、

25、gen(‘gotoLnext’);L->SPL.palce:=newlabel;L.code:=S.code

26、

27、P.code

28、

29、gen(L.palce‘:=’,S.place,P.place);P->;SP

30、εP.palce:=

31、newlabel;P.code:=S.code

32、

33、P.code

34、

35、gen(L.palce‘:=’,‘;’,S.place,P.place)

36、

37、gen(L.code‘:=ε’);S->iQES.place:=newlabel;S.code:=i.code

38、

39、Q.code

40、

41、E.code

42、

43、gen(S.place‘:=’,i.place,Q.place,E.place);E->TGE.palce:=newlabel;E.code:=T.code

44、

45、G.code

46、

47、gen(E.palce‘:=’,T.place,G.place);G->+TG

48、-TG

49、εG.place:=newlabel;

50、G.code:=T.code

51、

52、G.code

53、

54、gen(G.place‘:=+’,T.place,G.place)

55、

56、gen(G.place‘:=-’,T.place,G.place)

57、

58、gen(G.code‘:=ε’);T->FRT.palce:=newlabel;T.code:=F.code

59、

60、R.code

61、

62、gen(T.palce‘:=’,F.place,F.place);R->*FR

63、/FR

64、εR.place:=newlabel;R.code:=F

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

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

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