$ luarocks install dms-cDMS (Data Meta Syntax) is a strict, indent-based data syntax with
NFC-normalized strings, multi-line heredocs, polymorphic root, front
matter, and comment-AST preservation across decode / modify / re-encode.
This rock is a thin Lua C module that wraps the dms-c reference parser.
Same data shape as the pure Lua port (`dms`), but decoding runs entirely
in C — comparable to lua-cjson for JSON.
Public API (SPEC v0.14):
dms_c.decode(src) -> body table tree
dms_c.decode_document(src) -> { meta, body, comments, original_forms }
dms_c.decode_lite(src) -> body (lite mode)
dms_c.decode_lite_document(src) -> { meta, body, ... }
dms_c.decode_front_matter(src) -> meta table (or nil) — Path B prescan,
O(FM-size) regardless of body size.
Native Path A available as
`dms_c.decode_front_matter_native`.
Legacy names `parse`, `parse_document`, `parse_lite`, `parse_lite_document`
are kept as deprecated thin aliases for one release (each warns once
on stderr the first time it's called).
The pure Lua port lives in the `dms` rock and is the round-trip emitter
source-of-truth; this rock is decode-only and intended for hot paths.