设有文法 G[Z]: Z→aAc A→b|bB B-e|dB (1)试构造识别此文法的可归前缀的确定有穷自动机FA。 (2)试构造SLR(1)分析表。 (3)分析符号串abec是否为此文法的句子。
时间: 2023-06-26 15:09:34 浏览: 50
(1) 可归前缀的确定有穷自动机FA如下图所示:
![image.png](attachment:image.png)
其中,圆圈表示状态,箭头表示转移条件,箭头上的字母表示读入该字符后自动机的状态会发生改变。
(2) SLR(1)分析表如下:
| 状态 | a | b | c | d | e | $ | A | B | C |
| :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: |
| 0 | s2 | s3 | | | | | | | |
| 1 | | | | | | acc | | | |
| 2 | s2 | s3 | | | | | r1 | r1 | |
| 3 | s6 | s7 | s4 | | | | | | |
| 4 | | | | s5 | | | | | |
| 5 | | | | | s1 | | | | |
| 6 | s2 | s3 | | | | | | | s8 |
| 7 | | | | | r3 | | | | |
| 8 | | | | | r2 | | | | |
其中,s表示移进,r表示规约,acc表示接受。
(3) 符号串abec不是此文法的句子,因为在分析过程中会出现归约-移进冲突。具体来说,当读入c时,状态变为4,此时根据SLR(1)分析表应该进行规约操作,但是此时栈中的符号为B,无法通过规约得到句子的开头符号Z,因此出现了冲突。