Язык описания открытых данных - Open Data Description Language
Разработан | Эрик Ленгьел |
---|---|
изначальный выпуск | 24 сентября 2013 г. |
Последний релиз | 2.0 (27 января 2017 г. ) |
Тип формата | Обмен данными |
Открытый формат ? | да |
Интернет сайт | openddl.org |
В Язык описания открытых данных (OpenDDL) - это общий текстовый язык, предназначенный для хранения произвольных данных в кратком удобочитаемом формате. Его можно использовать как средство для простого обмена информацией между многими программами или просто как метод для хранения данных программы в редактируемом формате.
Точный синтаксис OpenDDL описан на сайте openddl.org а также в приложении к Открытый обмен игрового движка Технические характеристики.[1]
Структуры
Файл OpenDDL состоит из последовательности структур, которые могут быть либо пользовательскими типами, либо встроенными примитивными типами данных. Объявление структуры состоит из идентификатора, за которым следует необязательное имя, необязательный список свойств и, наконец, содержимое структуры, заключенное в фигурные скобки. Необработанные данные всегда содержатся в структурах, идентификаторы которых являются одним из типов данных, описанных в следующем разделе. Например, можно определить Точка
структура, которая содержит координаты с плавающей запятой трехмерной точки, как показано ниже.
Точка {float {1.0, 2.0, 3.0}}
Структуры могут иметь имена, позволяющие ссылаться на них из других частей файла. Имена могут быть глобальными (уникальными во всем файле) или локальными (уникальными в пределах внутренней структуры). Глобальное имя состоит из знака доллара, за которым следует идентификатор, а локальное имя состоит из знака процента, за которым следует знак доллара. В Точка
приведенной выше структуре можно было бы дать глобальное имя "позиция" следующим образом.
Point $ position {float {1.0, 2.0, 3.0}}
Затем другая структура могла бы включать ссылку на эту точку с помощью ссылка
тип данных:
ссылка {$ position}
Типы данных
OpenDDL определяет 15 примитивных типов данных, описанных в следующей таблице. Каждый тип имеет длинное и короткое имя. Кроме того, каждый из типов с плавающей запятой имеет альтернативные длинные и короткие имена.
Тип | Описание |
---|---|
bool , б | Логический тип, который может иметь значение истинный или же ложный . |
int8 , i8 | 8-битовое целое число со знаком, которое может принимать значения в диапазоне [−27, 27 − 1]. |
int16 , i16 | 16-битовое целое число со знаком, которое может принимать значения в диапазоне [−215, 215 − 1]. |
int32 , i32 | 32-разрядное целое число со знаком, которое может принимать значения в диапазоне [−231, 231 − 1]. |
int64 , i64 | 64-разрядное целое число со знаком, которое может принимать значения в диапазоне [−263, 263 − 1]. |
unsigned_int8 , u8 | 8-битовое целое число без знака, которое может принимать значения в диапазоне [0, 28 − 1]. |
unsigned_int16 , u16 | 16-разрядное целое число без знака, которое может принимать значения в диапазоне [0, 216 − 1]. |
unsigned_int32 , u32 | 32-разрядное целое число без знака, которое может принимать значения в диапазоне [0, 232 − 1]. |
unsigned_int64 , u64 | 64-разрядное целое число без знака, которое может принимать значения в диапазоне [0, 264 − 1]. |
половина , float16 , час , f16 | 16-битный тип с плавающей запятой, соответствующий стандартному формату S1E5M10. |
плавать , float32 , ж , f32 | 32-битный тип с плавающей запятой, соответствующий стандартному формату S1E8M23. |
двойной , float64 , d , f64 | 64-битный тип с плавающей запятой, соответствующий стандартному формату S1E11M52. |
нить , s | Строка символов в двойных кавычках с содержимым, закодированным в UTF-8. |
ссылка , р | Последовательность названий структур или ключевое слово ноль . |
тип , т | Тип, значения которого являются идентификаторами именования типов в первом столбце этой таблицы. |
Совместимые библиотеки
Рекомендации
- ^ Ленгьел, Эрик (2017). Спецификация обмена Open Game Engine, версия 2.0. ООО «Терафон Софтвер». ISBN 978-0-9858117-9-2.