【问题标题】:Formally and Informally describe the language of this grammar正式和非正式地描述这种语法的语言
【发布时间】:2015-01-05 23:12:04
【问题描述】:

我有一个问题需要帮助:

正式和非正式地描述以下语法G = (Σ, N, S, P)的语言:

Σ = {a,b,c}
N = {S,T,X}
S = S
P = {
  S->aTXc,
  S->bTc,
  T->aTX,
  T->bT,
  TXX->T,
  Tc->empty string,
  TXc-a>
}

此外,简要和非正式地解释该语法如何生成其语言。

提示:使用|w|<sub>x</sub> 表示法来描述此语法的语言。

【问题讨论】:

  • 再来一篇“做我的功课”帖子...你尝试过什么吗?
  • 我也有同样的问题。在过去的 24 小时内,我们一直在尝试解决这个问题以及其他问题。我们想出了这个生成任何数量和序列的 a s 和 b s,但我不知道是否有限制或如何描述它。 @uwe
  • TXc-a&gt; 是什么意思?是TXc-&gt;a 的错字吗? TXca-&gt; 的错字?

标签: theory proof automata formal-languages


【解决方案1】:

我相信语法的语言

S   → bTc | aTXc
T   → bT | aTX
TXX → T
Tc  → λ
TXc → a

(a|b)+。首先,考虑使用T-productions 从T 推导:

T ⇒* bnT   (T → bT)
T ⇒* anTXn (T → aTX)

在哪里n &gt; 0。由于T → bTT → aTX 可以按任意顺序应用,因此

T ⇒* uTX<sup>|u|<sub>a</sub></sup>

其中u 的形式为(a|b)+|u|<sub>a</sub> ≥ 0。接下来,考虑生产TXX → T

T ⇒* uTX<sup>|u|<sub>a</sub></sup> ⇒* uTX<sup><b>1</b>(|u|<sub>a</sub> (mod 2) ≡ 1)</sup>

如果<b>1</b>(P) = 1P0 否则。将其与S-productions 放在一起,我们有:

S ⇒ bTc ⇒* buTX1(|u|a (mod 2) ≡ 1)c ⇒ buTc ⇒ bu
S ⇒ aTXc ⇒* auTX1(|u|a (mod 2) ≡ 1)Xc ⇒ auTXc ⇒ aua

如果|u|<sub>a</sub> (mod 2) ≡ 0

S ⇒ bTc ⇒* buTX1(|u|a (mod 2) ≡ 1)c ⇒ buTXc ⇒ bua
S ⇒ aTXc ⇒* auTX1(|u|a (mod 2) ≡ 1)Xc ⇒ auTXXc ⇒ auTc ⇒ au

如果|u|<sub>a</sub> (mod 2) ≡ 1 其中u 具有(a|b)+ 的形式。在前面推导的最后一步中,应用更多T-productions 不会生成具有不同形式的字符串。因此,我相信所有可派生的字符串都具有(a|b)+ 的形式。我担心的是你被指示使用|u|<sub>a</sub> 符号来描述语法的语言,所以这种信念可能是错误的。

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 2014-09-21
    • 2019-02-18
    相关资源
    最近更新 更多