【问题标题】:Build grammar to the language为语言构建语法
【发布时间】:2019-01-29 14:33:14
【问题描述】:

L = {a^i b^j c^k | not(i=j=k)}

提示:将 L 描述为其他语言的联合

我已经尝试这样做了一个星期,但我做不到。谁能帮我理解一下?

编辑:

这样说对吗:

(i≠j or j≠k)(i≠j and j≠k and i≠k)

【问题讨论】:

  • 这个问题似乎离题了,因为它不在帮助中心所述的讨论范围内。
  • 呃,对不起,无论如何我可以改变它吗?你知道我应该改哪个主题吗?

标签: automata


【解决方案1】:

这样说对吗:(i≠j or j≠k) or (i≠j and j≠k and i≠k)

这样说并没有错,但这比你需要说的要多。真的,你只需要说第一部分:

(i≠j 或 j≠k)

如果第一部分还不是真的,那么第二部分就不可能是真的。从这里,我们可以进一步分解:

i j 或 j k

这是四种非常基本的上下文无关语言的结合。如果你得到的语法 G1、G2、G3 和 G4 分别带有开始符号 S1、S2、S3 和 S4,你可以添加一个新的开始符号 S 和产生式 S -> S1 | S2 | S3 | S4 为他们的联合获取语法。

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    相关资源
    最近更新 更多