3.6. CLASS: ПРЕДИКАТЫ ДЛЯ РАСПОЗНАВАНИЯ КЛАССОВ СИМВОЛОВ

$func? BOX? e.Exp = ;

$func? CHANNEL? e.Exp = ;

$func? CHAR? e.Exp = ;

$func? DIGIT? e.Exp = ;

$func? FUNC? e.Exp = ;

$func? INT? e.Exp = ;

$func? LETTER? e.Exp = ;

$func? STRING? e.Exp = ;

$func? TABLE? e.Exp = ;

$func? VECTOR? e.Exp = ;

$func? WORD? e.Exp = ;

Эти функции служат для проверки, что e.Exp является символом, принадлежащим к определенному множеству символов.

Если e.Exp - не символ, результатом является $fail(0).

Если e.Exp - символ, выполняется проверка, что этот символ принадлежащит к соответствующему множеству. Если принадлежит - результатом является пустое выражение, если же не принадлежит - результатом является $fail(0).

Соответствие между функциями-предикатами и множествами символов следующее:

BOX? - ссылки на ящики.

CHANNEL? - ссылки на каналы.

CHAR? - символы-литеры.

DIGIT? - символы-литеры, которые соответствуют десятичным цифрам.

FUNC? - ссылки на функции.

INT? - целые числа.

LETTER? - символы-литеры, которые соответствуют латинским прописным и строчным буквам.

STRING? - ссылки на строки.

TABLE? - ссылки на таблицы.

VECTOR? - ссылки на векторы.

WORD? - слова.