常规语言和常规语法之间的区别

时间:2012-02-05 13:54:39

标签: grammar regular-language

我的书对常规语法和常规语言给出了类似但稍微不同的解释。 我怀疑这是错的,常规语言与常规语法相同吗? 我的书的定义是: 如果所有产品都是V->,则语法是规则的。带有V,W非终端或终端符号的aW或V-> Wa,“a”终端符号.W也可以是空的或与V相同。

3 个答案:

答案 0 :(得分:2)

形式语法是一组规则,而形式语言是一组字符串。

常规语法是描述常规语言的正式语法。

根据Wikipedia

  

[T]他离开了常规语法生成所有常规语言。正确的常规语法描述了所有这些语言的逆转,也就是正确的语言。

     

如果允许混合使用左正则规则和右规则规则,我们仍然会有线性语法,但不一定是常规规则。

在上文中,左侧常规规则是V->Wa形式的规则(右侧常规,形式为V->aW)。

答案 1 :(得分:1)

常规语法和常规语言是两个不同的术语:

  1. 语言是一组有效的终端符号序列(可能是无限的)。
  2. 语法定义哪些是有效序列。
  3. 相同的语言可以用不同类别的语法表示(常规,无上下文等)。 语言如果可以使用常规语法 表示,则称其为常规语言。另一方面,常规语法总是定义常规语言。你发布的是常规语法的定义。

    有关详细信息,请参阅this Wikipedia post

答案 2 :(得分:0)

我想如果我解释了 languagegrammar 之间的区别,您的查询将自动得到解决。

A language 是在某些字母表上的一组字符串,满足某些编码为语法的规则,而 Grammars 用于生成语言。

所以基本上grammars表示一个字符串的句法规则,可以用语法的起始符号生成的字符串集合称为Language的{​​{1}}