Можно ли пользоваться квазицитатами не в макросах?
От: Mumitroller Беларусь  
Дата: 27.06.11 12:56
Оценка:
Subj, собственно.

Пробую вот так:
using Nemerle.Compiler.Parsetree;
module Program
{
  Main() : void
  {
      def expr = <[ ]>;    // это работает
      def expr = <[ () ]>; // и это работает
      def expr = <[ [] ]>; // и это работает
      
      def expr = <[ 0 ]>;          // NullReferenceException
      def expr = <[ [0] ]>;        // NullReferenceException
      def expr = <[ def a = 0 ]>;  // NullReferenceException
  }
}


Такое в принципе невозможно или я что-то неправильно делаю?

Mumitroller
... << RSDN@Home 1.2.0 alpha 4 rev. 0>>
Re: Можно ли пользоваться квазицитатами не в макросах?
От: hardcase Пират http://nemerle.org
Дата: 27.06.11 13:18
Оценка: 1 (1)
Здравствуйте, Mumitroller, Вы писали:

M>Такое в принципе невозможно или я что-то неправильно делаю?


Технически это невозможно без инициализации всего компилятора. Квазицитаты завязаны на глобальное статическое поле ManagerClass.Instance.
В моих планах прибить ManagerClass в рамках работы над сменными бэкэндами N1 (по видимому это будет немерл ревизии 1.x), но случится это еще не скоро.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Можно ли пользоваться квазицитатами не в макросах?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.06.11 16:24
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Технически это невозможно без инициализации всего компилятора.


Что тоже самое, что — "Технически — это возможно, если создать копию своего компилятора (наследника класса ManagerClass).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.