实验目的:
通过阅读和扩充PL/0编译程序文本,增加对编译程序的整体认识和了解——巩固《编译原理》课程所学知识;另外,通过调试PL/0的编译程序,掌握必要的调试技巧和设计大型程序一般的原则,如模块接口的协调,数据结构的合理选择等等。
实验内容:
对PL/0语言及其编译器进行以下扩充(使扩充后的编译器能成功编译“pl0测试用例”中的小程序)
1、增加注释:注释为位于“/*”和“*/”之间的内容,不允许嵌套。(程序中不可使用正则表达式)
2、扩充if条件语句,增加else子句:
::=ifthen[else]
3、增加循环语句:
::=repeat{;}until
选做内容:
1、将符号表由原来的线性表改写为哈希表,自行设计哈希函数和解决冲突的方案。
2、增加新的数据类型,如浮点型、字符型、布尔型等。
1