如何将右线性文法转换为左线性文法?
对于每个有限自动机(FA),都存在一个正则文法,每个正则文法都有一个左线性和右线性正则文法。
示例1
考虑常规语法-
a(a+b)* A → aB B → aB|bB|e
对于给定的正则表达式,上述文法是右线性文法。
现在,将上面的右线性文法转换为左线性文法。
转换遵循的规则是,
有限自动机→右线性
右线性→左线性文法的逆序。
所以,
A → BaB → Ba|Bb|e
最后对于每一个正确的线性都有一个
示例
考虑一种语言{bnabma|n>=2,m>=2}
给定语言的正确线性语法是-
bn ⇒ A→bA|b A is on right side bm ⇒ B→bB|b B is on right side
完整的表达式语法是-
S→AaBa A→bA|b B→bB|b.
上右线性文法的左文法是,
bn ⇒ A→Ab|b bm ⇒ B→Bb|b
完整的表达式语法如下-
S→AaBa A→Ab|b B→Bb|b
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下