ГОСТ Р 53556.5—2013
8.2.3 Числа
Существуютдва вида символьных констант, которые содержат числовые значения в
SAOL:
целочис
ленные константы и константы с плавающей точкой.
Целочисленная константа обязана появляться в определенных контекстах, таких как определения
массива. Целочисленный маркер является серией одной или более цифр. Строка символов, которая оказы
вается отрицательным целым числом, должна быть лексически проанализирована как константа с плаваю
щей точкой. Никакая целочисленная константа, больше чем 232 (4294967296), не должна иметь места в
оркестре.
В
SAOL
нет разницы между числами, кодированными с маркером потока битов для целых чисел и
кодированными с маркером потока битое для байтов. Последний является только средством сжатия потока
битов.
Целочисленная константа обозначается в грамматике
BNF
терминальным символом
<int>.
Константа с плавающей точкой присутствует в выражениях
SAOL
и обозначает постоянное числовое
значение. Маркер с плавающей точкой состоит из основания, дополнительно сопровождаемого экспонен
той. Основание является серией одной или более цифр, опционно сопровождаемых десятичной точкой
и серией из ни одной или большего количества цифр, или десятичной точкой, сопровождаемой серией из
одной или более цифр. Экспонента обозначается буквой
в.
дополнительно сопровождаемой символом ♦
или -, сопровождаемым серией из одной или более цифр. Так как константа с плавающей точкой появля ется в
выражении
SAOL.
где унарный оператор отрицания всегда является доступным, константы с плава ющей
точкой не должны быть лексически отрицательными. Каждая константа с плавающей точкой в орке стре
должна быть представимой 32-разрядным числом с плавающей точкой.
Константа с плавающей точкой обозначается в грамматике
BNF
терминальным символом
<number>.
8.2.4 Строковые константы
Строковые константы не используются в нормативной спецификации
SAOL,
но описаны здесь, чтобы
они могли обрабатываться разработчиками, которые хотятдобавлять к своим реализациям функциональ
ность свыше нормативных требований.
Строковая константа обозначает постоянное строковое значение, то есть, последовательность симво
лов. Строковая константа является серией символов, заключенных вдвойные кавычки ("). Символ двойных
кавычек может быть включен в строковую константу, предшествуя ей с символом наклонной влево черты
(\). Любой другой символ, включая символ разрыва линии (новая линия), должен быть заключен в кавычки.
8.2.5 Комментарии
Комментарии могут использоваться в текстовом представлении
SAOL
чтобы внутренне докумен
тировать оркестр. Однако они не включаются в поток битов и теряются в последовательности
tokenisation/detokenisation
(назначения/удаления маркеров).
Комментарий является любой серией символов, начинающихся с двух наклонных черт (/7), и завер
шающихся с новой линией. Во время лексического анализа, всякий раз когда в линии находится
элемент //, остальная часть линии игнорируется.
8.2.6 Пробел
Пробел служитдля того, чтобы лексически разделить различные элементы текстового оркестра
SAOL.
Он не имеет никакой синтаксической функции в
SAOL.
и не представляется в потоке битое, таким образом
точный пробел текстового оркестра теряется в последовательности
tokenisation/detokenisation.
Пробел не
требуется в
SAOL.
кроме случаев когда надо снять неоднозначность маркеров и зарезервированных слое,
которые появляются друг за другом (например, отделяет "as/g"от объявленного имени переменной).
Пробел является любой серией одного или более пространств, таблицы, и/или символов новой строки.
8.3 Переменные и значения
Каждая сигнальная переменная в рамках оркестра
SAOL
содержит значение или упорядоченный
набор значений для переменных массива, как промежуточное вычисление оркестра. В любом моменте
времени значение переменной, выборка в звуковой таблице или единственный элемент переменной масси ва
должны быть представлены 32-разрядным значением с плавающей точкой.
Реализации свободно использовать любое внутреннее представлениедля переменных значений, пока
вычисленные результаты идентичны результатам вычислений, используя 32-разрядные значения с плава
ющей точкой.
Определенными чувствительным цифровым образом фильтрующими операциями, результаты ис
пользования большой точности в вычислении могут быть эквивалентно вредными для вывода оркестра,
также как и результаты использования меньшей точности, поскольку устойчивость фильтра может крити-
14