Artyemov писал(а):
Цитата:
TYPE
	Bytes = RECORD [256]
	END;
Квадратные скобки и их содержимое как расценивать? В данном случае утилита showdef показывает это число как сырое значение системного флага записи. Это внутренний код, который может обозначать, например, безтеговую запись. Иногда транслятор разрешает использовать в качестве системного флага и идентификатор этого флага, и число, обозначающее его внутренний код.
Максимальное значение числа, ровно как и то, какие числа транслятор пропустит, это уже зависит от реализации. BlackBox тоже разрешает запись 
Код:
RECORD [1]
 как аналог 
Код:
RECORD [untagged]
Смотрим в коде BrowserCmd как устроен этот вывод:
Код:
      PROCEDURE SysFlag;
      BEGIN
         IF typ^.sysflag # 0 THEN
            Wch("["); Wi(typ^.sysflag); Ws("] ")
         END
      END SysFlag;
   BEGIN
      CASE typ^.form OF
      ...
            | Record:
                  Ws("RECORD "); SysFlag;
                  IF typ^.BaseTyp # NIL THEN Wch("("); Wtype(typ^.BaseTyp); Wch(")") END ;
Ofront хранит в системном флаге типа "запись" не только внутренний код флага (биты {0..7}), но и системное выравнивание записи (биты {8..14}). Это внутренняя информация транслятора, нужная для правильного расчёта выравнивания полей при расширении записи.