编译原理课程设计报告
《编译原理课程设计报告》由会员分享,可在线阅读,更多相关《编译原理课程设计报告(17页珍藏版)》请在毕设资料网上搜索。
1、1 编译原理课程设计报告 一、一、 课程设计目的课程设计目的 通过课程设计进一步理解高级语言在计算机中的执行过程,了解现代编译器的运作 机制,加深对编译原理中重点算法和编译技术的理解,提高自己自学和理解的能力。学 会如何利用已有软件 JFLex、Java_cup 对词法分析器及语法分析器的构造。 二、二、 设计概述设计概述 本 tiger 语言编译器的编译过程涉及到编译五个阶段中的二个,即词法分析器、 语法 分析器。其中语法分析后还完成了语法树的打印的构造以及类型检查。词法分析器由 JFLex 编译正则式生成,词法分析器编译产生式生成,语法分析器由 CUP 生成。结果通 过 GUI 界面呈现在
2、使用者面前。 编译程序需要在单词级别上来分析和翻译源程序,所以首先要识别出单词,而词法 分析部分的任务是:从左至右扫描源程序的字符串,按照词法规则(正则文法规则)识 别出一个个正确的单词,并转换成该单词相应的二元式(种别码、属性值)交给语法分 析使用。因此,词法分析是编译的基础。执行词法分析的程序称为词法分析器。 语法分析是编译程序的核心部分,其主要任务是确定语法结构,检查语法错误,报告 错误的性质和位置,并进行适当的纠错工作。 三、三、 设计过程设计过程 (一一) 设计构思设计构思 程序主要完成三大功能模块:词法分析器、语法分析器、GUI 人机交互界面。词法 分析器由 JFLex 编译正则式
3、生成,其中必须为外界提供一个获取记号流的接口,实验中 定为 java_cup.runtime.Symbol next_token。语法分析器是建立在词法分析器上的,故必须 包含词法分析器以便获得记号流,next_token 为语法分析器提供 TOKEN,语法分析器的 对外接口是:java_cup.runtime.Symbol debug_parse(),同时返回语法树的根节点。 2 GUI 界面是提供人机交互的, 它能够依次显示词法分析阶段分析得到的所有 TOKEN 的信息,语法阶段生成的语法树,另外对于词法和语法阶段出现的错误在“错误提示” 文本框中一一列举出来,提供用户改进代码的信息。 流
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程设计 报告
