Я думал о создании одного для UnrealScript, но я столкнулся со странными проблемами, такими как тот факт, что CodeBinaryOperatorType не включает операцию исключающего или. Новые деревья выражений в .NET 4 выглядят как намного лучшее представление функций, которые CodeDom должен предлагать на уровне блоков (как в блоке операторов, составляющих тело функции).
Я думаю, что нам нужен новый CodeDom, который принимает внешние части System.CodeDom и использует внутренние компоненты System.Linq.Expressions. Затем сделайте результат способным производить либо динамическую сборку, либо исходный код в качестве вывода. (Теперь, когда я думаю об этом, создание скомпилированной сборки будет фактически равносильно созданию нового «языка» для вывода исходного кода.)
Редактировать: Кроме того, вам также следует рассмотреть возможность реализации API CodeModel , поскольку очень часто CodeDom реализуется, когда кто-то интегрирует новый язык в Visual Studio.