设文法G(S):S→(L)la Sla L→LbSIS 1.消除文法的左递归和回溯; 2.构造每个非终结符的FIRST集和FOLLOW集 3.构造LL(1)分析表
时间: 2024-05-23 17:09:47 浏览: 19
好的,我知道了。让我来回答你的问题:
1. 消除文法的左递归和回溯:
首先,我们需要消除文法中的左递归。为此,我们可以将文法中的S->(L)la替换成S->XP和P->(L)la。
然后,我们需要对文法进行回溯消除。为此,我们可以将文法中的L->LbSIS替换成L->YX和X->bSY和Y->IS。
这样,我们消除了文法中的左递归和回溯。新的文法如下:
S -> XP
P -> (L)la
X -> bSY | ε
Y -> IS | ε
L -> YX
2. 构造每个非终结符的FIRST集和FOLLOW集:
非终结符S的FIRST集为{ ( }
非终结符P的FIRST集为{ ( }
非终结符X的FIRST集为{ b, ε }
非终结符Y的FIRST集为{ I, ε }
非终结符L的FIRST集为{ I, b }
非终结符S的FOLLOW集为{ $ }
非终结符P的FOLLOW集为{ a, $ }
非终结符X的FOLLOW集为{ a, $ }
非终结符Y的FOLLOW集为{ b }
非终结符L的FOLLOW集为{ a, $ }
3. 构造LL(1)分析表:
( ) a b I l S $
S XP XP XP
P (L)la
X bSY ε ε bSY bSY ε
Y IS ε ε ε ε IS
L YX YX ε YX ε
最终的LL(1)分析表如上所示。
希望我的回答能帮到你!如果你还有其他问题,请继续提问。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)