dms-cr

dms-cr

Crystal parser for DMS, a data syntax with strong typing, ordered maps, multi-line heredocs, and front-matter metadata.

Status: scaffold. This repo currently contains the project skeleton; the parser body raises a runtime error. Track progress against the SPEC and the conformance corpus.

Requirements

  • Crystal 1.10 or newer

Install

In your shard.yml:

dependencies:
  dms:
    gitlab: flo-labs/pub/dms-cr

Then:

shards install

Usage

require "dms"

src = File.read("config.dms")
doc = Dms.parse(src)

Build & test

shards build           # produces bin/dms-encoder
crystal spec           # runs the spec suite, once it exists

Conformance

The fixture corpus lives in dms-tests (4500+ pairs). Clone it once as a sibling:

cd ..
git clone https://gitlab.com/flo-labs/pub/dms-tests.git

The dms-encoder binary reads DMS from stdin and writes tagged JSON to stdout, matching the format the conformance runner consumes.

License

Dual-licensed: MIT or Apache-2.0, your choice.

Repository

dms-cr

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 0
  • about 4 hours ago
  • April 27, 2026
License

Apache License 2.0

Links
Synced at

Mon, 27 Apr 2026 06:19:21 GMT

Languages