데이터 설명 언어 열기

Open Data Description Language
오픈DDL
OpenDDL syntax diagram.png
개발자에릭 렝기엘
초기 릴리즈2013년 9월 24일; 8년(2013-09-24)
최신 릴리즈
3.0
2021년 1월 4일; 14개월(2021-01-04)
형식 유형데이터 교환
오픈 포맷?
웹사이트openddl.org

OpenDDL(Open Data Description Language)은 인간이 읽을 수 있는 간결한 형식으로 임의 데이터를 저장하도록 설계된 일반적인 텍스트 기반 언어다.그것은 많은 프로그램들 사이에서 정보를 쉽게 교환하기 위한 수단이나 단순히 프로그램의 데이터를 편집 가능한 형식으로 저장하는 방법으로 사용될 수 있다.

OpenDDL의 정확한 구문은 오픈 게임 엔진 교환 규격의 부록뿐만 아니라 웹사이트 openddl.org에 설명되어 있다.[1]

구조물들

OpenDDL 파일은 사용자 정의 유형 또는 내장된 원시 데이터 유형으로 구성될 수 있는 일련의 구조로 구성된다.구조물의 신고는 식별자에 이어 선택적 이름, 선택적 속성 목록, 마지막으로 가새로 둘러싸인 구조물의 내용물로 구성된다.원시 데이터는 식별자가 다음 절에서 설명하는 데이터 유형 중 하나인 구조 내에 항상 포함된다.예를 들어, 어떤 사람은Point다음과 같이 3차원 점의 부동 소수점 좌표를 고정하는 구조

지점 { float {1.0, 2.0, 3.0} }

구조는 파일의 다른 부분에서 참조될 수 있는 이름을 가질 수 있다.이름은 전역(파일 전체에서 고유) 또는 로컬(포함 구조 내에서 고유)일 수 있다.글로벌 이름은 달러 기호 다음에 식별자로 구성되며, 지역 이름은 백분율 기호 다음에 달러 기호로 구성된다.Point위의 구조는 다음과 같이 글로벌 이름 "위치"를 부여할 수 있다.

포인트 $position {float {1.0, 2.0, 3.0} }

그러면 다른 구조는 다음을 사용하여 이 점에 대한 참조를 포함할 수 있다.ref데이터 유형:

ref {$position}을(를) 참조하다.

데이터 유형

OpenDDL은 다음 표에 설명된 15가지 원시 데이터 유형을 정의한다.각 활자는 긴 이름과 짧은 이름을 가지고 있다.또한 부동 소수점 유형은 각각 긴 이름과 짧은 이름을 번갈아 사용한다.

유형 설명
bool,b 값을 가질 수 있는 부울 유형true또는false.
int8,i8 [-27, 27 - 1] 범위의 값을 가질 수 있는 8비트 부호 정수.
int16,i16 [-215, 215 - 1] 범위의 값을 가질 수 있는 16비트 부호 정수.
int32,i32 [-231, 231 - 1] 범위의 값을 가질 수 있는 32비트 부호 정수.
int64,i64 [-263, 263 - 1] 범위의 값을 가질 수 있는 64비트 서명 정수.
uint8,u8 [0, 28 - 1] 범위의 값을 가질 수 있는 8비트 부호 없는 정수.
uint16,u16 [0, 216 - 1] 범위의 값을 가질 수 있는 16비트 부호 없는 정수.
uint32,u32 [0, 232 - 1] 범위의 값을 가질 수 있는 32비트 부호 없는 정수.
uint64,u64 [0, 264 - 1] 범위의 값을 가질 수 있는 64비트 부호 없는 정수.
half,float16,h,f16 표준 S1E5M10 형식을 준수하는 16비트 부동 소수점 유형.
float,float32,f,f32 표준 S1E8M23 형식을 준수하는 32비트 부동 소수점 유형.
double,float64,d,f64 표준 S1E11M52 형식을 준수하는 64비트 부동 소수점 유형.
string,s UTF-8로 인코딩된 내용이 포함된 이중 구문 문자 문자열.
ref,r 일련의 구조물 이름 또는 키워드null.
type,t 이 테이블의 첫 번째 열에 있는 식별자 이름 유형.
base64,z Base64로 인코딩된 일반 이진 데이터.

호환 라이브러리

참조

  1. ^ Lengyel, Eric (2021). Open Game Engine Exchange Specification, Version 3.0. Terathon Software LLC. ISBN 978-0-9858117-8-5.

외부 링크