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 日

神奇豆子

Download history 218/week @ 2024-07-05 26/week @ 2024-07-12 1/week @ 2024-07-19 150/week @ 2024-08-16

每月下载量 150
用于 2 个包 (通过 pint-pkg)

Apache-2.0

1MB
23K SLoC

Pint 编程语言

build

Pint 是一种用于意图表达的限制性领域特定语言 (DSL),它是声明式的。有关 Pint 语言的介绍,请参阅 Pint 书籍

依赖

Rust

Pint 是用 Rust 构建的。要开始,请根据 https://rust-lang.net.cn/tools/install 中的说明安装 Rust 工具链。然后配置您的 Rust 工具链以使用 Rust stable

rustup default stable

如果尚未完成,请通过向 ~/.profile 中添加以下行并将 shell 会话重新启动,将 Cargo 二进制目录添加到您的 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 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![""]),然后运行上述命令。

依赖

~11–21MB
~257K SLoC