OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 16 Июнь, 2019 14:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Воскресенье, 24 Сентябрь, 2017 15:05 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8127
Откуда: Троицк, Москва
Wlad писал(а):
Kemet писал(а):
так как в оберонах нельзя вернут ссылку, для записей будет возвращаться запись, а не ссылка, как в ЦПП

Наверное я слишком долго на стороне гулял...

Чётто я тоже не понял.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 10:06 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 714
Откуда: Барнаул
Что из чего не понял?

Код:
TYPE
  O = OBJECT
    VAR  i := 0: INTEGER;

    PROCEDURE Start( ): O;
    BEGIN
      SELF.i := 0;
      RETURN SELF;
    END Start;

    PROCEDURE Do( ): O;
    BEGIN
      INC( SELF.i );
      RETURN SELF;
    END Do;

    PROCEDURE Stop( ): O;
    BEGIN
      DEC( SELF.i );
      RETURN SELF;
    END Stop;
  END O;

VAR o: O;
.....
  o.Start( ).Do( ).Stop( ); (* Работает нормально *)

Пример работает, но если тип OBJECT заменить на RECORD, то фсё, приехали, потому что вернуть ссылку в обероне нельзя, а возврат по знаечению здесь не катит.
В Активном Обероне теоретически можно воспользоваться UNSAFE POINTERS:
Код:
TYPE
  Ref = POINTER{UNSAFE} TO R;
  R = RECORD
    i := 0: INTEGER;

    PROCEDURE Start( ): Ref;
    BEGIN
      SELF.i := 0;
      RETURN ADDRESSOF( SELF );
    END Start;

    PROCEDURE Do( ): Ref;
    BEGIN
      INC( SELF.i );
      RETURN ADDRESSOF( SELF );
    END Do;

    PROCEDURE Stop( ): Ref;
    BEGIN
      DEC( SELF.i );
      RETURN ADDRESSOF( SELF );
    END Stop;
  END;

VAR r: R;
...
  r.Start( ).Do( ).Stop( );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 10:54 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8127
Откуда: Троицк, Москва
С Object'ом -- это у же сильно не классический Оберон.

Вообще это -- такое умножение сущностей -- трудно называть диалектом Оберона. Во всяком случае говорить просто "Оберон", обсуждая подобные вещи, нельзя без риска немедленной дезинформации. По крайней мере в ветке с текущим названием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 17:01 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 714
Откуда: Барнаул
Info21 писал(а):
С Object'ом -- это у же сильно не классический Оберон.

Вообще это -- такое умножение сущностей -- трудно называть диалектом Оберона. Во всяком случае говорить просто "Оберон", обсуждая подобные вещи, нельзя без риска немедленной дезинформации. По крайней мере в ветке с текущим названием.

Какие то ортодоксальные выводы. Компонентный паскаль вообще не Оберон, даже на русской википедии какой-то талант написал, что это прямой потомок Паскаля.
Какая-то дезинформация сплошная


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 17:04 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 714
Откуда: Барнаул
И этта, Активный Оберон и есть самый православный потомок классического Оберона, так как получен прямым инкрементированием, на нём даже спокойно можно писать в православном стиле. а вот на КП фигвам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 19:09 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Kemet писал(а):
Компонентный паскаль вообще не Оберон
Ядовитые посевы Веселовского дают всходы. Но ничего, на это "вообще не оберон" всегда найдётся дефолиант, в виде цитатки из описания КП:

Цитата:
What's New in Component Pascal?

Except for some minor points, Component Pascal is a superset of Oberon-2. Compared to Oberon-2, it provides several clarifications and improvements


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 19:35 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 714
Откуда: Барнаул
Иван Кузьмицкий писал(а):
Ядовитые посевы
Так это не у меня, у меня как раз нет проблем с пониманием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 22:26 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1194
Этих "minor points" вполне достаточно, чтобы отравить жизнь желающему перенести программу из оберона на КП. В общем, "расширение подмножества".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Пятница, 29 Сентябрь, 2017 13:42 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Trurl писал(а):
Этих "minor points" вполне достаточно, чтобы отравить жизнь желающему перенести программу из оберона на КП
Кто этот желающий? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: классич. Оберон + КП
СообщениеДобавлено: Пятница, 29 Сентябрь, 2017 15:43 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8127
Откуда: Троицк, Москва
Кстати, да, интересно было бы сравнить корпус софта на к.О. и на КП.

Подозрение, что как раз Игорь Анатольевич имеет некое представление об этом.

Иван Кузьмицкий писал(а):
Trurl писал(а):
Этих "minor points" вполне достаточно, чтобы отравить жизнь желающему перенести программу из оберона на КП
Кто этот желающий? :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB