#parser #extensible #notation #data #symbol

edn

EDN (可扩展数据表示) 解析器

4 个版本 (2 个破坏性更新)

使用旧的 Rust 2015

0.3.0 2017年6月24日
0.2.0 2017年3月6日
0.1.1 2015年9月23日
0.1.0 2015年9月20日

#62 in #symbol

每月下载 24

MIT 许可证

15KB
309

edn.rs

EDN (可扩展数据表示) 解析器。

示例

extern crate edn;

use edn::parser::Parser;

fn main() {
    let str = "(defn sum [xs]
                 (reduce + 0 xs))
               (println (sum [1 2 3 4 5]))";

    let mut parser = Parser::new(str);
    println!("{:?}", parser.read());
    println!("{:?}", parser.read());
}

打印

Some(Ok(List([Symbol("defn"), Symbol("sum"), Vector([Symbol("xs")]), List([Symbol("reduce"), Symbol("+"), Integer(0), Symbol("xs")])])))
Some(Ok(List([Symbol("println"), List([Symbol("sum"), Vector([Integer(1), Integer(2), Integer(3), Integer(4), Integer(5)])])])))

许可证

MIT

依赖项

~335KB