【发布时间】:2021-06-24 17:02:20
【问题描述】:
问题是
正则文法G的生成规则是
S → 0A | 1B | ε , A → 1B | ε , B → 0A |ε,将 L(G) 表示为正则表达式。
我的解决方法如下。
S = 0A + 1B+ ε
A = 1B + ε
B = 0A + ε
然后
S = 0(1B + ε) + 1(0A + ε) = 1(0A + 0B + ε) + 0ε + ε
我不知道如何在这里简化表达式了。在这方面的任何帮助将不胜感激。
【问题讨论】:
-
有可能吗?我的意思是我们这里有递归。另一方面,这似乎是
1和0的交替序列。 -
已部署?我不明白。
-
我在这里看到了一个可能的解决方案math.stackexchange.com/a/1139940/128761
-
顺便说一句:你的
1(0A + 0B + ε) + 0ε + ε对我来说看起来不对,似乎是因为你在0(1B + ε) + 1(0A + ε)中忘记了+ ε -
不,这不是正则表达式,我们需要消除非终结符
A和B。你的正则表达式的元符号是什么?是*重复(0..n)吗?我想我们不会比我已经链接到的(01)∗+(10)∗+(01)∗0+(10)∗1更好。
标签: regex regular-language formal-languages