电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

PL0扩充课程设计报告VIP专享VIP免费

PL0扩充课程设计报告_第1页
PL0扩充课程设计报告_第2页
PL0扩充课程设计报告_第3页
课 程 设 计 课程名称 编译原理 题目名称 PL/0 扩充 学 院 专 业 班 级 学 号 姓 名 指导教师 2011 年 1 月 8 日 一. 课程设计目的与要求 1 、课程设计目的: 在分析理解一个教学型编译程序(如PL/0)的基础上,对其词法分析程序、语法分析程序和语义处理程序进行部分修改扩充。达到进一步了解程序编译过程的基本原理和基本实现方法的目的。 2、课程设计要求: 基本内容(成绩范围:“中”、“及格”或“不及格”) (1)扩充赋值运算:+= 和 -= (2)扩充语句(Pascal 的FOR 语句): ①FOR <变量>:=<表达式> TO <表达式> DO <语句> ②FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句> 其中,语句①的循环变量的步长为 1,语句②的循环变量的步长为-1。 选做内容(成绩评定范围扩大到:“优”和“良”) (1)增加运算:++ 和 --。 (2)增加类型:① 字符类型; ② 实数类型。 (3)扩充函数:① 有返回值和返回语句;② 有参数函数。 (4)增加一维数组类型(可增加指令)。 (5)其他典型语言设施。 二.实验环境与工具 (1)计算机及操作系统:PC 机,Window sXP (2)程序设计语言: VC++ 6.0, C/C++语言 (3)教学型编译程序:PL/0 三. 结构设计方案 1 、 结构设计说明: PL/0的编译程序以语法分析程序为核心,词法分析程序和代码生成程序都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当语法分析正确需生成相应的目标代码时,则调用代码生成程序。此外,用表格管理程序建立变量,常量和过程标识符的说明与引用之间的信息联系。用出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位置和错误性质。 2 、 各功能模块图示: 3 . 各功能模块作用表: 1 PL0 主程序 2 Error 出错处理,打印出错位置和错误编码 3 GetCh 漏掉空格,读取一个字符 4 GetSym 词法分析,读取一个单词 5 Gen 生成目标代码,并送入目标程序区 6 TEST 测试当前单词符号是否合法 7 ENTER 登录名字表 8 POSITION 查找标识符在名字表中的位置 9 ConstDeclaration 常量定义处理 10 VarDeclaration 变量说明处理 11 ListCode 列出目标代码清单 12 FACTOR 因子处理 13 TERM 项处理 14 EXPRESSION 表达式处理 15 CONDITION 条件处理 16 STATEMENT 语句部分处理 17 Block 分程序分析处理过程 18 B...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部