19个版本
0.2.14 | 2024年6月28日 |
---|---|
0.2.13 | 2024年6月28日 |
0.2.12 | 2024年2月21日 |
0.2.7 | 2024年1月31日 |
0.1.6 | 2023年7月28日 |
#4 in #sdml
用于 2 crates
760KB
16K SLoC
#+TITLE: 包 sdml-parse #+AUTHOR: Simon Johnston #+EMAIL: [email protected] #+LANGUAGE: en #+STARTUP: overview hidestars inlineimages entitiespretty #+OPTIONS: author:nil created:nil creator:nil date:nil email:nil num:3 toc:nil
Rust 对简单域建模语言(SDML)的解析器。
[https://crates.io/crates/sdml_parse] [https://docs.rs/sdml_parse]
本包是 Rust SDML 项目的一部分,具体实现了从 SDML 表面语法到内存中模型表示的解析器。项目的目的是提供一个内存模型、解析器、生成器和 CLI 工具的惯用实现。
以下图展示了该包在更广泛的项目背景中的位置。
#+CAPTION: 包组织 #+BEGIN_EXAMPLE ╭───────╮ │ CLI │ ╔══ │ crate │ ══╗ ║ ╰───────╯ ║ ┌╌╌╌╌╌╌╌╌┐ V V ┆ ┆ ╭───────╮ ╭──────────╮ 格式化源代码 ┆ 源代码 ┆ ══> │ parse │ ══> │ generate │ ══> RDF 表示 ┆ 文件 ┆ ╭───│ crate │───────│ crate │───╮ 文档 ┆ ┆ │ ╰───────╯ ╰──────────╯ │ 图表 └╌╌╌╌╌╌╌╌┘ │ 核心crate │ ╰──────────────────────────────────╯ ┌───────┐ ⋀ │ 其他 │ ║ │ 工具 │ ════════════════╝ └───────┘ #+END_EXAMPLE
- 变更
版本 0.2.13-0.2.14
- 构建:将依赖项从 =sdml_error= 更新到 =sdml-errors=。
- 构建:提升 =sdml-core= 的版本。
版本 0.2.12
- 修复:更新所有测试用例以反映最新的 API 更改。
- 将文件 ID 添加到所有测试示例 "ron" 文件中。
- 将模块导入 Span 添加到所有测试示例 "ron" 文件中。
- 在相关的测试示例 "ron" 文件中使用新的 HeaderValue。
- 添加 ModuleStore 特质的用法。
版本 0.2.11
- 构建:升级到 =sdml_core= 版本 =0.2.14= 和新的 =ModelStore= 特质。
版本 0.2.10
- 修复:在顶级规则失败时,正确处理 tree-sitter =ERROR= 节点。
版本 0.2.9
- 构建:使用 =sdml_core= 版本 =0.2.11= 进行更新的验证。
- 修复:通过更好的验证发现的微小更改。
版本 0.2.8
- 构建:使用 =sdml_core= 版本 =0.2.10= 用于新的 stdlib 名称。
版本 0.2.7
- 修复:基数解析器设置不正确的默认值。
- 修复:对于 min/max,默认值应该是 =one=,而不是 =zero_or_one=,以匹配模型中的 =DEFAULT_CARDINALITY= 常量。
- 修复:对于排序/唯一性,如果未解析,则默认值应该是 =None=,而不是 =Some(Default::default())=。
- 更新:在 =Cardinality= 上的 =with_= 构造函数现在接受选项类型。
版本 0.2.6
- 构建:从 Cargo.toml 中移除了间接依赖项。
版本 0.2.5
- 测试:更新测试用例以支持
- Module 中的新 =source_file= 字段。
- 需要 =ModuleCache= 的新 =ModuleLoader= API。
版本 0.2.4
- 修复:解析新的 =rdf_def= 规则现在正确工作。
- 更新测试用例。
版本 0.2.3
- 特性:添加具有标准布局的新 stdlib 模块。
- 特性:对缓存和加载器进行微小重构。
版本 0.2.2
- 特性:更新到最新的版本 URI 和 RDF 定义语法。
- 支持模块上的基本 URI。
- 支持模块上的版本信息和 URI。
- 支持模块导入上的版本 URI。
- 解析类和属性的 RDF 定义。
版本 0.2.1
- 特性:删除成员组。
版本 0.2.0
- 特性:更新到最新的语法。
- 移除值变体的数值。
- 更新正式约束。
- 添加类型类。
版本 0.1.9
- 添加了对 =mapping_type= 和 =mapping_value= 规则的支持。
版本 0.1.8
- 从解析器模型中移除宏。
版本 0.1.7
- 更新了解析器,以包含 =tree-sitter-sdml= 版本 =0.1.29= 中的语法更改。
- 添加了核心中的所有测试用例。
版本 0.1.6
- 更新了解析器,以包含 =tree-sitter-sdml= 版本 =0.1.26= 中的语法更改。
版本 0.1.5
- 创建了一个 =stdlib= 模块,并将所有 SDML 和相关 RDF 文件移入其中。
- 将 =tree-sitter-sdml= 更新到版本 =0.1.21=,并更新了约束。
版本 0.1.4
之前是单个 crate 的一部分 [[https://crates.io/crates/sdml][sdml]]。
依赖项
~13–23MB
~342K SLoC