编译原理课程设计报告---编译器功能的实现
《编译原理课程设计报告---编译器功能的实现》由会员分享,可在线阅读,更多相关《编译原理课程设计报告---编译器功能的实现(46页珍藏版)》请在毕设资料网上搜索。
1、 编译编译原理原理课课程程设计设计 实验报实验报告告 课课 题:编译器功能的实现题:编译器功能的实现 编译原理课程设计 2019/7/30 I 目目 录录 1 1 介绍介绍 1 1 1.1 前言 1 2 2 编译器编译器 2 2 2.1 PL/X 编译器结构概述 2 2.2 语法元素 4 2.3 语法图 5 2.4 判断是否符合两条限制规则 13 2.5 语法出错表定义 . 16 3 3 虚拟机虚拟机 1717 3.1 虚拟机组织结构 . 17 3.2 虚拟机指令格式 . 18 4 4 程序设计程序设计 2121 4.1 全局变量、全局常量 . 21 4.2 函数接口 . 28 5 5编译器功
2、能的实现编译器功能的实现 3737 5.1 概述 . 37 编译原理课程设计 2019/7/30 II 5.2 实例一 . 37 5.3 实例二 . 41 5.4 实例三 . 43 编译原理课程设计 2019/7/30 1 1 介绍介绍 1.1 前言前言 根据课程设计要求制作 PL/X 语言的编译器,完成词法分析、语 法分析、语义分析及代码生成、出错处理和解释运行程序,并添加一 定的扩展,最终实现一个 PL/X 的编译器。 所完成扩展点说明: 1)支持三种注释 a)单行注释 b)/*-*/ 多行注释 c)(*-*) 多行注释 2)支持 read 语句,因此可从终端获取输入 3)支持 write
3、 语句,因此可从终端输出 4)支持 for 语句 5)支持 dowhile 语句 6) call过程 7) 求余运算% 8) 整数的奇偶 odd 9) 幂运行* 编译原理课程设计 2019/7/30 2 关于出错处理:分为词法分析错误、句法分析错误、运行时错误(如 除数为 0) 允许变量名或函数名重复,但访问的时候以最后一次声明的为有效 2 编译器编译器 2.1 PL/X 编译器编译器结构概述结构概述 图 1 PL/X 编译程序的结构图 图 2 PL/X 的解释执行结构 编译原理课程设计 2019/7/30 3 图 3 PL/X 编译程序总体流程图 语法分析过程 PROG 是整个编译过程的核心,是指开始由主程 序调用 GETSYM 取一个单词,再调用语法分析过程 PROG, PROG 由当前单词根据语法规则再调用其它过程, 如说明处理、 代码生成或 出错处理等过程进行分析,当分析完一个单词后,PROG 再调用 GETSYM 取下一个单词,一直重复到当前单词为结束符“表明源 程序已分析结束。若未取到结束符“,而源程序已没有输入符号, 这时表明源程序有错误,无法再继续分析。 编译原理课程设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程设计 报告 编译器 功能 实现
