一门自定义编程语言的设计及其编译器的实现
技术:Java、JSP等摘要:
编译程序是现代计算机必不可少的组成部分,它完成了将源程序转换为目标程序的全部过程。
在我这次的毕业设计当中,定义和设计了一个类C的编程语言。由于我自身能力、时间和所学知识有限,设计出的这门语言十分简单,并没能提出一个准确有效的对现有编程语言的改进方案。当然,这个课题毕竟是一个很前沿的问题,作为大学毕业生的我只是对这个前沿问题进行了一些实践性的尝试。
当然,我的毕业设计中最重要的部分就是实现了这门编程语言的编译器,它的主要功能包括了词法分析、语法分析、语义分析、中间代码生成(中间代码采用了四元式的结构),以及目标代码生成(目标代码采用了汇编语言),可以将符合语法的程序成功执行,并显示结果。由于技术所限,编译器没有进行进行代码优化和对错误的处理。但总体而言,这个编译器项目的功能性还是十分完备的。
关键词:编译器;程序设计语言;词法分析;语法分析
目录:
摘 要 i
Abstract ii
第一章绪论 1
一论文主要内容 1
(一) 程序设计语言的设计 1
(二) 编译器的实现 1
(三) 在线编译思路的尝试 1
二文献综述 1
(一) 前言 1
(二) 研究概述 2
三研究编程语言的目的和意义 3
四研究编译器的目的和意义 3
第二章自定义语言的设计 4
一程序设计语言概述 4
(一) 程序设计语言概念 4
(二) 程序设计语言分类 4
(三) 程序设计语言的实现 4
二程序设计语言发展现状 4
三程序设计语言的发展趋势 5
四自定义语言的设计 5
(一) 词法的设计 5
(二) 语法的设计 6
(三) 中间代码的选择 6
第三章编译器概述 7
一编译器的基本概念 7
(一) 编译器概述 7
(二) 编译过程概述 7
二研发编译器的意义 8
三编译器的发展趋势 8
四尝试在线编译器的意义 8
五编译器的概要设计 9
(一) 系统总体结构 9
(二) 代码分析模块结构 9
(三) 类结构的设计 10
第四章词法分析 12
一词法分析概述 12
(一) 词法分析概念 12
(二) 常用的LEX程序 12
二词法分析器设计 12
(一) 词法的设计步骤 12
(二) 正规式和DFA 13
(三) 利用有限自动机的词法分析 13
三词法分析器的实现 14
(一) 数据结构定义 14
(二) 实现细则 14
第五章语法分析 16
一语法分析概述 16
二语法分析器设计 16
三语法分析器实现 17
(一) 上下文无关文法 17
(二) LR分析方法 17
第六章语义分析及中间代码生成 20
一语义分析及中间代码生成的概念 20
二语义分析设计 20
三中间代码的选取 21
第七章目标代码生成 22
一目标代码定义 22
(一) 简介 22
(二) 目标代码格式 22
二目标代码生成概述 23
三实现过程 23
第八章系统的在线化尝试 25
一为什么要进行编译器在线化 25
(一) 现有系统的局限性 25
(二) 编译器在线化的优势 26
(三) 在线编译器的发展现状 26
二在线化的设计思路 26
(一) 开发技术概述 26
(二) 正则表达式 27
(三)在线编译器功能的确立 27
(四)类与方法的建立 27
三在线化的具体实现 28
(一) 基础页面部分 28
(二) 逻辑部分 29
第九章系统测试 31
一测试方法概述 31
(一) 测试方法综述 31
(二) 本次选取的测试方法 32
二在线版本测试用例及结果 32
(一) 基本运算 32
(二) 输出字符串 33
(三) 错误处理 34
三本地版本测试用例 34
(一) 基本运算 34
(二) 输出字符串 35
(三) if语句 36
(四) for循环 36
四测试结果 37
结论 38
致谢 40
外文原文 41
中文翻译 68
包含资料:
截图:
百度网盘下载地址(金币充值):
**** 本内容需购买 ****
页:
[1]