简单半条件文法中规则和非终结符的最小化
1. 规则应用与推导分析
在某些情况下,对于字符串 (w_8) 存在两种可能形式,即 (w_8 = u#$####vt) 或 (w_8 = u####$#vt)。在这两种情况下,规则 (R1)、(R2) 或 (R8) 都适用。通过规则延迟应用的论证,我们优先考虑应用 (R7) 而非 (R1) 或 (R2)。对 (w_8) 的任一种可能形式应用 (R7),得到 (w_9 = u######vt)。再次利用规则延迟应用的论证,我们可以假设应用 (R8),具体来说,对 (w_9) 重复应用 (R8) 六次得到 (w_{15}),即 (w_9 \Rightarrow_8^6 w_{15} = uvt)。显然,(w’ \Rightarrow^* w_{15}) 对应于对 (w’) 应用一次删除规则 (ABC \to \lambda),这实际上就是预期的模拟。
下面通过一个例子来说明上述构造的工作原理。假设 (w = AABABCCBCab) 可以通过某种文法的第一阶段推导得出。我们的模拟文法也可以仅使用无条件规则推导出 (w)。有两种方式可以推导出 (ab):
- 方式一:
[
w = AABABCCBCab \Rightarrow_{15} AABCBCab \Rightarrow_{15} ABCab \Rightarrow_{15} ab
]
- 方式二:
[
\begin{align }
w &= AABABCCBCab \Rightarrow_7 AAB#$##$#CBCab \Rightarrow_1 A#$A’B#$##$#CBCab \
&
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



