2个版本
新版本 0.0.1 | 2024年8月26日 |
---|---|
0.0.0 | 2024年5月23日 |
7 在 #hir 中排名
74 每月下载量
用于 midenc-codegen-masm
1.5MB
31K SLoC
Miden 编译器
[!IMPORTANT] 该项目仍在开发中,因此如果您在问题跟踪器中没有涵盖的任何错误或其他问题,我们很可能已经知道,但请无论如何报告它们,以确保它们也能公开跟踪。
此存储库包含Miden编译器,既可以作为现有语言的目标Miden汇编的标准SSA-based IR的后端编译器使用;也可以作为将其他编译器生成的WebAssembly (Wasm) 编译成Miden汇编的方法。
此存储库分为以下高级组件
- Miden HIR(高级中间表示)及其支持crates;提供构建和编译程序所需的一切,该程序要生成Miden汇编。
- Wasm前端;一个库,可以用来将编译成
.wasm
的程序转换为HIR - 提供命令行工具的
midenc
可执行文件,该工具提供了一种方便的方法来编译Wasm或HIR模块/程序到Miden汇编并对其进行测试。
[!TIP] 我们已经发布了初始的 文档,格式为mdBook,以便于阅读,也可在
docs
目录中访问。此文档涵盖了如何开始使用编译器,提供了关于当前支持的用例的一些指南,并包含附录,详细介绍了工具链的各种设计方面。
构建
您需要安装Rust(撰写本文时,我们在Rust 1.73上进行开发)。
此外,您还需要安装 cargo-make
$ cargo install cargo-make
从那里,您可以使用以下命令构建用于编译器的所有工具,包括编译器本身:
$ cargo make
仅构建编译器
$ cargo make midenc
测试
要运行编译器测试套件
$ cargo make test
这将运行工作区中的所有单元测试以及我们所有的 lit
测试。
打包
待定
依赖项
~16–45MB
~698K SLoC