简单的语法分析程序(递归下降生成中间代码)

代码

实验二:语法分析程序设计
【问题描述】简单的语法分析程序设计

【输入形式】随机输入赋值语句

【输出形式】相应的四元式序列

同时输出所输入的赋值语句与相应的四元式序列以作对照。

【要求】

  1. 采用递归下降分析程序完成(自上而下的分析)

  2. 确定各个子程序的功能并画出流程图

3.文法如下:

  1. 编码、调试通过(C语言编写)

  2. 设计3-5个赋值语句测试实例,检验程序能否输出正确的四元式;当输入错误的句子时,检验程序能够给出语法错误的相应提示信息。

【样例输入】

x:=a+b*c/d-(e+f)

【样例输出】

T1:=bc (,b,c,T1)
T2:=T1/d (/,T1,d,T2)
T3:=a+T2 (+,a,T2,T3)
T4:=e+f (+,e,f,T4)
T5:=T3-T4 (-,T3,T4,T5)
x:=T5 (:=,T5,-,x)

【样例说明】

语句和四元式之间用5个空格隔开;

程序除能够正确输出四元式外,当输入的表达式错误时,还应能检测出语法错误,给出相应错误提示。

【评分标准】

原文地址:https://www.cnblogs.com/liulanfu/p/13020922.html