MoonBit-native document structure foundation for source-native parsing, inspect, validation, and custom tooling
Dependencies
| Layer | Lives here? | Description |
|---|---|---|
| ZIP / OOXML / EPUB / PDF / structured-data parsers | yes | Lower-layer parsing and source-native models |
| Inspect / validation / inventory APIs | yes | Machine-readable reports for tooling |
| Format-specific semantic parser layers | yes | DOCX / PPTX / XLSX / HTML / XML / Markdown / CSV / JSON / YAML / text foundations |
| Final IR | no | Still lives in markitdown-mb |
| Markdown emitter | no | Still lives in markitdown-mb |
| CLI | no | Still lives in markitdown-mb |
| Asset export | no | Still lives in markitdown-mb |
| Metadata sidecar | no | Still lives in markitdown-mb |
| Product regression corpus | no | Still lives in markitdown-mb |
| Product-path benchmarks | no | Still live in markitdown-mb |
let pkg = @ooxml.open_ooxml_package(bytes)
let inventory = @ooxml.inspect_ooxml_inventory(pkg)
println("parts=" + inventory.part_count.to_string())
println("relationships=" + inventory.relationship_part_count.to_string())
println("media=" + inventory.media_asset_count.to_string())let pkg = @ooxml.open_ooxml_package(bytes)
let doc = @docx.parse_docx_document_from_package(pkg)
let report = @docx.inspect_docx_document(doc)
println("paragraphs=" + report.paragraph_count.to_string())
println("tables=" + report.table_count.to_string())let pkg = @epub.open_epub_package(bytes, "book.epub")
let rootfile = @epub.get_epub_primary_rootfile(pkg)
let spine = @epub.list_epub_spine_reading_order(pkg)
let nav = @epub.find_epub_nav_item(pkg)
println("rootfile=" + rootfile.full_path)
println("spine_items=" + spine.length().to_string())let summary = @pdf.open_pdf_summary("paper.pdf")
println("pages=" + summary.model.page_count.to_string())
println("issues=" + summary.inspect.issues.length().to_string())let doc = @json.parse_json_document(bytes)
let report = @json.inspect_json_document(doc)
println("nodes=" + report.node_count.to_string())moon fmt
moon info
moon check
moon testmoon test doc_parse/ooxml/tests --target native
moon test doc_parse/epub/test --target native
moon test doc_parse/pdf/api/test --target nativecd ../markitdown
./samples/bench.sh --suite doc-parse --kind library --iterations 10 --warmup 2| Case | Operation | Latest local time |
|---|---|---|
| yaml_large | parse | 6.246 ms |
| docx_link_heavy | parse | 5.501 ms |
| json_large | parse | 2.724 ms |
| xlsx_formula_heavy_missing_cache | parse | 2.694 ms |
| markdown_large | scan | 2.389 ms |
| csv_large | parse | 2.359 ms |
| txt_large | parse | 1.833 ms |
| pptx_layout_heavy | parse | 0.801 ms |
MoonBit-native document structure foundation for source-native parsing, inspect, validation, and custom tooling
Dependencies