编译原理关于FIRST,FLLOW的问题。
发布网友
发布时间:2022-05-20 01:28
我来回答
共2个回答
热心网友
时间:2023-08-21 14:23
求FIRST,FLLOW集合的过程是一个递归过程..描述出来很繁琐的,
我打字慢......
编译原理书上有算法的描述的..你自己理解一下,不难的...
不懂的地方最好问身边的同学或老师...当面讲解比较清楚一点.
给你个例子吧:
文法:
E->E+T|T
T->T*F|F
F->(E)|i
按照求文法FIRST,FLLOW的算法,FIRST(E)过程大概是:
1.FIRST(E)=FIRST(E) U FIRST(T) //E,T都是非终结符,所以
继续求First
2.FIRST(T)=FIRST(T) U FIRST(F)//F,T都是非终结符,所以
继续求First
3.FIRST(F)={(,i} //(,i是终结符,得出最后结果.
FIRST(E)={(,i}..
FIRST懂了的话,看FLLOW的算法也就好懂了...
还有什么问题的话...可以发消息给我..
热心网友
时间:2023-08-21 14:23
首先你必须明白follow的目的是求什么
follow是求非终结符后面紧跟的那个终结符
如果后面紧跟的那个符号是空那么继续往后推一步
这样就能找出后面的那个终结符
明白了这个再看看书上的例子就好懂了