Я написал DSL, используя Antlr, чтобы сгенерировать лексер и парсер из моего файла грамматики. Синтаксический анализатор генерирует абстрактное синтаксическое дерево, которое содержит различные узлы (например, функциональный узел), которые я могу вычислить. В коде для функциональных узлов я занимаюсь привязкой - проверяю имена функций и типы параметров на совпадения из библиотеки функций. У меня есть простое кеширование, чтобы оптимизировать поиск функции (если я вызываю A + B с двумя целыми числами, тогда есть большая вероятность, что в следующий раз, когда я использую оператор плюса, это будет с двумя целыми числами).
Недавно я читал о DLR, и, похоже, он разработан для поддержки этого типа реализации языка сценариев. На первый взгляд мне не кажется, что он генерирует синтаксический анализатор или лексер, но кажется, что он помогает с другими частями реализации. Мне было интересно, каковы будут для меня основные преимущества перехода на использование DLR.