- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学 号: 0120710340517
课 程 设 计
题 目 DO-WHILE语句的翻译程序设计(递归下降法、输出四元式) 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 计算机科学与技术0705 姓 名 指导教师
2010 年 1 月 8 日
课程设计任务书
学生姓名: 专业班级:计算机0705班
指导教师: 工作单位:计算机科学与技术学院
题 目: DO-WHILE语句的翻译程序设计(递归下降法、输出四元式)
初始条件:
理论:学完编译课程,掌握一种计算机高级语言的使用。
实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
写出符合递归下降法的文法及属性文法。
完成题目要求的中间代码四元式的描述。
写出递归下降法的思想,完成语法分析和语义分析程序设计。
编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。
设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:
1 问题描述;
2文法及属性文法的描述;
3语法分析方法及中间代码形式的描述;
4简要的分析与概要设计;
5详细的算法描述;
6给出软件的测试方法和测试结果;
7设计的特点、不足、收获与体会。
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周3、周4:完成程序调试及测试。
周5:撰写课程设计报告。
设计验收安排:18周的星期五第3-4节课到实验室进行上机验收。
设计报告书收取时间:19周的星期四下午。
指导教师签名: 2009 年 12 月23日
系主任(或责任教师)签名: 年 月 日
目录
1问题描述
2文法及属性文法的描述。
2.1 DO-while循环语句的文法
2.2 DO-WHILE循环语句的属性文法:
3.语法分析方法及中间代码形式的描述
3.1语法分析方法
3.2中间代码形式描述
4.简要的分析与概要设计
4.1词法分析
4.2递归下降翻译器的设计
4.3语法制导翻译
5详细的算法描述
5.1 文法
5.2 查错
6测试方法和测试结果
6.1测试方法
6.2测试用例
6.3测试结果
7设计的特点、不足、收获与体会
7.1设计的特点
7.2设计的不足,收获与体会
8参考文献
DO-WHILE语句的翻译分析程序设计
———递归下降法、输出四元式
1问题描述
设计一个DO-WHILE循环语句的词法﹑语法及语义分析程序,语法分析选择递归下降法,采用用语法制导翻译输出中间代码四元式。
2文法及属性文法的描述。
2.1 DO-while循环语句的文法
产生式为S- do E while A,为便于语法制导翻译将其改写如下:
文法G(s)如下:
s -do s1 while e
s0-{s1}
s1 -i=i op j s2
s2 - ;
s2 -;s1
e -(i lab j)
op -+||-||*||/
lab-==||!=||||=||||=
2.2 DO-WHILE循环语句的属性文法:
产生式
语义规则
S→do E while A
S.begin:=newlabel;
E.true:=newlabel;
E.false:=S.next;
S1.next:=S.begin;
S.code:=gen(S.begin’:’‖E。code‖
gen(E.true’:’) ‖S1.code‖
gen(‘goto’ S.begin)
3.语法分析方法及中间代码形式的描述
3.1语法分析方法
递归下降法的实现思想是为文法的每个非终结符号设计一个相对应的递归子程序,识别程序由一组这样的子程序组成。
它的优点是简单直观,易于构造,很多编译系统所实现
缺点是对文法要求很高,由于递归调用多,影响分析器的效率
其文法可以表示为:
E→T│E+T
T→F│T*F
F→i│(E)
可以用语法图来表示语言的文法,如图:
E
T
F
3.2中间代码形式描述
中间代码采用四元式输出,一个四元式是一个带有四个域的记录结构,这四个域分别称为op﹑arg1﹑arg2及result。域op包含一个代表运算符的内部码。语句do c=a+b while ab的四元式输出形式如下:
0 ( + , a , b , T )
1 ( = , T , _,
您可能关注的文档
- DO-WHILE语句的翻译程序设计(简单优先法,输出四元式).doc
- IF-ELSE条件语句的翻译程序设计(LL(1)法、输出四元式).doc
- JSP的技术发展历史 相关 中英对照 外文文献翻译 毕业设计论文 高质量人工翻译 原文带出处 (13).doc
- AT89C51单片机英文文献附带翻译.doc
- DOC-工业设计外文文献翻译及原文-其他专业.docx
- Cost-Management-Plan-Template翻译版.doc
- Java技术及SSH框架毕业论文中英文对照资料外文翻译文献.doc
- DOC-建筑专业外文翻译----大学校园规划的整体设计-建筑结构.doc
- jsp 计算机 外文翻译 外文文献 英文文献 Struts 一种开源MVC的实现.doc
- GPS水准测量外文翻译文献.docx
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)