2 个版本

0.0.1 2024 年 8 月 26 日
0.0.0 2024 年 8 月 16 日

30#miden 中排名

Download history 138/week @ 2024-08-13 98/week @ 2024-08-20

237 每月下载次数
5 个 crate 中使用 (通过 midenc-session)

MIT 许可证

17KB
296

Miden 编译器

[!IMPORTANT] 该项目是一个正在进行中的工作,所以如果您遇到问题跟踪器中未涵盖的虫子或其他问题,我们很可能已经知道它们,但请无论如何报告它们,以确保它们也公开跟踪。

此存储库包含 Miden 编译器,它可以作为现有语言的编译器后端,这些语言希望使用基于标准 SSA 的 IR 来针对 Miden 汇编;或者作为将其他编译器生成的 WebAssembly (Wasm) 编译为 Miden 汇编的手段。

此存储库分为以下高级组件

  • Miden HIR(高级中间表示)及其支持 crate;提供构建和编译程序以生成 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 测试。

打包

待定

依赖项

~10-37MB
~573K SLoC