Package sdml-parse
Rust Parser for the Simple Domain Modeling Language (SDML).
This package is part of the Rust SDML project and specifically implements a parser from SDML surface syntax to the in-memory model representation. The project's intent is to provide an idiomatic implementation of the in-memory model, parser, generators, and the CLI tool.
The following figure demonstrates this package in the broader project context.

Changes
Version 0.4.1
- Update version to be consistent with new core language.
Version 0.3.1
- Feature: additional grammar support for definitions and import renames.
Version 0.3.0
- Feature: updates to support the latest grammar, see
sdml-core.
Version 0.2.13-0.2.14
- Build: update dependency from
sdml_errortosdml-errors. - Build: bump version of
sdml-core.
Version 0.2.12
- Fix: update all test cases with latest API changes.
- Add file ID into all test example "ron" files.
- Add module import Span into all test example "ron" files.
- Use new HeaderValue in relevant test example "ron" files.
- Add use of ModuleStore trait.
Version 0.2.11
- Build: upgrade to
sdml_coreversion0.2.14and the newModelStoretrait.
Version 0.2.10
- Fix: Handle tree-sitter
ERRORnodes correctly when they cause the top-level rule to fail.
Version 0.2.9
- Build: Using
sdml_coreversion0.2.11for updated validation. - Fix: minor changes found by better validation.
Version 0.2.8
- Build: Using
sdml_coreversion0.2.10for new stdlib names.
Version 0.2.7
- Fix: Cardinality parser set incorrect default values.
- Fix: For min/max it should be
oneand notzero_or_oneas the default to match theDEFAULT_CARDINALITYconstant in the model. - Fix: For ordering/uniqueness the default if not parsed should be
NonenotSome(Default::default()). - Update: the
with_constructors onCardinalityto take option types.
- Fix: For min/max it should be
Version 0.2.6
- Build: Removed indirect dependencies from Cargo.toml.
Version 0.2.5
- Test: Update test cases for:
- The new
source_filefield onModule. - The new
ModuleLoaderAPI requiring aModuleCache.
- The new
Version 0.2.4
- Fix: parsing new
rdf_defrules now works correctly.- Updated test cases.
Version 0.2.3
- Feature: add new stdlib modules with standard layout.
- Feature: minor refactor of cache and loader.
Version 0.2.2
- Feature: Update to latest grammar for version URIs and RDF definitions.
- Add support for base URI on modules.
- Add support for version info and URI on modules.
- Add support for version URI on module import.
- Parse RDF definitions for classes and properties.
Version 0.2.1
- Feature: Remove member groups.
Version 0.2.0
- Feature: Update to latest grammar.
- Remove Value Variant numeric values.
- Update formal constraints.
- Add type classes.
Version 0.1.9
- Added support for
mapping_typeandmapping_valuerules.
Version 0.1.8
- Removed macros from the resolver model.
Version 0.1.7
- Updated parser with grammar changes in
tree-sitter-sdmlversion0.1.29. - Added all the test cases from core.
Version 0.1.6
- Updated parser with grammar changes in
tree-sitter-sdmlversion0.1.26.
Version 0.1.5
- Created a
stdlibmodule and moved all the SDML and relevant RDF files into it. - Updated
tree-sitter-sdmlto version0.1.21with updated constraints.
Version 0.1.4
Previously part of a single crate sdml.