Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Normalization 上下文无关语法转换_Normalization_Context Free Grammar_Bnf_Chomsky Normal Form - Fatal编程技术网

Normalization 上下文无关语法转换

Normalization 上下文无关语法转换,normalization,context-free-grammar,bnf,chomsky-normal-form,Normalization,Context Free Grammar,Bnf,Chomsky Normal Form,有没有人能告诉我是否有任何软件可以转换,反之亦然?正如前面所指出的,我最初关于BNF已经在CNF中的回答是错误的。您可以将任何上下文无关语法转换为CNF,如PDF所述。第二版第106-109页也说明了转换过程(如果您有权访问)。我不知道是否有现有的软件可以自动完成这一过程,但编写起来似乎很简单。正如前面指出的,我最初关于BNF已经在CNF中的回答是错误的。您可以将任何上下文无关语法转换为CNF,如PDF所述。第二版第106-109页也说明了转换过程(如果您有权访问)。我不知道是否有现有的软件可以

有没有人能告诉我是否有任何软件可以转换,反之亦然?

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

正如前面指出的,我最初关于BNF已经在CNF中的回答是错误的。您可以将任何上下文无关语法转换为CNF,如PDF所述。第二版第106-109页也说明了转换过程(如果您有权访问)。我不知道是否有现有的软件可以自动化这个过程,但它似乎很容易编写。

好吧,乔姆斯基范式和巴克斯·诺尔范式实际上不是同一种概念,所以我不这么认为。但是如果你告诉我们你需要这个软件做什么,我们也许能帮上忙

现在,根据你的要求,我假设你需要某种代码,将BNF语法规范化为乔姆斯基范式。据我所知,没有这样的软件存在,但它可能存在一些,假设这是一个任务,实际上是计算上可行的

但是,如果你能更具体地说明你真正需要什么,我们将能够为你提供关于这项任务的有用建议


编辑:在我的书中挖掘了一点之后,发现很有可能制定一个将任意CFG转换为乔姆斯基范式的算法。但是我没有实际的算法或它的复杂性。

好吧,乔姆斯基范式和巴克斯-诺尔范式实际上不是同一种概念,所以我不这么认为。但是如果你告诉我们你需要这个软件做什么,我们也许能帮上忙

现在,根据你的要求,我假设你需要某种代码,将BNF语法规范化为乔姆斯基范式。据我所知,没有这样的软件存在,但它可能存在一些,假设这是一个任务,实际上是计算上可行的

但是,如果你能更具体地说明你真正需要什么,我们将能够为你提供关于这项任务的有用建议

编辑:在我的书中挖掘了一点之后,发现很有可能制定一个将任意CFG转换为乔姆斯基范式的算法。但我没有实际的算法或它的复杂性。

可能会满足您的要求

我自己还没用过它,但它是我的自动机教授推荐给我的

看看JFLAP是什么?页面中,它似乎可以从CFG->CNF转换,这听起来像是您要做的事情。

可能会做您要做的事情

我自己还没用过它,但它是我的自动机教授推荐给我的


看看JFLAP是什么?页面中,它似乎可以从CFG->CNF转换,这听起来像是您要做的。

对不起,这是错误的。BNF是通用CFG的一种符号,因此您的声明与表示所有CFG均为乔姆斯基范式相同。这里的关键是,乔姆斯基范式要求所有非终结符产品在RHS上只有两个非终结符。我可以更正。我阅读了以下内容,乔姆斯基范式中的每一个语法都是上下文无关的,相反,每一个上下文无关的语法都可以有效地转换为乔姆斯基范式中的等价语法。得出了错误的结论。对不起,那是错误的。BNF是通用CFG的一种符号,因此您的声明与表示所有CFG均为乔姆斯基范式相同。这里的关键是,乔姆斯基范式要求所有非终结符产品在RHS上只有两个非终结符。我可以更正。我阅读了以下内容,乔姆斯基范式中的每一个语法都是上下文无关的,相反,每一个上下文无关的语法都可以有效地转换为乔姆斯基范式中的等价语法。得出了错误的结论。我认为从你的修正案编辑加上我在维基百科链接上看到的,CNF是BNF的限制性案例。所有CNF语法都使用BNF;将BNF中的任意CFG转换为CNF可能并不完全是琐碎的,但似乎是可行的。CNF是对CFG的一种限制,而BNF是编码CFG的一种方式,N是Naur,而不是Normal。但是还有其他编码CFG的方法,例如维基百科文章中的箭头符号。BNF及其后代只是计算中最常见的一种方式。我认为,从你的修订版以及我在维基百科链接上看到的内容来看,CNF是BNF的限制性案例。所有CNF语法都使用BNF;将BNF中的任意CFG转换为CNF可能并不完全是琐碎的,但似乎是可行的。CNF是对CFG的一种限制,而BNF是对CFG进行编码的一种方式,N是Naur,而不是Normal
. 但是还有其他编码CFG的方法,例如维基百科文章中的箭头符号。BNF及其子代只是计算中最常用的方法。上次我使用JFLAP时是这样,绘制DFS树也很方便。上次我使用JFLAP时也是这样,绘制DFS树也很方便。