编译课程设计报告书

浮梦 范文 报告范文
精选回答

编译课程设计报告书本文简介:课程设计报告(2012--2013年度第1学期)名称:编译技术课程设计B题目:词法分析器设计算符优先分析程序设计基于算符优先分析方法的语法制导翻译程序设计院系:计算机系班级:计科1001学号:201009010121学生姓名:苏航指导教师黄志强阎蕾岳燕设计周数:1周成绩:日期:2013年1月11日2

编译课程设计报告书本文内容:

课程设计报告

(

2012

--

2013年度第

1

学期)

称:

编译技术课程设计B

目:

词法分析器设计

算符优先分析程序设计

基于算符优先分析方法的语法制导翻译程序设计

系:

计算机系

级:

计科1001

号:

201009010121

学生姓名:

苏航

指导教师

黄志强

阎蕾

岳燕

设计周数:

1周

绩:

日期:2013年1月11日

2

《编译技术》课程设计B

一、

目的与要求

1.词法分析器设计的目的与要求

1.1

词法分析器设计的实验目的

本实验是为计算机科学与技术专业、网络工程专业、信息安全专业的学生在学习《编译技术》课程后,为加深对课堂教学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译程序设计的原理和技术设计出词法分析器,了解扫描器的组成结构,不同种类单词的识别方法。能使得学生在设计和调试编译程序的能力方面有所提高。为将来设计、分析编译程序打下良好的基础。

1.2

词法分析器设计的实验要求

设计一个扫描器,该扫描器是一个子程序,其输入是源程序字符串,每调用一次识别并输出一个单词符号。为了避免超前搜索,提高运行效率,简化扫描器的设计,假设该程序设计语言中,基本字(也称关键词)不能做一般标识符用,如果基本字、标识符和常数之间没有确定的运算符或界符作间隔,则用空白作间隔。

单词符号及其内部表示如表1-1所示,单词符号中标识符由一个字母后跟多个字母、数字组成,常数由多个十进制数字组成。单词符号的内部表示,即单词的输出形式为二元式:(种别编码,单词的属性值)。

表1-1

单词符号及其内部表示

单词符号

种别编码

单词的属性值

BEGIN

IF

THEN

ELSE

END

标识符

整型常数

+*

1

2

3

4

5

6

7

8

9

10

11

12

在名字表中的地址

十进制整数

2.算符优先分析程序设计的目的和要求

2.1

算符优先分析程序设计的实验目的

本实验是为计算机科学与技术等专业的学生在学习《编译技术》课程后,为加深对课堂教学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译程序设计的原理和技术,设计、编写和调试算符优先分析程序,了解算符优先分析程序的组成结构,掌握实现通用算符优先分析算法的方法。能使得学生在设计和调试编译程序的能力方面有所提高。为将来设计、分析编译程序打下良好的基础。

2.2

算符优先分析程序设计的实验要求

算符优先分析属于自下而上的分析方法,该语法分析程序的输入是终结符号串(即单词符号串,以一个“”结尾),如果输入串是句子则输出“YES”,否则输出“NO”和错误信息。

算符优先分析过程与非终结符号无关,当由文法产生了优先关系之后文法也就失去了作用,本题目给出文法的目的是为了便于对语法分析结果进行验证。

(1)文法

设算符优先文法为:

说明:i为整型常数或者为标识符表示整型变量;使用中↑用**表示。

(2)优先关系表

设优先关系表如表1-2所示。

表1-2

优先关系表

+

i

(

)

#

+

i

(

)

#

3.基于算符优先分析方法的语法制导翻译程序设计的目的和要求

3.1

基于算符优先分析方法的语法制导翻译程序设计的实验目的

本实验是为计算机科学与技术等专业的学生在学习《编译技术》课程后,为加深对课堂教学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译程序设计的原理和技术,通过设计、编写和调试语法制导翻译程序,掌握从一种语句的语法和语义出发,构造相应的语义子程序,实现基于算符优先分析方法的语法制导翻译的方法。能使得学生在设计和调试编译程序的能力方面有所提高。为将来设计、分析编译程序打下良好的基础。

3.2

基于算符优先分析方法的语法制导翻译程序设计的实验要求

