文法: S -> aAB A -> bB | c B -> d 的follow集怎么推导
时间: 2024-06-05 10:13:21 浏览: 19
首先,计算B的FOLLOW集合。
由于B只在A的产生式中出现,因此需要考虑A的FOLLOW集合对B的FOLLOW集合的影响。
1. 对于产生式A -> bB,b属于B的FOLLOW集,因此将b加入B的FOLLOW集。
2. 对于产生式A -> c,c属于B的FOLLOW集合,因此将c加入B的FOLLOW集。
最终,B的FOLLOW集为{b, c}。
然后计算A的FOLLOW集合。
由于A只在S和自身的产生式中出现,因此需要考虑S和A的FOLLOW集合对A的FOLLOW集合的影响。
1. 对于产生式S -> aAB,B的FOLLOW集合属于A的FOLLOW集合,因此将{b, c}加入A的FOLLOW集合。
2. 对于产生式A -> bB,B的FOLLOW集合属于A的FOLLOW集合,因此将{b, c}加入A的FOLLOW集合。
3. 对于产生式A -> c,S的FOLLOW集合属于A的FOLLOW集合,因此将S的FOLLOW集合加入A的FOLLOW集合。
最终,A的FOLLOW集合为{b, c, $},其中$表示输入字符串的结束符。
相关问题
文法: S -> aAB A -> bB | c B -> d 的follow集
首先,求出A的FOLLOW集:
1. A -> bB => FOLLOW(A) = {b}
2. A -> c => FOLLOW(A) = Follow(A) U {follow(c)} = {d}
然后,求出B的FOLLOW集:
1. S -> aAB => FOLLOW(B) = FOLLOW(A) = {b, d}
2. A -> bB => FOLLOW(B) = FOLLOW(A) = {b, d}
3. A -> c => FOLLOW(B) = FOLLOW(A) = {b, d}
4. B -> d => FOLLOW(B) = Follow(B) U {follow(S)} = {b, d}
因此,文法的FOLLOW集为:
FOLLOW(S) = {}
FOLLOW(A) = {b, d}
FOLLOW(B) = {b, d}
文法: S -> aAB A -> bB | c B -> d 的分析表
首先,我们需要构造文法的预测分析表。
| | a | b | c | d | $ |
|---|---|---|---|---|---|
| S | S->aAB | | | | |
| A | | A->bB | A->c | | |
| B | | B->d | B->d | | |
接下来,我们使用构造的预测分析表来分析输入串。假设输入串为 `acdd$`。
| Stack | Input | Action |
|-------|-------|--------|
| $S | acdd$ | shift |
| $Sa | cdd$ | reduce |
| $S | cdd$ | goto A |
| $Ac | cdd$ | shift |
| $Acc | dd$ | reduce |
| $Ac | dd$ | goto B |
| $Acd | d$ | shift |
| $AcdB | $ | reduce |
| $A | $ | accept |
因此,输入串合法,分析成功。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)