Синтаксис и значение выражений перечислимого типа

Правила BNF для перечислимых типов ограничивает возможность объявления констант типа до идентификаторов.

<перечислимый тип>::= (<список идентификаторов>)

<список идентификаторов>::= <список идентификаторов>, <идентификатор>

| <идентификатор>

Контекстное правило:

<идентификаторы> <перечислимого типа> не могут дублировать другие идентификаторы в данной области видимости.

Данный идентификатор может быть частью только одного перечислимого типа в пределах области видимости. Это позволяют определение типа идентификатора и исключает конфликты значений такие как в случае с выше приведенным примером DayOfWeek и WeekEndDay, где порядок Saturday и Sunday был разный в разных типах.

Переменные и константы перечислимого типа могут быть использованы в операторах присваивания и с операторами сравнения, но все операнды в таком выражении должны быть одного перечислимого типа. Значение логического выражения использующего операторы сравнения со значениями перечислимых типов определяется в соответствии с порядком, в котором эти значения появляются при объявлении типа.

Например, для любого состояния s,

A < B(s) = TRUE, если и только если A(s) появляется до B(s) в объявлении типа, которому принадлежат A и B.

Ситуация аналогична для других операторов сравнения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: