SLR 分析表示例:逻辑表达式 G[S] 的识别过程
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 内容: | | 2 | #06 | ┐a∨a)∧a# | S5 | | 3 | #065 | a∨a)∧a# | R4 | | 4 | #04 | a)∧a# | S7 | | 5 | #047 | )∧a# | R6 | | 6 | #03 | )∧a# | S7 | | 7 | #037 | ∧a# | S6 | | 8 | #0376 | a# | S5 | | 9 | #03765 | # | R2 | | 10 | #023 | # | S8 | | 11 | #0238 | | 接受 |
注:
s表示移进操作,r表示规约操作,数字表示状态或规约规则编号。a0表示接受状态。#表示结束符。┐表示逻辑非操作。∨表示逻辑或操作。∧表示逻辑与操作。()表示括号。
通过以上 SLR 分析表和识别过程,我们可以清楚地看到 SLR 分析器是如何通过状态转移和规约操作识别输入串的,并最终得到接受结果。
原文地址: https://www.cveoy.top/t/topic/od2K 著作权归作者所有。请勿转载和采集!