【问题标题】:Construct a context-free grammar from this language用这种语言构造一个上下文无关的语法
【发布时间】:2014-06-07 12:22:27
【问题描述】:

语言:{a^m b^n : m ≤ 2n}

如果有人可以就如何构建语法以及解决方案提供建议,将非常感谢!

【问题讨论】:

标签: context-free-grammar automata context-free-language


【解决方案1】:

一些提示:

  1. 从 { anbn | 的语法开始n 中的 n }。

  2. 您在第 (1) 部分中构建的语法可能是通过在字符串的一侧放置 a 并在另一侧放置 b 来实现的。这样,最终会有相同数量的 a 和 b。尝试修改语法,以便在每一步中输入一个 a 或两个 a。

希望这会有所帮助!

【讨论】:

  • 感谢您的建议!是否愿意为我验证它是否正确?我相信这是正确的答案:S -> e S -> SaSaSbS S -> SbSaSaS S -> SaSbSaS S -> SaSbS S -> SbSaS
  • @Schwarz 这似乎不起作用,因为它允许任意混合 a 和 b。有一个更简单的解决方案,将所有 a 保留在前面,将 b 保留在后面。
  • 对不起,我误解了这个问题,并认为它是 {a, b}*。但现在我相信这是正确的:S -> e S -> aSb S -> Sb
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 2012-09-27
  • 2011-07-03
  • 2018-03-29
  • 2021-09-12
  • 1970-01-01
相关资源
最近更新 更多