SLR分析表:逻辑表达式G[S]的识别过程示例

逻辑表达式G[S]:

0	S→ A
1	A→A∨B
2	A→ B
3	B→B∧C
4	B→ C
5	C→┐D 
6	C→ D
7	D→(A)
8	D→a

其SLR分析表如下:

| 状态 | 动作 | GOTO | |---|---|---| | | ┐ | ∨ | ∧ | a | ( | ) | # | A | B | C | D | | 0 | s5 | | | s7 | s6 | | | 1 | 2 | 3 | 4 | | 1 | | s8 | | | | | | a0 | | | | | | 2 | | r2 | s9 | | | r2 | r2 | | | | | | 3 | | r4 | r4 | | | r4 | r4 | | | | | | 4 | | r6 | r6 | | | r6 | r6 | | | | | | 5 | | | | s7 | s6 | | | | | | 10 | | 6 | s5 | | | s7 | s6 | | | 11 | 2 | 3 | 4 | | 7 | | r8 | r8 | | | r8 | r8 | | | | | | 8 | s5 | | | s7 | s6 | | | | 12 | 3 | 4 | | 9 | s5 | | | s7 | s6 | | | | | 13 | 4 | | 10 | | r5 | r5 | | | r5 | r5 | | | | | | 11 | | s8 | | | | s14 | | | | | | | 12 | | r1 | s9 | | | r1 | r1 | | | | | | 13 | | r3 | r3 | | | r3 | r3 | | | | | | 14 | | r7 | r7 | | | r7 | r7 | | | | |

给出#(a∨┐a)∧a#的识别过程:

| 步骤 | 栈内容 | 输入串 | 操作 | |---|---|---|---| | 1 | #0 | (┐a∨a)∧a# | S6内容:shift | | 2 | #0S6 | ┐a∨a)∧a# | Reduce (S→A) | | 3 | #0A1 | ┐a∨a)∧a# | Shift | | 4 | #0A1( | ┐a∨a)∧a# | Shift | | 5 | #0A1(6 | ┐a∨a)∧a# | Shift | | 6 | #0A1(6C5 | ┐a∨a)∧a# | Shift | | 7 | #0A1(6B3 | ┐a)∧a# | Reduce (B→C) | | 8 | #0A1(3 | A)∧a# | Reduce (A→A∨B) | | 9 | #0A1(1 | A)∧a# | Shift | | 10 | #0A1(1∨2 | A)∧a# | Shift | | 11 | #0A1(1∨2C4 | a)∧a# | Shift | | 12 | #0A1(1∨4B3 | a)∧a# | Reduce (B→C) | | 13 | #0A1(1∨3 | A)∧a# | Reduce (A→A∨B) | | 14 | #0A1(1 | A)∧a# | Shift | | 15 | #0A1(1∧2 | A)∧a# | Shift | | 16 | #0A1(1∧2C4 | a)∧a# | Shift | | 17 | #0A1(1∧4B4 | )∧a# | Reduce (B→C) | | 18 | #0A1(1∧3 | A)∧a# | Reduce (A→A∨B) | | 19 | #0A1(1 | A)∧a# | Shift | | 20 | #0A1(1 | )∧a# | Reduce (A→B) | | 21 | #0A1B2 | ∧a# | Shift | | 22 | #0A1B2∧3 | a)∧a# | Reduce (B→C) | | 23 | #0A1B3 | )∧a# | Reduce (A→A∨B) | | 24 | #0A1B1 | ∧a# | Shift | | 25 | #0A1B1∧2 | a# | Shift | | 26 | #0A1B1∧2C4 | a# | Shift | | 27 | #0A1B1∧4B4 | # | Reduce (B→C) | | 28 | #0A1B1∧3 | A# | Reduce (A→A∨B) | | 29 | #0A1B1 | # | Accept |

SLR分析表:逻辑表达式G[S]的识别过程示例

原文地址: https://www.cveoy.top/t/topic/oeXl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录