3 个版本 (破坏性更新)
新 0.2.0 | 2024 年 8 月 21 日 |
---|---|
0.1.0 | 2024 年 7 月 8 日 |
0.0.0-release | 2024 年 7 月 8 日 |
#32 在 神奇豆子
143 每月下载量
31KB
602 行
Pint 编程语言
Pint 是一种 声明式 基于约束的领域特定语言 (DSL),用于意图表达。有关 Pint 语言的介绍,请参阅 Pint 书籍。
依赖关系
Rust
Pint是用Rust构建的。要开始,请按照 https://rust-lang.net.cn/tools/install 中的说明安装Rust工具链。然后配置您的Rust工具链以使用Rust 稳定版
rustup default stable
如果尚未完成,请通过在 ~/.profile
中添加以下行并将shell会话重新启动,将Cargo bin目录添加到您的 PATH
。
export PATH="${HOME}/.cargo/bin:${PATH}"
构建
克隆仓库并构建Pint编译器和工具
git clone [email protected]:essential-contributions/pint.git
cd pint
cargo build
确认 pint
已成功构建
cargo run --bin pint -- --help
测试
运行单元测试
单元测试可以使用 pint
目录中的 cargo test
运行。但是,建议使用 cargo-nextest
包来运行测试。要安装 cargo-nextest
cargo install cargo-nextest
使用 cargo-nextest
运行所有单元测试
cargo nextest run
更新单元测试
大多数单元测试都是使用 expect_test
库编写的。以下命令可以用于自动更新所有使用 expect_test::expect!
宏的单元测试,使它们都通过。
env UPDATE_EXPECT=1 cargo nextest run
对于影响许多单元测试的编译器更改,上述命令可以一次更新所有受影响的测试。该命令还有助于编写新测试:只需通过向 expect!
宏传递空字符串参数来编写测试(即 expect![""]
),然后运行上述命令。
lib.rs
:
Pint Essential ABI 的工作中的编码、解码和其他辅助功能。
依赖关系
~3–4.5MB
~81K SLoC