【问题标题】:what is mean by contex free not regular上下文无关而不是常规是什么意思
【发布时间】:2010-01-13 07:16:06
【问题描述】:

我正在为考试准备上下文无关语法。我不明白为什么是这种语言

{ a^n b^n | n>=0}

是上下文无关的,但不是常规的。为什么不规律? 我们什么时候可以说表达式不规则?

谢谢

【问题讨论】:

  • 可能是考试季;最近在 SO 上提出的此类问题

标签: finite-automata


【解决方案1】:

如果一个表达式不能(完全)被 regular expression 或(等效地)匹配到 finite state machine,则它不是正则表达式。另见context free languageregular language

【讨论】:

    【解决方案2】:

    就像在之前的答案中所说,它的上下文无关,因为你可以用上下文无关的语法来表达它。

    例如:S -> aSb | ε

    它不是正则的,因为你不能用有限状态机或正则表达式来表达它。您应该能够计算 As 的数量并检查 B 的数量是否匹配。这不能用有限状态来完成,因为 n 可以是任何东西

    【讨论】:

    • 没错!不需要抽引理
    【解决方案3】:

    标准方法是使用Pumping Lemma

    【讨论】:

      【解决方案4】:

      你可以说它是上下文无关的,因为你可以使用上下文无关语法来表达它。但是它不是正则的,因为正则表达式(和有限自动机)不能表示该语言。

      【讨论】:

        猜你喜欢
        • 2011-02-09
        • 1970-01-01
        • 2019-10-22
        • 1970-01-01
        • 2020-12-19
        • 2019-09-30
        • 2023-03-24
        • 2011-06-11
        • 1970-01-01
        相关资源
        最近更新 更多