Язык описания открытых данных
Разработано | Эрик поляк |
---|---|
Первоначальный выпуск | 24 сентября 2013 г |
Последний выпуск | 3.0 4 января 2021 г |
Тип формата | Обмен данными |
Открытый формат ? | Да |
Веб-сайт | openddl.org |
Язык описания открытых данных ( OpenDDL ) — это универсальный текстовый язык, предназначенный для хранения произвольных данных в кратком, удобочитаемом формате. Его можно использовать как средство простого обмена информацией между многими программами или просто как метод хранения данных программы в редактируемом формате.
Точный синтаксис OpenDDL описан на сайте openddl.org , а также в приложении Open Game Engine Exchange Спецификации . [1]
Структуры
[ редактировать ]Файл OpenDDL состоит из последовательности структур, которые могут быть либо пользовательскими типами, либо встроенными примитивными типами данных. Объявление структуры состоит из идентификатора, за которым следует необязательное имя, необязательный список свойств и, наконец, содержимое структуры, заключенное в фигурные скобки. Необработанные данные всегда содержатся в структурах, идентификаторы которых являются одним из типов данных, описанных в следующем разделе. Например, можно определить Point
структура, которая содержит координаты трехмерной точки с плавающей запятой следующим образом.
Point { float {1.0, 2.0, 3.0} }
Структуры могут иметь имена, позволяющие ссылаться на них из других частей файла. Имена могут быть глобальными (уникальными во всем файле) или локальными (уникальными внутри включающей структуры). Глобальное имя состоит из знака доллара, за которым следует идентификатор, а локальное имя состоит из знака процента, за которым следует знак доллара. Point
вышеприведенной структуре можно было бы дать глобальное имя «позиция» следующим образом.
Point $position { float {1.0, 2.0, 3.0} }
Другая структура могла бы затем включать ссылку на этот момент, используя метод ref
тип данных:
ref {$position}
Типы данных
[ редактировать ]OpenDDL определяет 15 примитивных типов данных, описанных в следующей таблице. Каждый тип имеет длинное и короткое имя. Кроме того, каждый тип с плавающей запятой имеет альтернативные длинные и короткие имена.
Тип | Описание |
---|---|
bool , b
|
Логический тип, который может иметь значение true или false .
|
int8 , i8
|
8-битное целое число со знаком, которое может иметь значения в диапазоне [−2 7 , 2 7 − 1]. |
int16 , i16
|
16-битное целое число со знаком, которое может иметь значения в диапазоне [−2 15 , 2 15 − 1]. |
int32 , i32
|
32-битное целое число со знаком, которое может иметь значения в диапазоне [−2 31 , 2 31 − 1]. |
int64 , i64
|
64-битное целое число со знаком, которое может иметь значения в диапазоне [−2 63 , 2 63 − 1]. |
uint8 , u8
|
8-битное целое число без знака, которое может иметь значения в диапазоне [0, 2 8 − 1]. |
uint16 , u16
|
16-битное целое число без знака, которое может иметь значения в диапазоне [0, 2 16 − 1]. |
uint32 , u32
|
32-битное целое число без знака, которое может иметь значения в диапазоне [0, 2 32 − 1]. |
uint64 , u64
|
64-битное целое число без знака, которое может иметь значения в диапазоне [0, 2 64 − 1]. |
half , float16 , h , f16
|
16-битный тип с плавающей запятой, соответствующий стандартному формату S1E5M10. |
float , float32 , f , f32
|
32-битный тип с плавающей запятой, соответствующий стандартному формату S1E8M23. |
double , float64 , d , f64
|
64-битный тип с плавающей запятой, соответствующий стандартному формату S1E11M52. |
string , s
|
Строка символов в двойных кавычках, содержимое которой закодировано в UTF-8 . |
ref , r
|
Последовательность имен структур или ключевое слово null .
|
type , t
|
Тип, значениями которого являются идентификаторы, именующие типы в первом столбце этой таблицы. |
base64 , z
|
Общие двоичные данные, закодированные как Base64 . |
Совместимые библиотеки
[ редактировать ]Ссылки
[ редактировать ]- ^ Лендьел, Эрик (2021). Спецификация Open Game Engine Exchange, версия 3.0 . ООО «Тератон Софтвер». ISBN 978-0-9858117-8-5 .