Я хотел бы язык предварительной обработки для метапрограммирования
Я ищу язык, похожий на 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#.