Контекстно-зависимая генерация в прологе

Я заинтересован в создании элементов контекстно-зависимого языка, описанного Хомским, как описано в Классификации грамматик Хомского в разделе "Грамматика типа 1".

(По сути, похоже на стандартную грамматику без контекста, но допускает использование нескольких символов в левой части производственного правила, включая терминалы).

Я знаю об определенных грамматиках предложений в Прологе, но я не вижу очевидного соответствия между этими языками и контекстно-зависимыми языками Хомского. Есть ли "универсальный" способ использования структуры DCG для описания производственных правил с несколькими символами слева или мне нужен специальный подход для каждого отдельного языка?

1 ответ

Контекст с правой стороны может быть закодирован напрямую с использованием полутекстового изображения:

nt1, "context" --> nt2, "context".

Для контекста слева нет очевидного прямого кодирования. Чаще всего используются аргументы для нетерминалов.

Другие вопросы по тегам