一种过程式语言编译器的设计与实现
发布时间:2017-05-21 21:23
本文关键词:一种过程式语言编译器的设计与实现,由笔耕文化传播整理发布。
【摘要】:过程式程序设计语言一直是计算机编程设计语言的一个重要内容之一。到目前为止很多大学仍然把过程式程序开发语言作为计算机编程开发的基础课程,为了学好计算机专业的整个学科,务必要学习好过程式程序设计语言,这非常重要。本课题设计实现的针对过程式程序设计语言的编译器。从20世纪40年代计算机机器语言诞生开始,如何编写正确高效而简洁的程序,对于计算机的应用发展,一直是一个很大的问题。编译原理就是要解决,如何将人的思维,转化为计算机可以理解的代码的问题。本文先从过程式语言及编译器的产生发展进行介绍,然后对开发设计的过程式语言的工具微软的Visual Studio 2010和采用面向对象的程序设计理念进行了详细的说明。把编译器开发分为词法分析器,语法分析器,语义分析等四个步骤。每个步骤按照软件工程的流程分别从模块的总体架构,详细设计中包括对主要实现类的数据结构和算法进行介绍。本课题设计实现的过程式程序设计语言,包含了常用的各种基本数据类如int、double、char、long、bool等;在语句结构上面,包含了顺序执行语句,for循环语句、if\else判断分支语句等。像其他程序设计语言一样,本课题设计实现的过程式程序设计语言还提供了函数调用功能,而且还支持函数的递归调用。考虑到过程式语言是有一定的复杂度的,本次设计主要是体现功能设计,没有实现过程式语言的编译器的全部功能,给出了编译器的运行方式。本课题主要设计与实现了一种过程式程序设计语言的编译器系统,该过程式程序设计语言,如同C语言、pascal等过程式程序设计语言一样,功能基本完善。
【关键词】:过程式语言 面向对象的程序设计 编译器
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP314
【目录】:
- 摘要5-6
- ABSTRACT6-11
- 第一章 绪论11-17
- 1.1 项目研究的背景和意义11-12
- 1.2 程序设计语言发展现状12-14
- 1.2.1 程序设计语言概念12-13
- 1.2.2 程序设计语言的发展趋势13-14
- 1.3 编译器的研究现状和发展趋势14-15
- 1.3.1 编译器的概念14
- 1.3.2 编译器的发展趋势14-15
- 1.4 论文主要完成的工作和章节安排15-17
- 第二章 需求分析17-23
- 2.1 可行性研究17-19
- 2.1.1 技术可行性17-19
- 2.1.2 经济可行性19
- 2.1.3 时间可行性19
- 2.2 系统的功能要求19-21
- 2.2.1 基本功能19-20
- 2.2.2 附加功能20-21
- 2.3 系统的性能要求21-22
- 2.3.1 可靠性要求21-22
- 2.3.2 时间要求22
- 2.3.3 稳定性要求22
- 2.4 本章小结22-23
- 第三章 过程式语言的形式化定义23-34
- 3.1 语言的词法定义23-25
- 3.1.1 源代码字符表23-24
- 3.1.2 巴科斯范式定义24-25
- 3.2 语言的语法定义25-30
- 3.2.1 语言的语法概述25-26
- 3.2.2 语言的形式化语法定义26-30
- 3.3 语言的语义30
- 3.4 过程式语言的设计30-33
- 3.4.1 词法的设计31
- 3.4.2 语法的设计31-33
- 3.4.3 中间代码的选择33
- 3.5 本章小结33-34
- 第四章 编译器的概要设计34-38
- 4.1 编译器的运行流程34-35
- 4.2 过程式语言编译器的总体结构35-36
- 4.3 代码分析模块结构36-37
- 4.4 类结构的设计37
- 4.5 本章小结37-38
- 第五章 编译程序的详细设计与实现38-55
- 5.1 编译程序的设计目标38-39
- 5.2 编译程序的总体结构和流程39-40
- 5.2.1 程序结构39-40
- 5.2.2 程序流程40
- 5.3 词法分析40-46
- 5.3.1 词法分析程序的算法思想40-42
- 5.3.2 Token定义42-44
- 5.3.3 DFA分析44-46
- 5.4 语法分析46-53
- 5.4.1 代码结构分析46-49
- 5.4.2 节点定义49-50
- 5.4.3 递归向下语法分析50-53
- 5.5 程序截图53-54
- 5.5.1 目标代码生成53-54
- 5.5.2 生成符号表54
- 5.6 本章小结54-55
- 第六章 系统测试55-64
- 6.1 测试方法概述55-56
- 6.1.1 测试方法综述55
- 6.1.2 本次选取的测试方法55-56
- 6.1.3 系统测试的步骤56
- 6.2 测试用例56-63
- 6.2.1 程序的过滤处理56-58
- 6.2.2 词法分析结果58-59
- 6.2.3 语法分析出错59-61
- 6.2.4 兼容性测试61-62
- 6.2.5 用户界面测试的检查表62
- 6.2.6 性能测试用例62-63
- 6.3 测试结果的分析63
- 6.4 本章小结63-64
- 第七章 总结与展望64-66
- 致谢66-67
- 参考文献67-69
【相似文献】
中国期刊全文数据库 前8条
1 李天慧;;模型面向过程式语言切片工具的实现[J];辽宁省交通高等专科学校学报;2013年01期
2 刘磊,粱建华,金成植;嵌套型过程式语言的过程提升技术[J];小型微型计算机系统;1995年12期
3 薄瑜;杨立影;邹萍;关健;姜莹莹;;过程式考核模式在计算机基础课中的应用[J];剑南文学(经典教苑);2012年05期
4 郑丽琴;陈展虹;;基于Moodle平台学生过程式学习的统计功能研究[J];重庆科技学院学报(自然科学版);2012年01期
5 黄正东;魏昕;周凡利;陈立平;;Modelica语言的过程式建模机制研究与实现[J];微计算机信息;2007年31期
6 ;微控制器及超低功耗的“确定过程式”微控制器[J];电子技术;2006年03期
7 沈祖梁,丁利亚;PROLOG语言及其实现[J];计算机工程;1985年06期
8 ;[J];;年期
中国博士学位论文全文数据库 前1条
1 王丽英;城市环境的过程式建模技术研究[D];浙江大学;2009年
中国硕士学位论文全文数据库 前2条
1 周欣源;一种过程式语言编译器的设计与实现[D];电子科技大学;2015年
2 魏昕;多领域统一建模语言中的过程式建模机制研究与实现[D];华中科技大学;2007年
本文关键词:一种过程式语言编译器的设计与实现,由笔耕文化传播整理发布。
,本文编号:384905
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/384905.html