Контекстно-зависимая генерация в прологе
Я заинтересован в создании элементов контекстно-зависимого языка, описанного Хомским, как описано в Классификации грамматик Хомского в разделе "Грамматика типа 1".
(По сути, похоже на стандартную грамматику без контекста, но допускает использование нескольких символов в левой части производственного правила, включая терминалы).
Я знаю об определенных грамматиках предложений в Прологе, но я не вижу очевидного соответствия между этими языками и контекстно-зависимыми языками Хомского. Есть ли "универсальный" способ использования структуры DCG для описания производственных правил с несколькими символами слева или мне нужен специальный подход для каждого отдельного языка?
1 ответ
Контекст с правой стороны может быть закодирован напрямую с использованием полутекстового изображения:
nt1, "context" --> nt2, "context".
Для контекста слева нет очевидного прямого кодирования. Чаще всего используются аргументы для нетерминалов.