【问题标题】:Difference between a regular language and a regular grammar常规语言和常规语法之间的区别
【发布时间】:2012-02-27 07:38:01
【问题描述】:

我的书对常规语法和常规语言给出了相似但略有不同的解释。 我怀疑这是错误的,常规语言与常规语法是一样的吗? 我的书的定义是: 如果所有产生式都是 V​​-> aW 或 V->Wa 且带有 V,W 非终结符或终结符,则文法是规则的,“a”终结符。W 也可以为空或与 V 相同。

【问题讨论】:

    标签: grammar regular-language


    【解决方案1】:

    正则语法和正则语言是两个不同的术语:

    1. 语言是一组(可能无限)有效的终结符号序列。
    2. 语法定义了哪些是有效的序列。

    相同的语言可以用不同类别的语法(常规、上下文无关等)来表示。 如果可以用常规语法来表示语言,则称其为常规语言。另一方面,正则文法总是定义正则语言。你贴的是正则语法的定义。

    更多信息请参见this Wikipedia post

    【讨论】:

      【解决方案2】:

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

      正则文法是描述正则语言的形式文法。

      根据Wikipedia

      [T]左正则文法生成所有正则语言。正确的正则文法描述了所有此类语言的逆向,也就是说,也正是正则语言。

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

      在上面,左正则规则是V->Wa 形式的规则(右正则,V->aW 形式)。

      【讨论】:

        【解决方案3】:

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

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

        所以基本上grammars表示一个字符串的语法规则,可以用语法的开始符号生成的字符串集合称为LanguageLanguage

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-09-13
          • 2020-10-16
          • 2016-08-03
          • 2012-02-16
          • 2020-06-13
          • 2021-07-07
          • 2012-01-02
          • 2020-04-09
          相关资源
          最近更新 更多