Я хотел бы язык предварительной обработки для метапрограммирования

Я ищу язык, похожий на PHP, но более краткий - я испытываю желание назвать его "движком шаблонов", но я почти уверен, что это неправильный термин. Какой правильный термин? Текстовый препроцессор?

В любом случае я бы хотел, чтобы он был основан на.NET, потому что я хочу использовать его для написания кода.NET. Так как универсальные.NET не подходят для написания быстрого числового кода ( известный обходной путь слишком громоздок и ограничен для моих нужд), я хотел бы написать математическую библиотеку, используя какой-то язык предварительной обработки, который позволяет мне выводить код C#. Например, я хотел бы сгенерировать серию классов "Point" из разных типов данных (PointF, PointD, PointI и т. Д.):

#foreach(($T, $Type) in {(F, float), (D, double), (I, int), ...}) #{
    public struct Point$T {
        public $Type X, Y;
        ...
    }
#}

Что вы можете предложить прекрасным людям?

2 ответа

Решение

У вас была возможность попробовать шаблоны T4? Этого должно быть достаточно для того, что вы пытаетесь достичь. http://msdn.microsoft.com/en-us/library/bb126445.aspx

Генератор кода T4 и движок шаблонов поставляются с Visual Studio.

Есть также шаблон строки, который имеет порт C#.

Другие вопросы по тегам