ImageVerifierCode 换一换
格式:DOCX , 页数:101 ,大小:159.56KB ,
资源ID:15081965      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15081965.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业设计论文基于LLVM的编译器的设计与实现Word文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

毕业设计论文基于LLVM的编译器的设计与实现Word文档格式.docx

1、计算机科学与技术学院 专业班级:计算机082001班 2012年 6月 4日 太原科技大学毕业设计(论文)任务书 学院: 计算机科学与技术学院 学 生 姓 名 学号 200820010114 专业班级 计算机082001 同组人 无 任务下发时间 2012年3月 任务完成时间 2012年6月 设计(论文)题目 基于LLVM的编译器的设计与实现 设计 高质量应用软件的开发,需要高效的编程语言和编译器的支持。目的 为了加深学生对编程语言和编译器的理解,要求学生设计一个类似C要求 的小源语言,然后利用LLVM实现该语言的编译器。在深刻理解编译原理,掌握文法设计和编译器构造方法,并且熟悉LLVM的基础

2、上,完成编程语言和编译器的设计。主要内容包括: 设计 (1)设计源语言,要求包括变量声明,基本赋值语句,数组访问,主要 条件分支语句,循环语句,函数定义,和函数调用等。 内容 (2)学习LLVM,完成词法分析,语法分析,和语法制导翻译(翻译成LLVM IR)工作,最后利用LLVM实现代码优化和代码生成功能。设计 毕业论文 提交 外文资料翻译 资料 编译器软件 学生签名 指导教师签名 系主任签名 主管院长签名 太原科技大学学士学位论文 中文摘要 开发高性能的应用软件,除了一个良好的软件架构外,还需要高效的编程语言和高质量的编译器的支持。现有语言的改动和新语言的创造,都会带来编译器的开发需求。本文

3、设计了一门新的编程语言leechee,定义了此种语言的文法结构、词法规则,并在linux环境下实现了leechee编程语言的编译器。具体实现方式为首先利用Flex完成词法分析,而后使用Bison完成文法设计、语法分析和语法制导翻译,把源代码翻译成LLVM IR,最后利用LLVM实现代码优化和代码生成功能。关键字:编程语言;编译器;语法制导翻译;LLVM IR;代码优化 The Design and Implementation of LLVM based Compiler Author: Liang Guanlin Tutor: Liu Aiqin ABSTRACT In addition t

4、o a good software-architecture, the development of high-performance applications also needs the support of an efficient programming language and a high-quality compiler. Changes to existing languages and creation of new languages, will bring the development needs of the compilers. This paper designs

5、 a new programming language leechee, defines its grammatical structures, lexical rules, and implements its compiler under Linux environment. The specific approach is, first, finishes the scanner with Flex, and then completes the grammar design, parser, syntax directed translation with Bison, impleme

6、nts the translation to LLVM IR, and finally use the LLVM to do the code optimization and code generation. Keywords: programming language; compiler; syntax directed translation; LLVM IR; code optimization I 第一章 绪论 . 0 1.1 什么是编译器 . 0 1.2 总会有编译器的开发需求 . 0 1.3 为什么做这个项目 . 1 第二章 设计什么样的编译器和语言 . 3 2.1 做一个什么样

7、的编译器 . 3 2.1.1 利用LLVM实现一门新语言 . 3 2.1.2 利用flex和bison完成词法分析和语法分析 . 4 2.2 设计一个什么样的语言 . 5 2.2.1 计算机可以做什么 . 5 2.2.2 本设计的语言leechee . 6 第三章 相关技术的介绍 . 7 3.1 Flex . 7 3.1.1 Flex输入文件的格式 . 7 3.2 Bison . 8 3.2.1 Bison的语法文件 . 8 3.2.2 文法规则的语法 . 9 3.2.3 文法设计需要注意的问题 . 10 3.3 LLVM . 11 3.3.1 LLVM IR . 11 3.3.2 LLVM对

8、三段式设计的实现 . 12 3.3.3 利用LLVM完成代码优化 . 14 第四章 语言和编译器的设计 . 16 4.1 语言设计 . 16 4.1.1 leechee的数据组成 . 16 4.1.2 leechee的文法规则 . 17 II 4.1.3 leechee的词法规则 . 24 4.1.4 leechee的输入输出 . 26 4.2 抽象语法树 . 27 4.2.1 抽象语法树的用处 . 27 4.2.2 leechee语法树的设计 . 28 4.3 语法制导翻译 . 30 4.3.1 利用Bison实现语法制导翻译方案 . 31 4.3.2 均分代码生成工作 . 31 第五章 编译器的实现 . 32 5.1 抽象语法树的实现 . 32 5.1.1 NodeAST . 32 5.1.2 类型 . 33 5.1.3 表达式 . 35 5.1.4 语句 . 41 5.1.5 声明 . 45 5.2 符号表 . 49 5.3 分析栈 . 50 5.4 中间代

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1