2013-03-03 5 views
1

Мне нравится синтаксис макросов Nemerle намного лучше, чем T4. Есть ли какие-либо примеры или можно использовать Nemerle для генерации кода C#, который затем используется фактическим компилятором Microsoft C# для ввода аналогично T4. Благодарю.Примеры Nemerle для генерации кода C#, такого как T4

ответ

1

Матрицы Nemerle не генерируют код, а изменяют абстрактное синтаксическое дерево программы по мере ее компиляции. Однако компилятор Nemerle может читать C#, и вы даже можете использовать макросы Nemerle в этих файлах C#.

+0

Да, я понимаю это о Nemerle, но я надеялся, что кто-то знает, как это сделать. ToString или что-то в этом роде, чтобы я мог получить C#, который бы расширили макросы. Спасибо –

+0

Вы можете использовать Reflector или ILSpy для генерации кода C# из скомпилированной сборки. Совсем не так, как делать '.ToString()' в AST. –

0

Возможно создание шаблона Nemerle для C#. Но сгенерированный код будет уродливым (не читаемым).

+0

Любой пример этого? –

+0

Например, данный код Nemerle: match (a) {| X (некоторые (t)) => .. | X, когда someVar == 1 | _ => ...} Он создает огромное количество кода с большим количеством проверок. Вы можете попробовать декомпилировать Nemerle.dll и посмотреть это. –

1

Я знаю, что этот ответ не имеет никакого значения, но есть Nemerle в Javascript компилятором NemerleWeb

Аналогичная методика может быть использована для создания файлов C#.