Генерация CFG для языка
Рассмотреть язык {anbmcp | n <= p OR m <= p}
создать CFG для этого языка.
Я начал это с S -> aA | aB
, но я не уверен, как мне поступить при определении A или B. "ИЛИ" кажется довольно сложным для включения в определение языка, так как нет необходимости отслеживать и n и m и сравнивать их с p, но я не не знаю, какой из них я хочу отслеживать
1 ответ
Решение
Чтобы сохранить это ограничение, для каждого "а" нужно добавить "с". Аналогично для каждого "b" вы должны добавить "c".
A -> aAC | aC | B
B -> bB | bC
C -> cC | c
Я могу ошибаться здесь. Но вот как вы должны думать при создании CFG.