Skip to content

0.2 - Enhance binary models / parsing

No due date 40% complete

달성 목표

  • 레코드 바이너리 정의에 오류가 있더라도 파싱 실패는 해당 레코드로 고립
  • 레코드 바이너리 정의 출력
  • 레코드의 각 필드들의 바이너리 타입, 조건/파라미터/버젼 정보 출력
  • 태그별 variant 출력 (예: ListHeader, ShapeComponent)
  • 이벤트 중심 처리 확대
  • python 2/3, XSD 등 호환성 고려
  • 과공학/exotic 코드 평이하게 전환
  • 산업 표준(XMLSchema 등)에서 사용되는 자료형 활용/대응
  • enum34 등 최근 python 언어 향상 반영
  • BodyText 레코드 스트림을 Top-Level-Tree 별로 쪼개어 처리 (병렬화)

Rationale

  • 확고하게 정의 된 스펙을 기반으로 연역적으로 …

달성 목표

  • 레코드 바이너리 정의에 오류가 있더라도 파싱 실패는 해당 레코드로 고립
  • 레코드 바이너리 정의 출력
  • 레코드의 각 필드들의 바이너리 타입, 조건/파라미터/버젼 정보 출력
  • 태그별 variant 출력 (예: ListHeader, ShapeComponent)
  • 이벤트 중심 처리 확대
  • python 2/3, XSD 등 호환성 고려
  • 과공학/exotic 코드 평이하게 전환
  • 산업 표준(XMLSchema 등)에서 사용되는 자료형 활용/대응
  • enum34 등 최근 python 언어 향상 반영
  • BodyText 레코드 스트림을 Top-Level-Tree 별로 쪼개어 처리 (병렬화)

Rationale

  • 확고하게 정의 된 스펙을 기반으로 연역적으로 구현해가는 일반적인 방식이 아니라, 다소 모호하고 유동적인 스펙을 기반으로 새로이 발견된 정보들을 점차 추가해가며 더욱 구체적인 스펙/구현으로 구성해갈 수 밖에 없음. 또한 구현으로부터 스펙 문서를 생성할 수 있어야 함.
  • 구현과 다른 실물 파일이 발견되었을 때, 1) graceful degradation이 이루어져야 하며, 2) 스펙/구현으로 피드백이 쉽도록 그 차이를 구체적인 형태의 정보로 보고할 수 있어야 함.
Loading