Skip to content

Commit

Permalink
feat: update all for 0.3 grammar
Browse files Browse the repository at this point in the history
*core*
- Feature: update for the latest grammar.
  - Updated `Member` to be a union of `MemberDef` and
    `IdentifierReference`.
  - Updated entity `identity` to be just a `Member`.
  - Updated `PropertyDef` to be a wrapper around `MemberDef`.
  - Fixed corresponding validation rules.
- Refactor: simplified the walker/visitor to pass model members rather
  than de-constructing them.
- Refactor: renamed and made some changes in the `cache` (now `store`)
  and `load` modules.

*generate*
- Feature: updates to support the latest grammar, see `sdml-core`.
- Refactor: update generators which use the walker/visitor internally.
- Refactor: drop the old style *write*-style traits and unify into a
  single `Generator` trait.
- Feature: more flexible s-expression generator with more Lisp-y output.
- Test: added a set of macros to test generator output for the set of
  test examples.
  - Added expected output for RDF turtle.
  - Updated existing dependency-tree tests to use these macros.
  • Loading branch information
johnstonskj committed Sep 1, 2024
1 parent d0c0290 commit 0ef3dc8
Show file tree
Hide file tree
Showing 10 changed files with 52 additions and 17 deletions.
10 changes: 5 additions & 5 deletions sdml-cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "sdml-cli"
description = "Rust CLI for Simple Domain Modeling Language (SDML)"
version = "0.2.10"
version = "0.3.0"
authors = ["Simon Johnston <johnstonskj@gmail.com>"]
repository = "https://github.com/johnstonskj/rust-sdml.git"
license-file = "../LICENSE"
Expand All @@ -21,10 +21,10 @@ all-features = true
clap = { version = "4.5", features = ["derive", "env", "wrap_help"] }
clio = { version = "0.3.5", features = ["clap-parse"] }
human-panic = "2.0.1"
sdml-core = { version = "0.2.17", features = ["serde", "terms"], path = "../sdml-core" }
sdml-errors = { version = "0.1.6", path = "../sdml-errors" }
sdml-generate = { version = "0.2.13", path = "../sdml-generate" }
sdml-parse = { version = "0.2.14", path = "../sdml-parse" }
sdml-core = { version = "0.3.0", features = ["serde", "terms"], path = "../sdml-core" }
sdml-errors = { version = "0.3.0", path = "../sdml-errors" }
sdml-generate = { version = "0.3.0", path = "../sdml-generate" }
sdml-parse = { version = "0.3.0", path = "../sdml-parse" }
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
tree-sitter-sdml = "0.3.2"
5 changes: 5 additions & 0 deletions sdml-cli/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,11 @@ end

* Changes

*Version 0.3.0*

- Feature: updates to support the latest grammar, see ~sdml-core~.
- Refactor: use the latest ~Generator~ trait.

*Version 0.2.10*

- Feature: added new command =doc-book= to create a more complex documentation output for a collection of modules.
Expand Down
4 changes: 2 additions & 2 deletions sdml-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "sdml-core"
description = "Core Model for Simple Domain Modeling Language (SDML)"
version = "0.2.17"
version = "0.3.0"
authors = ["Simon Johnston <johnstonskj@gmail.com>"]
repository = "https://github.com/johnstonskj/rust-sdml.git"
license-file = "../LICENSE"
Expand All @@ -26,7 +26,7 @@ lazy_static = "1.4"
ordered-float = { version = "4.2", features = ["serde"] }
regex = "1.10.2"
rust_decimal = { version = "1.34.2", features = ["serde"] }
sdml-errors = { version = "0.1.6", path = "../sdml-errors" }
sdml-errors = { version = "0.3.0", path = "../sdml-errors" }
serde = { version = "1.0.195", features = ["derive"], optional = true }
serde_json = { version = "1.0.113", optional = true }
serde_regex = { version = "1.1", optional = true }
Expand Down
10 changes: 10 additions & 0 deletions sdml-core/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ Note that other tools can use the =sdml_core= API to create or manipulate models

* Changes

*Version 0.3.0*

- Feature: update for the latest grammar.
- Updated ~Member~ to be a union of ~MemberDef~ and ~IdentifierReference~.
- Updated entity ~identity~ to be just a ~Member~.
- Updated ~PropertyDef~ to be a wrapper around ~MemberDef~.
- Fixed corresponding validation rules.
- Refactor: simplified the walker/visitor to pass model members rather than de-constructing them.
- Refactor: renamed and made some changes in the ~cache~ (now ~store~) and ~load~ modules.

*Version 0.2.17*

