4个版本 (破坏性)

新版本 0.3.0 2024年8月23日
0.2.0 2024年8月21日
0.1.0 2024年7月8日
0.0.0-release2024年7月8日

#47 in 神奇豆子

Download history 216/week @ 2024-07-05 29/week @ 2024-07-12 125/week @ 2024-08-16

每月125次 下载
pint-cli 中使用

Apache-2.0

1MB
23K SLoC

Pint编程语言

build

Pint是一种用于意图表达的基于约束的领域特定语言(DSL)。有关Pint语言的介绍,请参阅Pint之书

依赖项

Rust

Pint是用Rust构建的。要开始,请按照https://www.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

测试

运行单元测试

可以使用cargo testpint目录中运行单元测试。但是,建议使用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包管理器的库实现。

依赖项

~11–21MB
~264K SLoC