实验要求:通过通读PL/0的编译程序文本,写出规定语句的词法分析、语法分析程序,程序应具有的功能如下: (1)从源程序文件中读取有效字符,并将其转换成二元组机内表示形式输出。(2)对词法分析后的文本进行语法分析,并将语法分析的过程输出。(3)对没有语法错误的句子生成四元式。(选作)(3)课程设计要求独立完成,不允许有抄袭现象。(4)课程设计完成后,要求提交源程序和上交课程设计报告(包括源程序清单)。(附:课程设计报告格式)四、实验内容:1、基本规则说明:为了便于掌握编译的核心内容,突出重点,简化编译程序的结构,同时又涵盖高级语言程序的基本结构,我们选取赋值语句、if语句和while语句作为代表,设计编译程序的前端,多定义的程序语句的产生式如下:S → if B then S else S |while B do S |begin L end| A L →S;L |SA→ i:=EB→B and B |B or B | not B | (B) |i rop i| i E→E+E | E*E |(E) |i其中,各非终结符的含义如下:S——语句;L——语句串;A——赋值句;B——布尔表达式;E——算术表达式;各终结符的含义如下:i——整形变量或常数,布尔变量或常数;rop——六种关系运算符的代表:< <= <> > >= =:= ——