cs2n
От: Jack128  
Дата: 21.09.09 18:08
Оценка:
собственно — где мона скачать эту тулзу?? на немерле.орг сказано, что она входит в стандартную поставку, но что то в декабрьском CTP её нету.
Re: cs2n
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.09.09 19:24
Оценка:
Здравствуйте, Jack128, Вы писали:

J>собственно — где мона скачать эту тулзу?? на немерле.орг сказано, что она входит в стандартную поставку, но что то в декабрьском CTP её нету.


Ее можно взять из старой сборки (0.9.3 и раньше).
Но эта утилита поддерживает очень старый C# — C# 1.0. Да и то не весь. Так что на практике она не очень полезна.

Еще одним вариантом преобразования кода на C# в Nemerle-код является использование Reflector и соответствующего плагина к нему.

Ну, а проще всего просто подключить свои C#-сборки к проекту Nemerle-проекту и пользоваться наследованием. Кроме того можно делать сборки дружественными друг-другу и писать часть кода на шарпе, а часть на немерле.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: cs2n
От: Jack128  
Дата: 22.09.09 18:46
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Jack128, Вы писали:


VD>Еще одним вариантом преобразования кода на C# в Nemerle-код является использование Reflector и соответствующего плагина к нему.


кста, в нем глюк:

C#

public int GetIntParam(int index)
{
    PropertyInfo propInfo;
    if (!this._intParams.TryGetValue(index, out propInfo))
    {
        return 0;
    }
    return (int) propInfo.GetValue(this._obj, null);
}



Nemerle

public GetIntParam(index : int) : int
{
    mutable propInfo : PropertyInfo;
    when (!this._intParams.TryGetValue(index, out propInfo))
    {
        /* return */0;
    }
    /* return */(propInfo.GetValue(this._obj, null) :> int);
}



Насколько я понимаю — код не эквивалентный.
Да и вообще. Глянул я тут во что линк преобразуется.. Это что то с чем то
Re[3]: cs2n
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.09 19:27
Оценка:
Здравствуйте, Jack128, Вы писали:

J>C#


J>
J>public int GetIntParam(int index)
J>{
J>    PropertyInfo propInfo;
J>    if (!this._intParams.TryGetValue(index, out propInfo))
J>    {
J>        return 0;
J>    }
J>    return (int) propInfo.GetValue(this._obj, null);
J>} 
J>



J>Nemerle


J>
J>public GetIntParam(index : int) : int
J>{
J>    mutable propInfo : PropertyInfo;
J>    when (!this._intParams.TryGetValue(index, out propInfo))
J>    {
J>        /* return */0;
J>    }
J>    /* return */(propInfo.GetValue(this._obj, null) :> int);
J>}
J>


J>Насколько я понимаю — код не эквивалентный.


На первый взгляд, если /* return */ раскоментировать и использовать usung Nenmerle.Imperative, то эквивалентен.
Но глюки в кодогенераторе конечно есть. Его же никто не верифицировал. Даже в кодогенераторе для C# глюки имеются.

J>Да и вообще. Глянул я тут во что линк преобразуется.. Это что то с чем то


Ну, дык — это же декомпиляция. Что же ты хотел?
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: cs2n
От: Denom Украина  
Дата: 24.09.09 13:51
Оценка:
Здравствуйте, Jack128, Вы писали:

Ну как получилось собрать и загрузить аддон для рефлектора?

У меня собрался но рефлектор не может его загрузить — пишет что-то типа load failed.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[4]: cs2n
От: Denom Украина  
Дата: 24.09.09 14:32
Оценка:
Здравствуйте, Denom, Вы писали:

D>Здравствуйте, Jack128, Вы писали:


D>Ну как получилось собрать и загрузить аддон для рефлектора?


D>У меня собрался но рефлектор не может его загрузить — пишет что-то типа load failed.

а, не.... загрузился таки. класс... загрузил свои старые дельфи.нет сборки все показывается...
вот так можно дешево и сердито конвертить код. спасибо Владу за идею.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[5]: cs2n
От: Jack128  
Дата: 24.09.09 17:28
Оценка:
Здравствуйте, Denom, Вы писали:

D>>У меня собрался но рефлектор не может его загрузить — пишет что-то типа load failed.


там нуно к нему в папку просто ещё и новую сборку Nemerle.dll кинуть.
D>а, не.... загрузился таки. класс... загрузил свои старые дельфи.нет сборки все показывается...
D>вот так можно дешево и сердито конвертить код. спасибо Владу за идею.

Ну скажем так, мне качество этого автоконверта не очень понравился, я ручками переношу, благо тут работы на пару вечеров.
Re[6]: cs2n
От: Denom Украина  
Дата: 25.09.09 04:20
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Ну скажем так, мне качество этого автоконверта не очень понравился, я ручками переношу, благо тут работы на пару вечеров.


Я кстати пробовал cs2n когда-то на маленьклм писходнике — понравилось что он генерит с учетом вывода типов.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.