1 个不稳定版本

0.0.1 2019年2月25日

58#格式

MIT 许可证

27KB
499

SDLang

一个 SDLang 解析库。

SDLang 是一种简单简洁地以文本形式表示数据的方法。它具有类似于 XML 的结构 - 标签、值和属性 - 使其成为数据序列化、配置文件或声明性语言的灵活选择。其语法灵感来源于 C 系列语言(C/C++, C#, D, Java, ...)。

以下是从官方网站的一个示例

// This is a node with a single string value
title "Hello, World"

// Multiple values are supported, too
bookmarks 12 15 188 1234

// Nodes can have attributes
author "Peter Parker" email="[email protected]" active=true

// Nodes can be arbitrarily nested
contents {
    section "First Section" {
        paragraph "This is the first paragraph"
        paragraph "This is the second paragraph"
    }
}

// Anonymous nodes are supported
"This text is the value of an anonymous node!"

// This makes things like matrix definiotns very convenient
matrix {
    1 0 0
    0 1 0
    0 0 1
}

解析就像这样简单

extern crate sdlang;

// Prints `tag hello_world: "text"`
println!("{}", sdlang::parse_text("hello_world \"text\"").unwrap());

依赖关系

~5MB
~93K SLoC