2 个版本
0.0.1 | 2024 年 7 月 22 日 |
---|---|
0.0.0 | 2024 年 5 月 23 日 |
#9 in #hir
128 每月下载量
用于 midenc-session
14KB
305 代码行
Miden 编译器
[!IMPORTANT] 此项目仍在开发中,因此如果您遇到问题跟踪器中未涵盖的错误或其他问题,我们很可能已经知道,但请无论如何报告它们,以确保它们公开跟踪。
此存储库包含 Miden 编译器,可用于现有语言的目标 Miden 汇编的编译后端;或作为将其他编译器产生的 WebAssembly (Wasm) 编译到 Miden 汇编的手段。
此存储库分为以下几个高级组件
- Miden HIR(高级中间表示)及其支持包;提供构建和编译要生成 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
测试。
打包
待定
无运行时依赖
~160KB