Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> расширение C# дополнительным keyword, совместимость с C#-вым компилятором 
:(
    Опции темы
marcusmae
Дата 23.1.2007, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Всем привет  smile 

Допустим, у меня есть код некоторой библиотеки классов, потенциально способный компилироваться как в последовательный вариант, так и в параллельный - на кластере. В чём это выражается? = Код написан на C#, но с некоторыми расширениями языка, например, для методов введено ключевое слово movable :

Цитата

public movable double GetSolution(...)
{...}


В связи с этим вопрос : как заставить стандартный C#-овый компилятор не обращать внимания на такие нововведения? = Понятно, что это можно сделать с помощью макросов, каких-нить ConditionalAttribute и тп. Но, всё же, какой наиболее гибкий способ Вы бы предложили?




--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Djuffin
Дата 24.1.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 18.3.2005

Репутация: 1
Всего: 2



Стандартный думаю никак. НО! Можно взять исходники какого-нибудь из не совсем стандартных компиляторов и немного поправить. 

Исходники можно взять здесь
1. MS Shared Source (тут реализация компилятора на C++)
http://www.microsoft.com/downloads/details...;displaylang=en

2. Mono (а тут на C#)
http://www.mono-project.com/Downloads
PM MAIL   Вверх
mr.DUDA
Дата 24.1.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Может R# тут подойдёт ? 

http://www.rsdn.ru/projects/rsharp/article/rsharp_mag.xml


--------------------
user posted image
PM MAIL WWW   Вверх
marcusmae
Дата 25.1.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Хм, спасибо за любопытные статьи, но менять компилятор не хотелось бы. Как раз наоборот : код должен остаться совместимым со стандартным C#. Ведь никакой дополнительной функциональности от компилятора не требуется, кроме как не видеть некоторые модификаторы.
Видимо, придётся изобретать хитрые макросы.

Это сообщение отредактировал(а) marcusmae - 25.1.2007, 19:19


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
mr.DUDA
Дата 25.1.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



А вот макросов в шарпе и нету, в обычном понимании этого слова. То есть имеются, конечно, директивы прекомпиляции. Но они ограничиваются простым типа #define и проверить #if; подстановочных макросов же нет.


--------------------
user posted image
PM MAIL WWW   Вверх
Void
Дата 25.1.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Если стоял вопрос об обеспечении совместимости со стандартным компилятором, то такие вещи, наверное, лучше было бы сделать с помощью атрибутов.
В таком виде без сторонних средств препроцессинга никак.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1249 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.