3个版本
新 0.0.2 | 2024年8月26日 |
---|---|
0.0.1 | 2024年8月1日 |
0.0.0 | 2024年5月23日 |
#1 在 #midenc
每月 127 次下载
32KB
700 行
Miden 编译器
[!IMPORTANT] 此项目处于开发中,因此如果您遇到问题跟踪器中没有涵盖的bug或其他问题,我们可能已经知道,但请无论如何报告它们,以便我们可以确保它们也公开跟踪。
此存储库包含Miden编译器,它可以作为现有语言的目标Miden汇编的编译后端,或者作为将另一个编译器生成的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
测试。
打包
TBD
依赖关系
~0.4–0.9MB
~20K SLoC