Re[53]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 30.03.06 07:26
Оценка: :)
Здравствуйте, IT, Вы писали:

> Да, лучше перестраховаться и объявить Nemerle и его создателей врагами

> народа, дизертирами и вредителями колхозных колосков.

Можешь показать цитаты, хотя бы близкие по смыслу к этому?

> ЗЫ. Мне, кстати, тоже интересно, доколе народ будет заниматься охотой на

> ведьм? Я так понимаю, что удовольствие получается уже от самого процесса
>

А вот я применительно к отладке макросов во время компиляции другого не понимаю. Почему этого нельзя сделать путем установки точки прерывания в IDE на месте обращения к макросу в моем коде? Нет, про разные этапы компиляции и отладки, про то, что макросы это уже объектный код и прочие прописные истины ... все это я уже слышал. Это все попытка доказать всем, что так делать нельзя потому, что сейчас это невозможно.

Ну а если чуть-чуть подумать. Преставим, что в IDE на строке своего исходника я устанавливаю точку прерывания. Запускаю компиляцию, IDE подгружает внутри себя процесс компилятора и передает ему дополнительную информацию: имя файла и номер строки с точкой прерывания. Когда компилятор доходит до этого места в процессе компиляции, он сообщает IDE об этом и позволяет IDE войти в режим отладки.

Компонентная, в конце-концов .NET среда или так просто, погулять вышла? Компилятор может быть таким компонентом, который IDE подгружает в себя. IDE получает от компилятора интерфейс для управления компиляцией. IDE передает компилятору свой callback интерфейс. IDE дергает метод компилятора для начала компиляции с перечислением точек прерываний. Когда компилятор добирается до одной из них, он дергает callback интерфейс IDE и говорит, где и как нужно начать отладку.

Получается нормальная IDE для полноценного использования и отладки средств метапрограммирования Nemerle.

Или такое все же принципиально невозможно?



AFAIK, IDE для Smalltalk-а давно так работают. Чуть ли не с рождения.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.