[−][src]Crate sgf_parser
SGF Parser for Rust
A sgf parser for rust. Supports all SGF properties, and tree branching.
Using pest
for the actual parsing part.
Coming features
- reading marks
- 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()); });
Structs
GameNode | A game node, containing a vector of tokens |
GameTree | A game tree, containing it's nodes and possible variations following the last node |
SgfError | SGF parsing, or traversal, related errors |
Enums
Color | Indicates what color the token is related to |
SgfErrorKind | Describes what kind of error we're dealing with |
SgfToken | Enum describing all possible SGF Properties |
Functions
parse | Main entry point to the library. Parses an SGF string, and returns a |