【问题标题】:Does anyone recognise this unfamiliar notation?有人认识这个陌生的符号吗?
【发布时间】:2009-12-05 02:56:41
【问题描述】:

我有一个来自编程语言课程的测试问题让我感到困惑。

给出一个上下文无关的语法来生成下面的语言

L = { aibjck | 0

我完全不熟悉这个符号。我似乎在这本书或我的笔记中找不到任何关于它的内容,我也不知道如何向谷歌查询答案。

如果你认识它,它叫什么,它是什么意思?

【问题讨论】:

    标签: grammar context-free-grammar


    【解决方案1】:

    a^i 只是表示重复 i 次。所以a^2 = aa,b^10 = bbbbbbbbbb,等等。

    【讨论】:

    • sooooo 应该表示“”、“a”、“c”、“ab”、“bc”、“abc”、“abbc”都是 L 语言中的字符串。
    • @Nathan:抱歉挖坟了,但“a”不在 L 中,因为它不满足 i
    【解决方案2】:

    经常,

    • {} 表示“一组”
    • | 表示“这样”

    我不知道abc 是什么。 ij 是非负数,大于或等于零。按照惯例,这些字母是为整数保留的。事实上

    i <= i + k
    

    表示 k 也是非负数。

    如果abc 是实数,那么在我看来L 只是一组实数。然而,这似乎是一种非常人为和精心设计的方式来指定它。这就像邪恶博士杀死奥斯汀鲍尔斯的阴谋。

    所以你有“a 的 i 次方乘 b 次方 j 次方 c 的 j 次方的集合,使得 i、j 和 k 为正,并且 j 大于或等于 i ...”等等。

    【讨论】:

    • 差不多。 a、b 和 c 是语言 L 中的终结符号。 L 基本上被定义为所有字符串 'a' 后跟 'b' 后跟 'c',这样有零个或多个 'a',相同或多个'b',并且'a'和'c'的个数加起来大于或等于'b'的个数。
    • 有趣,巴里。我应该寻找什么关键字来了解它?
    猜你喜欢
    • 2012-01-18
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多