【问题标题】:Specifying language for a given grammar为给定语法指定语言
【发布时间】:2013-10-01 23:15:13
【问题描述】:

DFA问题:为L写一个完整的文法,包括四元组和产生式规则

L ={x: ∃y ∈ {a, b}* : x = ay}

答案:

G={{S, A}, {a, b}, S, P}
P: S => aA
   A => aA | bA | λ

我的问题是:

  1. 为什么Aλ,而S没有λ
  2. 从语言定义来看,它是任何以a 开头并且仅包含a's 和b's 的字符串,但为什么在答案A => bA 中。如果是A => bA,不是说字符串以b开头吗?

非常感谢

【问题讨论】:

    标签: grammar regular-language dfa


    【解决方案1】:

    1. 为什么Aλ,而S 没有λ

    λ nul 可以从A 派生,以将感性的 from 转换为句子。此外,根据语言语句前缀子字符串y ∈ {a, b}* 可以是 nul(空字符串),例如"a" 是属于该语言的字符串。如果y 包含任何符号,则语言的长度将超过一。

    S 不会派生 λ nul 因为空(或说 nul 字符串)不在语言中。语言中最小的字符串是单个"a"

    2. 从语言定义来看,它是任何以a 开头且仅包含a's 和b's 的字符串,但为什么在答案A => bA 中。如果是A => bA,不是说字符串以b开头吗?

    注意只有可以从起始变量S派生的字符串包含在语法语言中。您不能从A 开始推导(那不是开始变量)。如果您从S 开始派生,您的字符串将始终以a 符号开头。

    我建议你阅读:"Why the need for terminals? Is my solution sufficient enough?" 我在那里写了关于形式语法的基本定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 2016-02-04
      • 2016-03-03
      • 2012-09-27
      相关资源
      最近更新 更多