实验报告课程名称____ 编译原理 __________ 题目名称_ PL/0 编译程序得修改扩充 _学生学院______计算机学院 _ _ 专业班级_______ _ _ _ _____ 学 号 学生姓名______ ________ 指导老师____ ______ ___ _ _ 2 0 年 月 日一、课内实验要求对P L/0作以下修改扩充:增加单词:保留字 E L S E,F O R,T O,DO WNTO,RE T U RN运算符 *=,/=,++,--,&,||,
修改单词:不等号# 改为 增加条件语句得E LSE 子句,要求:写出相关文法,语法图,语义规则
二、实验环境与工具计算机及操作系统:PC 机,W i ndo w s 2 000,WindowsX P程序设计语言:C教学型编译程序:PL/0 设计方案概述:源、目标语言,实现工具(平台),运行平台源语言:P ASC AL目标语言:假想栈式计算机得汇编语言,可称为类P C OD E 指令代码实现工具:Vis u al C++ 6、0运行平台:W in dows 7三、 设计方案1、结构设计说明(1)PL/0 语言编译器出错处理函数表格管理函数PL/0 源程序目标代码生成程序程序目标代码生成程序程序目标代码生成程序程序目标代码生成程序程序目标代码生成程序程序 PL/0 语言可瞧成就是 PASCAL 语言得子集,它得编译程序就是一个编译解释执行系统
P L/0 得目标程序为假想栈式计算机得汇编语言,与具体计算机无关
(2)P L/0 编译程序得语法分析过程 BLOC K就是整个编译过程得核心
这里根据编译程序得总体流程图,来弄清B LOC K过程在整个编译程序中得作用
总流程图如下图所示:PL/0 得编译程序采纳一趟扫描方式,以语法分析程序为核心,词法分析程序与代码生成程序都作为一个独立得过程,当语法分析需要读单