Releases: sdm-lang/tree-sitter-sdml
Releases · sdm-lang/tree-sitter-sdml
Major update to include dimension definitions
Additions
- Add new
dimension
definition type to module body. - Add
as
clause on imports for renaming.
Changes
- Make
source
keyword work across events and dimensions.- New
source
clause is moved from event definition to event body.
- New
- Relax type-class parameter requirements to be optional not required.
Removing member_group from grammar
Full Changelog: v0.2.5...v0.2.7
Grammar tidy: type classes only
Full Changelog: v0.2.3...v0.2.5
Grammar tidy, type classes only
Full Changelog: v0.2.2...v0.2.4
Stabilization
Minor fixes and testing updates.
Minor usage updates only
Full Changelog: v0.2.1...v0.2.2
Add type classes to top-level definition list.
This release is primarily to implement type classes that allow a better description of the standard library for
constraints. Adding this support identified some simplifications in functional terms and sequence builders.
module example is
class Typed(T) is
def has_type(v -> T) → Type is
@skos:definition = "Returns the SDML type of the passed value."@en
@skos:example = "~type_of(rentals:Customer) = sdml:Entity~"
end
end
end
- Feature: add type classes for managing the constraint language library.
- Add: rule
type_class_def
and list it as an alternative indefinition
. - Add: rule
method_def
and include as member oftype_class_def
. - Remove: choice
wildcard
from rulefunction_type_reference
, wildcards are only allowed on type class parameters.
- Add: rule
- Feature: simplify the rule
quantified_sentence
to only have a single quantified variable binding.- Alter: field
binding
inquantified_sentence
to remove the repeat. - Alter: field
body
from_quantified_body
toconstraint_sentence
. - Rename: rule
quantifier_bound_names
toquantified_variable
to denote singular. - Alter: field
source
inquantified_variable
to use existingterm
. - Remove: rules
type_iterator
andsequence_iterator
.
- Alter: field
- Feature: simplify the structure of sequence builder to use
quantified_sentence
as body.- Alter: field
body
in rulesequence_builder
from_variable_binding
tosequence_builder_body
. - Remove: rule
_variable_binding
. - Add: rule
sequence_builder_body
which is simply a reference to rulequantified_sentence
.
- Alter: field
- Feature: add rule
actual_aruments
for use in rulesatomic_sentence
andfunctional_term
. - Refactor: rename boolean constants.
- Rename:
_boolean_true
toboolean_truth
. - Rename:
_boolean_false
toboolean_falsity
.
- Rename:
Full Changelog: v0.2.0...v0.2.1
Significant refactor intended to simplify the grammar
This is a significant refactor intended to simplify the grammar, and reduce the number of constructs used where the
differentiation is not as significant as it looked previously.
- Refactor: simplify model overall, especially members and features.
- Refactor: combine by-value and by-reference member types.
- Remove: rules
member_by_value
androle_by_value
. - Rename: rule
member_by_reference
tomember
androle_by_reference
tomember_role
. - Remove: keyword the
ref
from rulesmember
andmember_role
. - Rename: rule
identity_member
toentity_identity
.
- Remove: rules
- Refactor: combine structured type groups.
- Rename: rule
structure_body
tostructured_body
. - Rename: rule
structure_group
tomember_group
. - Move: common parts of structure and entity bodies into common
_structured_body_inner
rule.
- Rename: rule
- Refactor: move feature from a definition to a member modifier.
- Remove: rule
feature_set_def
, and updatedefinition
accordingly. - Add: optional keyword
features
into the rule_type_expression_to
.
- Remove: rule
- Refactor: combine by-value and by-reference member types.
- Feature: add new keyword
opaque
to datatype definition. - Style: Use
:=
throughout for assignment by definition.- Add: silent rule
_by_definition
. - Alter rules
value_variant
,function_def
, andconstant_def
to use_by_definition
.
- Add: silent rule
- Style: rename rule
_property_member
to_property_reference
.
Full Changelog: v0.1.42...v0.2.0
Simplified `features` definition
- Feature: simplified
features
definition to be or/xor only.- Replace: separate bodies with
UnionBody
. - Add: cardinality now used to determine or/xor.
- Replace: separate bodies with
Full Changelog: v0.1.41...v0.1.42
Add feature sets
- Feature: add support for features from Product Line Engineering.
- Add new definition rule
feature_set_def
to ruledefinition
. - Add and, or, xor bodies to
feature_set_def
. - Add basic documentation to book.
- Add new definition rule
- Feature: updates to builtin simple types.
- Add the new type
unsigned
. - Add the new type
binary
. - Rename type
iri_reference
toiri
.
- Add the new type
Full Changelog: v0.1.40...v0.1.41