61 releases
new 0.4.3 | Feb 11, 2025 |
---|---|
0.4.1 | Nov 15, 2024 |
0.3.2 | Jul 2, 2024 |
0.2.16 | Jan 19, 2024 |
0.1.26 | Jul 28, 2023 |
#75 in Text editors
544 downloads per month
Used in 5 crates
(4 directly)
600KB
22K
SLoC
Tree-Sitter grammar for SDML
A tree-sitter grammar for the Simple Domain Modeling Language (SDML). For more information on the language, see the documentation.
Example
module campaign <https://advertising.amazon.com/api-model> is
import [dc rdfs skos]
@skos:prefLabel = "Campaign sub-domain"@en
@skos:version = xsd:decimal(2)
datatype Name <- string {
minLength = 5
maxLength = 25
}
datatype Identifier <- opaque string {
length = 20
} is
@dc:description = "An opaque, general, entity identifier."@en
end
property CampaignId -> Identifier is
@skos:prefLabel = [
"Campaign Identifier"@en
"Identified de campagne"@fr
]
@dc:description = "The globally unique identifier for a Campaign entity"@en
end
structure Tag is
key -> token
value -> {0..} rdfs:langString
end
entity Campaign is
identity ref CampaignId
name -> Name is
@skos:definition = "the name of the campaign"@en
end
tag -> {unordered unique 0..} Tag
target -> {1..} Target
end
entity Target
end
Bindings
The following bindings are built and released along with any version upgrade of the source version. The tree-sitter tool also generates bindings for C, Go, and Swift that are not built and released to any repository.
Node bindings are published to npmjs and can be installed using the npm command directly, or by making it a project dependency.
〉npm install -g tree_sitter_sdml
Python bindings are published to PyPI and can be installed using any
standard tool, such as pip
.
〉pip3 install tree_sitter_sdml
Rust bindings are published to crates.io and can be installed via cargo in the usual manner.
〉cargo install tree_sitter_sdml
License
This package is released under the Apache License, Version 2.0. See LICENSE file for details.
Changes
See CHANGES.md.
Additional Links
Dependencies
~3–4.5MB
~80K SLoC