目录
实验题目
(1)E→E+T | E-T | T
(2)T→T*F | T/F | F
(3)F→P^F | P
(4)P→(E) | i
此文法实际上可以表示加、减、乘、除、乘方运算法则,即有理运算法则。我们采用LL(1)分析法对以上文法进行分析。
流程图
实验步骤
1、给出LL(1)文法
原来的文法中包含左递归和公共左因子,消除(1)(2)式中的左递归和(3)式中的公共左因子。
修改后的文法为:
(1)E->TE'
(2)E'->+TE'|-TE'|e
(3)T->FT'
(4)T'->*FT'|/FT'|e
(5)F->PF'
(6)F'->^F|e
(7)p->(E)|i
e表示空。
2、FIRST集和FOLLOW集
写出每个非终结符的FIRST集和FOLLOW集
|
FIRST集 |
FOLLOW集 |
E |
(,i |
),# |
E' |
+,-,e |
),# |
T |
(,i |
+,-,),# |
T' |
*,/,e |
+,-,),# |
F |
(,i |
< |