2个版本

新版本 0.0.1 2024年8月26日
0.0.0 2024年5月23日

7#hir 中排名

Download history 136/week @ 2024-05-21 1/week @ 2024-06-11 1/week @ 2024-07-02

74 每月下载量
用于 midenc-codegen-masm

MIT 许可证

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