首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFG及其反转

CFG及其反转
EN

Stack Overflow用户
提问于 2013-02-22 22:45:53
回答 1查看 5K关注 0票数 2

假设E^*是'epsilon star',e是空字符串,ww^r是w,w的反面。

我知道构建一个接受E^*的CFG是一个简单的S -> 0S | 1S | e

接受{ww^r} such that w in E^*的CGG是一个简单的S –> 0S0 | 1S1 | e

这是否意味着接受{wxw^r} such that w, x in E^*的CFG是导致S –> 0S0 | 1S1 | e | B where B –> 0B | 1B | e的这两者的一种“组合”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-23 00:22:12

是的,你的语法是正确的!

CFG to {wxw^r} such that w, x in E^* is S –> 0S0 | 1S1 | e | B where B –> 0B | 1B | e是正确的语法。

但重要的是Language {wxw^r} such that w, x in E^*Regular Language,所以也可以编写。

此语言的右行等效文法为:

代码语言:javascript
复制
S --> 0B | 1A | ^
B --> 0B | 1B | 0
A --> 0A | 1A | 1

左线性等效的是:

代码语言:javascript
复制
S --> B0 | A1 | ^
B --> B0 | B1 | 0
A --> A0 | A1 | 1

它的正则表达式是:

一种类似的语言I described here in my answer with DFA

注意:语言结构是相同的,但符号是不同的,也有^空字符串是不可能的。还有( 0 + 1)上的+这里是*

Its DFA

此外,我还鼓励您查看0(1 + 0)*0 + 1(1 + 0)*1的DFA。请注意RE中^的一个小变化,但DFA有很大的不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15026736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档