一. 课程设计目的与要求
课程设计要求:
基本内容(成绩范围:“中”、“及格”或“不及格”)
(1)扩充赋值运算:*= 和 /=
扩充语句(Pascal 的 FOR 语句):
①FOR <变量>:=<表达式> TO <表达式> DO <语句>
②FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句>
其中,语句①的循环变量的步长为 2,
语句②的循环变量的步长为-2。
(3)增加运算:++ 和 --。
选做内容(成绩评定范围扩大到:“优”和“良”)
(1)增加类型:① 字符类型; ② 实数类型。
(2)扩充函数:① 有返回值和返回语句;② 有参数函数。
(3)增加一维数组类型(可增加指令)。
(4)其他典型语言设施。
二.实验环境与工具
(1)计算机及操作系统:PC 机,Windows10
(2)程序设计语言: VC++ 6.0, C/C++语言
(3)教学型编译程序:PL/0
三. 结构设计方案
1、 结构设计说明:
PL/0 的编译程序以语法分析程序为核心,词法分析程序和代码生成程序
都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当
语法分析正确需生成相应的目标代码时,则调用代码生成程序。此外,用表
格管理程序建立变量,常量和过程标识符的说明与引用之间的信息联系。用
出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位置和错
误性质。
2、 各功能模块图示: