Язык описания открытых данных - Open Data Description Language

OpenDDL
Синтаксис OpenDDL diagram.png
РазработанЭрик Ленгьел
изначальный выпуск24 сентября 2013 г.; 7 лет назад (2013-09-24)
Последний релиз
2.0
(27 января 2017 г.; 3 года назад (2017-01-27))
Тип форматаОбмен данными
Открытый формат ?да
Интернет сайт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, i88-битовое целое число со знаком, которое может принимать значения в диапазоне [−27, 27 − 1].
int16, i1616-битовое целое число со знаком, которое может принимать значения в диапазоне [−215, 215 − 1].
int32, i3232-разрядное целое число со знаком, которое может принимать значения в диапазоне [−231, 231 − 1].
int64, i6464-разрядное целое число со знаком, которое может принимать значения в диапазоне [−263, 263 − 1].
unsigned_int8, u88-битовое целое число без знака, которое может принимать значения в диапазоне [0, 28 − 1].
unsigned_int16, u1616-разрядное целое число без знака, которое может принимать значения в диапазоне [0, 216 − 1].
unsigned_int32, u3232-разрядное целое число без знака, которое может принимать значения в диапазоне [0, 232 − 1].
unsigned_int64, u6464-разрядное целое число без знака, которое может принимать значения в диапазоне [0, 264 − 1].
половина, float16, час, f1616-битный тип с плавающей запятой, соответствующий стандартному формату S1E5M10.
плавать, float32, ж, f3232-битный тип с плавающей запятой, соответствующий стандартному формату S1E8M23.
двойной, float64, d, f6464-битный тип с плавающей запятой, соответствующий стандартному формату S1E11M52.
нить, sСтрока символов в двойных кавычках с содержимым, закодированным в UTF-8.
ссылка, рПоследовательность названий структур или ключевое слово ноль.
тип, тТип, значения которого являются идентификаторами именования типов в первом столбце этой таблицы.

Совместимые библиотеки

Рекомендации

  1. ^ Ленгьел, Эрик (2017). Спецификация обмена Open Game Engine, версия 2.0. ООО «Терафон Софтвер». ISBN  978-0-9858117-9-2.

внешняя ссылка