09级编译原理课内试验和课程设计内容和要求
1. 课内实验(考试前交报告)
对PL/0作以下修改扩充:
(1)增加单词:保留字 ELSE,FOR,STEP,UNTIL,RETURN
运算符 +=,-=,++,--,∧,∨,┓
(2)修改单词:不等号# 改为 <>
(3)增加条件语句的ELSE子句,要求:写出相关文法,语法图,语义规则。
2. 课程设计
基本内容(成绩范围:“中”、“及格”或“不及格”)
(1)扩充赋值运算:+= 和 -=
(2)扩充语句(Pascal的FOR语句):
FOR <变量>:=<表达式> STEP <表达式>UNTIL <表达式> DO <语句>
(3)增加运算:++ 和 --。
选做内容(成绩评定范围扩大到:“优”和“良”)
(1)增加类型:① 字符类型; ② 实数类型。
(2)扩充函数:① 有返回值和返回语句;② 有参数函数。
(3)增加一维数组类型(可增加指令)。
(4)其他典型语言设施。
3. 要求和说明
(1)放假前完成,提交课程设计报告和光盘
(各班统一制作一张光盘,每人的目录名:xx姓名,xx是学号末2位)。
(2)在程序运行界面突出显示:
设计者的班级、学号和姓名;
开始调试时间;
完成调试时间。
(3)实验报告内容
1)概述: 源、目标语言,实现工具(平台),运行平台
2)结构设计说明
各功能模块描述
3)主要成分描述
① 符号表
② 运行时存储组织和管理
③ 语法分析方法
④ 中间代码表示
4)测试用例
5)开发过程和完成情况
(4)光盘内含:
① 扩充后的PLO编译程序的源程序文件和可执行程序文件;
② 测试用例的PL0语言源程序和编译运行结果;
③ 课程设计报告文档(令需交打印文档一份)。
(5)成绩分五档:优,良,中,及格和不及格。
根据完成的程序和报告的质量评定成绩。
只完成基本内容者,成绩至高为“中”。
鼓励完成选做内容,可获得加分:“良”,直到“优”。
如果有下列情况,则视情节严重程度,成绩下降若干档次,直至不及格:
• 光盘文件含有病毒或者内容不能正确读出;
• 抄袭、复制别人程序或文档;
• 未能按时提交报告和光盘文件。
1