Ma'lumotlarni tavsiflash tilini oching - Open Data Description Language

OpenDDL
OpenDDL sintaksisi diagram.png
Tomonidan ishlab chiqilganErik Lengyel
Dastlabki chiqarilish2013 yil 24 sentyabr; 7 yil oldin (2013-09-24)
Oxirgi nashr
2.0
(2017 yil 27-yanvar); 3 yil oldin (2017-01-27))
Format turiMa'lumotlarni almashtirish
Ochiq format ?Ha
Veb-saytopenddl.org

The Ma'lumotlarni tavsiflash tilini oching (OpenDDL) - bu o'zboshimchalik bilan ma'lumotlarni odam tomonidan tushunarli shaklda saqlash uchun mo'ljallangan umumiy matnga asoslangan til. U ko'plab dasturlar o'rtasida osonlikcha ma'lumot almashish vositasi yoki shunchaki tahrirlanadigan formatda dastur ma'lumotlarini saqlash usuli sifatida ishlatilishi mumkin.

Veb-saytda OpenDDL-ning aniq sintaksisi tasvirlangan openddl.org shuningdek, ilovasida O'yin dvigatellari almashinuvini oching Texnik xususiyatlari.[1]

Tuzilmalar

OpenDDL fayli foydalanuvchi tomonidan belgilangan turlar yoki ichki ibtidoiy ma'lumotlar turlari bo'lishi mumkin bo'lgan tuzilmalar ketma-ketligidan iborat. Strukturani e'lon qilish identifikatordan so'ng ixtiyoriy ism, ixtiyoriy xususiyatlar ro'yxati va nihoyat, qavs ichiga olingan strukturaning tarkibidan iborat. Xom ma'lumotlar har doim identifikatorlari keyingi bobda tavsiflangan ma'lumotlar turlaridan biri bo'lgan tuzilmalar tarkibiga kiradi. Masalan, a ni aniqlash mumkin Nuqta uch o'lchovli nuqtaning suzuvchi nuqta koordinatalarini quyidagicha ushlab turuvchi struktura.

Nuqta {float {1.0, 2.0, 3.0}}

Tuzilmalar faylning boshqa qismlariga havola qilish imkonini beradigan nomlarga ega bo'lishi mumkin. Ismlar global (butun faylda noyob) yoki mahalliy (atrofdagi strukturada noyob) bo'lishi mumkin. Global ism dollar belgisidan keyin identifikatordan va mahalliy ism foiz belgisidan keyin dollar belgisidan iborat. The Nuqta yuqoridagi tuzilishga "pozitsiya" global nomi quyidagi tarzda berilishi mumkin.

Point $ position {float {1.0, 2.0, 3.0}}

Keyin boshqa bir tuzilma yordamida ushbu nuqtaga havolani o'z ichiga olishi mumkin ref ma'lumotlar turi:

ref {$ position}

Ma'lumot turlari

OpenDDL quyidagi jadvalda tavsiflangan 15 ta ibtidoiy ma'lumot turlarini belgilaydi. Har bir tur uzun va qisqa nomlarga ega. Bundan tashqari, suzuvchi nuqta turlarining har biri o'zgaruvchan uzun va qisqa nomlarga ega.

TuriTavsif
bool, bQiymatga ega bo'lishi mumkin bo'lgan mantiqiy turi to'g'ri yoki yolg'on.
int8, i8[−2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 8-bit imzolangan butun son7, 27 − 1].
int16, i16[−2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 16-bitli tamsayı15, 215 − 1].
int32, i32[−2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 32-bit imzolangan butun son31, 231 − 1].
int64, i64[Bit2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 64-bit imzolangan butun son63, 263 − 1].
unsigned_int8, u8[0, 2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 8-bit imzosiz butun son8 − 1].
unsigned_int16, u16[0, 2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 16-bit imzosiz butun son16 − 1].
unsigned_int32, u32[0, 2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 32-bit imzosiz butun son32 − 1].
unsigned_int64, u64[0, 2 oralig'ida qiymatlarga ega bo'lishi mumkin bo'lgan 64-bit imzosiz butun son64 − 1].
yarmi, 16, h, f16Standart S1E5M10 formatiga mos keladigan 16-bitli suzuvchi nuqta turi.
suzmoq, float32, f, f32Standart S1E8M23 formatiga mos keladigan 32-bitli suzuvchi nuqta turi.
ikki baravar, float64, d, f64Standart S1E11M52 formatiga mos keladigan 64-bitli suzuvchi nuqta turi.
mag'lubiyat, sUTF-8da kodlangan tarkibiga ega bo'lgan ikki tirnoqli belgilar qatori.
ref, rTuzilma nomlari ketma-ketligi yoki kalit so'z bekor.
turi, tQiymatlari ushbu jadvalning birinchi ustunidagi turlarni nomlovchi identifikatorlar bo'lgan tur.

Mos kutubxonalar

Adabiyotlar

  1. ^ Lengyel, Erik (2017). Open Engine Engine Exchange Specification, 2.0 versiyasi. "Terathon Software" MChJ. ISBN  978-0-9858117-9-2.

Tashqi havolalar