В структуре обмена лексема является специальной лексемой, ключевым словом или кодированием простого типа данных.
6.1 Специальные лексемы
Для открытия структуры обмена должна быть использована специальная лексема "ISO-10303-21;", а для закрытия структуры обмена - "END-ISO-10303-21;".
Для того чтобы открыть или закрыть заголовочную секцию структуры обмена, должны быть использованы специальные лексемы "HEADER" или "ENDSEC" соответственно.
Для того чтобы открыть или закрыть секцию данных структуры обмена, должны быть использованы специальные лексемы "DATA" или "ENDSEC" соответственно.
Специальную лексему знак доллара "$" используют для представления объекта, чье значение не представлено в структуре обмена.
Специальную лексему звездочка "*" используют для представления предмета, значение которого не представлено в структуре обмена, но может быть выведено из других величин в соответствии с правилами, приведенными в EXPRESS-схеме (см. 10.2.6).
Специальные лексемы точка с запятой ";", скобки "(",")", запятая "," и косая черта "/" используют как знаки препинания в структуре обмена.
6.2 Ключевые слова
Ключевые слова являются последовательностями графических символов, указывающими объект или определенный тип в структуре обмена. Ключевые слова должны состоять из прописных букв, цифр, подчеркивания и, возможно, восклицательного знака "!". Восклицательный знак должен появляться не болеe одного раза и только как первый символ в ключевом слове.
Ключевые слова могут быть таковыми, определенными в схеме или заданными пользователем. Ключевые слова, которые не начинаются с восклицательного знака, являются определенными в схеме. Ключевые слова, которые начинаются с восклицательного знака, являются определенными пользователем. Определенное пользователем ключевое слово является идентификатором для поименованного типа (типа данных объекта или определенного типа) в EXPRESS-схеме, управляющей структурой обмена. Смысл ключевого слова, определенного пользователем, является предметом соглашения между партнерами, использующими структуру обмена.
6.3 Кодирование простых типов данных
В структурах обмена используют кодирование шести простых типов данных: целое (integer), вещественно (real), строка (string), имя экземпляра объекта (entity instance name), перечисление (enumeration) и двоичное (binary).
6.3.1 Целое (Integer)
Целое должно быть закодировано как последовательность из одной или нескольких цифр, согласно таблице 2, которой может (но необязательно) предшествовать знак плюс "+" или минус "-".
Целое должно быть выражено в десятичном основании. Если целое не имеет знака, его считают положительным.
Пример
Верное представление целого в файле | Значение |
16 | Положительное 16 |
+12 | Положительное 12 |
-349 | Отрицательное 349 |
012 | Положительное 12 |
00 | Нуль |
Неверное представление целого в файле | Ошибка |
26 54 | Содержит пробелы |
32.0 | Содержит точку |
+12 | Содержит пробел между знаком плюс и цифрами |
6.3.2 Вещественное (Real)
Вещественное должно быть закодировано, как указано в таблице 2. Код должен состоять из десятичной мантиссы, за которой (необязательно) следует десятичный показатель степени. Десятичная мантисса состоит в порядке следования из необязательного знака плюс "+" или минус "-", последовательности из одной или более цифр, точки ".", последовательности из нуля или нескольких цифр. Десятичный показатель степени состоит из прописной буквы Е, за которой следует необязательный знак плюс "+" или минус "-" с одной или несколькими цифрами.
Примечание - В настоящем стандарте не сделано никаких попыток выразить концепцию точности. Когда необходимо указать значение точности, посылающая и принимающая стороны должны достигнуть соглашения по этому вопросу. Там, где точность требуется как элемент описания типа данных объекта, ее значение должно быть включено в определение типа данных объекта в EXPRESS-схеме.
Пример
Верное представление вещественного | Значение |
+0.0Е0 | 0.0 |
-0.0Е-0 | 0.0 |
1.5 | 1.5 |
-32.178Е+02 | -3217.8 |
0.25Е8 | 25 миллионов |
0.Е25 | 0. |
2. | 2. |
5.0 | 5.0 |
Неверное представление вещественного | Ошибка |
1.2Е3. | В обозначении показателя степени не допускается десятичная точка |
1Е05 | В обозначении мантиссы требуется десятичная точка |
1,000.00 | Запятая не допускается |
3.Е | В обозначении показателя степени должна быть хотя бы одна цифра |
.5 | Десятичной точке должна предшествовать хотя бы одна цифра |
1 | В обозначении мантиссы требуется десятичная точка |
6.3.3 Строка (String)