Разбор формального языка с параметризованными наборами символов (как обрабатывать развивающиеся грамматики с Ya cc помимо перекомпиляции)? - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь создать синтаксический анализатор (используя Ya cc) для логи первого порядка c языков, но я немного запутался. FOL может иметь много языков - каждый язык может иметь свои собственные наборы функций, отношений, именованных переменных. Таким образом, маленькие языки могут быть общими и включать очень мало символов, таких как animal, human, object. Но богатые языки могут быть очень специфичными c и включать очень много символов, таких как cat, dog, monkey, John, Peter, table, spoon и др. c.

Есть ли способ ввести параметризованный набор символов, чей набор может иметь почти бесконечную длину, например f(1), f(2), f(3), f(i), ... и тогда могут быть оба специфические c грамматические правила для специфических c и общие грамматические правила, подобные тем, которые связаны с f(i) for even i и f(j) for odd j. Я слышал о https://www.grammaticalframework.org/ и категориальных грамматиках, у которых есть категории, но они также имеют фиксированный набор констант.

Так что - я думаю, что - если я хотел бы сделать система открыта и готова принять растущие символы, тогда я должен быть готов обновить грамматику и использовать Ya cc для перекомпиляции синтаксического анализатора и создания некоторых обобщенных классов?

Есть ли подход для обработки развивающихся грамматик в программном обеспечении код? Может ли Ya cc сделать это?

...