21 releases

0.3.1 Nov 15, 2024
0.3.0 Sep 1, 2024
0.2.14 Jun 28, 2024
0.2.12 Feb 21, 2024
0.1.6 Jul 28, 2023

#228 in Development tools

Download history 1/week @ 2024-08-02 4/week @ 2024-08-23 201/week @ 2024-08-30 15/week @ 2024-09-06 39/week @ 2024-09-13 9/week @ 2024-09-20 65/week @ 2024-09-27 17/week @ 2024-10-04 41/week @ 2024-10-11 2/week @ 2024-10-18 103/week @ 2024-11-15

103 downloads per month
Used in 3 crates

Custom license

1MB
21K SLoC

Package sdml-parse

Rust Parser for the Simple Domain Modeling Language (SDML).

Crates.io Docs.rs

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.

Package Overview

Changes

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_error to sdml-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_core version 0.2.14 and the new ModelStore trait.

Version 0.2.10

  • Fix: Handle tree-sitter ERROR nodes correctly when they cause the top-level rule to fail.

Version 0.2.9

  • Build: Using sdml_core version 0.2.11 for updated validation.
  • Fix: minor changes found by better validation.

Version 0.2.8

  • Build: Using sdml_core version 0.2.10 for new stdlib names.

Version 0.2.7

  • Fix: Cardinality parser set incorrect default values.
    • Fix: For min/max it should be one and not zero_or_one as the default to match the DEFAULT_CARDINALITY constant in the model.
    • Fix: For ordering/uniqueness the default if not parsed should be None not Some(Default::default()).
    • Update: the with_ constructors on Cardinality to take option types.

Version 0.2.6

  • Build: Removed indirect dependencies from Cargo.toml.

Version 0.2.5

  • Test: Update test cases for:
    • The new source_file field on Module.
    • The new ModuleLoader API requiring a ModuleCache.

Version 0.2.4

  • Fix: parsing new rdf_def rules 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_type and mapping_value rules.

Version 0.1.8

  • Removed macros from the resolver model.

Version 0.1.7

  • Updated parser with grammar changes in tree-sitter-sdml version 0.1.29.
  • Added all the test cases from core.

Version 0.1.6

  • Updated parser with grammar changes in tree-sitter-sdml version 0.1.26.

Version 0.1.5

  • Created a stdlib module and moved all the SDML and relevant RDF files into it.
  • Updated tree-sitter-sdml to version 0.1.21 with updated constraints.

Version 0.1.4

Previously part of a single crate sdml.

Dependencies

~16–26MB
~368K SLoC