У меня есть следующая грамматика, которая использует центральную встроенную рекурсию. Тем не менее, он имеет два случая, используя или: S-> aSbbb | aSbb | ϵ
где ε - пустое множество. Есть ли способ генерировать всеобъемлющую математическую формулу (язык), которая определяет эту грамматику?Как определить соответствующий язык грамматики?
1
A
ответ
1
Грамматика - это «всеобъемлющая математическая формула». :) Однако в текущем случае легко дать альтернативное описание. Ваша грамматика будет генерировать строки вида
a^nb^m
где s^i
обозначает «повторить подстроку s
i
раз», и
2n <= m <= 3n
n
также может быть 0 (пустая строка).
Мог бы быть моим невежеством, но грамматика - это лучший способ сообщить [язык] (http://en.wikipedia.org/wiki/Formal_language), и у вас есть грамматика. Не уверен, что вы просите здесь. Вы надеетесь преобразовать свою грамматику в другую форму? –
Я имел в виду, что, учитывая следующую грамматику (написанную в коде выше), как мы могли бы написать свой соответствующий язык. – user1680944
В основном вы спрашиваете: «Что такое слово для яблока?» «Э, яблоко». «Нет, но что это за слово?» «Нет, серьезно, слово яблоко». Ваша грамматика _is_ как мы будем писать соответствующий язык. –