2 个版本

0.1.2 2024年2月11日
0.1.1 2024年2月11日
0.1.0 2024年2月11日

#1242解析器实现

MIT 许可协议

9KB
118

rusty-pkl

rusty-pkl 是一个用于解析 Pkl 配置文件的 Rust 库。Pkl 是一种简单的配置语言,支持分层结构和多种数据类型。

功能

  • 将 Pkl 文件解析为 Rust 中的结构化数据表示。
  • 支持基本的 Pkl 语法,包括键值对、嵌套对象和常见的字符串、整数、浮点数和布尔值等数据类型。

用法

  1. 将此存储库克隆到您的本地计算机

  2. 导航到项目目录

  3. 使用所需的 Pkl 文件运行解析器

    cargo run --example test.rs
    

示例

假设您有一个名为 example.pkl 的 Pkl 文件,内容如下

name = "Pkl: Configure your Systems in New Ways"
attendants = 100
isInteractive = true
amountLearned = 13.37

bird {
  name = "Common wood pigeon"
  diet = "Seeds"
  taxonomy {
    species = "Columba palumbus"
  }
}

使用此文件运行解析器将生成表示解析 Pkl 值的结构化输出。

高级用法

您还可以通过库中提供的函数以编程方式访问特定参数,并将它们分配给变量。例如,要访问 name 参数

use pkl_rs::*;

fn main() {
    match parse_pkl("examples\\config.pkl") {
        Ok(pkl_value) => {
            println!("Parsed Pkl value: {:?}", pkl_value);
            // You can further process the parsed Pkl value as needed
            if let Some(value) = find_parameter(&pkl_value, "name") {
                println!("Found name parameter: {:?}", value);
            } else {
                println!("Parameter 'name' not found.");
            }
        }
        Err(err) => {
            eprintln!("Error parsing Pkl file: {}", err);
        }
    }
}

贡献

贡献绝对受到欢迎和鼓励!贡献可以有多种形式。您可以

  1. 提交功能请求或错误报告作为 问题
  2. 作为 问题 请求改进文档。
  3. 对需要反馈的问题进行评论。
  4. 通过 拉取请求 贡献代码。

许可协议

本项目采用 MIT 许可协议 - 有关详细信息,请参阅 LICENSE 文件。

无运行时依赖项