我的书对常规语法和常规语言给出了类似但略有不同的解释。我怀疑这是错误的,常规语言和常规语法是一样的吗?我这本书的定义是:如果所有的结果都是V-> aW或V->Wa带有V,W非终端或终端符号,则语法是正规的。W也可以是空的,也可以是与V相同的。
发布于 2012-02-05 21:56:53
形式语法是一组规则,而形式语言是一组字符串。
正则文法是描述的一种形式文法,是一种正则语言。
根据Wikipedia的说法
左边的正则文法生成所有的正则语言。正确的正则文法描述了所有这些语言的反转,也就是说,也准确地描述了正则语言。
如果允许混合使用left-regular和right-regular规则,我们仍然有一个线性语法,但不一定是规则语法。
在上面,left-regular规则是格式为V->Wa (right-regular,格式为V->aW)的规则。
发布于 2012-02-05 22:01:43
常规语法和常规语言是两个不同的术语:
同一种语言可以用不同类别的语法(规则、上下文无关等)来表示。A language ,如果它可以用一个规则的语法来表示,则称它是正则的。另一方面,规则语法总是定义一种规则语言。您所张贴的是常规语法的定义。
有关详细信息,请参阅this Wikipedia post。
发布于 2020-12-28 08:34:27
我想如果我解释一下language和grammar之间的区别,你的问题就会自动得到解决。
language是满足某些编码为语法的特定规则的字母表上的一组字符串,而Grammars则用于生成语言。
基本上,grammars表示字符串的语法规则,可以用语法的开始符号生成的字符串集称为Language of grammar
https://stackoverflow.com/questions/9149779
复制相似问题