sgf-parser 0.2.1

A library for parsing SGF files
Documentation

Build Status Crate

SGF Parser

A SGF Parser for Rust. Supports all SGF properties, and tree branching.

Using pest for the actual parsing part.

Coming features

  • reading marks
  • support proper escaping of text strings in token values
  • support converting back to SGF

Example usage

use sgf_parser::*;

let tree: Result<GameTree, SgfError> = parse("(;EV[event]PB[black]PW[white]C[comment];B[aa])");

let tree = tree.unwrap();
let unknown_nodes = tree.get_unknown_nodes();
assert_eq!(unknown_nodes.len(), 0);

let invalid_nodes = tree.get_invalid_nodes();
assert_eq!(invalid_nodes.len(), 0);

tree.iter().for_each(|node| {
  assert!(!node.tokens.is_empty());
});