开发者

Does anyone recognise this unfamiliar notation?

I have a question from a test in a Programming Languages class that is confusing me.

Give a context-fre开发者_开发技巧e grammar to generate the following language

L = { aibjck | 0 <= i <= j <= i + k }

I am completely unfamiliar with this notation. I cant seem to find anything in the book or my notes about it, and I have no idea how to query google for the answer.

If you recognize it, what is it called and what does it mean?


a^i just means a repeated i times. So a^2 = aa, b^10 = bbbbbbbbbb, etc.


Often,

  • {} means "the set of"
  • | means "such that"

I have no idea what a, b, c are. i and j are non-negative numbers, being greater than or equal to zero. Conventionally, those letters are reserved for integers. The fact that

i <= i + k

means that k is also non-negative.

If a, b, and c are reals, then it seems to me that L is just the set of real numbers. However, it seems like a very contrived and elaborate way of specifying it. That would be something like Dr. Evil's plot to kill Austin Powers.

So you have "the set of a to the power i times b to the power j time c to the power j such that i, j and k are positive, and j is greater than or equal to i ..." and so on.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