2 个版本

0.0.1 2024 年 7 月 22 日
0.0.0 2024 年 5 月 23 日

#8 in #hir

Download history 138/week @ 2024-05-19 2/week @ 2024-05-26 1/week @ 2024-06-09 2/week @ 2024-06-30 116/week @ 2024-07-21 44/week @ 2024-07-28

160 每月下载量

MIT 许可证

71KB
1.5K SLoC

Miden 编译器

[!IMPORTANT] 此项目正在开发中,因此如果您遇到问题跟踪器中未涵盖的故障或其他问题,我们很可能已经知道,但请无论如何报告它们,以便我们可以确保它们也公开跟踪。

此仓库包含 Miden 编译器,可用于将现有语言作为标准 SSA 基础的 IR 的编译后端;或作为将其他编译器生成的 WebAssembly (Wasm) 编译到 Miden Assembly 的手段。

此仓库分为以下高级组件

  • Miden HIR(高级中间表示)及其支持包;提供构建和编译您想要生成 Miden Assembly 的程序的 IR 所需的一切。
  • Wasm 前端;一个库,可用于将编译为 .wasm 的程序转换为 HIR
  • 可执行的 midenc,它提供了一个命令行工具,提供了一种方便地将 Wasm 或 HIR 模块/程序编译到 Miden Assembly 并测试它们的方式。

[!TIP] 我们已以 mdBook 格式发布了初始 文档,便于阅读,也位于 docs 目录中。此文档涵盖了如何开始使用编译器,提供了一些当前支持用例的指南,并包含附录,详细介绍了工具链的各个方面。

构建

您需要安装 Rust(截至撰写时,我们在 Rust 1.73 上进行开发)。

此外,您还需要安装 cargo-make

$ cargo install cargo-make

从那里,您可以使用以下命令构建编译器使用的所有工具,包括编译器本身:

$ cargo make

仅构建编译器

$ cargo make midenc

测试

要运行编译器测试套件

$ cargo make test

这将运行工作空间中的所有单元测试,以及我们所有的 lit 测试。

打包

待定

依赖项

~74KB