OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 22 Октябрь, 2017 22:11

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: INC(int, long)
СообщениеДобавлено: Суббота, 05 Август, 2017 12:35 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 166
Откуда: Украина, Днепропетровская обл.
Коллеги, интересует такой вопрос. Насколько целесообразно допускать конструкции вида:
Код:
INC(int, long);
DEC(int, long);
(* Также и: *)
INC(short, int);
DEC(short, int);
Сейчас BlackBox разрешает их, т.е. можно увеличивать/уменьшать более короткие целые путём приращения более длинных безо всяких усечений SHORT().

Аргумент "за" — видимо, упрощение описания INC/DEC в сообщении о языке:
Цитата:
INC(v, n) v, n: integer type v := v + n
v, n: любые целые. А какого размера — неважно.

Аргумент против — как-то нехорошо разрешать смешивать длинные и короткие вычисления, но с коротким результатом и без SHORT().

Я более близок ко второму варианту, т.е. запретить и указать в описании к INC/DEC, что SIZE(n) <= SIZE(v). Так строже и правильнее имхо.

Этим же вопросом я озадачил Йозефа Темпла.
Josef Templ писал(а):
It is surprising, indeed.
In BlackBox it is accepted.

In ofront it is allowed in the OfronUser.Text, i.e. in the Oberon-2 language definition.
It would be better to fix it, if possible with modest effort.

Please also look at DEC.

- Josef
Josef Templ писал(а):
> Josef, can we accept INC(int, long) ?

I don't know. In BlackBox it is allowed.
I don't know how much troubles it causes if we allow it.
May be it is even simpler to allow it than to check it.

The meaning would be that the result is silently cut off
unless there is the range check option turned on, I guess.
How is it solved in vishap?

- Josef
Josef Templ писал(а):
For compatibility reasons, I would prefer the BlackBox version.
But I have to say that also Vishap did a good job.
It is really hard to say which one to choose.
The compatibility argument could also be applied to the Vishap version, of course.
For me, however, compatibility with BlackBox seems more important.

Maybe we can find a decision by looking at possible complications in the code generator
depending on which version we choose. The BlackBox version has more
potential for complications, I guess. Look at the case INC(int, long) with and without range checks.
This should be tried out before a final decision is made.

- Josef


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INC(int, long)
СообщениеДобавлено: Суббота, 05 Август, 2017 16:15 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 477
Откуда: Киев
Oleg N. Cher писал(а):
Насколько целесообразно
Нецелесообразно.


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

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


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

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


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

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