OberonCore https://forum.oberoncore.ru/ |
|
Переопределение ABSTRACT, LIMITED, EXTENDED https://forum.oberoncore.ru/viewtopic.php?f=29&t=6583 |
Страница 1 из 1 |
Автор: | adimetrius [ Среда, 11 Март, 2020 01:51 ] |
Заголовок сообщения: | Переопределение ABSTRACT, LIMITED, EXTENDED |
Коллеги, я обнаружил, почитывая 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 штуки - по одной для каждого атрибута. |
Автор: | Info21 [ Среда, 11 Март, 2020 10:56 ] |
Заголовок сообщения: | Re: Переопределение ABSTRACT, LIMITED, EXTENDED |
Баг однозначно. |
Автор: | Trurl [ Среда, 11 Март, 2020 12:55 ] |
Заголовок сообщения: | Re: Переопределение ABSTRACT, LIMITED, EXTENDED |
https://forum.blackboxframework.org/vie ... f=40&t=704 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |