从给定语言构造npda |怎么样

时间:2011-05-11 05:25:21

标签: math compiler-construction discrete-mathematics

我在字母{1,0}上使用了以下语言 L = {w | w的每个前缀都不会超过0的}

如何我可以从G构建NPDA M,使得L(M)= L(G)? 要么 要进行转换,可以推荐任何网页吗?

1 个答案:

答案 0 :(得分:0)

一般来说,构建语言NPDA的方法只是找到语法,因为CFG和NPDAs之间的映射相当简单。

这种语言的CFG(上下文无关语法)类似于

S -> S "0" S | "" | S "0" S "1" S | S "1" S "0" S

一旦你有了一个无上下文语法,建立它的NPDA应该相对简单;)

顺便说一句,你还没有在上面的帖子中提到过什么是G,所以我假设你想要解释如何为所描述的语言构建NPDA。如果您有其他意思,请告诉我,我会更新解释。