Трудно дать ответ, не зная немного больше о том, что DSL должен делать и насколько сложно он может стать в будущем.Если ваш DSL связан с рабочим процессом, то WF может показаться очень логичным выбором для сохранения ваших проанализированных результатов.
Если ваш язык не слишком сложен, тогда LINQ или небольшой управляемый анализатор вполне могут подойти.Хорошо, чтобы все было просто и использовались инструменты, знакомые вашим коллегам.
Когда ваш язык становится более сложным, такой подход быстро разваливается.Но с другой стороны, вы можете просто переключить свой парсер.Не решайте проблемы, которые у вас могут никогда не быть.
Лично мне очень нравится FParsec для разбора.Это требует некоторых знаний о F #, но когда вы разберетесь в этом, он настолько безумно силен для преобразования текста в AST, и он очень прост в том, что нет никаких «волшебных шагов», которые превращают ваш EBNF в тарабарский код, вы можетепосмотрите, как это работает, и настройте его.
Когда у вас нет времени погружаться в F # и FParsec, есть также Irony , который похож на FParsec, но затем на C #.
Это то, что я могу сказать из того, что вы нам сообщили, если у вас есть какие-то конкретные вопросы, сообщите нам.
Rgds GJ