Кто-нибудь узнает эту незнакомую нотацию?
-
13-09-2019 - |
Вопрос
У меня есть вопрос из теста в классе языков программирования, который сбивает меня с толку.
Укажите контекстно-свободную грамматику для генерации следующего языка
L = { aibjck | 0 <= я <= j <= i + k }
Я совершенно незнаком с этой нотацией.Кажется, я не могу найти что-либо в книге или своих заметках по этому поводу, и я понятия не имею, как запросить ответ в Google.
Если вы узнаете это, как это называется и что это значит?
Решение
a^ i просто означает повторяющееся i несколько раз.Итак, a ^ 2 = aa, b ^ 10 = bbbbbbbbbbb и т.д.
Другие советы
Часто,
{}
означает "совокупность"|
означает "такой, что"
Я понятия не имею, что a
, b
, c
являются. i
и j
являются неотрицательными числами, будучи больше или равными нулю.Обычно эти буквы зарезервированы для целых чисел.Тот факт , что
i <= i + k
означает, что k также неотрицательно.
Если a
, b
, и c
являются реалами, то мне кажется, что L
это просто набор действительных чисел.Однако это кажется очень надуманным и изощренным способом его определения.Это было бы что - то вроде Dr .Заговор Зла с целью убить Остина Пауэрса.
Итак, у вас есть "набор из a в степени i, умноженный на b в степени j, и c в степени j, такой, что i, j и k положительны, а j больше или равно i ..." и так далее.