Re[4]: Здравствуйте товарищи разработчики R#.
От: Loislo Россия  
Дата: 23.11.04 15:03
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Про решарпер знаю. Хочется самому, ручками научится.


VD>Тогда нет вопросов.

VD>Только учти, для этого нужно въехать во многие тонкасти того что уже сделано. Я готов помочь чем могу.

L>>Кстати поглядел на кодеаналайзер. на сколько я понимаю он рисует дерево

L>> согласно внутреннему представлению ничего при этом не меняя, отсюда вопрос, почему при разборе одного юнита получается два неймспейса на одном уровне,

VD>Что значит рисует? Он использует парсер R#-а. Сам он только пробегается по нему и провдит анализ.

Рисует в смысле, берет то что построено парсером и отображает его 1 в 1, т.е. это визуальное представление работы парсера в чистом виде.

VD>Это работа парсера и спецификация языка. То что они на одном уровне — это скорее огрехи производства. По уму все остальные пространства имен должны быть вложенными в глобальный. Просто никто до этого е обращал на это внимание. Не мешает и ладно.


L>>глобальный и тот который программер навалял, хотя вроде как они должны быть вложеные (IMHO программерский должен быть ребенком глобального).

VD>По идее, да.

ясно.

Надумалось вот еще что:

сейчас так
compile-unit {
  Imports{}
  namespaces {
    global-namespace {...}
    user-namespace1 {...}
    user-namespace2 {...}
  }
}


подумалось что global покрывает весь файл вместе с таблицей импорта
при этом import вроде вполне может быть внутри любого неймспейса (стандарт C# еще не читал, попробовал, компайлер не ругается),
тогда выглядеть это будет примерно так

compile-unit {
  global-namespace {
    Imports{}
    namespaces {
      user-namespace1 {...}
      user-namespace2 {...}
    }
  }
}


таким образом global-namespace фактически совпадает со всем compile-unit и
отличается от него только тем что у того есть имя файла.

Про разрешение имен.
Это всякий геморой связаный с разрешением ссылок на ф-ии, Argument Depended Lookup и т.д?

L>>Ясно. Буду смотреть дальше.

VD>Если что... дергай. Будем помогать.

Угу, сенькс.

ЗЫ: у global-namespace тоже имя есть так что не очень понятно чем оно от compile-unit отличается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.