上下文无关语法转换

时间:2009-03-09 00:42:27

标签: normalization context-free-grammar bnf chomsky-normal-form

如果有任何软件可以将Chomsky normal form转换为Backus–Naur Form,反之亦然,是否有人可以通知我?

3 个答案:

答案 0 :(得分:3)

嗯,Chomsky Normal Form和Backus-Naur Form并不是真正相同的概念,所以我真的不这么认为。但是,如果你告诉我们你需要这个软件,我们可能会提供帮助。

现在,从你提出的问题出发,我假设您需要某种代码来将BNF语法规范化为Chomsky Normal Form。据我所知,没有这样的软件存在,但有些存在,假设它是一项实际上在计算上可行的任务。

但是,如果你能够更具体地了解你真正需要的东西,我们将能够为你提供有关该任务的有用建议。

编辑:在我的书中挖掘了一下之后,事实证明可以制定一种算法来将任意CFG转换为乔姆斯基范式。我没有实际算法或其复杂性。

答案 1 :(得分:1)

正如所指出的,我原来在CNF已经在CNF的回答是错误的。您可以按照here(PDF)的说明将任何无上下文语法转换为CNF。转换过程也在Sipser第二版中进行了说明。第106-109页,如果您有权访问它。我不知道是否有现有的软件可以自动完成这个过程(但写起来似乎很简单)。

答案 2 :(得分:1)

也许JFLAP会做你想要的。

我自己还没有使用它,但是我的Automata教授向我推荐了它。

看看“什么是JFLAP?”页面,似乎它可以转换为“CFG - > CNF”,这听起来像你想要做的。