编译原理课程设计--- 编译代码生成器设计

编译原理课程设计--- 编译代码生成器设计

ID:11098289

大小:514.50 KB

页数:31页

时间:2018-07-10

编译原理课程设计--- 编译代码生成器设计_第1页
编译原理课程设计--- 编译代码生成器设计_第2页
编译原理课程设计--- 编译代码生成器设计_第3页
编译原理课程设计--- 编译代码生成器设计_第4页
编译原理课程设计--- 编译代码生成器设计_第5页
资源描述:

《编译原理课程设计--- 编译代码生成器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《编译原理》课程设计报告题目编译代码生成器设计学院信息科学与工程学院专业计算机科学与技术班级********学号**********学生姓名*********指导教师******课程成绩完成日期***********31课程设计成绩评定学院信息学院专业计算机科学与技术班级*********学号**************学生姓名********指导教师*********课程成绩完成日期************指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度

2、课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩指导教师签字******年月31题目编译代码生成器设计学生姓名:*******指导老师:*******摘要使用过现代计算机的人都知道,多数用户是应用高级语言来实现他们所需要的计算的。现在计算机系统一般都含有不只一个的高级语言的编译程序,对有些高级语言甚至配置了几个不同性能的编译程序,供用户按不同需要进行选择。高级语言编译程序是计算机系统软件最主要的组成部分之,也是用户最直接关系的工具之一。计算机上执

3、行一个高级语言程序一般分为两步:第一,用一个编译程序把高级语言翻译成机器语言程序;第二,运行所得的机器语言程序求得计算结果。通常说的翻译程序是指能够把某一种语言程序转换成另一种语言程序(目标语言程序)。如果源语言诸如Fortran,Pascal,C,Ada或java这样的高级语言,而目标程序是诸如汇编语言或者机器语言这类的低级语言,这样的一个翻译程序就是称为编译程序。一个编译程序的工作过程一般可以划分为五个阶段:词法分析、语法分析、语义分析与中间代码生成、优化、目标代码生成。每个阶段都是从上一个阶段得到结果

4、,对他进行分析,并且根据一些外部环境(例如符号表等)得到最终的输出结果。要构造一个编译程序,可以按照这样的阶段来分别构造,最后来连调。现在人们已经建立了多种编制部分编译程序或整个编译程序的有效工具。有些能用于自动生成扫描器(如LEX),有些可以用于自动产生语法分析器(如YACC),有些甚至可以用来自动产生整个的编译程序。这些构造编译程序的工具成为编译程序-编译程序、编译程序产生器或翻译程序书写系统,他们是按照编译程序和目标语言的形式描述而自动产生编译程序的。编译程序是一极其庞大而又复杂的系统,掌握它比较苦难

5、。但是一旦对其掌握,对以后的程序语言设计,系统软件分析,系统软件设计,形式语言研究等方面都是非常有好处的。关键字:C语言、编译、扫描器、语法分析一、课程设计的目的编译原理课程兼有很强的理论性和实践性,是计算机专业的一门非常重要的专业基础课程,它在系统软件中占有十分重要的地位,是计算机专业学生的一门主修课。为了让学生能够更好地掌握编译原理的基本理论和编译程序构造的基本方法和技巧,融会贯通本课程所学专业理论知识,提高他们的软件设计能力,特设定该课程的课程设计,通过设计一个简单的PASCAL语言(EL语言)的编译

6、程序,提高学生设计程序的能力,加深对编译理论知识的理解与应用。31二、课程设计的要求1、明确课程设计任务,复习编译理论知识,查阅复印相关的编译资料。2、按要求完成课程设计内容,课程设计报告要求文字和图表工整、思路清晰、算法正确。3、写出完整的算法框架。4、编写完整的编译程序。三、课程设计的内容课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于编译的知识量较复杂而且综合性较强,因而对一个完整的编译程序不适合平时实验。通过课程设计可以达到综合设计编译程序的目的。本课

7、程的课程设计要求学生编写一个完整的编译程序,包括词法分析器、语法分析器以及实现对简单程序设计语言中的逻辑运算表达式、算术运算表达式、赋值语句、IF语句、While语句以及do…while语句进行编译,并生成中间代码和直接生汇编指令的代码生成器。四、总体设计方案及详细设计主程序词法分析程序语法分析程序中间代码生成程序总体设计方案:1.总体模块2.表2.1各种单词符号对应的种别码单词符号种别码单词符号种别码bgin1:17If2:=18Then3<20wile4<>21do5<=22end6>23lettet(

8、letter

9、digit)*10>=24dightdight*11=2531+13;26—14(27*15)28/16#0详细设计:4.1界面导入设计(1)一共三个选项:①choice1--------cifafenxi②choice2--------yufafenxi③choice3--------zhongjiandaima(2)界面演示图一图二31图三4.2词法分析程序31置初值调用扫描子程序输出单词二元组

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

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

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