1 个不稳定版本
0.0.1 | 2019年2月25日 |
---|
58 在 #格式
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