2、设文法G(A): A→B e B→B b | a (1)判定该文法是否为LL(1)文法,说明理由。(5分) (2)若不是则将其转化为LL(1)文法,最后给出其分析表;(10分) (3)请完成对串aabbe的语法分析过程 。(5分)
时间: 2023-08-17 11:03:54 浏览: 53
1. 该文法不是LL(1)文法。
- 首先我们需要求出该文法的FIRST集和FOLLOW集:
```
FIRST(A) = {b, ε}
FIRST(B) = {a, b}
FOLLOW(A) = {$}
FOLLOW(B) = {e, $}
```
- 然后我们发现B可以推出两个符号串,它们的FIRST集有交集,不能确定应该选择哪一个产生式,因此该文法不是LL(1)文法。
2. 将该文法转化为LL(1)文法:
- 首先消除左递归,得到如下文法:
```
A → B | ε
B → aB' | bB'
B' → bB' | ε
```
- 然后求出新文法的FIRST集和FOLLOW集:
```
FIRST(A) = {a, b, ε}
FIRST(B) = {a, b}
FIRST(B') = {b, ε}
FOLLOW(A) = {$}
FOLLOW(B) = {e}
FOLLOW(B') = {e}
```
- 接下来构造LL(1)分析表:
```
| a | b | e | $
--|----|----|----|----
A | A→B | A→B | A→ε | A→ε
B | B→aB'| B→bB'| |
B'| | B'→bB'| B'→ε|
```
3. 对串aabbe进行语法分析:
- 输入串为aabbe,下面是该串的语法分析过程:
```
符号栈 | 输入串 | 所用产生式
------------------|--------------|--------------
$A | aabbe$ | A→B
$B$ | aabbe$ | B→aB'
$aB'$ | aabbe$ | 匹配a,B'→ε
$B$bB'$ | abbe$ | 匹配b,B'→bB'
$bB'$ | abbe$ | 匹配b,B'→bB'
$B$bB'$ | bbe$ | 匹配b,B'→bB'
$bB'$ | bbe$ | 匹配b,B'→bB'
$B$bB'$ | be$ | 匹配ε,B'→ε
$bB'$ | be$ | 匹配e,A→ε
$B$ | be$ | 匹配ε,结束分析
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![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)
![](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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)