LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

Ну если C++ «инструмент для создания ваших собственных языков», то напиши на нём конструкцию

with_finalize {
   some_code1();
   some_code2();
} finalize {
   some_final1();
}

Должно превращаться в что-то вида

{
  class __tmpclass10050042 {
     ~__tmpclass10050042() {
        some_final1();
     }
  } __tmp10050042;
  some_code1();
  some_code2();
}

производимые имена не должны конфликтовать с окружающим кодом.

Исходная версия monk, :

Ну если C++ «инструмент для создания ваших собственных языков», то напиши на нём конструкцию

with-finalize {
   some_code1();
   some_code2();
} finalize {
   some_final1();
}

Должно превращаться в что-то вида

{
  class __tmpclass10050042 {
     ~__tmpclass10050042() {
        some_final1();
     }
  } __tmp10050042;
  some_code1();
  some_code2();
}

производимые имена не должны конфликтовать с окружающим кодом.