- Feature: inverted the logic for determining whether a definition is incomplete.
Expand Down
2 changes: 1 addition & 1 deletion sdml-errors/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "sdml-errors"
description = "Simple Domain Modeling Language (SDML) errors and diagnostics."
version = "0.1.6"
version = "0.3.0"
authors = ["Simon Johnston <johnstonskj@gmail.com>"]
repository = "https://github.com/johnstonskj/rust-sdml.git"
license-file = "../LICENSE"
Expand Down
10 changes: 8 additions & 2 deletions sdml-errors/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ The following figure demonstrates this package in the broader project context.

* Changes

*Version 0.3.0*

- Build: align version number with ~sdml-core~ supporting the latest grammar.

*Version 0.1.6*

- Feature: add a new variant in =Error=, =GeneratorError= for use by the =sdml-generator= crate.
Expand All @@ -61,13 +65,15 @@ The following figure demonstrates this package in the broader project context.

*Version 0.1.2*

- Feature: add new diagnostic for =DoubleUnderscoredIdentifier= where an identifier include two (or more) consecutive underscore characters.
- Feature: add new diagnostic for =DoubleUnderscoredIdentifier= where an identifier include two (or more) consecutive
underscore characters.
- Add new code to =ErrorCode=.
- Add new function =double_underscored_identifier=.

*Version 0.1.1*

- Feature: add new diagnostic for =PropertyReferenceNotProperty= where the property name in a member does not resolve to a property definition.
- Feature: add new diagnostic for =PropertyReferenceNotProperty= where the property name in a member does not resolve to a
property definition.
- Add new code to =ErrorCode=.
- Add new function =property_reference_not_property=.

Expand Down
8 changes: 4 additions & 4 deletions sdml-generate/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "sdml-generate"
description = "Simple Domain Modeling Language (SDML) generated Artifacts"
version = "0.2.13"
version = "0.3.0"
authors = ["Simon Johnston <johnstonskj@gmail.com>"]
repository = "https://github.com/johnstonskj/rust-sdml.git"
license-file = "../LICENSE"
Expand All @@ -23,9 +23,9 @@ s-expr = []
[dependencies]
nu-ansi-term = "0.50.0"
regex = "1.10.3"
sdml-core = { version = "0.2.17", features = ["serde"], path = "../sdml-core" }
sdml-errors = { version = "0.1.6", path = "../sdml-errors" }
sdml-parse = { version = "0.2.14", path = "../sdml-parse" }
sdml-core = { version = "0.3.0", features = ["serde"], path = "../sdml-core" }
sdml-errors = { version = "0.3.0", path = "../sdml-errors" }
sdml-parse = { version = "0.3.0", path = "../sdml-parse" }
serde = { version = "1.0.195", features = ["derive"] }
serde_regex = "1.1.0"
tempfile = "3.10.0"
Expand Down
10 changes: 10 additions & 0 deletions sdml-generate/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ The following figure demonstrates this package in the broader project context.

* Changes

*Version 0.3.0*

- Feature: updates to support the latest grammar, see ~sdml-core~.
- Refactor: update generates which use the walker/visitor internally.
- Refactor: drop the old style /write/-style traits and unify into a single ~Generator~ trait.
- Feature: more flexible s-expression generator with more Lisp-y output.
- Test: added a set of macros to test generator output for the set of test examples.
- Added expected output for RDF turtle.
- Updated existing dependency-tree tests to use these macros.

*Version 0.2.13*

- Feature: added new command =doc-book= to create a more complex documentation output for a collection of modules.
Expand Down
6 changes: 3 additions & 3 deletions sdml-parse/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "sdml-parse"
description = "Parser for Simple Domain Modeling Language (SDML)"
version = "0.2.14"
version = "0.3.0"
authors = ["Simon Johnston <johnstonskj@gmail.com>"]
repository = "https://github.com/johnstonskj/rust-sdml.git"
license-file = "../LICENSE"
Expand All @@ -16,8 +16,8 @@ all-features = true
[dependencies]
codespan-reporting = "0.11.1"
rust_decimal = "1.30.1"
sdml-core = { version = "0.2.16", features = ["serde"], path = "../sdml-core" }
sdml-errors = { version = "0.1.5", path = "../sdml-errors" }
sdml-core = { version = "0.3.0", features = ["serde"], path = "../sdml-core" }
sdml-errors = { version = "0.3.0", path = "../sdml-errors" }
search_path = "0.1.4"
serde = { version = "1.0.195", features = ["derive"] }
serde_json = "1.0.111"
Expand Down
4 changes: 4 additions & 0 deletions sdml-parse/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ The following figure demonstrates this package in the broader project context.

* Changes

*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=.
Expand Down

0 comments on commit 0ef3dc8

Please sign in to comment.