算符优先分析方法是通过反复把输入符号移进分析栈,使用优先关系表在分析栈顶寻找最左素短语,将其归约为一个非终结符号而实现的。这个分析过程与非终结符号无关,当由文法产生了优先关系之后文法也就失去了作用(所以本题目无需给出文法)。

基于算符优先分析方法的语法制导翻译是在算符优先语法分析的基础上进行翻译工作(即语义分析),每当将一个最左素短语归约为一个非终结符号时,就调用对应产生式的语义子程序,去完成相应的语义翻译工作,这步归约使用的产生式对非终结符号不加区分(即将所有的非终结符号用一个通用的非终结符号表示)。

语法制导翻译程序的输入是终结符号串(即单词符号串,以一个“”结尾),如果输入符号串是句子,则按照其语义进行翻译,输出等价的四元式序列(作为练习应显示输出)。

4.上机前的准备

为了充分利用上机时间,在进行编译技术上机实验前应做好各种准备工作,具体应包括:

(1)复习与上机题目有关的知识,熟悉有关定义、概念和实现算法。

(2)设计出程序流程框图和数据结构,编写出完整的源程序,进行静态检查。

(3)为所编写的程序构思一个运行、调试环境,例如,以什么方式提供输入数据、显示输出数据,如何调用(或启动)编写的程序。制定出程序调试计划和典型输入代码数据。

5.课程设计报告

课程设计完成后,按学校给定的格式和要求写出课程设计报告。

二、

主要内容

完成以下课程设计内容:

1.完成词法分析器设计,实现输入源程序字符串,每调用一次扫描器,就输出一个以内部形式表示的单词符号,输出形式为二元式:(种别编码,单词属性)

2.完成算符优先分析程序设计,掌握实现通用算符优先分析算法的方法,实现输入终结符号串(即单词符号串,以一个“”结尾),如果输入串是句子则输出“YES”,否则输出“NO”和错误信息。

3.完成基于算符优先分析方法的语法制导翻译程序设计,实现输入是终结符号串(即单词符号串,以一个“”结尾),如果输入符号串是句子,则按照其语义进行翻译,输出等价的四元式序列。

三、

进度计划

序号

设计内容

完成时间

备注

1

查阅资料,编译器各部分概要设计

一天

2

词法分析器设计

一天

3

算符优先分析程序设计

一天

4

基于算符优先分析方法的语法制导翻译程序设计

一天半

5

验收交实验报告

半天

已完成的学生验收

交实验报告

四、设计成果要求

1.按进度计划和自己的能力完成课程设计内容要求,包括程序框图、源程序、调试步骤、调试方法、对运行结果的分析等。

2.总结整个课程设计,撰写出课程设计报告。

五、

考核方式

1.程序调试完成后,由指导教师在计算机上检查,验收课程设计成果,并现场答辩。

2.评阅课程设计报告。

学生姓名:

(签字)

指导教师:

编译课程教学组*年*月*日

实验一.词法分析器的设计与实现

一、课程设计(综合实验)的目的与要求

1.1

词法分析器设计的实验目的

本实验是为计算机科学与技术专业的学生在学习《编译技术》课程后,为加深对课堂教学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译程序设计的原理和技术设计出词法分析器,了解扫描器的组成结构,不同种类单词的识别方法。能使得学生在设计和调试编译程序的能力方面有所提高。为将来设计、分析编译程序打下良好的基础。

1.2

词法分析器设计的实验要求

设计一个扫描器,该扫描器是一个子程序,其输入是源程序字符串,每调用一次识别并输出一个单词符号。为了避免超前搜索,提高运行效率,简化扫描器的设计,假设该程序设计语言中,基本字(也称关键词)不能做一般标识符用,如果基本字、标识符和常数之间没有确定的运算符或界符作间隔,则用空白作间隔。

单词符号及其内部表示如表1-1所示,单词符号中标识符由一个字母后跟多个字母、数字组成,常数由多个十进制数字组成。单词符号的内部表示,即单词的输出形式为二元式:(种别编码,单词的属性值)。

表1-1

单词符号及其内部表示

单词符号

种别编码

单词的属性值

BEGIN

IF

THEN

ELSE

END

标识符

整型常数

+*

1

2

3

4

5

6

7

8

9

10

11

12

在名字表中的地址

十进制整数

6

二、设计(实验)正文

1.词法分析器流程图

开始

结束

初始化

读入需要分析的句子

