| Crates.io | gaia-assembler |
| lib.rs | gaia-assembler |
| version | 0.0.0 |
| created_at | 2025-10-16 10:20:14.375817+00 |
| updated_at | 2025-10-16 10:20:14.375817+00 |
| description | Universal assembler that compiles to multiple platforms (IL, JVM, PE, WASI) |
| homepage | |
| repository | https://github.com/oovm/project-gaia |
| max_upload_size | |
| id | 1885720 |
| size | 126,876 |
支持多个目标平台(包括 IL、JVM、PE 和 WASI)的统一汇编器框架。
gaia-assembler
├── instruction.rs # 核心指令集定义
├── backends/ # 各平台后端实现
│ ├── il.rs # .NET IL 后端
│ ├── jvm.rs # JVM 字节码后端
│ ├── pe.rs # PE 可执行文件后端
│ └── wasi.rs # WASI 后端
└── lib.rs # 主要 API
Gaia 汇编器现已完成所有核心功能的开发,支持以下目标平台:
use gaia_assembler::{Assembler, TargetPlatform, AssemblyOptions};
let mut assembler = Assembler::new(TargetPlatform::JVM);
let options = AssemblyOptions {
optimize: true,
debug_info: true,
output_format: OutputFormat::Binary,
};
let result = assembler.assemble("source.gaia", &options)?;
use gaia_assembler::{MultiPlatformAssembler, TargetPlatform};
let mut assembler = MultiPlatformAssembler::new();
assembler.add_target(TargetPlatform::JVM);
assembler.add_target(TargetPlatform::NET_IL);
assembler.add_target(TargetPlatform::PE);
assembler.add_target(TargetPlatform::WASI);
let results = assembler.assemble_all("source.gaia")?;
use gaia_assembler::{Assembler, TargetPlatform, AssemblyOptions};
// 创建汇编器实例
let mut assembler = Assembler::new(TargetPlatform::JVM);
// 配置汇编选项
let options = AssemblyOptions {
optimize: true,
debug_info: true,
output_format: OutputFormat::Binary,
};
// 汇编源代码
let result = assembler.assemble("source.gaia", & options) ?;
use gaia_assembler::{MultiPlatformAssembler, TargetPlatform};
// 创建多平台汇编器
let mut assembler = MultiPlatformAssembler::new();
// 添加多个目标平台
assembler.add_target(TargetPlatform::JVM);
assembler.add_target(TargetPlatform::NET_IL);
assembler.add_target(TargetPlatform::PE);
assembler.add_target(TargetPlatform::WASI);
// 为所有平台汇编
let results = assembler.assemble_all("source.gaia") ?;
gaia-types - 共享类型定义il-assembler - .NET IL 汇编器jvm-assembler - JVM 字节码汇编器pe-assembler - PE 文件汇编器wasi-assembler - WASI 汇编器提供不同目标平台汇编功能的主要汇编器接口。
Assembler - 单平台主汇编器类型MultiPlatformAssembler - 同时支持多平台的汇编器TargetPlatform - 支持的目标平台枚举(IL、JVM、PE、WASI)AssemblyOptions - 汇编过程配置new(platform: TargetPlatform) - 为特定平台创建新汇编器assemble(source: &str, options: &AssemblyOptions) - 汇编源代码add_target(platform: TargetPlatform) - 向多平台汇编器添加目标平台assemble_all(source: &str) - 为所有配置的平台汇编本项目采用 MPL-2.0 许可证授权 - 详见 LICENSE 文件。
欢迎提交贡献!请随时提交拉取请求。