Skip to main content

Crate jvm_assembler

Crate jvm_assembler 

Source
Expand description

§JVM 汇编器库

jvm-assembler 是一个用于处理 Java 虚拟机 (JVM) 字节码和 JASM (Java ASseMbler) 汇编语言的 Rust 库。它提供了一套工具,用于解析、生成和操作 JVM Class 文件以及 JASM 汇编代码。

§主要功能

  • JASM 汇编器: 将 JASM 汇编代码转换为 JVM 字节码。
  • Class 文件解析器: 读取和解析 JVM Class 文件,将其转换为结构化的程序表示。
  • Class 文件写入器: 将程序表示序列化为 JVM Class 文件。
  • 辅助工具: 提供字节操作、字符串处理、数值转换等实用工具。

§模块结构

  • formats: 包含各种文件格式(如 Class 文件和 JASM)的解析器和写入器。
    • class: 处理 JVM Class 文件的读取、写入和视图。
    • jasm: 处理 JASM 汇编语言的词法分析、解析和写入。
  • helpers: 提供通用的辅助函数和工具。
  • program: 定义 JVM 程序的抽象表示,用于在不同格式之间进行转换。

§使用示例

§将 JASM 汇编为 Class 文件

§读取 Class 文件

§错误处理

库中的所有操作都通过 gaia_types::Resultgaia_types::GaiaError 进行错误处理,提供详细的错误信息和上下文。

§贡献

欢迎贡献!请参阅项目的 CONTRIBUTING.md 文件获取更多信息。

Re-exports§

pub use crate::program::opcodes;
pub use crate::program::JvmConstantPoolEntry;
pub use crate::program::JvmField;
pub use crate::program::JvmInstruction;
pub use crate::program::JvmMethod;

Modules§

analyzer
builder
formats
格式模块
helpers
optimizer
program
程序主模块

Structs§

GaiaError
Gaia 错误类型,包装了具体的错误类 GaiaErrorKind

Type Aliases§

Result
本crate的结果类型,使用GaiaError作为错误类型