包含LL分析法和LR1分析方法,python编写,包含python源代码、实验报告、输入输出文件。
实验报告包含具体实验步骤、LR1预测分析表和LL预测分析程序、代码的数据结构和设计思想。
题目:语法分析程序的设计与实现
实验内容:编写语法分析程序,实现对算术表达式的语法分析。要求所分析
算数表达式由如下的文法产生。
E E+T | E–T | T
T T*F | T/F | F
F (E) | num
实验要求:在对输入的算术表达式进行分析的过程中,依次输出所采用的产
生式。
方法1:编写递归调用程序实现自顶向下的分析。
方法2:编写LL(1)语法分析程序,要求如下。 (必做)
(1) 编程实现算法4.2,为给定文法自动构造预测分析表。
(2) 编程实现算法4.1,构造LL(1)预测分析程序 。
方法3:编写语法分析程序实现自底向上的分析,要求如下。(必做)
(1) 构造识别该文法所有活前缀的DFA。
(2) 构造该文法的LR分析表。
(3) 编程实现算法4.3,构造LR分析程序。
方法4:利用YACC自动生成语法分析程序,调用LEX自动生成的词法分
析程序。
1