13 次重大发布

使用旧的 Rust 2015

0.14.0 2024 年 7 月 20 日
0.12.0 2023 年 6 月 11 日
0.10.0 2023 年 2 月 19 日
0.9.0 2022 年 12 月 6 日
0.2.0 2018 年 9 月 10 日

#631解析器实现

Download history 4601/week @ 2024-05-03 4629/week @ 2024-05-10 4002/week @ 2024-05-17 4069/week @ 2024-05-24 4180/week @ 2024-05-31 3794/week @ 2024-06-07 4630/week @ 2024-06-14 3818/week @ 2024-06-21 3695/week @ 2024-06-28 3639/week @ 2024-07-05 3772/week @ 2024-07-12 5468/week @ 2024-07-19 5073/week @ 2024-07-26 3875/week @ 2024-08-02 4623/week @ 2024-08-09 4142/week @ 2024-08-16

18,617 每月下载量
61 个 crate 中使用(通过 vulkano

Apache-2.0/MIT

175KB
4.5K SLoC

vk-parse

LICENSE LICENSE Documentation Crates.io Version Build Status

vk-parse 是一个 Rust crate,用于解析 Vulkan API 注册 XML 并将其转换为 Rust 表示。

此 crate 提供了一个库,用于解析 Vulkan 注册 XML,并提供其自己的无损失表示或将其转换为 vkxml 的结构。

使用方法

要开始,你需要 vk.xml 文件,该文件用于生成 Vulkan 头文件,存储在 Vulkan-Docs 仓库中。

之后,在你的 Rust 项目中

Cargo.toml

[dependencies]
vk-parse = "0.14"

main.rs

extern crate vk_parse;
use std::path::Path;

fn main() {
    let (registry, _errors) = vk_parse::parse_file(Path::new("vk.xml")).unwrap();
    println!("{:?}", registry);
}

vkxml 转换为结构是可选的,必须使用功能启用。

Cargo.toml

[dependencies]
vk-parse = { version = "0.14", features = ["vkxml-convert"] }
vkxml = "0.3"

main.rs

extern crate vk_parse;
extern crate vkxml;
use std::path::Path;

fn main() {
    // You can either parse normal structures and convert them into vkxml format ...
    let (registry_ir, _errors) = vk_parse::parse_file(Path::new("vk.xml")).unwrap();
    println!("{:?}", registry_ir);
    let registry_vkxml: vkxml::Registry = registry_ir.into();
    println!("{:?}", registry_vkxml);

    // ... or do both in single call.
    let registry_vkxml = vk_parse::parse_file_as_vkxml(Path::new("vk.xml")).unwrap();
    println!("{:?}", registry_vkxml);
}

许可证

此软件双重许可 Apache-2.0/MIT,与 Rust 本身相同。

依赖项

~245–430KB