Я написал DSL, используя Antlr, чтобы сгенерировать лексер и парсер из моего файла грамматики. Парсер генерирует абстрактное синтаксическое дерево, которое содержит различные узлы (например, функциональный узел), которые я могу вычислить. В коде для узлов функции я занимаюсь привязкой - проверкой имен функций и типов параметров для совпадений из библиотеки функций. У меня есть некоторое простое кэширование для оптимизации поиска функции (если я назову A + B с двумя ints, то есть вероятность, что в следующий раз, когда я буду использовать оператор plus, он будет с 2 ints).Каковы основные преимущества перехода на DLR для моего языка сценариев?
Недавно я читал о DLR и, похоже, был разработан таким образом, чтобы реализовать этот тип реализации скриптового языка. Сначала краснеть не выглядит так, как будто он генерирует парсер или лексер, но похоже, что он помогает другим частям реализации. Мне было интересно, каковы будут основные преимущества для меня перехода на использование DLR.
Спасибо Jon, несколько хороших мотивов там особенно динамичный. Хотелось бы, чтобы я сделал это для вашей презентации в пробке с открытым исходным кодом. – Jason
Это было всего 5 минут - никаких деталей вообще. Я почти закончил динамическую главу C# в Depth, поэтому, чтобы это было доступно в ближайшее время. –