Я хотел бы язык предварительной обработки для метапрограммирования - PullRequest
3 голосов
/ 16 апреля 2011

Я ищу такой язык, как 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 ]

4 голосов
/ 16 апреля 2011

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

1 голос
/ 16 апреля 2011

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

Существует также Шаблон строки , который имеет порт C #.

...