OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 14:56

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Переопределение ABSTRACT, LIMITED, EXTENDED
СообщениеДобавлено: Среда, 11 Март, 2020 01:51 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Коллеги, я обнаружил, почитывая DevCPT, что атрибуты записей и процедур
ABSTRACT LIMITED EXTENDED
компилятор позволяет переопределить, как и прочие предопределенные имена типа BITS, LEN, INTEGER и т.п.

Однако Language Report однозначно относит их к непереопределимым ключевым словам:
5. Operators and delimiters are the special characters, character pairs, or reserved words listed below. The reserved words consist exclusively of capital letters and cannot be used as identifiers.

+ := ABSTRACT EXTENSIBLE POINTER
- ^ ARRAY FOR PROCEDURE
* = BEGIN IF RECORD
/ # BY IMPORT REPEAT
~ < CASE IN RETURN
& > CLOSE IS THEN
. <= CONST LIMITED TO
, >= DIV LOOP TYPE
; .. DO MOD UNTIL
| : ELSE MODULE VAR
$ ELSIF NIL WHILE
( ) EMPTY OF WITH
[ ] END OR
{ } EXIT OUT

Я попробовал - действительно, позволяет
MODULE M;
CONST ABSTRACT = -1;
TYPE T = ABSTRACT(*err: identifier does not denote a type*) RECORD END;
END MM.

При этом NEW - не в списке из п. 5!

Что думаете? Это баг или фича?
Для "реализации" такой особенности в таблице символов введен отдельный режим объекта, а всего-то их существует 4 штуки - по одной для каждого атрибута.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 11 Март, 2020 10:56 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Баг однозначно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 11 Март, 2020 12:55 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
https://forum.blackboxframework.org/vie ... f=40&t=704


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

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


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

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


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

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