还有单词未分析?

是字母?

其他单词分析程序

是数字?

输出单词二元式

关键字或标识符分析程序

读一个字符

常数分析程序

2.词法分析器设计程序代码

#include

#include

#include

using

namespace

std;

int

what(char

a)

{

if((int(a)>=48)

while((k““““““#include

using

namespace

std;

const

int

MAX=100;

char

cost[8][8]={,+,*,!,i,(,),#,+,>,,>,*,>,>,,>,!,>,>,,>,i,>,>,>,,,>,>,(,,>,>,,,>,>,#,=length)

{

chartemp=new

char[MAX];

for(int

i=0;i=0)break;

case

“=

A

)

const

int

MAX=100;

char

cost[8][8]={,+,*,!,i,(,),#,+,>,,>,*,>,>,,>,!,>,>,,>,i,>,>,>,,,>,>,(,,>,>,,,>,>,#,op=cost[0][op];

this->s1=s1;

this->s2=s2;

this->s3=Fp+300;

}

void

DispSample()

{

cout=length)

{

for(int

i=0;i=0)break;

case

<

:return

-1;break;

case

=

:return

0;break;

default:return

2;break;

}

}

int

黎明 2022-07-19 20:43:47

相关推荐

得意洋洋,反义词(得意洋洋的反义词)

1、得意洋洋的反义词有郁郁寡欢的,有空虚进取的书,有哭天抢地的,有郁郁寡欢的,有失意的,有垂头丧气的,有谦虚谨慎的,有黯然销魂的,有抑郁的。2、“得意”是中国成语,读作:dyyngyng,解释为:得意:明白意图...
展开详情

蚍蜉撼树是什么意思蚍(蚍蜉撼树是什么意思)

1、蜉蝣树(拼音pfhnsh)是中国成语,蜉蝣树(蜉蝣:一种大蚂蚁;Shake:摇动)比喻力量本来就很弱,但是你想摇动一个很强大的东西,就不能随心所欲了。这个成语一般用作主语、谓语、宾语,属于主谓式,含有贬义。...
展开详情

士大夫怎么读(士大夫)

1、士大夫,在古代是指有官职的人,也指不当官的有名望的学者。2、在中国古代,官员和学者的统称。055-79000:“仆亦承传送门之业,受朝廷调教,使得冠带之端,在士大夫之列。”陈继儒,明朝《晋书夏侯湛传》:“立...
展开详情

福兮祸所伏祸兮福所倚什么意思(福兮祸所伏祸兮福所倚)

1、福兮祸所伏祸兮福所倚是俗语,意思是福祸相依,相互转化。比喻能有好结果,好事也能有坏结果。建议人在富贵时要谦虚谨慎,戒骄戒躁;踌躇满志,狂妄自大,却滋生灾难,由福转祸;逆境中坚持,努力,可以化逆境为顺境,从苦...
展开详情

回眸一笑是啥意思(回眸一笑什么意思)

1、回首微笑,拼音是humuy和ao,中国成语,意思是翻白眼,微笑。常用来形容女人妩媚的表情,诱惑人,引人入胜。出自唐白居易《长恨歌》。2、唐白居易《长恨歌》:“只要她转过头来笑一笑,就有一百个符咒在施,六宫的...
展开详情

精选推荐更多>

亏贼是什么意思

亏贼的意思是损害。
亏贼,读音为kuī zéi,汉语词语。
出处:《墨子·兼爱下》:“又与今人之贱人,执其兵刃毒药水火,以交相亏贼,此又天下之害也。”
亏(拼音:kuī),汉语一级通用规范汉字(常用字)。“亏”和它的繁体字“虧”原是音义都不同的两个字。简体“亏”原是“于”的异体字,字形、字义关系不详,清代王筠认为是“吁”的本字,假借为动词“往”义,并由此引申出“到达”、“在”、“比”义,进而虚化出一系列介词用法,这些意思后世多写作“于”。“亏”字后来成为“虧”的简化字。
出处:《易·谦卦》:“天道亏盈而益谦。”
例句:《战国策·魏策一》:“夫事秦必割地效质,故兵未用而国已亏矣。”
近义词:损、缺。

什么是标兵

标兵,读作:biāo bīng,意思是:
1、阅兵场上用来标志界线的兵士。泛指群众集会中用来标志某种界线的人。
2、比喻可以作为榜样的人或单位:树立标兵;服务标兵、生产标兵、安全标兵、质量标兵。
出处:
1、明沈德符《野获编·督抚·整饬兵备之始》:“但承平日久,仍如守土之吏,无标兵可练,无军饷可支。”
2、《花月痕》第四十六回:“试问各道节度共带枢部之衔,且有标兵之掌,如何说得不知兵。”
3、姚雪垠《李自成》第一卷第八章:“他杀得性起,不再同刘芳亮等互相照应,率领着自己的标兵追着一股敌人不放。”
造句:
1、他对自己能当选学习标兵感到十分荣耀。
2、王大伯过去是捕猎的能手,现在是野生动物保护的标兵。
3、他的母亲不仅在厂里是生产标兵,在家里也是个好主妇,大家都称赞她精明强干。
4、丘盈盈是我们班当之无愧的学习标兵。
5、我们学校中午都会公布星级达标班级,每到念我们几星的时候,我的心就会七上八下,生怕没有得到了标兵班。

此之谓大丈夫的之意思

“此之谓大丈夫”的“之”是结构助词,不译。出自《富贵不能淫》。
原文节选:戒之曰:“往之女家,必敬必戒,无违夫子!”以顺为正者,妾妇之道也。居天下之广居,立天下之正位,行天下之大道。得志,与民由之;不得志,独行其道。富贵不能淫,贫贱不能移,威武不能屈,此之谓大丈夫。
译文:告诫她说:“到了你的丈夫的家里,一定要恭敬,一定要谨慎,不要违背你的丈夫!”以顺从为做人原则的,是妾妇之道。居住在天下最宽广的住宅“仁”里,站立在天下最正确的位置“礼”上,行走在天下最宽广的道路“义”上。能实现理想时,就同人民一起走这条正道;不能实现理想时,就独自行走在这条正道上。富贵不能使他的思想迷惑,贫贱不能使他的操守动摇,威武不能使他的意志屈服,这才叫作有志气有作为的大丈夫。
孟子的挖苦是深刻而尖锐的,对公孙衍、张仪之流可以说是深恶痛绝了。遗憾的是,虽然孟子对这种“以顺为正”的妾妇之道已如此痛恨,但两千多年来,这样的“妾妇”却一直生生不已,层出不穷。时至今日,一夫一妻已受法律保护,“妾妇”难存,但“妾妇说”却未必不存,甚或还在大行其道哩。

苏轼哪里人

苏轼是眉州眉山(今四川省眉山市)人,祖籍河北栾城。苏轼(1037年1月8日—1101年8月24日),字子瞻,一字和仲,号铁冠道人、东坡居士,世称苏东坡、苏仙、坡仙,汉族,北宋文学家、书法家、美食家、画家,历史治水名人。
苏轼对社会的看法和对人生的思考都毫无掩饰地表现在其文学作品中,其中又以诗歌最为淋漓酣畅。在二千七百多首苏诗中,干预社会现实和思考人生的题材十分突出。苏轼对社会现实中种种不合理的现象抱着“一肚皮不入时宜”的态度,始终把批判现实作为诗歌的重要主题。更可贵的是,苏轼对社会的批判并未局限于新政,也未局限于眼前,他对封建社会中由来已久的弊政、陋习进行抨击,体现出更深沉的批判意识。
苏轼在词的创作上取得了非凡的成就,就一种文体自身的发展而言,苏词的历史性贡献又超过了苏文和苏诗。苏轼继柳永之后,对词体进行了全面的改革,最终突破了词为“艳科”的传统格局,提高了词的文学地位,使词从音乐的附属品转变为一种独立的抒情诗体,从根本上改变了词史的发展方向。
苏轼擅长写行书、楷书,与黄庭坚、米芾、蔡襄并称为“宋四家”。他曾经遍学晋、唐、五代的各位名家之长,再将王僧虔、徐浩、李邕、颜真卿、杨凝式等名家的创作风格融会贯通后自成一家。
苏轼在文、诗、词三方面都达到了极高的造诣,堪称宋代文学最高成就的代表。而且苏轼的创造性活动不局限于文学,他在书法、绘画等领域内的成就都很突出,对医药、烹饪、水利等技艺也有所贡献。苏轼典型地体现着宋代的文化精神。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200