Cтраница 4
Ниже мы перечислим наборы объектов и их атрибуты. Домен каждого атрибута объявляется так же, как в типичном языке программирования: CHAR ( п) означает строку литер длины и, a INT. [46]
Строка литер ограничивается либо пробелом, либо нулевым байтом. Каждое 16-разрядное бинарное слово получается из трех литер, при этом используются младшие 4 6 6 бит из кодов литер. Параметр IBUF представляет строку литер, JBUF - выходной массив бинарных данных. Каждый блок литер замыкается контрольным словом и параметр ICHK принимает значение ноль, если не было обнаружено ошибок передачи. [47]
Строка литер ограничивается либо пробелом, либо нулевым байтом. Каждое 16-разрядное бинарное слово получается из трех литер, при этом используются младшие 4 6 6 бит из кодов литер. Параметр IBUF представляет строку литер, JBUF - выходной массив. Каждый блок литер замыкается контрольным словом и параметр ICHK принимает значение ноль, если не было обнаружено ошибок передачи. [48]
В нашей системе был также создан графический пакет для АПЛ. Внутренние процедуры пакета являются практически теми же, что и в пакете для Фортрана, но имеют синтаксическую формы функций АПЛ. Функции APL-G, вызываемые из программы пользователя, абсолютно идентичны командам GRIP, перечисленным в разд. Список параметров команд GRIP описывается в АПЛ-программе как строка литер, поэтому в соответствии с синтаксисом АПЛ он заключается в кавычки. Каждая функция APL-G, реализующая какую-либо команду GRIP, имеет часть, анализирующую входную строку литер. В строке отыскиваются разделители () и в соответствии с ними строка разбивается на подстроки, представляющие отдельные элементы списка параметров. Если элемент является именем, то соответствующая подстрока без каких-либо преобразований засылается в локальную переменную. Если параметр является выражением, то представляющая его подстрока вычисляется ( с помощью оператора EXECUTE) и полученное значение засылается в локальную переменную. Обмен информацией между функциями осуществляется через глобальные переменные. Таким образом, все функции, моделирующие инструкции языка GRIP, являются функциями одного параметра и не имеют явного результата. Поэтому пользователь должен не применять имена, начинающиеся с этих же литер. [49]
Минимальной пользовательской категорией данных обычно является литера. Так, идентификаторы, представляющие собой имена, состоят из строк литер. Некоторые идентификаторы, например номера социального страхования, могут содержать только цифры. Но и в этом случае они часто представляются в ЭВМ в виде строки литер. [50]